<?php
/**
* List of utility functions used through out the software.
*
* @author Dana Murad
* @file functions.php
*
* @todo
*/
function debug_pre($var) //this function is used for debugging
{
echo "<pre>";
print_r($var);
echo "</pre>";
}
if(!function_exists('str_split'))
{
function str_split
(
$string,
$split_length=1
)
{
$count = strlen($string);
if($split_length < 1)
{
return false;
}
else if ($split_length > $count)
{
return array($string);
}
else
{
$num = (int)ceil($count/$split_length);
$ret = array();
for($i=0;$i<$num;$i++)
{
$ret[] = substr($string,$i*$split_length,$split_length);
}
return $ret;
}
}
}
function checkLogin
(
$loginPage = "index.php"
)
{
if(isset($_SESSION[LogInCT::LOGGED_IN_FLAG]))
{
return TRUE;
}
else
{
header("Location: " . BASE_URL . $loginPage);
exit();
}
}
/**
* @desc Checks to see if the user has selected a city or state in the past to grab the appropriate values. takes no param, returns none.
*/
function requireStateCity()
{
if(isset($_SESSION['cityStatePair']))
{
setcookie("cityStatePair",$_SESSION['cityStatePair'],time() + 5184000); // expire in 60 days
return;
}
if(isset($_COOKIE['cityStatePair']))
{
$_SESSION['cityStatePair'] = $_COOKIE['cityStatePair'];
return;
}
else
{
redirect("selectCity.php");
}
}
/**
* @desc Just gets a userID from the session, saves code and validation times.
*/
function getUserID
(
)
{
$userID = isset($_SESSION['userID']) ? $_SESSION['userID'] : "";
return $userID;
}
function report_error($file,$class,$function,$line,$message) //emails an error to the administrator
{
$error_date = date("h:i A F dS, Y");
$to = ADMIN_EMAIL;
$body = "$error_date \n $file -> class: $class -> function: $function -> line: $line \n";
$body .= "Message: $message \n";
mail($to, "Page Error", $body, "From: Errors@Mindshare.com"); #email error
echo "An error has occurred and an administrator been notified";
exit;
}
/**
* @desc Changes location of the header to another URL.
* @param string $url
*/
function redirect($url)
{
header("Location: $url");
exit;
}
function reverse_direction($dir="")
{
if($dir == "DESC")
{
return "ASC";
}
elseif($dir == "ASC")
{
return "DESC";
}
else //default to desc if no order
{
return "DESC";
}
}
function debug_enter($file,$class,$function,$line)
{
if (DEBUG)
{
echo "<!-- Entering ".$file.": ".$class."->".$function.": ".$line." -->\n";
}
}
function debug_exit($file,$class,$function,$line)
{
if(DEBUG)
{
echo "<!-- Exiting ".$file.": ".$class."->".$function.": ".$line." -->\n";
}
}
function trimSpaces($arr)
{
for($i = 0; isset($arr[$i]); $i++)
{
$arr[$i] = trim($arr[$i]);
}
return $arr;
}
// strips dollars sign or any other invalid charactes from the number
function stripToNum($value)
{
$value = preg_replace("/[^0-9]+/","",$value); // nothing but number allowed
return $value;
}
function stripToInt($value)
{
$value = preg_replace("/[^\-?0-9]+/","",$value); // negative sign allowed
return $value;
}
function stripToFloat($value)
{
$value = preg_replace("/[^\-0-9.]+/","",$value); // negative sign and decimal allowed.
return $value;
}
function stripNumbers($value)
{
$value = preg_replace("/[0-9]+/","",$value); // removes all number digits. t3st_123 => tst_
return $value;
}
function getRandomString($length)
{
if(is_numeric($length))
{
$chars = "ABCDEFGHIJKLMNOPQRSTOVWXYZabcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '';
while ($i < $length)
{
$num = rand() % strlen($chars);
$tmp = substr($chars, $num, 1);
$pass .= $tmp;
$i++;
}
return $pass;
}
}
// format to currency $999999.00
function convertToCurrency
(
$val
)
{
if(is_numeric($val) && $val != "") // treat the parameter as a value and return it.
{
$num = floatval($val);
$prefix = "$";
$suffix = "";
$temp = round( $num * 100.0 ); // convert to pennies!
// if its pennies, return appropriate value:
if ( $temp < 10 && $temp > -10)
{
$result = $prefix . "0.0" . $temp . $suffix;
}
else if ( $temp < 100 && $temp > -100 )
{
$result = $prefix . "0." . $temp . $suffix;
}
else
{
// if not pennies
$temp = $prefix . $temp;
$result = substr($temp,0,strlen($temp)-2) . "." . substr($temp,strlen($temp)-2) . $suffix; // insert decimal and add suffix
}
return $result;
}
}
function checkEmailAddress
(
$email
)
{
return preg_match("/\b[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b/",$email);
}
function formatPhone
(
$phone
)
{
$phone = stripToNum($phone); //remove other chars.
if(!empty($phone))
{
return "(" . substr($phone,0,3) . ") " . substr($phone,3,3) . "-" . substr($phone,6,4);
}
}
// this function is to by pass the default PHP behavior of empty() (in which this: "empty(trim($foo))" always results in FALSE)
function isEmpty($value)
{
return empty($value);
}
function getStates($requestedState = "")
{
$stateArr = array();
$stateArr["AL"] = "Alabama";
$stateArr["AK"] = "Alaska";
$stateArr["AZ"] = "Arizona";
$stateArr["AR"] = "Arkansas";
$stateArr["CA"] = "California";
$stateArr["CO"] = "Colorado";
$stateArr["CT"] = "Connecticut";
$stateArr["DE"] = "Delaware";
$stateArr["FL"] = "Florida";
$stateArr["GA"] = "Georgia";
$stateArr["HI"] = "Hawaii";
$stateArr["ID"] = "Idaho";
$stateArr["IL"] = "Illinois";
$stateArr["IN"] = "Indiana";
$stateArr["IA"] = "Iowa";
$stateArr["KS"] = "Kansas";
$stateArr["KY"] = "Kentucky";
$stateArr["LA"] = "Louisiana";
$stateArr["ME"] = "Maine";
$stateArr["MD"] = "Maryland";
$stateArr["MA"] = "Massachusetts";
$stateArr["MI"] = "Michigan";
$stateArr["MN"] = "Minnesota";
$stateArr["MS"] = "Mississippi";
$stateArr["MO"] = "Missouri";
$stateArr["MT"] = "Montana";
$stateArr["NE"] = "Nebraska";
$stateArr["NV"] = "Nevada";
$stateArr["NH"] = "New Hampshire";
$stateArr["NJ"] = "New Jersey";
$stateArr["NM"] = "New Mexico";
$stateArr["NY"] = "New York";
$stateArr["NC"] = "North Carolina";
$stateArr["ND"] = "North Dakota";
$stateArr["OH"] = "Ohio";
$stateArr["OK"] = "Oklahoma";
$stateArr["OR"] = "Oregon";
$stateArr["PA"] = "Pennsylvania";
$stateArr["RI"] = "Rhode Island";
$stateArr["SC"] = "South Carolina";
$stateArr["SD"] = "South Dakota";
$stateArr["TN"] = "Tennessee";
$stateArr["TX"] = "Texas";
$stateArr["UT"] = "Utah";
$stateArr["VT"] = "Vermont";
$stateArr["VA"] = "Virginia";
$stateArr["WA"] = "Washington";
$stateArr["WV"] = "West Virginia";
$stateArr["WI"] = "Wisconsin";
$stateArr["WY"] = "Wyoming";
if($requestedState != "")
{
if(isset($stateArr[$requestedState]))
{
return $stateArr[$requestedState];
}
if(($key = array_search($requestedState,$stateArr)) !== FALSE)
{
return $stateArr[$key];
}
}
return $stateArr;
}
function getMonths()
{
$stateArr = array();
$stateArr["01"] = "January";
$stateArr["02"] = "February";
$stateArr["03"] = "March";
$stateArr["04"] = "April";
$stateArr["05"] = "May";
$stateArr["06"] = "June";
$stateArr["07"] = "July";
$stateArr["08"] = "August";
$stateArr["09"] = "September";
$stateArr["10"] = "October";
$stateArr["11"] = "November";
$stateArr["12"] = "December";
return $stateArr;
}
function getCreditCardTypes()
{
$stateArr = array();
$stateArr["Visa"] = "Visa";
$stateArr["MasterCard"] = "MasterCard";
$stateArr["Discover"] = "Discover";
$stateArr["AmEx"] = "American Express";
return $stateArr;
}
/**
* @desc Reverse Sort between ASC and DESC
*/
function reverseSort($sort)
{
if ($sort == "ASC")
{
return "DESC";
}
else
{
return "ASC";
}
}
/**
* @desc Switch to HTTPS, SSL
*/
function SSLon()
{
/*if(empty($_SERVER['HTTPS']))
{
$url = "https://".BASE_URL.$_SERVER['REQUEST_URI'];
header("Location: $url");
} */
}
/**
* @desc Switch to HTTP, NO SSL
*/
function SSLoff()
{
/*if(!empty($_SERVER['HTTPS']))
{
$url = "http://".BASE_URL.$_SERVER['REQUEST_URI'];
header("Location: $url");
}*/
}
/**
* @desc Pads a string with 80 dots to emulate command prompt progress
*/
function pad($string)
{
if(is_string($string))
{
return str_pad($string,80,".");
}
}
/**
* @desc encrypts password with encryptiong specified
*/
function encryptPassword($pass)
{
return SHA1($pass);
}