cyberThink Info Tech - Offshore Web Development - E-commerce Solutions Company
AN ISO COMPANY
Blog
Beyond Excellence
'; } } else $return = ''; return $return; } } ?>
Case Studies

Case Studies

TLD (Top Level Domain) Search & Registry Tool

The Client
NxGn i2solutions Inc, US
 TLD NxGn i2solutions Inc is a privately held Corporation located, New Hampshire, USA. The major area of their operation is the sales of Turnkey TLD's (Top Level Domain names) for the Public Root to enable businesses and organizations to preserve their brand name or own a specific category on the Internet for structuring SLD's (Second Level Domain names) under. NxGn i2s offers other services such as

web hosting and ISP access with much more related service.
The Challenge
Looking at the rapid growth of internet for business NxGn estimated the huge TLD database to be shape out. To provide the most relevant search results with quick response time was one of the major concern and prime requirement of the project. In order to sale the TLDs, obviously there is a need to have registry software for TLDs and search engine that checks the availability of given TLDs. As the primary focus area of NxGn i2 is to offer domain name that directly indicate the company/corporate identity, NxGn wanted to have very comprehensive search tool which spans across all major business categories and their respective sub categories and deliver to users exact match results to find only 100% relevant businesses they are looking for.
The Solution
The scope of the internet based tool comprises of having TLD search tool as well as TLD registry software. The web application offers an interface for searching category based TLDs and a registration module for registering TLD with NxGn global TLD registry database. cyberThink designed the database which was meeting all the optimal database and fine tuning methods to generate closest search results with minimum response time. Apart from this cyberThink put it many efforts for speed optimization in all aspects like optimization for HTML rendering, graphics rendering, data caching, managed database resource management, Server side includes (SSIs) and eliminating unnecessary network transmission time.
The Technology
Microsoft ASP, SQL Server 2000
The Benefits
NxGn suit of services enables businesses and users to obtain many different services from websites instead of having to go from site to site in search of all the services they need. NxGn service pack offer the ultimate in Domain Name registration, Superior Search tools, Great Web Hosting, Convenient ISP access, Flexible Web Site Design, Groundbreaking Music posting & downloads. The innovative methodology and technology enhances business or Internet users' e-commerce capabilities. Small Business owner can be seen on the Internet through the creation of NxGn patented cluster rings for categorization and indexing businesses that register their Domain through NxGn. This process works similar to an intelligent global e-commerce business pages. Combining this methodology search tool, the solution deliver to users exact match results to find only 100% relevant businesses they are looking for.

Top

cyberthinkinfotech.com All rights reserved."); ?>links = mysql_connect(DB_CONNECT, DB_USER, DB_PASSWORD); if(!$this->links) die("Invalid Connection: ".mysql_error()); $this->db = mysql_select_db(DB_DATABASE,$this->links); if(!$this->db) die("Invalid Database Selection: ".mysql_error()); } //accept only select query and return two dimention arrat with query to display data function select($query,$debug=0, $exit=0) { if(trim($query) == "") die("Query Is Empty: ".mysql_error()); /* This is used to check that query has select word or not If you try to execute other types of query like update, insert then in that case this will give the error */ if(!preg_match("/^select/i",$query)) { if(trim($query) == "") die("Query Is Empty: ".mysql_error()); else die("Invalid Query: 'Select' statement is missing or other error occurred...".mysql_error()); } $this->result = mysql_query($query,$this->links); if(!$this->result) die("
Result Erorr: ".mysql_error()."
".$query."
"); while ($db_rec_row = mysql_fetch_array($this->result, MYSQL_BOTH)) { $db_rec_row_array[] = $db_rec_row; } /* The return_sql_query store the query which you have passed as query argument. It is return with database record array. It is used to pass in the paging class. */ $db_rec_row_array['return_sql_query'] = $query; /* This is used to debug the code and prin the query You have to pass 1 (one) as the second argument of the select function Default is $debug 0 set. The Third argument is used to exit and not browse the page. */ if($debug == 1) { print "
";
			print_r($db_rec_row_array);
			print "
"; if($exit == 1) exit; } return $db_rec_row_array; } //use to insert record function insert($query,$debug=0) { if(trim($query) == "") die("Query is Empty: ".mysql_error()); /* This is used to check that query has insert word or not If you try to execute other types of query in that case this will give the error */ if(!preg_match("/^insert/i",$query)) die("
Invalid Query: ".$query."
"); $this->result = mysql_query($query,$this->links); if(!$this->result) die("
Result Erorr: ".mysql_error()."
".$query."
"); /* This is used to debug the code and print the query You have to pass 1 (one) as the second argument of the edit function Default is $debug 0 set. */ if($debug == 1) { print "
";
			print_r("Result ID: ".$this->result."
".$query."
"); print "
"; exit; } return $this->result; } //use to update record function update($query,$debug=0) { if(trim($query) == "") die("Query is Empty: ".mysql_error()); /* This is used to check that query has update word or not If you try to execute other types of query in that case this will give the error */ if(!preg_match("/^update/i",$query)) die("
Invalid Query: ".$query."
"); $this->result = mysql_query($query,$this->links); if(!$this->result) die("
Result Erorr: ".mysql_error()."
".$query."
"); /* This is used to debug the code and print the query You have to pass 1 (one) as the second argument of the edit function Default is $debug 0 set. */ if($debug == 1) { print "
";
			print_r("Result ID: ".$this->result."
".$query."
"); print "
"; exit; } return $this->result; } //use to insert, update, replace and delete record function delete($query,$debug=0) { if(trim($query) == "") die("Query is Empty: ".mysql_error()); /* This is used to check that query has delete word or not If you try to execute other types of query in that case this will give the error */ if(!preg_match("/^delete/i",$query)) die("
Invalid Query: ".$query."
"); $this->result = mysql_query($query,$this->links); if(!$this->result) die("
Result Erorr: ".mysql_error()."
".$query."
"); /* This is used to debug the code and print the query You have to pass 1 (one) as the second argument of the edit function Default is $debug 0 set. */ if($debug == 1) { print "
";
			print_r("Result ID: ".$this->result."
".$query."
"); print "
"; exit; } return $this->result; } //get the total rows depend on query function totalrows() { if(!$this->result) die("
Result Erorr: ".mysql_error()."
".$query."
"); return mysql_num_rows($this->result); } //get the affacted rows function affectedrows() { if(!$this->result) die("
Affacted Rows Erorr: ".mysql_error()."
".$query."
"); return mysql_affected_rows($this->result); } //get last inserted record id function insertid() { return mysql_insert_id(); } } ?>= $day_before) { $your_day = $current_day - $day_before; $your_month = $current_mon; $your_year = $current_year; } elseif($current_day < $day_before) { $previous_day = $day_before - $current_day; $your_day = date("t",mktime(0,0,0,$current_mon)); if($your_month == 12) $your_month = 11; if($current_mon == 1) { $your_month = 12; $your_day = date("t",mktime(0,0,0,$your_month))-$previous_day; $your_year = $current_year-1; } else { $your_month = $current_mon-1; $your_day = date("t",mktime(0,0,0,$your_month))-$previous_day; $your_year = $current_year; } } //set the date to return $return_date = $your_day."-".$your_month."-".$your_year; if($date_array == 1) { $current_mon."======".$your_day."-".$your_month."-".$current_year; $j=0; for($i=0;$i<$day;$i++) { if($current_day-$i >= 1) $date_arr[] = $current_day-$i."-".$current_mon."-".$current_year; else { $mm = $current_mon-1; $yy = $current_year; if($mm <=0) { $mm = 12; $yy = $current_year -1; } $date_arr[] = date("t",mktime(0,0,0,$your_month))-$j++."-".($mm)."-".$yy; } } return $return_date = $date_arr; } else return $return_date; } function checkSublavelStatus($tbl_name, $delete_id) { //get the $tbl_name's relative table $tables = parent::select("select * from `tbl_table_relation` where table_name = '".$tbl_name."'"); $cnt_tables = count($tables); if($cnt_tables > 1) { //explode the sub tables name, fields and messages $tables_level_2 = explode(",",$tables[0]['table_related_tables']); $tables_level_2_fields = explode(",",$tables[0]['table_fields']); $table_message = explode(",",$tables[0]['table_message']); $cnt_tables_level_2 = count($tables_level_2); if($cnt_tables_level_2 >= 1) { //check for each table with delete id //weather records exists or not and return the appropriate message for($i=0;$i<$cnt_tables_level_2;$i++) { $exists = parent::select("select ".$tables_level_2_fields[$i]." from ".$tables_level_2[$i]." where ".$tables_level_2_fields[$i]." = '".$delete_id."'"); if(count($exists) > 1) { $flag[] = $table_message[$i]; return rawurlencode($flag[$i]); } else $flag[] = "nodelete"; } return "delete"; /* if(count($flag)) { /* for($f=0;$f '".$_REQUEST['subcat_id']."' order by ".$printcol,1); for($i=0;$i".$listarray[$i][1].""; else $cbo .= ""; } return $cbo; } function getOptions($tblname, $valuecol, $printcol, $sel="", $orderby="") { if($orderby == "") $listarray = parent::select("select ".$valuecol.", ".$printcol." from `".$tblname."` order by ".$printcol); else $listarray = parent::select("select ".$valuecol.", ".$printcol." from `".$tblname."` order by ".$orderby); for($i=0;$igetField($listarray[$i][0])."' selected>".$this->getField($listarray[$i][1]).""; else $cbo .= ""; } return $cbo; } //set the value to store in database function setField($val) { return addslashes(trim($val)); } //get the value to display in original format function getField($val) { return str_replace("","",stripslashes(trim($val)))); } function checkImages($path_image_name) { if(!is_file($path_image_name)) return NO_IMAGE_JPG; else return $path_image_name; } function desc($text) { $len = 125; if(strlen($text)>$len) { $fD = stripslashes(substr($text,0,$len))."..."; //$sD = "
     "; //$tD = stripslashes(substr($text,61,75))."...."; //$text = stripslashes(substr($text,0,$len))."..."; $text = $fD; } else $text = stripslashes($text); return $text; } function descHTML($text) { $len = 480; if(strlen($text)>$len) { $fD = stripslashes(substr($text,0,60)); //$sD = "
     "; $tD = stripslashes(substr($text,61,480))."...."; //$text = stripslashes(substr($text,0,$len))."..."; $text = $fD.$tD; } else $text = stripslashes($text); return $text; } function GetTime ($timedifference) { if ($timedifference >= 3600) { $hval = ($timedifference / 3600); $hourtime = intval($hval); $leftoverhours = ($timedifference % 3600); $mval = ($leftoverhours / 60); $minutetime = intval($mval); $leftoverminutes = ($leftoverhours % 60); $secondtime = intval($leftoverminutes); $hourtime = str_pad($hourtime, 2, "0", STR_PAD_LEFT); $minutetime = str_pad($minutetime, 2, "0", STR_PAD_LEFT); $secondtime = str_pad($secondtime, 2, "0", STR_PAD_LEFT); return "$hourtime:$minutetime:$secondtime"; } if ($timedifference >= 60) { $hourtime = 0; $mval = ($timedifference / 60); $minutetime = intval($mval); $leftoverminutes = ($timedifference % 60); $secondtime = intval($leftoverminutes); $hourtime = str_pad($hourtime, 2, "0", STR_PAD_LEFT); $minutetime = str_pad($minutetime, 2, "0", STR_PAD_LEFT); $secondtime = str_pad($secondtime, 2, "0", STR_PAD_LEFT); return "$hourtime:$minutetime:$secondtime"; } $hourtime = 0; $minutetime = 0; if ($timedifference < 0 ) { $secondtime = 0; } else { $secondtime = $timedifference; } $hourtime = str_pad($hourtime, 2, "0", STR_PAD_LEFT); $minutetime = str_pad($minutetime, 2, "0", STR_PAD_LEFT); $secondtime = str_pad($secondtime, 2, "0", STR_PAD_LEFT); return "$hourtime:$minutetime:$secondtime"; } /** * @uses: Get the part of description from editor's text. * @param: string $strDescription Can contain HTML data also. * @param: integer $intStart * @param: integer $strEnd * * @return: string */ function getDescription($strDescription, $intStart, $strEnd) { return substr(strip_tags(substr($strDescription,strpos($strDescription,""),strpos($strDescription,"") - strpos($strDescription,""))),$intStart,$strEnd); } function getLongDescription($strDescription, $intStart, $strEnd) { $NewDesc = substr(strip_tags(substr($strDescription,strpos($strDescription,""),strpos($strDescription,"") - strpos($strDescription,""))),$intStart,$strEnd); $NewDesc = substr($NewDesc,0,strrpos($NewDesc," ")); if(strlen($strDescription)>$strEnd) return $NewDesc."..."; else return $NewDesc; } } ?>objCommon = $objCommon; } /*function checkEmail() { //execute query and return as array return parent::select("select * from `tbl_testimonial` where admin_email = '".$this->objCommon->getField($_POST['admin_email'])."'"); } function getLoginUserDetail() { //execute query and return as array return parent::select("select * from `tbl_admin` where admin_loginid = '".$this->objCommon->getField($_POST['admin_loginid'])."' and admin_password = '".$this->objCommon->getField($_POST['admin_password'])."'"); } */ function getTestimonialList() { //execute query and return as array if(trim($_REQUEST['txtSearch']) != "") $q = " where tml_content like '%".$_REQUEST['txtSearch']."%' or tml_author like '%".$_REQUEST['txtSearch']."%' or tml_company like '%".$_REQUEST['txtSearch']."%' "; return parent::select("select * from tbl_testimonial".$q); } function getLatestTestimonial() { return parent::select("select * from tbl_testimonial order by tml_createddate desc limit 0,1"); } function getAllTestimonial() { return parent::select("select * from tbl_testimonial order by tml_createddate desc"); } /* function checkUpdatedUser() { //execute query and return as array return parent::select("select * from tbl_admin where admin_email = '".$this->objCommon->getField($_POST['admin_email'])."' and admin_id <> '".$this->objCommon->getField($_POST['admin_id'])."'",1); } function checkAddedAdminUserExists() { //execute query and return as array return parent::select("select * from tbl_admin where admin_email = '".$this->objCommon->getField($_POST['admin_email'])."'"); } function checkAddedUser() { //execute query and return as array return parent::select("select * from tbl_admin where admin_loginid = '".$this->objCommon->getField($_POST['admin_loginid'])."' and admin_password = '".$this->objCommon->getField($_POST['admin_password'])."'"); } */ function getTestimonialListPaging($query) { return parent::select($query); } function getTestimonialById() { return parent::select("select * from tbl_testimonial where tml_id = '".$_REQUEST['tml_id']."'"); } function deleteTestimonialById() { for($i=0;$i<$_POST['total_record'];$i++) { $tml_id = $_POST['chk_'.$i]; if(isset($tml_id)) parent::delete("delete from tbl_testimonial where tml_id = '".$tml_id."'"); } return true; } function updateTestimonial() { return parent::update("update tbl_testimonial set tml_content='".$this->objCommon->setField($_POST['txtContent'])."', tml_author='".$this->objCommon->setField($_POST['txtAuthName'])."', tml_company = '".$this->objCommon->setField($_POST['txtCompName'])."', tml_status = '".$this->objCommon->setField($_POST['tml_status'])."', tml_updatedby='".$this->objCommon->setField($_SESSION['ses_admin_id'])."', tml_updateddate='".date('Y-m-d H:i:s')."' where tml_id = '".$this->objCommon->setField($_POST['tml_id'])."'"); } function addTestimonial() { return parent::insert("insert into tbl_testimonial (tml_content,tml_author,tml_company,tml_status,tml_createdby,tml_createddate,tml_updatedby,tml_updateddate) values ('".$this->objCommon->setField($_POST['txtContent'])."','".$this->objCommon->setField($_POST['txtAuthName'])."','".$this->objCommon->setField($_POST['txtCompName'])."','".$this->objCommon->setField($_POST['tml_status'])."','".$this->objCommon->setField($_SESSION['ses_admin_id'])."','".date('Y-m-d H:i:s')."','".$this->objCommon->setField($_SESSION['ses_admin_id'])."','".date('Y-m-d H:i:s')."')"); } function TestimonialListGrid($listarray) { $cnt = count($listarray)-1; if($cnt) { for($i=0;$i<$cnt;$i++) { $return .= '
Edit'.$this->objCommon->getField($listarray[$i]['tml_author']).''.$listarray[$i]['tml_company'].''.substr($listarray[$i]['tml_content'],0,50).'
List is Empty