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

Case Studies

Budget & Financial Management System for Township

The Client
15 Municipal Townships, USA
15 Municipal Townships, USAThe Challenge
Government municipal townships required a system which provides an easy setup for budget preparation and for automatic General Ledger update and automates the revenue and expenditure transactions and organize municipal finances quickly and easily. The transactions like preparation of requisitions, purchase orders, payment vouchers, check printing, voiding and reconciliation needed to be automated too.
The Solution
The solution provides automated Budget & General Preparation with powerful double entry accounting system. The features include Requisitions, Purchase Orders, Payment Voucher, Vendor Information, Check printing, voiding and reconciliation features and Option to print checks with signature on stock paper. The system generates reports like Income Statements and Balance Sheets, Cash Flow Statements, Transaction journal, Account activity, Chart of Accounts, Trial Balance, plus many maintenance lists for quick reference. It allows the setup of a security system, restricting users to specific modules or menu selections and Multi-level password protection by function. All reports can be exported to Excel and Lotus with a click. It also creates next year's files for easy annual transition.
The Technology
Microsoft Visual Basic 6.0, SQL Server 2000, Seagate Crystal Reports 8.0
The Benefits
It is easy to operate the system using the keyboard or mouse, or any combination to match your comfort level. It offers best value - Most powerful, full featured, mid-range accounting solution on the market today. It fills the huge gap between "off the shelf" starter packages and out-of-date DOS systems. Perform tasks from multiple workstations at the same time. Attractive Reports - Cleaner, more professional reports with added flexibility. Print what you see on the screen. gfms is Tightly integrated and handles all one-time set up functions, saving time and eliminating inconsistencies between modules.

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