protected function bindOptions($quiz, $options) { $options = remove_empty($options); foreach ($options as $option) { QuizOptions::create(["quiz_id" => $quiz->id, "option" => $option]); } }
function qem_show_calendar($atts) { $cal = qem_get_stored_calendar(); $style = qem_get_stored_style(); extract(shortcode_atts(array('category' => '', 'navigation' => '', 'month' => '', 'year' => '', 'links' => 'on', 'categorykeyabove' => '', 'categorykeybelow' => '', 'usecategory' => '', 'smallicon' => 'trim', 'widget' => '', 'header' => 'h2'), $atts)); global $post; global $_GET; if (!$widget) { $header = $cal['header']; } if ($cal['hidenavigation']) { $navigation = 'off'; } $reload = $cal['jumpto'] ? '#qem_calreload' : ''; if (isset($_GET['category'])) { $category = $_GET['category']; } $args = array('post_type' => 'event', 'orderby' => 'meta_value_num', 'meta_key' => 'event_date', 'order' => 'asc', 'posts_per_page' => -1, 'category' => '', 'links' => 'on'); $catarry = explode(",", $category); if ($cal['navicon'] == 'arrows') { $leftnavicon = '◄ '; $rightnavicon = ' ►'; } if ($cal['navicon'] == 'unicodes') { $leftnavicon = $cal['leftunicode'] . ' '; $rightnavicon = ' ' . $cal['rightunicode']; } $monthnames = array(); $monthstamp = 0; for ($i = 0; $i <= 12; $i++) { $monthnames[] = date_i18n('F', $monthstamp); $monthstamp = strtotime('+1 month', $monthstamp); } if ($cal['startday'] == 'monday') { $timestamp = strtotime('next sunday'); } if ($cal['startday'] == 'sunday') { $timestamp = strtotime('next saturday'); } $days = array(); for ($i = 0; $i <= 7; $i++) { $days[] = date_i18n('D', $timestamp); $timestamp = strtotime('+1 day', $timestamp); } $qem_dates = array(); $eventdate = array(); $eventenddate = array(); $eventtitle = array(); $eventsummary = array(); $eventlinks = array(); $eventslug = array(); $eventimage = array(); $eventdesc = array(); $query = new WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); if (in_category($catarry) || !$category) { $startdate = get_post_meta($post->ID, 'event_date', true); if (!$startdate) { $startdate = time(); } $startdate = strtotime(date("d M Y", $startdate)); $enddate = get_post_meta($post->ID, 'event_end_date', true); $image = get_post_meta($post->ID, 'event_image', true); $desc = get_post_meta($post->ID, 'event_desc', true); $link = get_permalink(); $cat = get_the_category(); $slug = $cat[0]->slug; $eventx = get_calendar_details($links); $title = get_the_title(); if ($cal['showmultiple']) { do { array_push($eventdate, $startdate); array_push($eventtitle, $title); array_push($eventslug, $slug); array_push($eventsummary, $eventx); array_push($eventlinks, $link); $startdate = $startdate + 24 * 60 * 60; } while ($startdate <= $enddate); } else { array_push($eventdate, $startdate); array_push($eventtitle, $title); array_push($eventslug, $slug); array_push($eventsummary, $eventx); array_push($eventlinks, $link); array_push($eventimage, $image); array_push($eventdesc, $desc); } } } } wp_reset_postdata(); if (!isset($_GET["qemmonth"])) { if ($month) { $_GET["qemmonth"] = $month; } else { $_GET["qemmonth"] = date_i18n("n"); } } if (!isset($_GET["qemyear"])) { if ($year) { $_GET["qemyear"] = $year; } else { $_GET["qemyear"] = date_i18n("Y"); } } $currentmonth = $_GET["qemmonth"]; $currentyear = $_GET["qemyear"]; $calendar = '<a name="qem_calreload"></a>'; $p_year = $currentyear; $n_year = $currentyear; $p_month = $currentmonth - 1; $n_month = $currentmonth + 1; if ($p_month == 0) { $p_month = 12; $p_year = $currentyear - 1; } if ($n_month == 13) { $n_month = 1; $n_year = $currentyear + 1; } if ($cal['connect']) { $calendar .= '<p><a href="' . $cal['eventlist_url'] . '">' . $cal['eventlist_text'] . '</a></p>'; } $actual_link = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"; $parts = explode("&", $actual_link); $actual_link = $parts['0']; $link = strpos($actual_link, '?') ? '&' : '?'; $catkey = qem_category_key($cal, $style, 'calendar'); if ($cal['showkeyabove'] || $categorykeyabove) { $calendar .= $catkey; } if ($cal['showmonthsabove']) { $calendar .= qem_calendar_months($cal); } $calendar .= '<div id="qem-calendar"> <table cellspacing="' . $cal['cellspacing'] . '" cellpadding="0"> <tr class="top"> <td colspan="1" >'; if ($navigation != 'off') { $calendar .= '<a class="calnav" href="' . $actual_link . $link . 'qemmonth=' . $p_month . '&qemyear=' . $p_year . $reload . '">' . $leftnavicon . $cal['prevmonth'] . '</a>'; } $calendar .= '</td> <td colspan="5" class="calmonth"><' . $header . '>' . $monthnames[$currentmonth - 1] . ' ' . $currentyear . '</' . $header . '></td> <td colspan="1">'; if ($navigation != 'off') { $calendar .= '<a class="calnav" href="' . $actual_link . $link . 'qemmonth=' . $n_month . '&qemyear=' . $n_year . $reload . '">' . $cal['nextmonth'] . $rightnavicon . '</a>'; } $calendar .= '</td> </tr> <tr>' . "\r\n"; for ($i = 1; $i <= 7; $i++) { $calendar .= '<td class="calday">' . $days[$i] . '</td>'; } $calendar .= '</tr>' . "\r\n"; $timestamp = mktime(0, 0, 0, $currentmonth, 1, $currentyear); $maxday = date_i18n("t", $timestamp); $thismonth = getdate($timestamp); if ($cal['startday'] == 'monday') { $startday = $thismonth['wday'] - 1; if ($startday == '-1') { $startday = '6'; } } else { $startday = $thismonth['wday']; } $firstday = ''; $henry = $startday - 1; for ($i = 0; $i < $maxday + $startday; $i++) { $oldday = ''; $blankday = $i < $startday ? ' class="blankday" ' : ''; $firstday = $i == $startday - 1 ? ' class="firstday" ' : ''; $xxx = mktime(0, 0, 0, $currentmonth, $i - $startday + 1, $currentyear); if (date_i18n("d") > $i - $startday + 1 && $currentmonth <= date_i18n("n") && $currentyear == date_i18n("Y")) { $oldday = 'oldday'; } if ($currentmonth < date_i18n("n") && $currentyear == date_i18n("Y")) { $oldday = 'oldday'; } if ($currentyear < date_i18n("Y")) { $oldday = 'oldday'; } if ($cal['archive'] && $oldday || !$oldday) { $show = 'checked'; } else { $show = ''; } $tdstart = '<td class="day ' . $oldday . ' ' . $firstday . '"><' . $header . '>' . ($i - $startday + 1) . '</' . $header . '><br>'; $tdcontent = ''; foreach ($eventdate as $key => $day) { $m = date('m', $day); $d = date('d', $day); $y = date('Y', $day); $zzz = mktime(0, 0, 0, $m, $d, $y); if ($xxx == $zzz && $show) { $tdstart = '<td class="eventday ' . $oldday . ' ' . $firstday . '"><' . $header . '>' . ($i - $startday + 1) . '</' . $header . '>'; $img = $eventimage[$key] && $cal['eventimage'] && !$widget ? '<br><img src="' . $eventimage[$key] . '">' : ''; if ($cal['usetooltip']) { $desc = $eventdesc[$key] ? ' - ' . $eventdesc[$key] : ''; $tooltip = 'data-tooltip="' . $eventtitle[$key] . $desc . '"'; $tooltipclass = $i % 7 == 6 ? ' tooltip-left ' : ''; if ($widget) { $tooltipclass = $i % 7 > 2 ? ' tooltip-left ' : ''; } } $length = $cal['eventlength']; if (strlen($eventtitle[$key]) > $length) { $trim = preg_replace("/^(.{1,{$length}})(\\s.*|\$)/s", '\\1...', $eventtitle[$key]); } else { $trim = $eventtitle[$key]; } if ($cal['eventlink'] == 'linkpopup') { $tdcontent .= '<a ' . $tooltip . ' class="event ' . $eventslug[$key] . $tooltipclass . '" onclick=\'pseudo_popup("<div class =\\"qempop\\">' . $eventsummary[$key] . '</div>")\'><div class="qemtrim"><span>' . $trim . '</span>' . $img . '</div></a>'; } else { $tdcontent .= '<a ' . $tooltip . ' class="' . $eventslug[$key] . $tooltipclass . '" href="' . $eventlinks[$key] . '"><div class="qemtrim"><span>' . $trim . '</span>' . $img . '</div></a>'; } } } $tdbuilt = $tdstart . $tdcontent . '</td>'; if ($i % 7 == 0) { $calendar .= "<tr>\r\t"; } if ($i < $startday) { $calendar .= '<td' . $firstday . $blankday . '></td>'; } else { $calendar .= $tdbuilt; } if ($i % 7 == 6) { $calendar .= "</tr>" . "\r\n"; } } $calendar .= "</table></div>"; if ($cal['showkeybelow'] || $categorykeybelow) { $calendar .= $catkey; } if ($cal['showmonthsbelow']) { $calendar .= qem_calendar_months($cal); } $eventdate = remove_empty($eventdate); $calendar .= ''; return $calendar; }
$start = microtime(true); $Reader = new SpreadsheetReader($file_excel); $data = array(); foreach ($Reader as $Row) { array_push($data, $Row); // print_r($Row); } function _remove_empty_internal($value) { return !empty($value) || $value === 0; } function remove_empty($array) { return array_filter($array, '_remove_empty_internal'); } $data = remove_empty($data); $arrData = $data; $data = json_encode($data, JSON_UNESCAPED_UNICODE); $fp = fopen('results.json', 'w+'); fwrite($fp, $data); fclose($fp); function validateDate($date) { $d = DateTime::createFromFormat('d/m/Y', $date); return $d && $d->format('d/m/Y') == $date; } $arrDataType = array(); $arrDataUnsetElementFirst = $arrData; $arrFirstRow = $arrDataUnsetElementFirst[0]; unset($arrDataUnsetElementFirst[0]); //get data type of column