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

Case Studies

Networking and Announcement Website

The Client
US based Baby Product Company
US based Baby Product Company The Challenge
The client is a baby products company who wanted to start a free service called ebabypages.com to attract the customer base. The application was required to be a simple and straight forward for an average computer user. The challenge was to run an announcement service for an expecting couple who wants to keep their friends and relatives updated on the progress of their baby.

The couple should be able to create a simple website on the fly with simple template service. They should be able to write a note and upload images. They should be able to invite the friends and relatives to come and see the website under ebabypages.com. Each invitee should receive a separate login and privilege to sign a guest book with comments. A robust admin feature was requested to have full control of the webmaster over the website to avoid misuse. There needed to be a discussion board (forum) for all parents to share their thoughts. The website structure was to be designed with maximum space of advertisement which can generate revenue for the company.
The Solution
The application was designed keeping the average users in consideration. A content management system was designed to educate the users on the website usability features. The CMS was designed to add new text content features which are used by the client to add text information on various topics like list of items before the birth of baby, parent stories; baby bulletin etc. Admin is able to update the content dynamically on the website which is visible on the front end website. The website creator was designed to generate the web pages on the fly with just few clicks of mouse.

A sample website was designed for the new users to give them a feel of their baby´s new homepage. The announcement system is the heart of the application. This keeps all the associated members updated on all the new uploads/notifications made on the baby websites. Administrator can enable or disable the sites based on their activities and can notify the users by an email. Bulletin board system (forum / discussion board) is provided for parent discussions. A common newsletter subscription system is designed to facilitate the regular visitors on website updates. Google ad sense and advertisement panel is integrated to generate streamlined revenue for the client.
The Technology
ASP.net, C# & MSSQL
The Benefits
Simple and easy website for all the baby lovers and parents which serves the purpose of social service and some ongoing advertisement revenue for the client.

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