$str) { if ( isset( $_REQUEST[$str] ) ) $GLOBALS[$str] = htmlspecialchars(trim($_REQUEST[$str]), ENT_QUOTES, 'UTF-8' ); } } function getReqVar( $varName, $resultNull=false ) { $back = ""; if ( $resultNull==true ) $back=null; if ( isset( $_REQUEST[$varName] ) ) $back = htmlspecialchars(trim($_REQUEST[$varName]), ENT_QUOTES, 'UTF-8' ); return $back; } function removeUrlParameter( $url, $key ) { $url = preg_replace( "/&$key=([^&=?]+)/i", '', $url ); return preg_replace( "/$key=([^&=?]+)/i", '', $url ); } function changeUrlParameter( $url, $key, $value ) { if ( stristr( $url, $key) !== FALSE ) return preg_replace( "/$key=([^&=?]+)/i", "$key=$value", $url ); else return $url."&$key=$value"; } function redirect( $url, $extraPara="", $removePara="", $returnUrl=false ) { if ( $url=="" ) $url= $_SERVER['REQUEST_URI']; $url = trim( $url ); $url = str_replace( "\r", "", $url ); $url = str_replace( "\n", "", $url ); if ( is_array($extraPara)) foreach ($extraPara as $pkey => $pval) $url = changeUrlParameter( $url, $pkey, $pval ); if ( is_array($removePara)) foreach ($removePara as $pkey) $url = removeUrlParameter( $url, $pkey ); if ( $returnUrl == false ) { header( "Location: $url" ); exit(0); } else return $url; } function transferVarsToObj( &$obj, $validArray=null ) { if ( $validArray!=null && is_array($validArray) ) $checkArray = array_flip( $validArray ); $dataFields = get_class_vars ( get_class($obj) ); foreach ($dataFields as $field => $value ) { if ( isset( $GLOBALS[$field] ) ) { if ( $validArray==null || ( $validArray!=null && isset($checkArray[$field] ) )) $obj->$field = $GLOBALS[$field]; } } } function transferVarsToObjReq( &$obj, $validArray=null ) { if ( $validArray!=null && is_array($validArray) ) $checkArray = array_flip( $validArray ); $dataFields = get_class_vars ( get_class($obj) ); foreach ($dataFields as $field => $value ) { if ( getReqVar($field,true)!=null ) if ( $validArray==null || ( $validArray!=null && isset($checkArray[$field] ) )) $obj->$field = getReqVar($field); } } function genNewPassword( $maxLength=8 ) { $back = ''; $i = 0; while( $i++ < $maxLength ) { switch ( rand(1,3) ) { case 1: $back .= chr(rand(48,57)); break; //0-9 case 2: $back .= chr(rand(65,90)); break; //A-Z case 3: $back .= chr(rand(97,122)); break; //a-z } } return $back; } function utc2local( $tstamp ) { // Get info about time zone relationship to GMT at: http://wwp.greenwichmeantime.com/ // SELECT TIME ZONE $sign = "+"; // Whichever direction from GMT to your timezone. $h = "1"; // Hour for time zone goes here e.g. +8 or -4, just remove the + or - $dst = "true"; // Just insert "true" if your location uses daylight savings time or "false" if it does not // DETECT AND ADJUST FOR DAYLIGHT SAVINGS TIME if ($dst) { $daylight_saving = date('I',$tstamp); if ($daylight_saving) { if ($sign == "-") $h=$h-1; else $h=$h+1; } } $hm = $h * 60; $ms = $hm * 60; // SET CURRENT TIME if ($sign == "-") $timestamp = $tstamp-($ms); else $timestamp = $tstamp+($ms); return $timestamp; } function mkdirr( $path ) { if ( !file_exists( $path) ) { mkdirr( dirname($path) ); mkdir( $path, 0755 ); } } function genTmpName( $maxLength=8 ) { return genNewPassword( $maxLength ); } // converts the data of an object to a json string function obj2json( $obj ) { $vars = get_object_vars( $obj ); $back = "{"; $first = true; foreach( $vars as $key=>$val ) { if ( $first==true ) $first=false; else $back.=", "; $back.= $key.':'; if ( is_string($obj->$key) ) $back.='"'; $back.= $obj->$key; if ( is_string($obj->$key) ) $back.='"'; } $back.="}"; return $back; } function array2obj( $obj, $arrayData ) { foreach( $arrayData as $akey=>$aval ) $obj->$akey = $aval; } // list of vars as array function getTrackVars( $set ) { $arr = array(); foreach ( $set as $key=>$str) { if ( isset( $_REQUEST[$str] ) ) $arr[$str] = htmlspecialchars(trim($_REQUEST[$str]));; } return $arr; } function elog( $msg ) { # file_put_contents( "php_fw.log", '['.date( "Y-m-d H:i:s" ).'/'.$_SERVER["REMOTE_ADDR"].'] '.$msg."\n", FILE_APPEND); # error_log( $msg ); } ?> $value) $back.= '&'.$key.'='.$value; } else $back.= '&'.$para; } } else { $i=0; $aback=''; foreach ( $mod as $cmddata ) { if ( $i==0 ) $aback.= '&mod='.$cmddata; else if ( $i==1 ) $aback.= '&submod='.$cmddata; else $aback.= '&submod'.$i.'='.$cmddata; $i++; } if ( $aback!="" ) $back.= substr( $aback,1 ); } if ( isset($l) ) $back.="&l=$l"; return $back; } function setMessage( $var, $mode=1 ) { global $smarty; $smarty->assign( 'message', '1' ); $smarty->assign( $var, '1' ); } function buildMenu( &$cmdArr, $menuItemList, $i=0, $lastMod="" ) { $back = array(); foreach( $menuItemList as $marr ) { if ( isset($marr['display']) && $marr['display']==0 ) continue; if ( isset($marr['mod'] ) ) $lastMod = $marr['mod']; if ( isset($marr['submod'] ) ) $lastSubMod = $marr['submod']; if ( isset($marr['forward']) ) $lastMod=$marr['forward']; $entry = array(); $entry['text']=$marr['name']; $entry['link']=syslink( $lastMod, $lastSubMod ); $entry['selected']=false; $entry['menuselected']=false; if ( isset($marr['submenu']) ) $entry['submenu']=buildMenu( $cmdArr, $marr['submenu'], $i+1, $lastMod ); if ( ($lastMod == $cmdArr[0] && ( $lastSubMod=="" || (count($cmdArr)>1 && $lastSubMod==$cmdArr[1] ) ) ) || (isset($entry['submenu']) && $entry['submenu'][0]['menuselected']==true ) ) { $entry['selected']=true; $entry['menuselected']=true; if ( count($back) > 0 ) $back[0]['menuselected']=true; } if ( $entry['selected']==true && isset( $entry['submenu'] ) ) $GLOBALS['menuLevel'.$i] = $entry['submenu']; $back[] = $entry; } return $back; } function filterMenu( $loginState, $menuItemList ) { $bItemList = array(); foreach( $menuItemList as $marr ) { if ( isset($marr['submenu']) ) $marr['submenu'] = filterMenu( $loginState, $marr['submenu'] ); if ( !isset($marr['loginState']) ) $marr['loginState']=1; if ( $loginState==$marr['loginState'] || $marr['loginState']==2 ) { if ( !isset($marr['token']) || $marr['token']=='' || checkToken( $marr['token'] ) ) $bItemList[] = $marr; } } return $bItemList; } function checkAccess( &$cmdArr, $checkArr, $i=0, $lastMod="" ) { $back = false; # if ( $i < count($cmdArr) ) { foreach ( $checkArr as $marr ) { if ( isset($marr['mod']) ) $lastMod = $marr['mod']; if ( isset($marr['submod'] ) ) $lastSubMod = $marr['submod']; if ( ( $cmdArr[0]==$lastMod && count($cmdArr)==1 ) || ( count($cmdArr)>1 && $cmdArr[0]==$lastMod && $cmdArr[1]==$lastSubMod ) ) { $back=true; break; } if ( $back==false && isset($marr['submenu']) /*&& $i+1 < count($cmdArr)*/ ) $back = checkAccess( $cmdArr, $marr['submenu'], $i+1, $lastMod ); } } # return true; return $back; } function modName( $mod, $subMod='#', $cmd='#' ) { $back = $mod; if ( $subMod!='#' ) $back.='_'.$subMod; if ( $cmd!='#' ) $back.='_'.$cmd; return 'mods/'.$back.'.php'; } function jsName( $mod, $subMod='#', $cmd='#' ) { $back = $mod; if ( $subMod!='#' ) $back.='_'.$subMod; if ( $cmd!='#' ) $back.='_'.$cmd; return 'templates/'.$back.'.js.tpl'; } function tplName( $mod, $subMod='#', $cmd='#' ) { $back = $mod; if ( $subMod!='#' ) $back.='_'.$subMod; if ( $cmd!='#' ) $back.='_'.$cmd; return $back.'.tpl'; } function generateTumb( $source_file, $max_dimension=80, $nFileNameSmall="" ) { $con=true; if ( $nFileNameSmall=="" ) $nFileNameSmall = $source_file.'-small.jpg'; list($img_width,$img_height, $type) = getimagesize($source_file); // Get the original dimentions if ( $type == 1 ) { $img_source = imagecreatefromgif($source_file); } else if ( $type == 2 ) { $img_source = imagecreatefromjpeg($source_file); } else if ( $type == 3 ) { $img_source = imagecreatefrompng($source_file); } else if ( $type == 15 ) { $img_source = imagecreatefromwbmp($source_file); } else $con=false; if ( $con==true ) { $aspect_ratio = $img_width / $img_height; if ( ($img_width > $max_dimension) || ($img_height > $max_dimension) ) // If either dimension is too big... { if ( $img_width > $img_height ) // For wide images... { $new_width = $max_dimension; $new_height = $new_width / $aspect_ratio; } elseif ( $img_width < $img_height ) // For tall images... { $new_height = $max_dimension; $new_width = $new_height * $aspect_ratio; } elseif ( $img_width == $img_height ) // For square images... { $new_width = $max_dimension; $new_height = $max_dimension; } else { echo "Error reading image size."; return FALSE; } } else { $new_width = $img_width; $new_height = $img_height; } // If it's already smaller, don't change the size. $image_small = imagecreatetruecolor($new_width, $new_height); // create new image imagecopyresampled($image_small, $img_source, 0,0, 0,0, $new_width, $new_height, $img_width, $img_height ); imagedestroy($img_source); @unlink( $nFileNameSmall ); imagejpeg( $image_small, $nFileNameSmall, 90 ); imagedestroy( $image_small ); chmod( $nFileNameSmall, 0644 ); } } function checkToken( $token, $redirect='#' ) { GLOBAL $tokenList; $back = false; if( isset($tokenList[$token]) || isset($tokenList['admin']) ) $back=true; if ( $back==false && $redirect!='#' ) redirect( $redirect ); return $back; } ?> '; return $back; } function FormEnd( ) { $back = ''; return $back; } function FormText( $name, $value="", $size=30, $extraStuff='' ) { $back .= ''; return $back; } function FormTextArea( $name, $value="", $cols=50, $rows=40, $extraStuff="" ) { $back .= ''; return $back; } function FormPassword( $name, $value="", $size=30, $extraStuff="" ) { $back .= ''; return $back; } function FormSetValue( $name, $value="###" ) { if ( $value == "###" ) $value=$name; $back = ''; return $back; } function FormButton( $name, $value="", $extraStuff="" ) { if ( $value == "" ) $value=$name; $back = ''; return $back; } function FormFile( $name, $extraStuff="" ) { $back = ''; return $back; } function FormSubmit( $name, $value="", $extraStuff="" ) { if ( $value == "" ) $value=$name; $back = ''; return $back; } function FormCheckbox( $name, $value, $setValue="1", $extraStuff='' ) { if ( $value == $setValue ) $checked='checked'; $back = ''; return $back; } function FormRadio( $id, $name, $value, $setValue="1", $extraStuff='' ) { if ( $value == $setValue ) $checked='checked'; $back = ''; return $back; } function FormListbox( $name, $dataArray, $selectedValue='', $size='1', $extraStuff='' ) { $back = ''; return $back; } function NewLine() { return '
'; } } $htmlHelper = new HTMLHelper(); ?>