Esempio n. 1
1
function getDatePath($dt)
{
    $year = get_year($dt);
    $month = substr($dt, 5, 2);
    $day = get_day($dt);
    return $year . "/" . $month . "/" . $day;
}
Esempio n. 2
0
/**
 * Display an event
 * [event title="Our event" text="A bit of information" date="YYYY-MM-DD" url="http://example.com/example"]
 */
function event_shortcode($atts)
{
    if (!isset($atts['title']) || !isset($atts['date'])) {
        return;
    }
    $event = array('day' => get_day($atts['date']), 'month' => get_month($atts['date']), 'year' => get_year($atts['date']), 'title' => isset($atts['title']) ? $atts['title'] : null, 'desc' => isset($atts['text']) ? $atts['text'] : null, 'url' => isset($atts['url']) ? $atts['url'] : null);
    $link = '<a class="Type-ignore Event Event--linked" href="' . $event['url'] . '">';
    $open = $event['url'] ? $link : '<div class="Event">';
    $close = $event['url'] ? '</a>' : '</div>';
    return '<div class="Type-event u-cf">' . $open . '<div class="Event-figure">
					<div class="Event-date">
						<span>' . $event['month'] . '</span>
						<span>' . $event['year'] . '</span>
					</div>
					<div class="Event-day">
						<span>' . $event['day'] . '</span>
					</div>
				</div>
				<div class="Event-body">
					<div class="Type Type--plain">
						<span class="Event-title">' . $event['title'] . '<br></span>
						<span class="u-colorGreen u-sm-show">' . $event['desc'] . '</span>
					</div>
				</div>' . $close . '</div>';
}
Esempio n. 3
0
function date_to_pdf($date)
{
    $day = get_day($date);
    $month = get_month($date);
    monthnum_to_thai($month);
    $year = get_year($date);
    $year = gen_year($year);
    $day = check_zero_num($day);
    $date = $day . " " . $month . " " . $year;
    return $date;
}
Esempio n. 4
0
function get_events()
{
    $num = 1;
    $events = array();
    while ($num <= 4) {
        $date = get_field('event_' . $num . '_date');
        $event = array('day' => get_day($date), 'month' => get_month($date), 'year' => get_year($date), 'title' => get_field('event_' . $num . '_title'), 'desc' => get_field('event_' . $num . '_desc'), 'url' => get_field('event_' . $num . '_url'));
        if ($event['day'] && $event['title']) {
            array_push($events, $event);
        }
        $num++;
    }
    return $events;
}
Esempio n. 5
0
function apprentice($id)
{
    $ci = get_model();
    $data['employee'] = $ci->db->where('id', $id)->get('employee')->result();
    $check = $data['employee'][0]->firstday;
    $day = strtotime("+3 month");
    $now = strtotime("now");
    $day = $day - $now;
    $check = strtotime($check);
    $get = $check + $day;
    $get = date(Y . "-" . m . "-" . d, $get);
    $day3 = get_day($get);
    $month = get_month($get);
    $year = get_year($get);
    $year = gen_year($year);
    $day3 = check_zero_num($day3);
    $end['end'] = $day3 . " " . $month . " " . $year;
    $end['end2'] = $month . " " . $year;
    return $end;
}
Esempio n. 6
0
 public function edit($id)
 {
     ini_set('memory_limit', '256M');
     $data['employee'] = $this->db->where('id', $id)->get('employee')->result();
     $data['province'] = get_province();
     $firstday = $data['employee'][0]->firstday;
     $lastday = $data['employee'][0]->lastday;
     $day = get_day($firstday);
     $month = get_month_num($firstday);
     $month = monthnum_to_eng($month);
     $year = get_year($firstday);
     $data['firstday'] = $day . "-" . $month . "-" . $year;
     $day1 = get_day($lastday);
     $month1 = get_month_num($lastday);
     $month1 = monthnum_to_eng($month1);
     $year1 = get_year($lastday);
     $data['lastday'] = $day1 . "-" . $month1 . "-" . $year1;
     $this->load->view('employee/header');
     $this->load->view('employee/edit', $data);
     $this->load->view('footer');
 }
        });
    }

</script>

<title>Daily Program | Flight Recorder</title>
</head>
<?php 
echo $this->load->view('message');
?>
<body>
<center><?php 
echo strtoupper($title);
?>
<br/><?php 
echo strtoupper(get_day($tanggal)) . ', ' . strtoupper(indo_tgl($tanggal));
?>
</center>


<div id='box'>
    <div id="holder">
        <div class="boxes">
            <table style="min-width: 100%;" class="daily-program">
                <tr>
                    <th width="10%" style="text-align: center;"><?php 
echo datefmysql($tanggal);
?>
</th>
                <th width="80%">
                    <div id="trackWrapper">
Esempio n. 8
0
 function load_rencana_penggunaan_jt($bulan)
 {
     $awal = $bulan . '-01';
     $tgl = explode("-", $bulan);
     $last = mktime(0, 0, 0, $tgl[1] + 1, date("01"), $tgl[0]);
     $akhir = date("Y-m-d", $last);
     $begin = new DateTime($awal);
     $end = new DateTime($akhir);
     $interval = DateInterval::createFromDateString('1 day');
     $period = new DatePeriod($begin, $interval, $end);
     $result = [];
     foreach ($period as $data) {
         $sas = $this->db->query("select SUBSTR(sas,1,5) as sas from tb_rencana_penggunaan_jt where tanggal = '" . $data->format("Y-m-d") . "'")->row();
         $result[] = array('date' => $data->format("Y-m-d"), 'tanggal' => indo_tgl($data->format("Y-m-d")), 'hari' => get_day($data->format("Y-m-d")), 'rencana' => isset($sas->sas) ? $sas->sas : '00:00');
     }
     return $result;
 }
}
if (!function_exists('utf_conv')) {
    function utf_conv($iso, $Charset, $what)
    {
        if (function_exists('iconv')) {
            $what = iconv($iso, $Charset, $what);
        }
        return $what;
    }
}
// Get daynames set by localization when setlocale fails
$dayname = mb_convert_case(get_day(time() + C_TMZ_OFFSET * 60 * 60, 0), MB_CASE_TITLE, $Charset);
// Convert daynames set by setlocale
$dayname_plus = mb_convert_case(get_day(time() + C_TMZ_OFFSET * 60 * 60, 1), MB_CASE_TITLE, $Charset);
$dayname_minus = mb_convert_case(get_day(time() + C_TMZ_OFFSET * 60 * 60, -1), MB_CASE_TITLE, $Charset);
$dayname_server = mb_convert_case(get_day(time() + C_TMZ_OFFSET * 60 * 60, 0), MB_CASE_TITLE, $Charset);
?>

// Returns the day names
function get_day_strf(plus)
{
	is_day = "";
	if (plus == "0") is_day = " <?php 
echo $dayname;
?>
";
	else if (plus == "1") is_day = " <?php 
echo $dayname_plus;
?>
";
	else if (plus == "-1") is_day = " <?php 
Esempio n. 10
0
function add_days($date, $adddays)
{
    $timestamp = mktime(0, 0, 0, get_month($date), get_day($date) + $adddays, get_year($date));
    return date("Y-m-d", $timestamp);
}
Esempio n. 11
0
?>
 <?php 
echo date("Y") + 543;
?>
</div>
<div class="wkday">
<span>อา</span>
<span>จ</span>
<span>อ</span>
<span>พ</span>
<span>พฤ</span>
<span>ศ</span>
<span>ส</span>
</div>
<?php 
for ($i = 1; $i <= $total_box; $i++) {
    if ($i % 7 == 1) {
        echo "<div class='box_day'>";
    }
    ?>
  <?php 
    echo get_day($i, $wan_no, $day_no);
    if ($i % 7 == 0 || $i == $total_box) {
        echo "</div>n";
    }
}
?>
</div>
<br style="clear:both;" />
</body>
</html>
Esempio n. 12
0
function tep_date_long($date)
{
    if (!is_int($date)) {
        $date = strtotime($date);
    }
    $weekday = get_day(LANGUAGEID, date('w', $date));
    $dateonly = tep_date_only($date);
    return "{$weekday}, {$dateonly}";
}
Esempio n. 13
0
 function rencana_penggunaan_jt_get()
 {
     $data = $this->db->query("select *, SUBSTR(laks,1,5) as laks, SUBSTR(sas,1,5) as sas from tb_rencana_penggunaan_jt where id = '" . $this->get('id') . "'")->row();
     $this->response(array('data' => $data, 'tanggal' => get_day($data->tanggal)), 200);
 }
Esempio n. 14
0
 public function _header($pdf)
 {
     $date_from = $this->input->get("date_from");
     $date_to = $this->input->get("date_to");
     $event = $this->event_model->get_event_name($this->input->get("event"));
     $pdf->SetFont('Arial', '', 10);
     $pdf->Cell(0, 5, 'Periode Tanggal : ' . $date_from . ' s/d ' . $date_to, 0, 0, 'C');
     $pdf->Ln(5);
     $pdf->Cell(0, 5, 'Event : ' . $event, 0, 0, 'L');
     $pdf->Ln(10);
     $pdf->SetFont('Arial', 'B', 10);
     $pdf->SetDrawColor(0, 0, 0);
     $pdf->SetTextColor(0, 0, 0);
     $pdf->Cell(10, 21, 'No', 1, 0, 'C');
     $pdf->Cell(40, 21, 'Moderator', 1, 0, 'C');
     $from = date_create(format_ymd($date_from));
     $to = date_create(format_ymd($date_to));
     $j = 0;
     while ($from <= $to) {
         $pdf->SetXY(60 + $j, 35);
         $pdf->Cell(18, 7, get_day(date_format($from, "N")), 1, 0, 'C');
         $pdf->SetXY(60 + $j, 42);
         $pdf->Cell(18, 7, date_format($from, "d/m/y"), 1, 0, 'C');
         $pdf->SetXY(60 + $j, 49);
         $pdf->Cell(6, 7, "S", 1, 0, 'C');
         $pdf->Cell(6, 7, "M", 1, 0, 'C');
         $pdf->Cell(6, 7, "T", 1, 0, 'C');
         date_add($from, date_interval_create_from_date_string('1 days'));
         $j += 18;
     }
     $pdf->SetXY($j + 60, 35);
     $pdf->Cell(25, 21, 'Siang', 1, 0, 'C');
     $pdf->Cell(25, 21, 'Malam', 1, 0, 'C');
     $pdf->Cell(25, 21, 'Training', 1, 0, 'C');
     $pdf->Cell(0, 21, 'Total', 1, 0, 'C');
     $pdf->Ln(21);
 }
Esempio n. 15
0
echo "<h2>Nombre d'écoutes par jour</h2>";
echo "<ul class=\"ui-widget ui-widget-content ui-helper-clearfix ui-corner-all array\">";
echo '<li class="ui-widget-header ui-helper-clearfix ui-corner-all header"><span class="day first" title="jour du mois">Jour</span>';
if (!$byEcoute) {
    echo '<span class="heure">Heure</span>';
}
echo '<span class="nombre_ecoutes" title="total">Total</span>';
echo '<span class="nombre_ecoutes" title="téléchargement">Téléchargement</span>';
echo '<span class="nombre_ecoutes" title="player">Player</span>';
if (!$byEcoute) {
    echo '<span class="title">Titre</span>';
}
echo "</li>";
$nb = 0;
foreach ($ecoutes as $day => $ecoute) {
    echo '<li><span class="day">' . get_day($day, $period) . ' ' . strftime("%B", strtotime($date)) . '</span>';
    if (!$byEcoute) {
        echo ' <span class="heure">' . get_hour($day) . ':00</span>';
    }
    echo '<span class="nombre_ecoutes" title="total"><strong>' . $ecoute["nb"] . '</strong></span>';
    echo '<span class="nombre_ecoutes" title="téléchargement"><strong>' . $ecoute[1] . '</strong></span>';
    echo '<span class="nombre_ecoutes';
    if ($byEcoute) {
        echo " last";
    }
    echo '" title="player"><strong>' . $ecoute[0] . '</strong></span>';
    $nb = $nb + $ecoute["nb"];
    if (!$byEcoute) {
        echo ' <span class="title" title="' . str_replace("\"", "\\\"", $ecoute["title"]) . '">' . $ecoute["title"] . '</span>';
    }
    echo "</li>";
function get_inspect_time(&$html)
{
    $time = $html->find('.inspectionTimesWrapper', 0);
    if (is_null($time)) {
        return "N/A";
    }
    /*$time = $time->plaintext;
    		$time = str_replace (" Save to Calendar", "", $time);*/
    $ins_time = array();
    $i = 0;
    $current = $time->first_child();
    do {
        $ins_date = get_inspect_date($current);
        $ins_hour = get_inspect_hour($current);
        $ins_time[$i] = array('inspect_date' => $ins_date, 'inspect_hour' => $ins_hour, 'inspect_day' => get_day($ins_date));
        $current = $current->next_sibling();
        $i++;
    } while (!is_null($current));
    return $ins_time;
}
Esempio n. 17
0
 function content()
 {
     extract($this->options);
     $conferencer_options = get_option('conferencer_options');
     // Define main agenda variable
     $agenda = array();
     // Fill agenda with empty time slot rows
     foreach (Conferencer::get_posts('time_slot', false, 'start_time_sort') as $time_slot_id => $time_slot) {
         $starts = get_post_meta($time_slot_id, '_conferencer_starts', true);
         $agenda[$starts][$time_slot_id] = array();
     }
     $agenda[0] = array();
     // for unscheduled time slots
     // If the agenda is split into columns, fill rows with empty "cell" arrays
     if ($column_type) {
         $column_post_counts = array(-1 => 0, 0 => 0);
         $column_posts = Conferencer::get_posts($column_type);
         foreach ($agenda as $time => $time_slots) {
             foreach ($time_slots as $time_slot_id => $time_slot) {
                 foreach ($column_posts as $column_post_id => $column_post) {
                     $column_post_counts[$column_post_id] = 0;
                     $agenda[$time][$time_slot_id][$column_post_id] = array();
                 }
                 $agenda[$time][$time_slot_id][0] = array();
             }
         }
     }
     // Get all session information
     $sessions = Conferencer::get_posts('session', false, 'title_sort');
     foreach (array_keys($sessions) as $id) {
         Conferencer::add_meta($sessions[$id]);
     }
     // Put sessions into agenda variable
     foreach ($sessions as $session) {
         $time_slot_id = $session->time_slot ? $session->time_slot : 0;
         $starts = get_post_meta($time_slot_id, '_conferencer_starts', true);
         if ($column_type) {
             $column_id = $session->{$column_type} ? $session->{$column_type} : 0;
             if ($keynote_spans_tracks && $session->keynote) {
                 $column_id = -1;
             }
             $agenda[$starts][$time_slot_id][$column_id][$session->ID] = $session;
             $column_post_counts[$column_id]++;
         } else {
             $agenda[$starts][$time_slot_id][$session->ID] = $session;
         }
     }
     // Remove empty unscheduled rows
     if (deep_empty($agenda[0])) {
         unset($agenda[0]);
     }
     // Conditionally remove empty rows and columns
     if (!$show_empty_rows) {
         foreach ($agenda as $time => $time_slots) {
             foreach ($time_slots as $time_slot_id => $cells) {
                 $non_session = get_post_meta($time_slot_id, '_conferencer_non_session', true);
                 if (!$non_session && deep_empty($cells)) {
                     unset($agenda[$time_slot_id]);
                 }
             }
         }
     }
     if (!$show_empty_columns) {
         $empty_column_post_ids = array();
         foreach ($column_posts as $column_post_id => $column_post) {
             if (!$column_post_counts[$column_post_id]) {
                 $empty_column_post_ids[] = $column_post_id;
             }
         }
         foreach ($agenda as $time => $time_slots) {
             foreach ($time_slots as $time_slot_id => $cells) {
                 foreach ($empty_column_post_ids as $empty_column_post_id) {
                     unset($agenda[$time_slot_id][$empty_column_post_id]);
                 }
             }
         }
     }
     // Set up tabs
     if ($tabs) {
         $tab_headers = array();
         foreach ($agenda as $time => $time_slots) {
             foreach ($time_slots as $time_slot_id => $cells) {
                 if ($tabs == 'days') {
                     if ($starts = get_post_meta($time_slot_id, '_conferencer_starts', true)) {
                         $tab_headers[] = get_day($starts);
                     } else {
                         $tab_headers[] = 0;
                     }
                 }
             }
         }
         $tab_headers = array_unique($tab_headers);
         if (count($tab_headers) < 2) {
             $tabs = false;
         }
     }
     // Set up column headers
     if ($column_type) {
         $column_headers = array();
         // post column headers
         foreach ($column_posts as $column_post) {
             if (!$show_empty_columns && in_array($column_post->ID, $empty_column_post_ids)) {
                 continue;
             }
             $column_headers[] = array('title' => $column_post->post_title, 'class' => 'column_' . $column_post->post_name, 'link' => $link_columns ? get_permalink($column_post->ID) : false);
         }
         if ($show_unassigned_column && count($column_post_counts[0])) {
             // extra column header for sessions not assigned to a column
             $column_headers[] = array('title' => $unassigned_column_header_text, 'class' => 'column_not_applicable', 'link' => false);
         } else {
             // remove cells if no un-assigned sessions
             foreach ($agenda as $time => $time_slots) {
                 foreach ($time_slots as $time_slot_id => $cells) {
                     unset($agenda[$time_slot_id][0]);
                 }
             }
         }
     }
     // Remove unscheduled time slot, if without sessions
     //if (deep_empty($agenda[0])) unset($agenda[0]);
     // Start buffering output
     ob_start();
     //echo '<pre>'; var_dump($agenda); echo '</pre>';
     $output = "";
     $output .= '<div class="schedule-wrapper">';
     /*if (isset($conferencer_options['details_toggle']) && $conferencer_options['details_toggle']) {
     				$output .= '<a href="#" class="conferencer_session_detail_toggle">';
     					$output .= '<span class="show">display session details</span>';
     					$output .= '<span class="hide">hide session details</span>';
     				$output .= '</a>';
     		}*/
     /** Days buttons // Buttons jours **/
     if ($tabs) {
         $output .= '<header class="days-buttons">';
         foreach ($tab_headers as $tab_header) {
             if ($tabs == 'days') {
                 $output .= '<button>';
                 if ($tab_header) {
                     $output .= '<time datetime="' . strftime($tab_day_dt_strf, $tab_header) . '"><span>' . strftime($tab_day_strf, $tab_header) . '</span></time>';
                 }
                 $output .= '</button>';
             }
         }
         $output .= '</header><div class="js-slider"><div class="js-slider-container">';
     } else {
         $output .= '<div class="js-slider"><div class="js-slider-container"><div class="day-wrapper slide">';
         $output .= '<table class="grid">';
         if ($column_type) {
             $output .= $this->display_headers($column_headers);
         }
         $output .= '<tbody>';
     }
     $row_starts = $last_row_starts = $second_table = false;
     $currentDayTab = -1;
     $rowspan_nosession = array();
     foreach ($agenda as $time => $time_slots) {
         $total_cells = array();
         $fake_slot_id = null;
         $number_of_time_slots = 0;
         foreach ($time_slots as $time_slot_id => $cells) {
             //$total_cells = array_merge($total_cells,$cells);
             foreach ($cells as $key => $value) {
                 $total_cells[$key][] = $value;
             }
             $fake_slot_id = $time_slot_id;
             $number_of_time_slots++;
         }
         $cells = $total_cells;
         $time_slot_id = $fake_slot_id;
         //echo '<pre>'; var_dump($cells); echo '</pre>';
         // Set up row information
         $last_row_starts = $row_starts;
         $row_starts = get_post_meta($time_slot_id, '_conferencer_starts', true);
         $row_ends = get_post_meta($time_slot_id, '_conferencer_ends', true);
         $non_session = get_post_meta($time_slot_id, '_conferencer_non_session', true);
         $no_sessions = deep_empty($cells);
         // Show day seperators
         //$show_next_day = $row_day_format !== false && date('', $row_starts) != date('w', $last_row_starts);
         $show_next_day = $row_day_format !== false && $currentDayTab == date('z', $row_starts) ? false : true;
         $currentDayTab = date('z', $row_starts);
         if ($show_next_day) {
             if ($tabs) {
                 if ($second_table) {
                     $output .= '</tbody>';
                     $output .= '</table>';
                     $output .= '</div>';
                 } else {
                     $second_table = true;
                 }
                 //$output .= '<div id="conferencer_agenda_tab_'.get_day($row_starts).'">';
                 $output .= '<div class="day-wrapper slide">';
                 $output .= '<table class="grid">';
                 $output .= '<caption>Événements pour le <time datetime="' . strftime($tab_day_dt_strf, $row_starts) . '"><span>' . lcfirst(strftime($tab_day_strf, $row_starts)) . '</span></time></caption>';
                 if ($column_type) {
                     $output .= $this->display_headers($column_headers);
                 }
                 $output .= '<tbody>';
             } else {
                 $output .= '<tr class="day">';
                 $output .= '<td colspan="' . ($column_type ? count($column_headers) + 1 : 2) . '">';
                 $output .= $row_starts ? date($row_day_format, $row_starts) : $unscheduled_row_text;
                 $output .= '</td>';
                 $output .= '</tr>';
             }
         }
         // Set row classes
         $classes = array();
         if ($non_session) {
             $classes[] = 'non-session';
         } else {
             if ($no_sessions) {
                 $classes[] = 'no-sessions';
             }
         }
         $output .= '<tr' . output_classes($classes, false) . '>';
         // Time slot column --------------------------
         $output .= '<td class="time-slot">';
         if ($time_slot_id) {
             $time_slot_link = get_post_meta($time_slot_id, '_conferencer_link', true) or $time_slot_link = get_permalink($time_slot_id);
             $html = date($row_time_format, $row_starts);
             if ($show_row_ends) {
                 $html .= '<span class="time-slot-end"> à ' . date($row_time_format, $row_ends) . '</span>';
             }
             if ($link_time_slots) {
                 $html = "<a href='{$time_slot_link}'>{$html}</a>";
             }
             $output .= $html;
         }
         $output .= '</td>';
         // Display session cells ---------------------
         $colspan = $column_type ? count($column_headers) : 1;
         if ($non_session) {
             // display a non-sessioned time slot
             $output .= '<td class="session" colspan="' . $colspan . '"><p>';
             $html = get_the_title($time_slot_id);
             if ($link_time_slots) {
                 $html = "<a href='{$time_slot_link}'>{$html}</a>";
             }
             $output .= $html;
             $output .= '</p></td>';
         } else {
             if (isset($cells[-1])) {
                 //$output .= '<td class="session keynote" colspan="'.$colspan.'">';
                 foreach ($cells[-1] as $sessions) {
                     foreach ($sessions as $session) {
                         $session->colspan = $colspan;
                         $output .= $this->display_session($session, 'keynote,title,speakers_w_photos,room,time');
                     }
                 }
                 //$output .= '</td>';
             } else {
                 if ($column_type) {
                     // if split into columns, multiple cells
                     $smallest_duration = 999999999999.0;
                     foreach ($cells as $cell_sessions) {
                         foreach ($cell_sessions as $sessions) {
                             foreach ($sessions as $key => $session) {
                                 $starts = get_post_meta($session->time_slot, '_conferencer_starts', true);
                                 $ends = get_post_meta($session->time_slot, '_conferencer_ends', true);
                                 $duration = $ends - $starts;
                                 if ($duration < $smallest_duration) {
                                     $smallest_duration = $duration;
                                 }
                             }
                         }
                     }
                     foreach ($cells as $track => $cell_sessions) {
                         if (isset($rowspan_nosession[$track]) && $rowspan_nosession[$track] != 0) {
                             $rowspan_nosession[$track] = $rowspan_nosession[$track] - 1;
                         }
                         if (!empty($cell_sessions)) {
                             $no_sessions = true;
                             foreach ($cell_sessions as $sessions) {
                                 if (!empty($sessions)) {
                                     foreach ($sessions as $key => $session) {
                                         $no_sessions = false;
                                         $time_slot_id = $session->time_slot ? $session->time_slot : 0;
                                         $starts = get_post_meta($time_slot_id, '_conferencer_starts', true);
                                         $ends = get_post_meta($time_slot_id, '_conferencer_ends', true);
                                         $duration = $ends - $starts;
                                         if ($duration > $smallest_duration) {
                                             $rowspan_calc = intval(ceil($duration / $smallest_duration));
                                             $rowspan_nosession[$track] = $rowspan_calc;
                                             $session->rowspan = $rowspan_calc;
                                         } else {
                                             $rowspan_nosession[$track] = 0;
                                         }
                                         //$output .= '<td class="session' . (empty($cell_sessions) ? ' no-sessions':'') . '" '.(($ends-$starts) > 3600 ? ' rowspan="2"' : '').'>';
                                         $output .= $this->display_session($session, (empty($cell_sessions) ? 'no-session,' : 'session,') . 'title,speakers,room,time');
                                         //$output .= '</td>';
                                     }
                                 }
                             }
                             if ($no_sessions && $track > 0 && empty($rowspan_nosession[$track])) {
                                 $output .= '<td class="empty"></td>';
                             }
                         }
                     }
                 } else {
                     $output .= '<td class="session ' . (empty($cells) ? 'no-sessions' : '') . '">';
                     foreach ($cells as $sessions) {
                         foreach ($sessions as $session) {
                             $output .= $this->display_session($session);
                         }
                     }
                     $output .= '</td>';
                 }
             }
         }
         $output .= '</tr>';
     }
     $output .= '</tbody>';
     $output .= '</table>';
     if ($tabs) {
         $output .= '</div>';
     }
     $output .= '</div></div></div>';
     // Retrieve and return buffer
     echo $output;
     return ob_get_clean();
 }