/** * Filter to display the modify-buttons * * @param - int $id The item-id */ function modify_filter($id) { $str = ''; $outtt = false; if (Rsys::item_allow($id, 'edit')) { $str .= '<a href="m_item.php?action=edit&id=' . $id . '" title="' . get_lang("EditItem2") . '"><img alt="" src="../img/edit.gif" /></a>'; } if (Rsys::item_allow($id, 'm_rights')) { $str .= ' <a href="m_item.php?action=m_rights&item_id=' . $id . '" title="' . get_lang("MRights") . '"><img alt="" src="../img/info_small.gif" /></a>'; } if (Rsys::item_allow($id, 'delete')) { $str .= ' <a href="m_item.php?action=delete&id=' . $id . '" title="' . get_lang("DeleteItem") . '" onclick="javascript:if(!confirm(' . "'" . addslashes(api_htmlentities(get_lang("ConfirmDeleteItem"))) . "'" . ')) return false;"><img alt="" src="../img/delete.gif" /></a>'; } if (Rsys::item_allow($id, 'edit')) { $number = Rsys::get_item($id); $str .= ' <a href="m_item.php?action=blackout&id=' . $id . '" title="' . get_lang("Blackout") . '"><img alt="" src="../img/blackout' . $number[5] . '.gif" /></a>'; } return $str; }
/** * Filter to display the modify-buttons * * @param - int $id The item-id */ function modify_filter($id) { $str = ''; $outtt = false; if (Rsys::item_allow($id, 'edit')) { $number = Rsys::get_item($id); //checking the status if ($number[5] == 1) { $str .= ' <a href="m_item.php?action=blackout&id=' . $id . '" title="' . get_lang('Inactive') . '"><img alt="" src="../img/wrong.gif" /></a>'; } else { $str .= ' <a href="m_item.php?action=blackout&id=' . $id . '" title="' . get_lang('Active') . '"><img alt="" src="../img/right.gif" /></a>'; } } if (Rsys::item_allow($id, 'edit')) { $str .= '<a href="m_item.php?action=edit&id=' . $id . '" title="' . get_lang("EditItem2") . '"><img alt="" src="../img/edit.gif" /></a>'; } //if(Rsys::item_allow($id,'m_rights')) $str.=' <a href="m_item.php?action=m_rights&item_id='.$id.'" title="'.get_lang("MRights").'"><img alt="" src="../img/info_small.gif" /></a>'; if (Rsys::item_allow($id, 'delete')) { $str .= ' <a href="m_item.php?action=delete&id=' . $id . '" title="' . get_lang('DeleteResource') . '" onclick="javascript:if(!confirm(' . "'" . addslashes(api_htmlentities(get_lang("ConfirmDeleteResource"))) . "'" . ')) return false;"><img alt="" src="../img/delete.gif" /></a>'; } return $str; }
function get_item_id($item_name) { $item_name = Database::escape_string($item_name); $sql = "SELECT id FROM " . Rsys::getTable('item') . " WHERE name='" . $item_name . "'"; $result = Database::query($sql); $result_array = Database::fetch_array($result); return $result_array['id']; }
function get_week_view($day, $month, $year, $itemid, $day_scale = 180, $cat) { // 1) Item is blackout? >> True of False ... wordt gebruikt in get_bar methode om kleur indien nodig om te zetten $GLOBALS['bblackout'] = Rsys::is_blackout($itemid); // 2) $day_scale controleren en aanpassen indien nodig // Day_scale mag niet groter zijn dan 3600 (anders wordt de tabel te klein) if ($day_scale > 3600) { $day_scale = 3600; } elseif ($day_scale < 1) { $day_scale = 1; } // 3) Een '0' voor de maand-integer zetten indien deze kleiner is dan 10, nodig voor datetime // bv voor 1 december 1985: '01-12-1985' ipv '1-12-1985' (S�ba's geboortedatum ^^) if ($month < 10) { $month = '0' . $month; } // 4) Bepaal de juiste start datum (maandag) van de omliggende week // (verander eventueel maand (en jaar) wanneer de maandag in de vorige maand/jaar ligt) $fromdate = $year . '-' . $month . '-' . ($day < 10 ? '0' . $day : $day) . ' 00:00:00'; $stamp = Rsys::mysql_datetime_to_timestamp($fromdate); $dayofweek = date('w', $stamp); if ($dayofweek == 0) { $stamp = $stamp - 1; $datum = Rsys::mysql_datetime_to_array(Rsys::timestamp_to_datetime($stamp)); $day = $datum['day']; $month = $datum['month']; $year = $datum['year']; } $fromdate = $year . '-' . $month . '-' . $day . ' 00:00:00'; $stamp = Rsys::mysql_datetime_to_timestamp($fromdate); $dayofweek = date('w', $stamp); if ($day - $dayofweek < 0) { $stamp = $stamp - 60 * 60 * 24 * ($dayofweek - 1); $fromdate = Rsys::timestamp_to_datetime($stamp); $tilldate = $stamp; } else { $day = $day - $dayofweek + 1; // M-FIX: sunday + 1 = monday $fromdate = $year . '-' . $month . '-' . ($day < 10 ? '0' . $day : $day) . ' 00:00:00'; $tilldate = Rsys::mysql_datetime_to_timestamp($fromdate); } //zeven Dagen opvullen en eind-datum bepalen (= startdatum + 7 dagen) for ($i = 1; $i <= 7; $i++) { $day_start_dates[$i] = $tilldate; $tilldate += 60 * 60 * 24; } // 5) Haal de reservaties periodes (+ reservaties) op tussen de start en einddatum $arr = Rsys::get_item_reservations($fromdate, Rsys::timestamp_to_datetime($tilldate), $itemid); // 6) Doorloop $arr met reservatie periodes en vul de $days array op met balkjes (bars) voor elke dag $weekday_pointer = $GLOBALS['weekday_pointer'] = 1; // Stel de weekdag pointer in op 1 (=maandag) $one_day = 60 * 60 * 24 - 1; // Het aantal seconden dat ��n dag in beslag neemt (23:59:59) $last_end = $day_start_dates[1]; // Stel de $last_end pointer in op het begin van maandag (00:00:00) if (count($arr['reservations']) > 0) { foreach ($arr['reservations'] as $res_id => $res) { // 6.1) Stel basis variabelen in $r = $res['info']; // Reservatie periode informatie (start en eind tijd etc.) $s = $res['subscriptions']; // Reservaties (inschrijvingen) op reservatie periode $start = Rsys::mysql_datetime_to_timestamp($r['start_at']); // Start tijd van reservatie periode blok $end = Rsys::mysql_datetime_to_timestamp($r['end_at']); // Eind tijd van reservatie periode blok $timepicker_min = $r['timepicker_min']; $timepicker_max = $r['timepicker_max']; $chunk_size = $end - $start; // Unscaled chunk_size (of "reservation-period-block") // een "chunk" is dus een balkje (bar) // 6.2) Als de weekdag van de huidige start-tijd (van de reservatieperiode) niet overeenkomt met de huidige weekdag-pointer (=$weekday_pointer) if (date('w', $start) != $weekday_pointer) { // a) Wijzig de $weekday_pointer naar de weekdag waarin de start-tijd (van de reservatieperiode) zich bevindt $weekday_pointer = $GLOBALS['weekday_pointer'] = date('w', $start); if ($weekday_pointer == 0) { $weekday_pointer = 7; } // b) Stel de $last_end in op het begin van de nieuwe dag $last_end = $day_start_dates[$weekday_pointer]; } // 6.3) Vul de ruimte tussen $last_end en de huidige start-tijd met een grijze balk if ($start - $last_end > 0) { $days[$weekday_pointer] .= $this->get_bar(($start - $last_end) / $day_scale, 'grey'); } // 6.4.A) Indien het NIET om een timepicker gaat... (= 1 reservatie-blok) if ($r['timepicker'] != 1) { // ..a1) bepaal kleur en link (of geen link) op basis van de inschrijvingsperiode en het aantal en het maximaal aantal inschrijvingen if ($r['subscribers'] < $r['max_users'] && Rsys::mysql_datetime_to_timestamp($r['start_at']) > time() && ($r['subscribe_from'] == '0000-00-00 00:00:00' || Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) < time() && Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) > time())) { // Subscription is allowed $color = "green"; $link = "subscribe.php?rid=" . $r['id']; } elseif ($r['subscribers'] < $r['max_users'] && (Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) > time() || Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) < time() || Rsys::mysql_datetime_to_timestamp($r['start_at']) < time())) { // Subscribe_from is not yet reached $color = "orange"; $link = null; } else { // Subscription is not allowed $color = "red"; $link = null; } // ..a2) stel titel in (dat je ziet als je over het balkje zweeft met je muis) $title = date('H:i (d/m/Y)', $start) . ' » ' . date('H:i (d/m/Y)', $end); // ..a3) controleer of het reservatie-periode-blok de huidige dag overschrijdt if ($end > $day_start_dates[$weekday_pointer] + $one_day) { // indien ja, cree�r dan balkjes voor elke volgende dag $trimmed_chunk_size = $chunk_size - ($end - ($day_start_dates[$weekday_pointer] + $one_day)); $days[$weekday_pointer] .= $this->get_bar($trimmed_chunk_size / $day_scale, $color, $link, $title, $itemid, $cat); $new_day = true; while ($new_day && $weekday_pointer < 7) { $weekday_pointer++; $GLOBALS['weekday_pointer']++; $start = $days[$weekday_pointer]; $chunk_size = $end - $start; if ($end > $day_start_dates[$weekday_pointer] + $one_day) { // If still larger than one day, trim chunk and continue $days[$weekday_pointer] .= $this->get_bar($one_day / $day_scale, $color, $link, $title, $itemid, $cat); } else { $trimmed_chunk_size = $end - $day_start_dates[$weekday_pointer]; $days[$weekday_pointer] .= $this->get_bar($trimmed_chunk_size / $day_scale, $color, $link, $title, $itemid, $cat); $new_day = false; } } } else { // indien niet, voeg dan gewoon het balkje toe aan de huidige dag $days[$weekday_pointer] .= $this->get_bar($chunk_size / $day_scale, $color, $link, $title, $itemid, $cat); } // 6.4.B) Indien het WEL om een timepicker gaat... (max_users telt hier niet) } else { $timepicker_min *= 60; $timepicker_max *= 60; $minute_interval = 30; $minute_interval *= 60; $color = "blue"; $pickedcolor = "red"; $tosmallchunkcolor = "yellow"; $start_pointer = $start; $link = "subscribe.php?rid=" . $r['id'] . '&timestart='; // + (start)tijd waarop geklikt werd = volwaardige link if (count($s) == 0) { if ($start > time()) { //controle of dat de time tussen $r['subscribe_from'] en $r['subscribe_until'] ligt if (Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) <= time() && Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) > time() || $r['subscribe_from'] == '0000-00-00 00:00:00' && $r['subscribe_until'] == '0000-00-00 00:00:00') { $days[$weekday_pointer] .= $this->get_bar(($end - $start) / $day_scale, $color, $link . $start_pointer, date('H:i', $start) . ' » ' . date('H:i', $end), $itemid, $cat); } else { $days[$weekday_pointer] .= $this->get_bar(($end - $start) / $day_scale, 'orange', null, date('H:i', $start) . ' » ' . date('H:i', $end)); } } else { if (time() < $end) { //eerst oranje daarna blauw of geel $days[$weekday_pointer] .= $this->get_bar((time() - $start) / $day_scale, 'orange', null, date('H:i', $start) . ' » ' . date('H:i', time())); //controle of het stuk nog kan gereserveerd worden -> stuk > timepicker_min if (Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) <= time() && Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) > time() || $r['subscribe_from'] == '0000-00-00 00:00:00' && $r['subscribe_until'] == '0000-00-00 00:00:00') { if ($end - time() >= $timepicker_min) { $days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, $color, $link . $start_pointer, date('H:i', time()) . ' » ' . date('H:i', $end), $itemid, $cat); } else { $days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, $tosmallchunkcolor, null, date('H:i', time()) . ' » ' . date('H:i', $end)); } } else { $days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, 'orange', null, date('H:i', time()) . ' » ' . date('H:i', $end)); } } else { //volledig oranje blok $days[$weekday_pointer] .= $this->get_bar(($end - $start) / $day_scale, 'orange', null, date('H:i', $start) . ' » ' . date('H:i', $end)); } } } else { $i = 0; foreach ($s as $key => $sub) { $start = Rsys::mysql_datetime_to_timestamp($sub['start_at']); $einde = Rsys::mysql_datetime_to_timestamp($sub['end_at']); if (Rsys::mysql_datetime_to_timestamp($sub['start_at']) - $start_pointer <= 0) { //start onmiddelijk met een rood stuk $start_tijd = date('H:i', $start_pointer); $eind_tijd = date('H:i', $einde); $days[$weekday_pointer] .= $this->get_bar(($einde - $start_pointer) / $day_scale, $pickedcolor, null, $start_tijd . ' » ' . $eind_tijd); } else { //start met een blauw of oranje stuk //kijken of dat de start_tijd al buiten de huidige tijd ligt -> if ($start_pointer > time()) { $start_tijd = date('H:i', $start_pointer); $eind_tijd = date('H:i', $start); if (Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) <= time() && Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) > time() || $r['subscribe_from'] == '0000-00-00 00:00:00' && $r['subscribe_until'] == '0000-00-00 00:00:00') { //niet buiten tijd! //blauw stuk maken indien groter dan timepicker_min anders geel if ($start - $start_pointer >= $timepicker_min) { $days[$weekday_pointer] .= $this->get_bar(($start - $start_pointer) / $day_scale, $color, $link . $start_pointer, $start_tijd . ' » ' . $eind_tijd, $itemid, $cat); } else { $days[$weekday_pointer] .= $this->get_bar(($start - $start_pointer) / $day_scale, $tosmallchunkcolor, null, $start_tijd . ' » ' . $eind_tijd); } } else { $days[$weekday_pointer] .= $this->get_bar(($start - $start_pointer) / $day_scale, 'orange', null, $start_tijd . ' » ' . $eind_tijd); } } else { //controleren of dat tijd nu groter is dan de start van het gereserveerde stuk //Ja -> stuk voor de start oranje maken //Neen -> stuk voor de start oranje maken en wat er nog overblijft vr de $start blauw maken if (time() >= $start) { $days[$weekday_pointer] .= $this->get_bar(($start - $start_pointer) / $day_scale, 'orange', null, date('H:i', $start_pointer) . ' » ' . date('H:i', $start)); } else { //buiten tijd! -> stuk opdelen in een gedeelte buiten tijd en een gedeelte timepicker //oranje stuk $days[$weekday_pointer] .= $this->get_bar((time() - $start_pointer) / $day_scale, 'orange', null, date('H:i', $start_pointer) . ' » ' . date('H:i', time())); if (Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) <= time() && Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) > time() || $r['subscribe_from'] == '0000-00-00 00:00:00' && $r['subscribe_until'] == '0000-00-00 00:00:00') { //blauw stuk maken indien groter dan timepicker_min anders geel if ($start - time() >= $timepicker_min) { $days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, $color, $link . time(), date('H:i', time()) . ' » ' . date('H:i', $start), $itemid, $cat); } else { $days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, $tosmallchunkcolor, null, date('H:i', time()) . ' » ' . date('H:i', $start), $itemid, $cat); } } else { $days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, 'orange', null, date('H:i', time()) . ' » ' . date('H:i', $start)); } } } $start_tijd = date('H:i', $start); $eind_tijd = date('H:i', $einde); $days[$weekday_pointer] .= $this->get_bar(($einde - $start) / $day_scale, $pickedcolor, null, $start_tijd . ' » ' . $eind_tijd); } //print_r($days); $start_pointer = $einde; // + 1; } //indien er nog een stuk blauw moet gemaakt worden op het einde vd reservering if ($start_pointer < $end) { //controleren of dat tijd nu groter is dan de start van het gereserveerde stuk //Ja -> stuk voor de start oranje maken //Neen -> stuk voor de start oranje maken en wat er nog overblijft vr de $start blauw maken if (time() >= $end) { $days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, 'orange', null, date('H:i', $start_pointer) . ' » ' . date('H:i', $end)); } else { if (time() >= $start_pointer) { //buiten tijd! -> stuk opdelen in een gedeelte buiten tijd en een gedeelte timepicker //oranje stuk $days[$weekday_pointer] .= $this->get_bar((time() - $start_pointer) / $day_scale, 'orange', null, date('H:i', $start_pointer) . ' » ' . date('H:i', time())); if (Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) <= time() && Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) > time() || $r['subscribe_from'] == '0000-00-00 00:00:00' && $r['subscribe_until'] == '0000-00-00 00:00:00') { //blauw stuk maken indien groter dan timepicker_min anders geel if ($end - time() >= $timepicker_min) { //blauwe stuk $days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, $color, $link . time(), date('H:i', time()) . ' » ' . date('H:i', $end), $itemid, $cat); } else { //geel stuk $days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, $tosmallchunkcolor, null, date('H:i', time()) . ' » ' . date('H:i', $end)); } } else { $days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, 'orange', null, date('H:i', time()) . ' » ' . date('H:i', $end)); } } else { if (Rsys::mysql_datetime_to_timestamp($r['subscribe_from']) <= time() && Rsys::mysql_datetime_to_timestamp($r['subscribe_until']) > time() || $r['subscribe_from'] == '0000-00-00 00:00:00' && $r['subscribe_until'] == '0000-00-00 00:00:00') { //blauw stuk maken indien groter dan timepicker_min anders geel if ($end - $start_pointer >= $timepicker_min) { //blauwe stuk $days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, $color, $link . $start_pointer, date('H:i', $start_pointer) . ' » ' . date('H:i', $end), $itemid, $cat); } else { //gele stuk $days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, $tosmallchunkcolor, null, date('H:i', $start_pointer) . ' » ' . date('H:i', $end)); } } else { $days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, 'orange', null, date('H:i', $start_pointer) . ' » ' . date('H:i', $end)); } } } } } } // 6.5) Zet de $last_end pointer op de eindtijd van de huidige reservatie periode $last_end = $end; } // end if } // 7) loop through all days of the week and fill them with the contents of $days $firstcol = 120; // Width of first col (in pixels) $x = 0; $borderstyle = "border-bottom: 1px solid #003;"; echo '<table cellspacing="0" style="padding: 1px;width: ' . (round($one_day / $day_scale) + $firstcol + $x) . 'px;border: 1px solid #003;border-bottom: 0"><tr><td style="' . $borderstyle . 'width: ' . $firstcol . 'px;background-color: #069; "> </td><td style="' . $borderstyle . 'background-color: #069; color: #FFF; white-space: nowrap; font-family: Arial, sans-serif; font-size:10px;width: ' . (round($one_day / $day_scale) + $x) . 'px">'; $vast = 3600 * 2 / $day_scale; $lasttotal = 0; for ($i = 0; $i < 22; $i = $i + 2) { $w = $vast; $total += $w; $rounded_total = round($total); $w = $rounded_total - $lasttotal; echo '<div style="float:left; width: ' . $w . 'px">' . $i . '</div>'; $lasttotal = $rounded_total; } echo '<div style="float:left;">22</div><div style="float: right">0</float>'; echo '</td></tr>'; for ($i = 1; $i <= 7; $i++) { echo '<tr><td style="background-color: #069; color: #FFF; width:' . $firstcol . 'px; font-family: Verdana, Arial, sans-serif; font-weight: bold;font-size:10px;' . $borderstyle . ';cursor: help" title="' . date('d/m/Y', $day_start_dates[$i]) . '">' . $this->get_long_day($i == 7 ? 0 : $i) . '</td><td style="' . $borderstyle . ' background-color: #CCC; width:' . (round($one_day / $day_scale) + $x) . 'px; white-space: nowrap;">'; if (is_array($days) && array_key_exists($i, $days)) { echo $days[$i]; } else { echo ' '; } echo '</td></tr>' . "\n"; } echo '</table>'; $GLOBALS['weekstart'] = date('d/m/Y', $day_start_dates[1]); $GLOBALS['weekend'] = date('d/m/Y', $day_start_dates[7]); }
} } else { $result = Rsys :: add_subscription_timepicker($_GET['rid'], api_get_user_id(), $values['startpicker'], $values['endpicker'],$values['accepted'],$values['min'],$values['max']); switch ($result) { case 0 : Display :: display_normal_message(Rsys :: get_return_msg2(get_lang('ReservationAdded'), "reservation.php?cat=".$item[1]."&item=".$item[0]."&date=".date( 'Y-m-d',Rsys :: mysql_datetime_to_timestamp($values['startpicker']))."&changemonth=yes", get_lang('BookingView')),false); break; case 1 : Display :: display_normal_message(str_replace('#END#', "<b>".$GLOBALS['end_date']."</b>",str_replace('#START#', "<b>".$GLOBALS['start_date']."</b>",get_lang('ReservationOutOfDate'))),false); $form->display(); echo $buffer; break; case 2 : Display :: display_normal_message(get_lang('BookingPeriodTooSmall'),false); $form->display(); //echo $buffer; break; case 3 : Display :: display_normal_message(get_lang('BookingPeriodTooBig'),false); $form->display(); //echo $buffer; break; } } } else $form->display(); } else { Display :: display_normal_message(Rsys :: get_return_msg2(get_lang('ReservationTresspassing'), "javascript:history.go(-2)", get_lang('BookingView')),false); } Display :: display_footer();
echo '<div style="float: right;"><a href="reservation.php">' . Display::return_icon('sessions.gif', get_lang('BookingCalendarView')) . ' ' . get_lang('GoToCalendarView') . '</a></div>'; echo '<a href="m_item.php?view=list">' . Display::return_icon('cube.png', get_lang('Resources')) . ' ' . get_lang('Resources') . '</a>'; echo ' <a href="m_reservation.php?view=list">' . Display::return_icon('calendar_day.gif', get_lang('BookingPeriods')) . ' ' . get_lang('BookingPeriods') . '</a>'; echo ' <a href="m_reservation.php?action=add&view=list">' . Display::return_icon('calendar_add.gif', get_lang('BookIt')) . ' ' . get_lang('BookIt') . '</a>'; if (api_is_platform_admin()) { //echo ' <a href="m_category.php">'.Display::return_icon('settings.gif',get_lang('Configuration')).' '.get_lang('Configuration').'</a>'; } echo '</div><br />'; } if (isset($_POST['action'])) { switch ($_POST['action']) { case 'delete_subscriptions': $ids = $_POST['subscriptions']; if (count($ids) > 0) { foreach ($ids as $id) { Rsys::delete_subscription(substr($id, 0, strpos($id, '-')), substr($id, strrpos($id, '-') + 1)); } } break; } } $table = new SortableTable('subscription', array('Rsys', 'get_num_subscriptions'), array('Rsys', 'get_table_subscriptions'), 2); $table->set_header(0, '', false, array('style' => 'width:10px')); $table->set_header(1, get_lang('ResourceName'), true); $table->set_header(2, get_lang('StartDate'), true); $table->set_header(3, get_lang('EndDate'), true); $table->set_header(4, get_lang('Accept'), true); $table->set_header(5, get_lang('Modify'), false, array('style' => 'width:50px;')); $table->set_column_filter(5, 'modify_filter'); $table->set_form_actions(array('delete_subscriptions' => get_lang('DeleteSelectedSubscriptions')), 'subscriptions'); $table->display();
Display::display_header(''); api_display_tool_title($tool_name); echo '<form id="cat_form" action="m_reservation.php" method="get">'; echo '<div class="actions">'; echo '<a href="m_reservation.php?action=add"><img src="../img/view_more_stats.gif" border="0" alt="" title="' . get_lang('AddNewBookingPeriod') . '"/>' . get_lang('AddNewBookingPeriod') . '</a>'; echo ' <a href="m_reservation.php?action=overviewsubscriptions">' . get_lang('OverviewReservedPeriods') . '</a>'; echo '</div>'; echo '<div style="text-align: right; "><input type="text" name="keyword" /><button type="submit" class="search" value="' . get_lang('Search') . '" >' . get_lang('Search') . '</button></div></form>'; echo '<br>'; if (isset($_POST['action'])) { switch ($_POST['action']) { case 'delete_reservations': $ids = $_POST['reservations']; if (count($ids) > 0) { foreach ($ids as $index => $id) { Rsys::delete_reservation($id); } } break; } } $table = new SortableTable('reservation', array('Rsys', 'get_num_reservations'), array('Rsys', 'get_table_reservations'), 1); $table->set_additional_parameters(array('keyword' => $_GET['keyword'])); $table->set_header(0, '', false, array('style' => 'width:10px')); $table->set_header(1, get_lang('ResourceName'), true); $table->set_header(2, get_lang('StartDate'), true); $table->set_header(3, get_lang('EndDate'), true); $table->set_header(4, get_lang('SubscribeFrom'), true); $table->set_header(5, get_lang('SubscribeUntil'), true); $table->set_header(6, get_lang('Subscribers'), true); $table->set_header(7, get_lang('Notes'), false);
if ($gogogo && !empty($category_id)) { $itemlist = Rsys::get_cat_items($category_id); echo '<div style="float: left;">'; if (count($itemlist) != 0) { echo '<form id="item_form" action="reservation.php?cat=' . $category_id . '&item=" method="get"> <input type="hidden" name="cat" value="' . $category_id . '" />' . get_lang('Resource') . ': <select name="item" onchange="this.form.submit();"><option value="0">' . get_lang('Select') . '</option>'; foreach ($itemlist as $id => $item) { echo '<option value="' . $id . '"' . ($id == $_GET['item'] ? ' selected="selected"' : '') . '>' . $item . '</option>'; } echo '</select></form>'; } else { echo ' ' . get_lang('NoItemsReservation'); } echo '</div>'; if (!empty($_GET['item'])) { $calendar = new rCalendar(); $time = Rsys::mysql_datetime_to_array($_GET['date'] . ' 00:00:00'); ob_start(); echo '<div style="float: left; margin-right: 10px">'; if (isset($_GET['changemonth'])) { echo $calendar->get_mini_month(intval($time['month']), intval($time['year']), "&cat=" . $category_id . "&item=" . $_GET['item'] . "&changemonth=yes", $_GET['item']); } else { echo $calendar->get_mini_month(date('m'), date('Y'), "&cat=" . $category_id . "&item=" . $_GET['item'], $_GET['item']); } echo '</div><div style="float: left" >'; switch ($_SESSION['swidth']) { case '640': $week_scale = 170; break; case '1024': $week_scale = 130; break;
default : $NoSearchResults = get_lang('NoCategories'); Display :: display_header($tool_name); api_display_tool_title($tool_name); echo $msg; echo '<div class="actions">'; echo '<a href="m_category.php?action=add"><img src="../img/view_more_stats.gif" border="0" alt="" title="'.get_lang('AddNewBookingPeriod').'"/>'.get_lang('AddNewResourceType').'</a><br />'; echo '</div>'; if (isset ($_POST['action'])) { switch ($_POST['action']) { case 'delete_categories' : $ids = $_POST['categories']; if (count($ids) > 0) { foreach ($ids as $index => $id) { $result = Rsys :: delete_category($id); if ($result != 0) $warning = true; } } if ($warning) { ob_start(); Display :: display_normal_message(get_lang('ResourceTypeNotDeleted'),false); $msg2 = ob_get_contents(); ob_end_clean(); } break; } } echo $msg2; $table = new SortableTable('category', array ('Rsys', 'get_num_categories'), array ('Rsys', 'get_table_categories'), 1);