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

Case Studies

Cigar Store

The Client
USA based Cigar Provider
USA based Cigar Provider The Challenge
The client is a reputed and specialist in providing best quality cigars, pipe tobacco, smoking accessories, imported cigarettes, fine gifts and collectibles. The client was looking for website which represents their product and business online and can spread the business to various regions. The client was very choosy about designing and graphics. The client was looking for solution which is cost effective and also allows him to maintain store inventory. System should also have facility to enable ecommerce in future. So this was the major challenge to provide system to meet his entire requirement in cost effective manner.
The Solution
We took a challenge and suggest client to use open source ecommerce solution "osCommerce" so by using that we can meet most of requirements itself. Our creative team designed the professional and eye catching website structure to accommodate the client´s highly professional requirements. Our technical team integrate front end with osCommerce backend and customized features as per client requirement. The admin panel allows viewing the registered users, enquiry from each user. The admin can manage the existing collection and add a new collection at any time. A simple newsletter management system under the admin panel enables the webmaster to stay connected with his target visitors. Client can also enable ecommerce to sell his products online and go live. Overall our design of website and customization / integration of osCommerce meet client expectation of requirement.
The Technology
HTML, PHP, MySQL
The Benefits
Churchills :: a Cigar Store website on internet serves the purpose of client by showcasing client´s world class collection of products and generating new client base. Management of the website doesn´t require a technical knowledge so the user can do the website management on his own while sitting at his desktop pc.

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