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

Case Studies

CMS for Entertainment Company

The Client
Bollywood Related Entertainment Website
Bolly Fm The Challenge
The client is a Bollywood related entertainment company. The internet presence was required to publish and manage the variety of contents media content. The contents could be movie details, titles, trailers, lyrics, mp3 songs, and more. The challenge was to write software to manage various kind of media content at one place. The similar content was to be published for the internet users online on website.

The software should be capable to allow edit each website element in a block structure. That means each website element should work as an independent component with various inline media or text content. The media was required to be rated by the visitors. The media content was to be published such a way that it can be easily downloaded by the visitors if required. A common user discussion board was a secondary requirement.
The Solution
The content management software provides the media file structure management. The software provides add and edit feature for each website blocks. The website has different kind of block structure on almost all the pages. Our software which is developed as fit to all concept so manages all the pages of the published website. The rating system records the rating from the visitors on the media files and calculates the average rating based on visitor response. The website has various block pages with sound tracks, trailers, mp3, lyrics and more which is all managed and published through a robust admin control panel.

Each page is structured with enough advertisement space to generate revenue for the client. The content search feature is provided for quick access to the desired content. Same is true for content sort feature. The navigation system is designed keeping movie lowers in mind, for example the home page features all the new arrivals and while browsing through each content the website displays the cross promotional or correlated content links. The user Forum was a secondary but important requirement which is met by integrating third party forum software Invision Power Board
The Technology
PHP/MySQL
The Benefits
As a result the website was developed where users can search and download their favorite songs, soundtracks, lyrics and admin can publish all the contents in very clean and nice manner.

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