function result_recommend($recommend) { if (!$recommend || !is_array($recommend)) { return null; } $result = array(); foreach ($recommend as $r) { $item = array(); $item['ID'] = $r['ID']; $item['Title'] = $r['Title']; $item['SectionID'] = $r['SectionID']; $item['Feature'] = $r['Feature']; $item['Price'] = format_price2($r['Price']); $item['MarketPrice'] = format_price2($r['MarketPrice']); $item['Url'] = $r['Url']; $no_image = false; if ($r['MobilePic']) { $pic = $this->static_domain . $r['MobilePic']; $width = $r['MobileWidth']; $height = $r['MobileHeight']; } else { if ($r['Pic']) { $pic = $this->image_url($r['Pic']); $width = $r['Width']; $height = $r['Height']; } else { $no_image = true; $width = $height = 0; } } $item['Img'] = $no_image ? null : array('Url' => $pic, 'Width' => $width ? $width : 0, 'Height' => $height ? $height : 0); $pids = array(); if (preg_match('/\\/(visa|tour|ticket|insurance|info)\\/(list|search|detail)\\/?\\?(p|n)?id=(\\d+)\\w*/i', $r['Url'], $pids)) { $module = $pids[1]; $page = $pids[2]; $id = $pids[4]; if ($module == 'info') { $module = 'article'; } $item['Module'] = array('Name' => $module, 'Action' => $page == 'search' ? 'list' : $page, 'ID' => $id); } else { $item['Module'] = array('Name' => '', 'Action' => '', 'ID' => 0); } array_push($result, $item); } return $result; }
function draw_calendar($month, $year, $data) { /* draw table */ $calendar = '<table data-year="' . $year . '" data-month="' . $month . '">'; /* table headings */ $headings = array('一', '二', '三', '四', '五'); $calendar .= '<tr class="header"><th class="sunday">日</th><th>' . implode('</th><th>', $headings) . '</th><th class="saturday">六</th></tr>'; /* days and weeks vars now ... */ $running_day = date('w', mktime(0, 0, 0, $month, 1, $year)); $days_in_month = date('t', mktime(0, 0, 0, $month, 1, $year)); $days_in_this_week = 1; $day_counter = 0; $dates_array = array(); /* row for week one */ $calendar .= '<tr class="calendar-row">'; /* print "blank" days until the first of the current week */ for ($x = 0; $x < $running_day; $x++) { $calendar .= '<td class="calendar-day-np invalid-day"> </td>'; $days_in_this_week++; } /* keep going with days.... */ for ($list_day = 1; $list_day <= $days_in_month; $list_day++) { $key_day = $year . '-' . $month . '-' . $list_day; $td_class = ''; $td_available = ''; $td_price = ''; $td_attr_price = ''; if ($data && array_key_exists($key_day, $data)) { $val = $data[$key_day]; if ($val['Available'] <= 0) { $td_class .= ' invalid-day '; } else { if ($val['Available'] <= 5) { $td_class .= ' over '; $td_available = '余位' . $val['Available']; } else { if ($val['Available'] > 5) { $td_class .= ' enough '; $td_available = '充足'; } } } $td_price = '¥' . format_price2($val['AdultPrice']); $td_attr_price = ' adault-price="' . format_price2($val['AdultPrice']) . '" child-price="' . format_price2($val['ChildPrice']) . '" room-price="' . format_price2($val['RoomPrice']) . '" '; } else { $td_class = ' invalid-day '; } $calendar .= '<td class="calendar-day' . $td_class . '" data-date="' . $list_day . '" ' . $td_attr_price . '>'; /* add in the day number */ $calendar .= '<div><span class="date" data-date="' . $list_day . '">' . $list_day . '</span><a class="dayjh" href="javascript:void(0);"></a></div>'; $calendar .= '<div><span class="dataprace">' . $td_available . '</span></div>'; $calendar .= '<div><span class="dataprice">' . $td_price . '</span></div>'; /** QUERY THE DATABASE FOR AN ENTRY FOR THIS DAY !! IF MATCHES FOUND, PRINT THEM !! **/ $calendar .= str_repeat('<p> </p>', 2); $calendar .= '</td>'; if ($running_day == 6) { $calendar .= '</tr>'; if ($day_counter + 1 != $days_in_month) { $calendar .= '<tr class="calendar-row">'; } $running_day = -1; $days_in_this_week = 0; } $days_in_this_week++; $running_day++; $day_counter++; } /* finish the rest of the days in the week */ if ($days_in_this_week < 8) { for ($x = 1; $x <= 8 - $days_in_this_week; $x++) { $calendar .= '<td class="calendar-day-np invalid-day"> </td>'; } } /* final row */ $calendar .= '</tr>'; /* end the table */ $calendar .= '</table>'; /* all done, return result */ return $calendar; }