/*******************************************************************************************************
* Devloper Name : Pankaj Kumar
* Organization : Weblink India.net
* Email : pankajdavim26@gmail.com
* File : For Common Functions **************************************************************************************************/
// connect_db: Updated 31 may 2006
function connect_db()
{
global $ARR_CFGS;
if (!isset($GLOBALS['dbcon'])) {
$GLOBALS['dbcon'] = mysql_connect($ARR_CFGS["db_host"], $ARR_CFGS["db_user"], $ARR_CFGS["db_pass"]);
mysql_select_db($ARR_CFGS["db_name"]) or die("Could not connect to database. Please check configuration and ensure MySQL is running.");
}
}
// db_query: Updated 10 oct 2006
function db_query($sql, $dbcon2 = null)
{
if($dbcon2==''){
if(!isset($GLOBALS['dbcon'])) {
connect_db();
}
$dbcon2 = $GLOBALS['dbcon'];
}
$time_before_sql = checkpoint();
$result = mysql_query($sql, $dbcon2) or die(db_error($sql));
/*
$time_taken_for_sql = checkpoint();
//echo "
time_taken_for_sql: $time_taken_for_sql";
if($time_taken_for_sql >.5) {
$file = SITE_FS_PATH.'/sql_log/opt.txt';
if(filesize($file)>500*1024) {
$handle = fopen($file, 'w');
} else {
$handle = fopen($file, 'a');
}
fwrite($handle, $time_taken_for_sql."/t".$sql);
fclose($handle);
}
*/
return $result;
}
// db_scalar: Updated 31 may 2006
function db_scalar($sql, $dbcon2 = null)
{
if($dbcon2==''){
if(!isset($GLOBALS['dbcon'])) {
connect_db();
}
$dbcon2 = $GLOBALS['dbcon'];
}
$result = db_query($sql, $dbcon2);
if ($line = mysql_fetch_array($result)) {
$response = $line[0];
}
return $response;
}
// db_error: Updated 2 sep 2006
// Now it redirects to a file to show sql error.
function db_error($sql)
{
echo "
".mysql_error()."
";
print_error();
if(LOCAL_MODE) {
echo "
sql: $sql";
}
echo "
";
/*
$_SESSION['sess_sql_error'] = mysql_error();
header("location: ".SITE_WS_PATH."/sql_error.php");
exit;
*/
}
function print_error() {
$debug_backtrace = debug_backtrace();
for ($i = 1; $i < count($debug_backtrace); $i++) {
$error = $debug_backtrace[$i];
echo "
";
echo "";
echo "File: ".$error['file']."
";
echo "Line: ".$error['line']."
";
echo "Function: ".$error['function']."
";
//echo "Args: ";
//foreach($error['args'] as $arg) {
// echo "$arg
";
//}
echo "
";
}
}
// mysql_time: Updated 31 may 2006
function mysql_time($hour, $minute, $ampm)
{
if ($ampm == 'PM' && $hour != '12') {
$hour += 12;
}
if ($ampm == 'AM' && $hour == '12') {
$hour = '00';
}
$mysql_time = $hour . ':' . $minute . ':00';
return $mysql_time;
}
// price_format: Updated 31 may 2006
function price_format($price)
{
if ($price != '' && $price != '0') {
$price = number_format($price, 2);
if($price >="0"){
return str_replace('.00','',$price);
}
}
}
// date_format: Updated 31 may 2006
function date_format1($date)
{
if (strlen($date) >= 10) {
if ($date == '0000-00-00 00:00:00' || $date == '0000-00-00') {
return '';
}
$mktime = mktime(0, 0, 0, substr($date, 5, 2), substr($date, 8, 2), substr($date, 0, 4));
return date("d-m-Y", $mktime);
} else {
return $date;
}
}
function order_date_format1($date)
{
$d_ar=explode(" ",$date);
$date_ar=explode("-",$d_ar[0]);
$time_ar=explode(":",$d_ar[1]);
$date="$date_ar[2]-$date_ar[1]-$date_ar[0] $time_ar[0]:$time_ar[1]:$time_ar[2]";
return $date;
}
function only_date_format2($date)
{
$d_ar=explode(" ",$date);
$date_ar=explode("-",$d_ar[0]);
$time_ar=explode(":",$d_ar[1]);
$date="$date_ar[2]-$date_ar[1]-$date_ar[0]";
return $date;
}
function date_format2($date)
{
if (strlen($date) >= 10) {
if ($date == '0000-00-00 00:00:00' || $date == '0000-00-00') {
return '';
}
$mktime = mktime(0, 0, 0, substr($date, 5, 2), substr($date, 8, 2), substr($date, 0, 4));
return date("M j, Y", $mktime);
} else {
return $date;
}
}
// datetime_format: Updated 31 may 2006
function datetime_format($date)
{
global $arr_month_short;
if (strlen($date) >= 10) {
if ($date == '0000-00-00 00:00:00' || $date == '0000-00-00') {
return '';
}
$mktime = mktime(substr($date, 11, 2), substr($date, 14, 2), substr($date, 17, 2),substr($date, 5, 2), substr($date, 8, 2), substr($date, 0, 4));
return date("j-m-Y h:i A ", $mktime);
} else {
return $date;
}
}
// time_format: Updated 31 may 2006
function time_format($time)
{
if (strlen($time) >= 5) {
$hour = substr($time, 0, 2);
$hour = str_pad($hour, 2, "0", STR_PAD_LEFT);
return $hour . ':' . substr($time, 3, 2) . ' ' . $ampm;
} else {
return $time;
}
}
// ms_print_r: Updated 31 may 2006
function ms_print_r($var)
{
//if(LOCAL_MODE || $_SESSION['debug']){
echo "";
//}
}
// ms_form_value: Updated 31 may 2006
function ms_form_value($var)
{
return is_array($var) ? array_map('ms_form_value', $var) : htmlspecialchars(stripslashes(trim($var)));
}
// ms_display_value: Updated 31 may 2006
function ms_display_value($var)
{
return is_array($var) ? array_map('ms_display_value', $var) : nl2br(htmlspecialchars(stripslashes(trim($var))));
}
// ms_stripslashes: Updated 31 may 2006
function ms_stripslashes($var)
{
return is_array($var) ? array_map('ms_stripslashes', $var) : stripslashes(trim($var));
}
// ms_addslashes: Updated 31 may 2006
function ms_addslashes($var)
{
return is_array($var) ? array_map('ms_addslashes', $var) : addslashes(trim($var));
}
// ms_trim: Updated 31 may 2006
function ms_trim($var)
{
return is_array($var) ? array_map('ms_trim', $var) : trim($var);
}
// is_image_valid: Updated 31 may 2006
function is_image_valid($file_name)
{
global $ARR_VALID_IMG_EXTS;
$ext = file_ext($file_name);
if (in_array($ext, $ARR_VALID_IMG_EXTS)) {
return true;
} else {
return false;
}
}
// getmicrotime: Updated 31 may 2006
function getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
// file_ext: Updated 31 may 2006
function file_ext($file_name)
{
$path_parts = pathinfo($file_name);
$ext = strtolower($path_parts["extension"]);
return $ext;
}
// blank_filter: Updated 31 may 2006
function blank_filter($var)
{
$var = trim($var);
return ($var != '' && $var != ' ');
}
// apply_filter: Updated 25 sep 2006
function apply_filter($sql, $field, $field_filter, $column)
{
if (!empty($field)) {
if ($field_filter == "=" || $field_filter == "") {
$sql = $sql . " and $column = '$field' ";
} else if ($field_filter == "like") {
$sql = $sql . " and $column like '%$field%' ";
} else if ($field_filter == "starts_with") {
$sql = $sql . " and $column like '$field%' ";
} else if ($field_filter == "ends_with") {
$sql = $sql . " and $column like '%$field' ";
} else if ($field_filter == "not_contains") {
$sql = $sql . " and $column not like '%$field%' ";
} else if ($field_filter == ">") {
$sql = $sql . " and $column > '$field' ";
} else if ($field_filter == "<") {
$sql = $sql . " and $column < '$field' ";
} else if ($field_filter == "!=") {
$sql = $sql . " and $column != '$field' ";
}
}
return $sql;
}
// filter_dropdown: Updated 17 July 2006
// Should replace older version function
function filter_dropdown($name = 'filter', $sel_value)
{
$arr = array( "like" => 'Contains', '=' => 'Is Equal', "starts_with" => 'Starts with', "ends_with" => 'Ends with', "!=" => 'Is not' , "not_contains" => 'Not contains');
return array_dropdown($arr, $sel_value, $name, " class='textfield4'");
}
// move_up: Updated 31 may 2006
function move_up($table_name, $where_clause_all, $where_clause_item, $sort_order, $move_by)
{
$dest_order = $sort_order - $move_by;
// $arr_ids_to_move=Array();
// echo "
$movie_artist_id, $movie_id, $artistcate_id, $sort_order, $move_by, $dest_order
";
for($i = $sort_order-1; $i > $dest_order-1; $i--) {
$sql = " update $table_name set sort_order=sort_order+1 where $where_clause_all and sort_order='$i'";
// echo "
$sql
";
db_query($sql);
}
$sql = " update $table_name set sort_order=sort_order-$move_by where $where_clause_item";
// echo "
$sql
";
db_query($sql);
}
// move_down: Updated 31 may 2006
function move_down($table_name, $where_clause_all, $where_clause_item, $sort_order, $move_by)
{
$dest_order = $sort_order + $move_by;
// $arr_ids_to_move=Array();
// echo "
$movie_artist_id, $movie_id, $artistcate_id, $sort_order, $move_by, $dest_order
";
for($i = $sort_order + 1; $i < $dest_order + 1; $i++) {
$sql = " update $table_name set sort_order=sort_order-1 where $where_clause_all and sort_order='$i' ";
// echo "
$sql
";
db_query($sql);
}
$sql = " update $table_name set sort_order=sort_order+$move_by where $where_clause_item";
// echo "
$sql
";
db_query($sql);
}
// refine_list: Updated 31 may 2006
function refine_list($id_column, $table_name, $where_clause)
{
$sql = " select $id_column, sort_order from $table_name where $where_clause order by sort_order";
// echo "
$sql
";
$result = db_query($sql);
$i = 1;
while ($line = mysql_fetch_array($result)) {
$sql = " update $table_name set sort_order='$i' where $id_column='$line[0]'";
// echo "
$sql
";
db_query($sql);
$i++;
}
}
// make_url: Updated 31 may 2006
function make_url($url)
{
$parsed_url = parse_url($url);
if ($parsed_url['scheme'] == '') {
return 'http://' . $url;
} else {
return $url;
}
}
// ms_mail: Updated 31 may 2006
function ms_mail($to, $subject, $message, $arr_headers= array())
{
$str_headers = '';
foreach($arr_headers as $name=>$value){
$str_headers .= "$name: $value\n";
}
@mail($to, $subject, $message, $str_headers);
return true;
}
// make_thumb_im: Updated 31 may 2006
function make_thumb_im($file_path, $arr_options)
{
$width = $arr_options['width'];
$height = $arr_options['height'];
$prefix = $arr_options['prefix'];
$target_dir = $arr_options['target_dir'];
$quality = $arr_options['quality'];
$path_parts = pathinfo($file_path);
if($width==''){
$width = '120';
}
if($prefix=='') {
$prefix = 'thumb_';
}
if($target_dir=='') {
$target_dir = $path_parts["dirname"];
}
if($quality=='') {
$quality = '70';
}
$size = @getimagesize($file_path);
if($size=='') {
return false;
}
/*
$ratio = round($width/$height, 2);
$img_width = $size[0];
$img_height = $size[1];
*/
$path_parts = pathinfo($file_path);
$thumb_path="$target_dir/".$prefix.$path_parts["basename"];
$cmd ="convert -resize ".$width.'x'." -quality $quality \"$file_path\" \"$thumb_path\" ";
system($cmd);
//echo("
$cmd");
return $prefix.$path_parts["basename"];
}
// date_to_mysql: Updated 31 may 2006
function date_to_mysql($date)
{
list($month, $day, $year) = explode('/', $date);
return "$year-$month-$day";
}
// date_to_mysql: Updated 31 may 2006
function date_to_mysql_withtime($date)
{
$date_arr = explode(' ',$date);
list($month, $day, $year) = explode('/', $date_arr[0]);
list($hour, $min, $sec) = explode(':', $date_arr[1]);
return $year."-".$month."-".$day." ".$hour.":".$min.":".$sec;
}
function mysql_to_date_withtime($date)
{
$date_arr = explode(' ',$date);
list($year, $month, $day) = explode('-', $date_arr[0]);
list($hour, $min, $sec) = explode(':', $date_arr[1]);
return $month."/".$day."/".$year." ".$hour.":".$min.":".$sec;
}
// export_delimited_file: Updated 31 may 2006
function export_delimited_file($sql, $arr_columns, $file_name='', $arr_substitutes='', $arr_tpls='' ){
//session_cache_limiter('public');
//header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
//header("Content-Type: application/force-download");
if($file_name=='') {
$file_name = time().'.txt';
}
header("Content-type: application/txt");
header("Content-Disposition: attachment; filename=$file_name");
$arr_db_cols= array_keys($arr_columns);
$arr_headers= array_values($arr_columns);
//ms_print_r($arr_columns);
//ms_print_r($arr_db_cols);
//ms_print_r($arr_headers);
//ms_print_r($arr_headers);
//ms_print_r($arr_headers);
$str_columns = implode(',', $arr_db_cols);
$sql= "select ".$str_columns." $sql" ;
$result= db_query($sql);
$num_cols = count($arr_columns);
//$i=0;
foreach($arr_headers as $header){
//$i++;
echo $header."\t";
//if($i!=$num_cols){
// echo "\t";
//}
}
while($line=mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "\r\n";
//echo("
");
foreach($line as $key => $value){
$value=str_replace("\n","",$value);
$value=str_replace("\r","",$value);
$value=str_replace("\t","",$value);
if(is_array($arr_substitutes[$key])){
$value = $arr_substitutes[$key][$value];
}
if(isset($arr_tpls[$key])){
$code = str_replace('{1}', $value, $arr_tpls[$key]);
//echo ("\$value = $code;");
//echo("
");
eval ("\$value = $code;");
}
echo $value."\t";
}
}
}
// checkpoint: Updated 2 sep 2006
// to check how much time is lapsed before first call of this function
function checkpoint($from_start = false)
{
global $PREV_CHECKPOINT;
if($PREV_CHECKPOINT==''){
$PREV_CHECKPOINT = SCRIPT_START_TIME;
}
$cur_microtime = getmicrotime();
if($from_start) {
return $cur_microtime - SCRIPT_START_TIME;
} else {
$time_taken = $cur_microtime - $PREV_CHECKPOINT;
$PREV_CHECKPOINT = $cur_microtime;
return $time_taken;
}
}
// readable_col_name: Updated 31 may 2006
function readable_col_name($str)
{
return ucwords( str_replace('_', ' ', strtolower($str) ) );
}
// ms_echo: Updated 31 may 2006
function ms_echo($str) {
if(LOCAL_MODE){
echo($str);
}
}
// make_dropdown: Updated 1 aug 2006
function make_dropdown($sql, $combo_name, $sel_value = '', $extra = '', $choose_one = '')
{
$result = db_query($sql);
if (mysql_num_rows($result) > 0) {
$str_dropdown = "";
}else{
$str_dropdown= "";
}
return $str_dropdown;
}
// array_dropdown: Updated 31 may 2006
function array_dropdown( $arr, $sel_value='', $name='', $extra='', $choose_one='', $arr_skip= array())
{
$combo="";
return $combo;
}
// make_checkboxes: Updated 31 may 2006
function make_checkboxes($manutmp, $checkname, $checksel = '', $cols, $missit, $style = '', $tableattr = '')
{
if ($style != "") {
$style = "class='" . $style . "'";
}
$colwidth = 100 / $cols;
$colwidth = round($colwidth, 2);
$j = 0;
/*
$manutmp['Any']="Any";
if($checksel==''){
$checksel=Array("Any");
}
*/
foreach($manutmp as $key => $value) {
$tochecked = "";
if (is_array($checksel) && in_array($key, $checksel)) {
$tochecked = "checked";
}
if ($key != $missit) {
if ($value != "") {
if ($j == 0) {
$checkstr .= "";
return $checkstr;
}
// make_radios: Updated 31 may 2006
function make_radios($manutmp, $checkname, $checksel = '', $cols, $missit, $style = '', $tableattr = '')
{
if ($style != "") {
$style = "class='" . $style . "'";
}
$colwidth = 100 / $cols;
$colwidth = round($colwidth, 2);
$j = 1;
/*
$manutmp['Any']="Any";
if($checksel==''){
$checksel=Array("Any");
}
*/
foreach($manutmp as $key => $value) {
$tochecked = "";
if ($checksel == $key) {
$tochecked = "checked";
}
if ($key != $missit) {
if ($value != "") {
if ($j == 1) {
$checkstr .= "";
return $checkstr;
}
// date_dropdown: Updated 31 may 2006
function date_dropdown($pre, $selected_date = '', $start_year='', $end_year = '', $sort = 'asc')
{
$cur_date = date("Y-m-d");
$cur_date_day = substr($cur_date, 8, 2);
$cur_date_month = substr($cur_date, 5, 2);
$cur_date_year = substr($cur_date, 0, 4);
if ($selected_date != '') {
$selected_date_day = substr($selected_date, 8, 2);
$selected_date_month = substr($selected_date, 5, 2);
$selected_date_year = substr($selected_date, 0, 4);
}
$date_dropdown .= month_dropdown($pre . "month", $selected_date_month);
$date_dropdown .= day_dropdown($pre . "day", $selected_date_day);
// echo($pre . "year: ". $selected_date_year);
$date_dropdown .= year_dropdown($pre . "year", $selected_date_year, $start_year, $end_year, $sort);
return $date_dropdown;
}
// month_dropdown: Updated 31 may 2006
function month_dropdown($name, $selected_date_month = '', $extra='')
{
global $ARR_MONTHS;
$date_dropdown = " ";
return $date_dropdown;
}
// day_dropdown: Updated 31 may 2006
function day_dropdown($name, $selected_date_day = '', $extra='')
{
$date_dropdown .= "";
return $date_dropdown;
}
// year_dropdown: Updated 31 may 2006
function year_dropdown($name, $selected_date_year = '', $start_year = '', $end_year = '', $extra='',$choose='Year')
{
if ($start_year == '') {
$start_year = DEFAULT_START_YEAR;
}
if ($end_year == '') {
$end_year = DEFAULT_END_YEAR;
}
$date_dropdown .= "";
return $date_dropdown;
}
// time_dropdown: Updated 31 may 2006
function time_dropdown($pre, $selected_time = '')
{
// echo("
selected_time:$selected_time");
if ($selected_time != '' && $selected_time != ':') {
$selected_hour = substr($selected_time, 0, 2);
$selected_minute = substr($selected_time, 3, 2);
/*
if($selected_hour >11){
$selected_ampm = "PM";
$selected_hour -= 12;
}else{
$selected_ampm = "AM";
}
if($selected_hour==0){
$selected_hour = 12;
}
*/
}
$str .= hour_dropdown($pre, $selected_hour);
$str .= ':';
$str .= minute_dropdown($pre, $selected_minute);
return $str;
// echo "
$selected_hour, $selected_minute $selected_ampm
";
}
// hour_dropdown: Updated 31 may 2006
function hour_dropdown($pre, $selected_hour,$extra="")
{
$str .= "";
return $str;
}
// minute_dropdown: Updated 31 may 2006
function minute_dropdown($pre, $selected_minute,$extra="" )
{
$str .= "";
return $str;
}
// ampm_dropdown: Updated 31 may 2006
function ampm_dropdown($pre, $selected_ampm)
{
$str .= "