I have the same problem, but ion inspecting my class.misc.php is does not contain the same code.
Any ideas.
Code of class.misc.php is below.
<?php
/*********************************************************************
class.misc.php
Misc collection of useful generic helper functions.
Peter Rotich <peter@osticket.com>
Copyright (c) 2006,2007,2008,2009 osTicket
http://www.osticket.com(http://www.osticket.com)
Released under the GNU General Public License WITHOUT ANY WARRANTY.
See LICENSE.TXT for details.
vim: expandtab sw=4 ts=4 sts=4:
$Id: $
**********************************************************************/
class Misc {
function randCode($len=8) {
return substr(strtoupper(base_convert(microtime(),10,16)),0,$len);
}
/* Helper used to generate ticket IDs */
function randNumber($len=6,$start=false,$end=false) {
mt_srand ((double) microtime() * 1000000);
$start=(!$len && $start)?$start(1,$len,"0",STR_PAD_RIGHT);
$end=(!$len && $end)?$end(9,$len,"9",STR_PAD_RIGHT);
return mt_rand($start,$end);
}
function encrypt($text, $salt) {
//if mcrypt extension is not installed--simply return unencryted text and log a warning.
if(!function_exists('mcrypt_encrypt') || !function_exists('mcrypt_decrypt')) {
$msg='Cryptography extension mcrypt is not enabled or installed. IMAP/POP passwords are being stored as plain text in database.';
Sys:(LOG_WARN,'mcrypt missing',$msg);
return $text;
}
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,$salt, $text, MCRYPT_MODE_ECB,
mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
}
function decrypt($text, $salt) {
if(!function_exists('mcrypt_encrypt') || !function_exists('mcrypt_decrypt'))
return $text;
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, base64_decode($text), MCRYPT_MODE_ECB,
mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
/* misc date helpers...this will go away once we move to php 5 */
function db2gmtime($var){
global $cfg;
if(!$var) return;
$dbtime=is_int($var)?$var($var);
return $dbtime-($cfg->getMysqlTZoffset()*3600);
}
//Take user time or gmtime and return db (mysql) time.
function dbtime($var=null){
global $cfg;
if(is_null($var) || !$var)
$time=Misc:(); //gm time.
else{ //user time to GM.
$time=is_int($var)?$var($var);
$offset=$_SESSION+($_SESSION?date('I',$time));
$time=$time-($offset*3600);
}
//gm to db time
return $time+($cfg->getMysqlTZoffset()*3600);
}
/*Helper get GM time based on timezone offset*/
function gmtime() {
return time()-date('Z');
}
//Current page
function currentURL() {
$str = 'http';
if ($_SERVER == 'on') {
$str .='s';
}
$str .= '://';
if ($_SERVER!=80) {
$str .= $_SERVER.':'.$_SERVER.$_SERVER;
} else {
$str .= $_SERVER.$_SERVER;
}
return $str;
}
function timeDropdown($hr=null, $min =null,$name='time') {
$hr =is_null($hr)?0:$hr;
$min =is_null($min)?0:$min;
//normalize;
if($hr>=24)
$hr=$hr%24;
elseif($hr<0)
$hr=0;
if($min>=45)
$min=45;
elseif($min>=30)
$min=30;
elseif($min>=15)
$min=15;
else
$min=0;
ob_start();
echo sprintf('<select name="%s" id="%s">',$name,$name);
echo '<option value="" selected>Time</option>';
for($i=23; $i>=0; $i--) {
for($minute=45; $minute>=0; $minute-=15) {
$sel=($hr==$i && $min==$minute)?'selected="selected"':'';
$_minute=str_pad($minute, 2, '0',STR_PAD_LEFT);
$_hour=str_pad($i, 2, '0',STR_PAD_LEFT);
echo sprintf('<option value="%s:%s" %s>%s:%s</option>',$_hour,$_minute,$sel,$_hour,$_minute);
}
}
echo '</select>';
$output = ob_get_contents();
ob_end_clean();
return $output;
}
}
?>