<?php
function htmlEntitiesArray($arr)
{
foreach($arr as $key => $val)
$arr[$key] = htmlentities($val, ENT_COMPAT | ENT_HTML401, "ISO-8859-1");
return $arr;
}
function displayContactName($contactArr, $lastNameFirst = true, $nameOverride = false)
{
if($nameOverride)
return trim($contactArr['firstName'] . ' ' . $contactArr['lastName']);
else if($lastNameFirst && $contactArr['lastName'] != '' && $contactArr['firstName'] != '')
return '<b>' . $contactArr['lastName'] . '</b>, ' . $contactArr['firstName'];
else if(!$lastNameFirst && $contactArr['lastName'] != '' && $contactArr['firstName'] != '')
return $contactArr['firstName'] . ' ' . $contactArr['lastName'];
else if($contactArr['companyName'] != '')
return $contactArr['companyName'];
else if($contactArr['lastName'] != '')
return $contactArr['lastName'];
else if($contactArr['firstName'] != '')
return $contactArr['firstName'];
else
return 'N/A';
}
function displayPhone($phone)
{
$phone = preg_replace("/[^0-9]/", "", $phone);
if(strlen($phone) == 7)
return preg_replace("/([0-9]{3})([0-9]{4})/", "$1-$2", $phone);
elseif(strlen($phone) == 10)
return preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "$1-$2-$3", $phone);
else
return $phone;
}
function undisplayPhone($phone)
{
return str_replace("-","",$phone);
}
function displayDate($date,$noTime = false,$short = false)
{
if($date == '')
return '';
if($short)
{
if($noTime)
return date("n/d/y",strtotime($date));
else
return date("n/d/y G:i",strtotime($date));
}
else
{
if($noTime)
return date("M j, Y",strtotime($date));
else
return date("M j, Y g:i a",strtotime($date));
}
}
function calcElapsedTime($oldTime,$newTime)
{
$diff = $newTime-$oldTime;
$daysDiff = floor($diff/60/60/24);
$diff -= $daysDiff*60*60*24;
$hrsDiff = floor($diff/60/60);
$diff -= $hrsDiff*60*60;
$minsDiff = floor($diff/60);
$diff -= $minsDiff*60;
$secsDiff = $diff;
return array('days' => $daysDiff,
'hours' => $hrsDiff,
'mins' => $minsDiff,
'secs' => $secsDiff);
}
function callStatusIDToDescription($id)
{
$sql = 'SELECT description FROM ps_callstatus WHERE callStatusID = ' . $id;
$callStatusResult = mysql_query($sql);
if(mysql_num_rows($callStatusResult) == 1)
{
$row = mysql_fetch_assoc($callStatusResult);
return $row['description'];
}
return '';
}
function validateEmailAddress($emailStr)
{
$emailsArray = parseEmailArray($emailStr);
foreach($emailsArray as $email)
{
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email))
return false;
}
return true;
}
function parseEmailArray($emails)
{
return explode(';',$emails);
}
function displayPercentage($num)
{
return number_format($num*100,1) . '%';
}
function scrollTo($div,$post = 'scrollPosition',$scroll = 0)
{
?>
<script>
function scrollUp<?= $post ?>()
{
document.getElementById('<?= $div ?>').scrollTop = <?= $scroll ?>;
}
setTimeout("scrollUp<?= $post ?>()", 0);
</script>
<?php
}
/*
function scrollTo($div,$post = 'scrollPosition')
{
if(isset($_POST[$post]))
{
?>
<script>
function scrollUp<?= $post ?>()
{
document.getElementById('<?= $div ?>').scrollTop = <?= $_POST[$post] ?>;
}
setTimeout("scrollUp<?= $post ?>()", 0);
</script>
<?php
}
}
*/
function stripComma($str)
{
return str_replace(","," ",$str);
}
function replaceQuotes($str)
{
return str_replace(array("'"),"`",$str);
}
function unreplaceQuotes($str)
{
return str_replace(array("`"),"'",$str);
}
function ajaxHTML($str)
{
return str_replace(array("'"),"\'",str_replace(array("\r","\n"),'',$str));
}
function displayDealerInfo($dealerID)
{
$dealerInfo = mysql_fetch_assoc(mysql_query('SELECT * FROM ps_dealers WHERE dealerID = ' . $dealerID));
//$dealerInfo['dealerName'] = mb_convert_encoding($dealerInfo['dealerName'], 'ISO-8859-15', 'UTF-8');
if($dealerID != '') return $dealerInfo;
else return array();
}
function displayStaffInfo($staffID)
{
$sql = 'SELECT * FROM ps_staff WHERE staffID = ' . $staffID;
return mysql_fetch_assoc(mysql_query($sql));
}
function convertSpecialChars($text)
{
return str_replace(array('#','&'),array('__POUND__','__AMP__'),$text);
}
function revertSpecialChars($text)
{
return str_replace(array('__POUND__','__AMP__'),array('#','&'),$text);
}
function dealerFolder($dealer,$fullPath = true)
{
if($dealer['dealerID'] == 146) $f = 'N-Z/Pfaff Motors/';
else if($dealer['dealerID'] == 147) $f = 'N-Z/Pfaff Motors/';
else if(substr($dealer['dealerName'],0,1) <= 'M') $f = 'A-M';
else $f = 'N-Z';
//$dealerFolder = mb_convert_encoding($dealerFolder, 'ISO-8859-15', 'UTF-8');
if($fullPath) return '//privatesalesvr/absolute shared/absolute results/' . $f . '/' . $dealer['dealerName'];
else return $f . '/' . $dealer['dealerName'];
/*
if($fullPath) return mb_convert_encoding('//privatesalesvr/absolute shared/absolute results/' . $f . '/' . $dealer['dealerName'], 'ISO-8859-15', 'UTF-8');
else return mb_convert_encoding($f . '/' . $dealer['dealerName'], 'ISO-8859-15', 'UTF-8');
*/
}
function createEventFolder($dealerID,$endDate,$eventID)
{
if($eventID == '' || $dealerID == '' || $endDate == '') return;
//$endDate = date("Y-m-d",strtotime($endDate));
$event = mysql_fetch_assoc(mysql_query('SELECT * FROM ps_dealerevents WHERE eventID = ' . $eventID));
$endDate = date("Y-m-d",strtotime($event['saleEndDate']));
$dealer = displayDealerInfo($dealerID);
$dFolder = dealerFolder($dealer);
if(!is_dir($dFolder)) mkdir($dFolder);
$folderList = scandir($dFolder);
foreach($folderList as $foldername)
{
if(is_dir($dFolder.'/'.$foldername))
{
if(substr(basename($foldername),-5) == " " . date("Y",strtotime($endDate)))
{
$mainFolder = $dFolder.'/'.$foldername.'/';
break;
}
}
}
if(!isset($mainFolder)) $mainFolder = $dFolder . '/' . $dealer['dealerName'] . ' ' . date("Y",strtotime($endDate)) . '/';
mkdir($mainFolder);
mkdir($mainFolder . $dealer['dealerName'] . ' ' . $endDate . ' ' . $eventID);
}
function renameEventFolder($dealerID,$endDate,$eventID)
{
if($eventID == '' || $dealerID == '' || $endDate == '') return;
//$endDate = date("Y-m-d",strtotime($endDate));
$event = mysql_fetch_assoc(mysql_query('SELECT * FROM ps_dealerevents WHERE eventID = ' . $eventID));
$endDate = date("Y-m-d",strtotime($event['saleEndDate']));
$dealer = displayDealerInfo($dealerID);
$dFolder = dealerFolder($dealer);
$mainFolder = $dFolder . '/' . $dealer['dealerName'] . ' ' . date("Y",strtotime($endDate)) . '/';
$folderList = scandir($mainFolder);
foreach($folderList as $foldername)
{
if(strpos($foldername, $eventID) !== false)
{
rename ($mainFolder . $foldername , $mainFolder . $dealer['dealerName'] . ' ' . $endDate . ' ' . $eventID);
break;
}
}
}
function deleteEventFolder($dealerID,$endDate,$eventID)
{
if($eventID == '' || $dealerID == '' || $endDate == '') return;
$endDate = date("Y-m-d",strtotime($endDate));
$dealer = displayDealerInfo($dealerID);
$dFolder = dealerFolder($dealer);
if($dFolder == '' || $dealerID == '' || $endDate == '') return;
$mainFolder = $dFolder . '/' . $dealer['dealerName'] . ' ' . date("Y",strtotime($endDate)) . '/';
$folderList = scandir($mainFolder);
foreach($folderList as $foldername)
{
if(strpos($foldername, $eventID) !== false)
{
unlink($mainFolder . $dealer['dealerName'] . ' ' . $endDate . ' ' . $eventID);
break;
}
}
}
function eventFiles($dealer,$eventStart,$eventEnd, $findImages = false)
{
$fileList = array();
$searchYear = date("Y",strtotime($eventEnd));
$searchMonth = date("my",strtotime($eventEnd));
$searchDay = date("Y-m-d",strtotime($eventEnd));
$dealerFolder = dealerFolder($dealer);
//$dealerFolder = mb_convert_encoding($dealerFolder, 'ISO-8859-15', 'UTF-8');
$folderList = scandir($dealerFolder);
foreach($folderList as $foldername)
{
if(is_dir($dealerFolder.'/'.$foldername))
{
if(substr(basename($foldername),-5) == " " . $searchYear)
{
$yearDir = $dealerFolder.'/'.$foldername;
break;
}
else if(substr(basename($foldername),-5) == " " . $searchMonth)
{
$monthDir = $dealerFolder.'/'.$foldername;
break;
}
}
}
if($yearDir != "")
{
$folderList = scandir($yearDir);
foreach($folderList as $foldername)
{
if(is_dir($yearDir.'/'.$foldername))
{
if(strpos($foldername, $searchDay) !== false)
{
$monthDir = $yearDir.'/'.$foldername;
break;
}
else if(substr(basename($foldername),-5) == " " . $searchMonth)
{
$monthDir = $yearDir.'/'.$foldername;
break;
}
}
}
}
if($monthDir != "")
{
$dayDir = $monthDir;
$folderList = scandir($monthDir);
foreach($folderList as $foldername)
{
if(is_dir($monthDir.'/'.$foldername))
{
if(strpos($foldername, $searchDay) !== false)
{
$dayDir = $monthDir.'/'.$foldername;
break;
}
else if(strtotime($foldername) !== false && !in_array($foldername,array('.','..')))
{
if(strtotime($foldername) >= strtotime($eventStart) && strtotime($foldername) <= strtotime($eventEnd))
{
$dayDir = $monthDir.'/'.$foldername;
}
}
}
}
if(!$findImages)
{
$filesList = scandir($dayDir);
foreach($filesList as $file)
{
$info = pathinfo($file);
$filename = basename($file,'.'.$info['extension']);
if(substr($filename,-2) == " f" || substr($filename,-2) == "_f")
{
$fileList[] = array('filename' => $file,
'path' => str_replace('//privatesalesvr/absolute shared/absolute results/','',$dayDir));
}
}
}
else
{
$filesList = scandir($dayDir.'/images');
foreach($filesList as $file)
{
$info = pathinfo($file);
$filename = basename($file,'.'.$info['extension']);
if(in_array(strtolower($info['extension']),array('jpg','jpeg','png'))) $fileList[] = array('filename' => $file, 'path' => str_replace('//privatesalesvr/absolute shared/absolute results/','',$dayDir).'/images');
}
}
}
/*
foreach($fileList as $key => $file)
{
$fileList[$key]['filename'] = mb_convert_encoding($file['filename'], 'UTF-8', 'ISO-8859-15');
$fileList[$key]['path'] = mb_convert_encoding($file['path'], 'UTF-8', 'ISO-8859-15');
}
*/
return $fileList;
}
function dateFR($datetime)
{
$m = strtolower(date("n",$datetime));
$param_F = array('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
return html_entity_decode(strtolower(date("j ",$datetime) . $param_F[$m] . date(" Y",$datetime)));
}
function monthFR($month,$translate = true)
{
if($translate)
{
$m = strtolower(date("n",strtotime($month)));
$param_F = array('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
return strtolower($param_F[$m]);
}
else
{
return $month;
}
}
function displayDealerLog($dealerID)
{
$dealerNoteSQL = 'SELECT notes FROM ps_dealers WHERE notes is not null AND notes != "" AND dealerID = ' . $dealerID;
$dealerNoteResults = mysql_query($dealerNoteSQL);
$followUpSQL = 'SELECT * FROM ps_dealerevents WHERE followUpNotes is not null AND followUpNotes != "" AND dealerID = ' . $dealerID . ' ORDER BY followUpDate DESC';
$followUpResults = mysql_query($followUpSQL);
$privateNotesSQL = 'SELECT * FROM ps_worksheets WHERE privateNotes is not null AND privateNotes != "" AND dealerID = ' . $dealerID . ' ORDER BY eventStart DESC';
$privateNotesResults = mysql_query($privateNotesSQL);
$publicCommentsSQL = 'SELECT * FROM ps_dealerevents WHERE comments is not null AND comments != "" AND dealerID = ' . $dealerID . ' ORDER BY saleStartDate DESC';
$publicCommentsResults = mysql_query($publicCommentsSQL);
$privateCommentsSQL = 'SELECT * FROM ps_dealerevents WHERE privateComments is not null AND privateComments != "" AND dealerID = ' . $dealerID . ' ORDER BY saleStartDate DESC';
$privateCommentsResults = mysql_query($privateCommentsSQL);
$notesSQL = 'SELECT * FROM (SELECT * FROM ps_notes WHERE dealerID = ' . $dealerID . ' ORDER BY date DESC) as t1 INNER JOIN ps_staff USING (staffID)';
$notesResults = mysql_query($notesSQL);
//$dealershipHTML .= '<tr><td>' . $followUpSQL . '<td></tr>';
while($dealerNote = mysql_fetch_assoc($dealerNoteResults))
{
$dealershipHTML .= '<tr><td><b><i>Dealer Notes</b></i><td></tr>';
$dealershipHTML .= '<tr><td style="padding-bottom:10px">' . str_replace(array(chr(13),"\n"),'<br>',$dealerNote['notes']) . '<td></tr>';
}
$logArray = array();
$i = 0;
while($followUp = mysql_fetch_assoc($followUpResults))
{
$tHtml = '';
$tHtml .= '<tr><td><b><i>Follow Up Note</b> - ' . date("M j,Y",strtotime($followUp['followUpDate'])) . ' - <a href="#" onClick="editEvent(' . $followUp['eventID'] . ',\'edit\')" style="color:blue">' . $followUp['eventName'] . '</a></i><td></tr>';
$tHtml .= '<tr><td style="padding-bottom:10px">' . str_replace(array(chr(13),"\n"),'<br>',$followUp['followUpNotes']) . '<td></tr>';
$logArray[$followUp['followUpDate'] . $i] = $tHtml;
$i++;
}
while($privateNote = mysql_fetch_assoc($privateNotesResults))
{
$tHtml = '';
$tHtml .= '<tr><td><b><i>Agreement Note</b> - ' . date("M j,Y",strtotime($privateNote['eventStart'])) . ' - <a href="#" onClick="editWorksheet(' . $privateNote['worksheetID'] . ')" style="color:blue">#' . displayWorksheetNum($privateNote) . '</a></i><td></tr>';
$tHtml .= '<tr><td style="padding-bottom:10px">' . str_replace(array(chr(13),"\n"),'<br>',trim($privateNote['privateNotes'])) . '<td></tr>';
$logArray[$privateNote['eventStart'] . $i] = $tHtml;
$i++;
}
while($publicComments = mysql_fetch_assoc($publicCommentsResults))
{
$tHtml = '';
$tHtml .= '<tr><td><b><i>Event Public Comments</b> - ' . date("M j,Y",strtotime($publicComments['saleStartDate'])) . ' - ' . ucwords(strtolower($publicComments['trainers'])) . '</i><td></tr>';
$tHtml .= '<tr><td style="padding-bottom:10px">' . str_replace(array(chr(13),"\n"),'<br>',$publicComments['comments']) . '<td></tr>';
$logArray[$publicComments['saleStartDate'] . $i] = $tHtml;
$i++;
}
while($privateComments = mysql_fetch_assoc($privateCommentsResults))
{
$tHtml = '';
$tHtml .= '<tr><td><b><i>Event Private Comments</b> - ' . date("M j,Y",strtotime($privateComments['saleStartDate'])) . ' - ' . ucwords(strtolower($publicComments['trainers'])) . '</i><td></tr>';
$tHtml .= '<tr><td style="padding-bottom:10px">' . str_replace(array(chr(13),"\n"),'<br>',$privateComments['privateComments']) . '<td></tr>';
$logArray[$publicComments['saleStartDate'] . $i] = $tHtml;
$i++;
}
while($note = mysql_fetch_assoc($notesResults))
{
$tHtml = '';
$tHtml .= '<tr><td><b><i>Dealer Notes</b> - ' . date("M j,Y g:i a",strtotime($note['date'])) . ' - ' . $note['name'] . '</i><td></tr>';
$tHtml .= '<tr><td style="padding-bottom:10px">' . str_replace(array(chr(13),"\n"),'<br>',$note['note']) . '<td></tr>';
$logArray[$note['date'] . $i] = $tHtml;
$i++;
}
krsort($logArray);
return $logArray;
}
function displayEventDate($event)
{
if($event['eventStart'] != "") return date("M j",strtotime($event['eventStart'])) . (date("j",strtotime($event['eventStart'])) == date("j",strtotime($event['eventEnd'])) ? '':'-' . date("j",strtotime($event['eventEnd'])));
else if($event['saleStartDate'] != "") return date("M j",strtotime($event['saleStartDate'])) . (date("j",strtotime($event['saleStartDate'])) == date("j",strtotime($event['saleEndDate'])) ? '':'-' . date("j",strtotime($event['saleEndDate'])));
else return "";
}
function displaySalesLocality($dealerID)
{
$dealerInfo = displayDealerInfo($dealerID);
if($dealerInfo['isUSA'] == 'on')
{
$sql = 'SELECT SL,ZIP_CODE as zip FROM ps_saleslocale_us WHERE SL = "' . $dealerInfo['salesLocalityNum'] . '" ORDER BY left(ZIP_CODE,5)';
$slResults = mysql_query($sql);
$info = array();
while($sl = mysql_fetch_assoc($slResults)) $info[] = $sl['zip'];
}
else
{
if($dealerInfo['salesLocalityNum'] == "") return array();
$sql = 'SELECT * FROM ps_saleslocale WHERE localityCode like "' . $dealerInfo['salesLocalityNum'] . '%" ORDER BY left(postalCode,3)';
$slResults = mysql_query($sql);
$info = array();
$fsaOnly = array();
while($sl = mysql_fetch_assoc($slResults))
{
if(strlen($sl['postalCode']) == 3) $fsaOnly[] = $sl['postalCode'];
else $info[] = $sl['postalCode'];
}
if(count($fsaOnly) > 0)
{
$sql = 'SELECT * FROM ps_postalcodes WHERE left(postalCode,3) in ("' . implode('","',$fsaOnly) . '")';
$slResults = mysql_query($sql);
while($sl = mysql_fetch_assoc($slResults))
{
$info[] = substr($sl['postalCode'],0,3) . ' ' . substr($sl['postalCode'],3,3);
}
}
}
return $info;
}
?>