index.item.create.php
<?php
$store = getStore($this->getSlug());
$view = $this->getView('/store/create/');
$filled = simpleFormFill($view,$store);
$hoursPlaceholder = '<!--hours-placeholder-->';
$htmlNeedingHours = preg_replace('/\<fieldset\>\<div class\=\"hours-selector\"\>[.\s\S]*\<\/fieldset\>/',$hoursPlaceholder,$filled);
$hours = [];
foreach ($store->hours as $weekDay => $openHours){
foreach ($openHours as $hourSpec){
$hours[$hourSpec][$weekDay] = $weekDay;
}
}
$template = file_get_contents(__DIR__.'/../../template/hours-selector.html');
$templateCopy = $template.'';
$hoursHtml = '';
$index = 0;
foreach ($hours as $hourSpec => $openDays){
$hourParts = explode('-',$hourSpec);
$timeStart = $hourParts[0];
$startParts = explode(':',$timeStart);
$hourStart = $startParts[0];
$minuteStart = $startParts[1];
$ampmStart = 'AM';
$timeEnd = $hourParts[1];
$endParts = explode(':',$timeEnd);
$hourEnd = $endParts[0];
$minuteEnd = $endParts[1];
$ampmEnd = 'AM';
if ($hourStart>12){
$hourStart = $hourStart-12;
$ampmStart = 'PM';
}
if ($hourEnd>12){
$hourEnd = $hourEnd-12;
$ampmEnd = 'PM';
}
if (strlen($hourStart)==1)$hourStart = '0'.$hourStart;
if (strlen($hourEnd)==1)$hourEnd = '0'.$hourEnd;
if (strlen($minuteStart)==1)$minuteStart = '0'.$minuteStart;
if (strlen($minuteEnd)==1)$minuteEnd = '0'.$minuteEnd;
$html = $templateCopy;
$html = str_replace('selected','',$html);
$reg = '/(name\=\"[a-z]{3,6}day)[0-9]\"/';
$html = preg_replace($reg,'${1}'.$index.'"',$html);
$daysReg = str_replace('day','','('. implode('|',$openDays) .')');
$reg = '/(name\=\"'.$daysReg.'day)[0-9]\"/';
$html = preg_replace($reg,'${1}'.$index.'" checked',$html);
$posHourStart = strpos($html,'hour_start');
$posHourStartOption = strpos($html,'>'.$hourStart,$posHourStart);
$html = substr_replace($html,' selected',$posHourStartOption,0);
$posMinuteStart = strpos($html,'minute_start');
$posMinuteStartOption = strpos($html,'>'.$minuteStart,$posMinuteStart);
$html = substr_replace($html,' selected',$posMinuteStartOption,0);
$posAmpmStart = strpos($html,'ampm_start');
$posAmpmStartOption = strpos($html,'>'.$ampmStart,$posAmpmStart);
$html = substr_replace($html,' selected',$posAmpmStartOption,0);
$posHourEnd = strpos($html,'hour_end');
$posHourEndOption = strpos($html,'>'.$hourEnd,$posHourEnd);
$html = substr_replace($html,' selected',$posHourEndOption,0);
$posMinuteEnd = strpos($html,'minute_end');
$posMinuteEndOption = strpos($html,'>'.$minuteEnd,$posMinuteEnd);
$html = substr_replace($html,' selected',$posMinuteEndOption,0);
$posAmpmEnd = strpos($html,'ampm_end');
$posAmpmEndOption = strpos($html,'>'.$ampmEnd,$posAmpmEnd);
$html = substr_replace($html,' selected',$posAmpmEndOption,0);
$index = $index + 1;
$hoursHtml .= $html."\n<hr>\n";
$templateCopy = $template.'';
}
if ($hoursHtml===''){
$hoursHtml = $templateCopy;
}
$filled = str_replace($hoursPlaceholder,$hoursHtml,$htmlNeedingHours);
echo $filled;
?>