[svn r17722] Several fixes in : Add booking period, language files reservation into booking, mysql fixes #821

skala
Julio Montoya 17 years ago
parent 6f2b19a377
commit 261f196285
  1. 32
      main/reservation/m_category.php
  2. 15
      main/reservation/m_item.php
  3. 160
      main/reservation/m_reservation.php
  4. 2
      main/reservation/mysubscriptions.php
  5. 156
      main/reservation/rcalendar.php
  6. 31
      main/reservation/reservation.php
  7. 6
      main/reservation/rsys.php
  8. 30
      main/reservation/subscribe.php

@ -48,10 +48,10 @@ $interbreadcrumb[] = array ("url" => "../admin/index.php", "name" => get_lang('P
/**
* Filter to display the modify-buttons
*
* @param - int $id The category-id
* @param - int $id The ResourceType-id
*/
function modify_filter($id) {
return '<a href="m_category.php?action=edit&amp;id='.$id.'" title="'.get_lang("EditCategory").'"><img alt="" src="../img/edit.gif" /></a>'.' <a href="m_category.php?action=delete&amp;id='.$id.'" title="'.get_lang("DeleteCategory").'" onclick="javascript:if(!confirm('."'".addslashes(htmlentities(get_lang("ConfirmDeleteCategory")))."'".')) return false;"><img alt="" src="../img/delete.gif" /></a>';
return '<a href="m_category.php?action=edit&amp;id='.$id.'" title="'.get_lang("EditResourceType").'"><img alt="" src="../img/edit.gif" /></a>'.' <a href="m_category.php?action=delete&amp;id='.$id.'" title="'.get_lang("DeleteResourceType").'" onclick="javascript:if(!confirm('."'".addslashes(htmlentities(get_lang("ConfirmDeleteResourceType")))."'".')) return false;"><img alt="" src="../img/delete.gif" /></a>';
}
/**
@ -61,35 +61,35 @@ function modify_filter($id) {
switch ($_GET['action']) {
case 'add' :
$interbreadcrumb[] = array ("url" => "m_category.php", "name" => $tool_name);
Display :: display_header(get_lang('AddNewCategory'));
api_display_tool_title(get_lang('AddNewCategory'));
Display :: display_header(get_lang('AddNewResourceType'));
api_display_tool_title(get_lang('AddNewResourceType'));
$form = new FormValidator('category', 'post', 'm_category.php?action=add');
$form->add_textfield('name', get_lang('CategoryName'), true, array ('maxlength' => '128'));
$form->add_textfield('name', get_lang('ResourceTypeName'), true, array ('maxlength' => '128'));
$form->addElement('submit', 'submit', get_lang('Ok'));
if ($form->validate()) {
$values = $form->exportValues();
if (Rsys :: add_category($values['name']))
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('CategoryAdded'), "m_category.php", $tool_name),false);
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeAdded'), "m_category.php", $tool_name),false);
else
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('CategoryExist'), "m_category.php?action=add", get_lang('AddNewCategory')),false);
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeExist'), "m_category.php?action=add", get_lang('AddNewResourceType')),false);
} else
$form->display();
break;
case 'edit' :
$interbreadcrumb[] = array ("url" => "m_category.php", "name" => $tool_name);
Display :: display_header(get_lang('EditCategory'));
api_display_tool_title(get_lang('EditCategory'));
Display :: display_header(get_lang('EditResourceType'));
api_display_tool_title(get_lang('EditResourceType'));
$form = new FormValidator('category', 'post', 'm_category.php?action=edit');
$form->add_textfield('name', get_lang('CategoryName'), true, array ('maxlength' => '128'));
$form->add_textfield('name', get_lang('ResourceTypeName'), true, array ('maxlength' => '128'));
$form->addElement('hidden', 'id', $_GET['id']);
$form->addElement('submit', 'submit', get_lang('Ok'));
$form->setDefaults(Rsys :: get_category($_GET['id']));
if ($form->validate()) {
$values = $form->exportValues();
if (Rsys :: edit_category($values['id'], $values['name']))
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('CategoryEdited'), "m_category.php", $tool_name),false);
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeEdited'), "m_category.php", $tool_name),false);
else
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('CategoryExist'), "m_category.php?action=edit&id=".$values['id'], get_lang('EditRight')),false);
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeExist'), "m_category.php?action=edit&id=".$values['id'], get_lang('EditRight')),false);
} else
$form->display();
break;
@ -97,9 +97,9 @@ switch ($_GET['action']) {
$result = Rsys :: delete_category($_GET['id']);
ob_start();
if ($result == 0)
Display :: display_normal_message(get_lang('CategoryDeleted'),false);
Display :: display_normal_message(get_lang('ResourceTypeDeleted'),false);
else
Display :: display_normal_message(str_replace('#NUM#', $result, get_lang('CategoryHasItems')),false);
Display :: display_normal_message(str_replace('#NUM#', $result, get_lang('ResourceTypeHasItems')),false);
$msg = ob_get_contents();
ob_end_clean();
default :
@ -108,7 +108,7 @@ switch ($_GET['action']) {
api_display_tool_title($tool_name);
echo $msg;
echo '<a href="m_category.php?action=add"><img src="../img/view_more_stats.gif" border="0" alt="" title="'.get_lang('AddNewBookingPeriod').'"/>'.get_lang('AddNewCategory').'</a><br /><br />';
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 /><br />';
if (isset ($_POST['action'])) {
switch ($_POST['action']) {
case 'delete_categories' :
@ -122,7 +122,7 @@ switch ($_GET['action']) {
}
if ($warning) {
ob_start();
Display :: display_normal_message(get_lang('CategoryNotDeleted'),false);
Display :: display_normal_message(get_lang('ResourceTypeNotDeleted'),false);
$msg2 = ob_get_contents();
ob_end_clean();
}

@ -31,7 +31,7 @@
require_once ('rsys.php');
Rsys :: protect_script('m_item');
$tool_name = get_lang('ItemManagerHeader');
$tool_name = get_lang('ResourceList');
//$interbreadcrumb[] = array ("url" => "../admin/index.php", "name" => get_lang('PlatformAdmin'));
/**
@ -313,11 +313,10 @@ switch ($_GET['action']) {
$NoSearchResults = get_lang('NoRights');
$interbreadcrumb[] = array ("url" => "mysubscriptions.php", "name" => get_lang('MyReservations'));
$interbreadcrumb[] = array ("url" => "index.php", "name" => get_lang('Configuration'));
$interbreadcrumb[] = array ("url" => "mysubscriptions.php", "name" => get_lang('Booking'));
$interbreadcrumb[] = array ("url" => "m_item.php", "name" => get_lang('ManageItems'));
Display :: display_header(str_replace('#ITEM#', $item['name'], get_lang('MItemRights')));
api_display_tool_title(get_lang('MItemRights2'));
echo $msg;
@ -332,7 +331,7 @@ switch ($_GET['action']) {
$table->set_header(1, get_lang('LangClass'), false);
$table->set_header(2, get_lang('EditItemRight'), false);
$table->set_header(3, get_lang('DeleteItemRight'), false);
$table->set_header(4, get_lang('MReservationPeriodsRight'), false);
$table->set_header(4, get_lang('MBookingPeriodsRight'), false);
$table->set_header(5, get_lang('ViewItemRight'), false);
$table->set_header(6, '', false, array ('style' => 'width:50px;'));
$table->set_column_filter(6, 'modify_rights_filter');
@ -365,7 +364,7 @@ switch ($_GET['action']) {
$cats = Rsys :: get_category();
foreach ($cats as $cat)
$catOptions[$cat['id']] = $cat['name'];
$form->addElement('select', 'category', get_lang('Category'), $catOptions);
$form->addElement('select', 'category', get_lang('ResourceType'), $catOptions);
$form->add_textfield('name', get_lang('ItemName'), true, array ('maxlength' => '128'));
$form->addElement('textarea', 'description', get_lang('ItemDescription'), array ('rows' => '3', 'cols' => '40'));
$form->addRule('category', get_lang('ThisFieldIsRequired'), 'required');
@ -401,7 +400,7 @@ switch ($_GET['action']) {
Display :: display_header(str_replace('#ITEM#', $item['name'], get_lang('EditResource')));
api_display_tool_title(get_lang('EditResource'));
$form = new FormValidator('item', 'post', 'm_item.php?action=edit');
$form->addElement('select', 'category_id', get_lang('Category'), $catOptions);
$form->addElement('select', 'category_id', get_lang('ResourceType'), $catOptions);
$form->add_textfield('name', get_lang('ItemName'), array ('maxlength' => '128'));
$form->addElement('textarea', 'description', get_lang('ItemDescription'), array ('rows' => '3', 'cols' => '40'));
$form->addRule('category_id', get_lang('ThisFieldIsRequired'), 'required');
@ -462,7 +461,7 @@ switch ($_GET['action']) {
$table->set_header(0, '', false, array ('style' => 'width:10px'));
$table->set_header(1, get_lang('ItemName'), true);
$table->set_header(2, get_lang('ItemDescription'), true);
$table->set_header(3, get_lang('Category'), true);
$table->set_header(3, get_lang('ResourceType'), true);
$table->set_header(4, get_lang('ItemCreator'), true);
$table->set_header(5, '', false, array ('style' => 'width:100px;'));
$table->set_column_filter(5, 'modify_filter');

@ -43,8 +43,8 @@ $tool_name = get_lang('BookingPeriodList');
* @param - int $id The reservation-id
*/
function modify_filter($id) {
$out = '<a href="m_reservation.php?action=edit&amp;id='.$id.'" title="'.get_lang("EditReservationPeriod").'"><img alt="" src="../img/edit.gif" /></a>';
$out .= ' <a href="m_reservation.php?action=delete&amp;id='.$id.'" title="'.get_lang("DeleteReservationPeriod").'" onclick="javascript:if(!confirm('."'".addslashes(htmlentities(get_lang("ConfirmDeleteReservationPeriod")))."'".')) return false;"><img alt="" src="../img/delete.gif" /></a>';
$out = '<a href="m_reservation.php?action=edit&amp;id='.$id.'" title="'.get_lang("EditBookingPeriod").'"><img alt="" src="../img/edit.gif" /></a>';
$out .= ' <a href="m_reservation.php?action=delete&amp;id='.$id.'" title="'.get_lang("DeleteBookingPeriod").'" onclick="javascript:if(!confirm('."'".addslashes(htmlentities(get_lang("ConfirmDeleteBookingPeriod")))."'".')) return false;"><img alt="" src="../img/delete.gif" /></a>';
$out .= ' <a href="m_reservation.php?action=accept&amp;rid='.$id.'" title="'.get_lang("AutoAccept").'"><img alt="" src="../img/visible.gif" /></a>';
return $out;
}
@ -108,7 +108,7 @@ switch ($_GET['action']) {
$table = new SortableTable('reservation', array ('Rsys', 'get_num_subscriptions_overview'), array ('Rsys', 'get_table_subcribed_reservations'), 1);
$table->set_additional_parameters(array ('action' => 'overviewsubscriptions','keyword' => $_GET['keyword']));
$table->set_header(0, get_lang('ItemName'), true);
$table->set_header(1, get_lang('CategoryName'), true);
$table->set_header(1, get_lang('ResourceTypeName'), true);
$table->set_header(2, get_lang('StartDate'), true);
$table->set_header(3, get_lang('EndDate'), true);
$table->set_header(4, get_lang('Name'), true);
@ -164,10 +164,9 @@ switch ($_GET['action']) {
$cats = Rsys :: get_category_rights();
echo '<form id="cat_form" action="m_reservation.php" method="get">';
echo '<input type="hidden" name="action" value="add"/>';
echo '<input type="hidden" name="action" value="add"/>';
echo '<div class="row">';
echo '<div class="label">'.get_lang('Category').': </div>';
echo '<div class="label">'.get_lang('ResourceType').': </div>';
echo '<div class="formw">';
echo '<select name="cat_id" onchange="this.form.submit();">';
@ -244,17 +243,66 @@ switch ($_GET['action']) {
/* ]]> */
</script>\n");
if (count($itemlist) > 0) {
$defaultvalues['start'] = date('Y-m-d H:i:s');
$defaultvalues['end'] = date('Y-m-d H:i:s', time() + (60 * 60));
$defaultvalues['subscribe_from'] = date('Y-m-d H:i:s', time() - (60 * 60));
$defaultvalues['subscribe_until'] = date('Y-m-d H:i:s');
$defaultvalues['recurrence_until'] = date('Y-m-d H:i:s', time() + (14 * 24 * 60 * 60));
// here we set the default start and end time that we will see in the form 1h 30m after now()
// 1h after now
$date_defaults_start = array(
'd' => date('d'),
'M' => date('n'),
'Y' => date('Y'),
'H' => date('H',time()+60*60),
'i' => '00'
);
//2h after now
$date_defaults_end = array(
'd' => date('d'),
'M' => date('n'),
'Y' => date('Y'),
'H' => date('H',time()+60*60*2),
'i' => '00'
);
// 1h after now
$date_defaults_start_sub = array(
'd' => date('d'),
'M' => date('n'),
'Y' => date('Y'),
'H' => date('H',time()-60*60),
'i' => '00'
);
//2h after now
$date_defaults_end_sub = array(
'd' => date('d'),
'M' => date('n'),
'Y' => date('Y'),
'H' => date('H',time()),
'i' => '00'
);
$defaultvalues['start'] = $date_defaults_start;
$defaultvalues['end'] = $date_defaults_end;
$defaultvalues['subscribe_from'] = $date_defaults_start_sub;
$defaultvalues['subscribe_until'] = $date_defaults_end_sub;
$defaultvalues['recurrence_until'] = $date_defaults_end;
$defaultvalues['recurrence_c'] = '0';
$defaultvalues['forever'] = '0';
$defaultvalues['timepicker'] = '0';
$defaultvalues['maxuser'] = '1';
$defaultvalues['repeater'] = '1';
$defaultvalues['auto_accept'] = '1';
$form->setDefaults($defaultvalues);
$form->Display();
} else {
}
else {
if ($_GET['cat_id'] != 0)
Display :: display_normal_message(get_lang('NoItems'),false);
}
@ -271,29 +319,28 @@ switch ($_GET['action']) {
$msg_number = Rsys :: add_reservation($values['itemid'], $values['auto_accept'], $values['maxuser'], $values['start'], $values['end'], $values['subscribe_from'], $values['subscribe_until'], $values['notes'], $values['timepicker'],$values['min'],$values['max'],0);
switch($msg_number) {
case 0 :
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ReservationPeriodAdded'), "m_reservation.php", $tool_name),false);
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('BookingPeriodAdded'), "m_reservation.php", $tool_name),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('ReservationPeriodDateOverlap'))),false);
Display :: display_normal_message(str_replace('#END#', "<b>".$GLOBALS['end_date']."</b>",str_replace('#START#', "<b>".$GLOBALS['start_date']."</b>",get_lang('BookingPeriodDateOverlap'))),false);
break;
case 2 : $interbreadcrumb[] = array ("url" => "mysubscriptions.php", "name" => get_lang('MyReservations'));
$interbreadcrumb[] = array ("url" => "index.php", "name" => get_lang('Configuration'));
Display :: display_normal_message(get_lang('ReservationPeriodSubscribeUntilAfterStart'),false);
case 2 :
Display :: display_normal_message(get_lang('BookingPeriodSubscribeUntilAfterStart'),false);
break;
case 3:
Display :: display_normal_message(get_lang('ReservationPeriodPast'),false);
Display :: display_normal_message(get_lang('BookingPeriodPast'),false);
break;
case 4:
Display :: display_normal_message(get_lang('ReservationPeriodTimePickerLimitation'),false);
Display :: display_normal_message(get_lang('BookingPeriodTimePickerLimitation'),false);
break;
case 5:
Display :: display_normal_message(get_lang('ReservationPeriodTimePickerError1'),false);
Display :: display_normal_meGotossage(get_lang('BookingPeriodTimePickerError1'),false);
break;
case 6:
Display :: display_normal_message(get_lang('ReservationPeriodTimePickerError2'),false);
Display :: display_normal_message(get_lang('BookingPeriodTimePickerError2'),false);
break;
case 7:
Display :: display_normal_message(get_lang('ReservationPeriodTimePickerError3'),false);
Display :: display_normal_message(get_lang('BookingPeriodTimePickerError3'),false);
break;
default :
break;
@ -333,31 +380,28 @@ switch ($_GET['action']) {
break;
case 'edit' :
if (isset ($_GET["id"]))
$Reservation_id = $_GET["id"];
else
$Reservation_id = $_POST["id"];
$result = Rsys :: get_num_subscriptions_reservationperiods($Reservation_id);
$result = Rsys :: get_num_subscriptions_ReservationPeriods($Reservation_id);
if($result != '0')
{
$interbreadcrumb[] = array ("url" => "mysubscriptions.php", "name" => get_lang('Booking'));
$interbreadcrumb[] = array ("url" => "m_reservation.php", "name" => get_lang('ManageBookingPeriods'));
$interbreadcrumb[] = array ("url" => "m_reservation.php", "name" => get_lang('ManageBookingPeriods'));
Display :: display_header('');
api_display_tool_title($tool_name);
Display :: display_normal_message(Rsys :: get_return_msg(str_replace('#NUM#', $result, get_lang('ReservationPeriodHasSubscriptions')),"m_reservation.php",get_lang('ReservationPeriodManagerHeader')),false);
Display :: display_normal_message(Rsys :: get_return_msg(str_replace('#NUM#', $result, get_lang('BookingPeriodHasSubscriptions')),"m_reservation.php",get_lang('BookingPeriodManagerHeader')),false);
}
else
{
{
$interbreadcrumb[] = array ("url" => "mysubscriptions.php", "name" => get_lang('Booking'));
$interbreadcrumb[] = array ("url" => "m_reservation.php", "name" => get_lang('ManageBookingPeriods'));
Display :: display_header(get_lang('EditReservationPeriod'));
api_display_tool_title(get_lang('EditNewReservationPeriod'));
Display :: display_header(get_lang('EditBookingPeriod'));
api_display_tool_title(get_lang('EditNewBookingPeriod'));
$reservation = Rsys :: get_reservation($Reservation_id);
$item_category = Rsys :: get_item($reservation[0][2]);
@ -374,7 +418,7 @@ switch ($_GET['action']) {
echo '<input type="hidden" name="action" value="edit"/>';
echo '<div class="row">';
echo '<div class="label">'.get_lang('Category').': </div>';
echo '<div class="label">'.get_lang('ResourceType').': </div>';
echo '<div class="formw">';
echo '<select name="cat_id" onchange="this.form.submit();">';
@ -383,15 +427,13 @@ switch ($_GET['action']) {
echo '<option value="'.$catid.'"'. ($catid == $categori[0] ? ' selected="selected"' : '').'>'.$cat.'</option>';
echo '</select></div>';
echo '</div>';
echo '</form>';
echo '</div>';
echo '</form>';
$itemlist = Rsys :: get_cat_r_items($categori[0]);
$form = new FormValidator('reservation', 'post', 'm_reservation.php?action=edit&id='.$Reservation_id);
$choices[] = $form->createElement('radio', 'forever', '', get_lang('NoPeriod'), ($reservation[0][7] == '0000-00-00 00:00:00' && $reservation[0][8] == '0000-00-00 00:00:00' ? 0 : 1), array ('onclick' => 'javascript:timewindow_hide(\'forever_timewindow\')'));
$choices[] = $form->createElement('radio', 'forever', '', get_lang('FixedPeriod'), ($reservation[0][7] == '0000-00-00 00:00:00' || $reservation[0][8] == '0000-00-00 00:00:00' ? 1 : 0), array ('onclick' => 'javascript:timewindow_show(\'forever_timewindow\')'));
$choices[] = $form->createElement('radio', 'forever', '', get_lang('NoPeriod'), '0', array ('onclick' => 'javascript:timewindow_hide(\'forever_timewindow\')'));
$choices[] = $form->createElement('radio', 'forever', '', get_lang('FixedPeriod'), '1', array ('onclick' => 'javascript:timewindow_show(\'forever_timewindow\')'));
$form->addElement('select', 'item_id', get_lang('Item'), $itemlist);
$form->add_timewindow('start', 'end', get_lang('StartDate'), get_lang('EndDate'));
@ -423,15 +465,30 @@ switch ($_GET['action']) {
$form->addElement('hidden', 'id', $Reservation_id);
$form->addElement('hidden', 'timepicker2');
$form->addElement('hidden', 'period', ($reservation[0][7] == '0000-00-00 00:00:00' && $reservation[0][8] == '0000-00-00 00:00:00' ? 0 : 1));
if ($categori[0] == $tijdelijke_cat)
$defaultvalues['item_id'] = $reservation[0][2];
$defaultvalues['auto_accept'] = $reservation[0][3];
$defaultvalues['maxuser'] = $reservation[0][4];
$defaultvalues['start'] = $reservation[0][5];
$defaultvalues['end'] = $reservation[0][6];
$defaultvalues['subscribe_from'] = $reservation[0][7];
$defaultvalues['subscribe_until'] = $reservation[0][8];
$defaultvalues['forever']=($reservation[0][7] == '0000-00-00 00:00:00' && $reservation[0][8] == '0000-00-00 00:00:00' ? 0 : 1);
$my_start_date = Rsys :: mysql_datetime_to_timestamp($reservation[0][5]);
if ($defaultvalues['forever']==0) {
//here we set the default dates
$defaultvalues['subscribe_from'] = $my_start_date - 60*60 ;
$defaultvalues['subscribe_until'] = $my_start_date - 60 ;
}
else {
$defaultvalues['subscribe_from'] = $reservation[0][7];
$defaultvalues['subscribe_until'] = $reservation[0][8];
}
$defaultvalues['notes'] = $reservation[0][10];
$defaultvalues['timepicker'] = $reservation[0][11];
$defaultvalues['timepicker2'] = $reservation[0][11];
@ -448,26 +505,26 @@ switch ($_GET['action']) {
$values = $form->exportValues();
//print_r($values);
$auto_accept = true;
if ($values['forever'] == $values['period']) {
if (($values['forever'] == $values['period']) || $values['forever']=='0') {
$values['subscribe_from'] = 0;
$values['subscribe_until'] = 0;
}
$msg_number = Rsys :: edit_reservation($values['id'], $_POST['item_id'], $values['auto_accept'], $values['maxuser'], $values['start'], $values['end'], $values['subscribe_from'], $values['subscribe_until'], $values['notes'], $values['timepicker2']);
switch ($msg_number) {
case 0 :
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ReservationPeriodEdited'), "m_reservation.php", $tool_name),false);
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('BookingPeriodEdited'), "m_reservation.php", $tool_name),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('ReservationPeriodDateOverlap'))),false);
Display :: display_normal_message(str_replace('#END#', "<b>".$GLOBALS['end_date']."</b>",str_replace('#START#', "<b>".$GLOBALS['start_date']."</b>",get_lang('BookingPeriodDateOverlap'))),false);
break;
case 2 :
Display :: display_normal_message(get_lang('ReservationPeriodSubscribeUntilAfterStart'),false);
Display :: display_normal_message(get_lang('BookingPeriodSubscribeUntilAfterStart'),false);
break;
case 3:
Display :: display_normal_message(get_lang('ReservationMaxUsersOverrun'),false);
break;
case 4:
Display :: display_normal_message(get_lang('ReservationPeriodTimepickerLimitation'),false);
Display :: display_normal_message(get_lang('BookingPeriodTimepickerLimitation'),false);
break;
default :
break;
@ -480,13 +537,18 @@ switch ($_GET['action']) {
case 'delete' :
Rsys :: delete_reservation($_GET["id"]);
ob_start();
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ReservationPeriodDeleted'), "m_reservation.php", $tool_name),false);
Display :: display_normal_message(Rsys :: get_return_msg(get_lang('BookingPeriodDeleted'), "m_reservation.php", $tool_name),false);
$msg = ob_get_contents();
ob_end_clean();
default :
$NoSearchResults = get_lang('NoReservations');
$interbreadcrumb[] = array ("url" => "mysubscriptions.php", "name" => get_lang('Booking'));
if ($_GET['view']=='calendar') {
$interbreadcrumb[] = array ("url" => "reservation.php", "name" => get_lang('Booking'));
}
else {
$interbreadcrumb[] = array ("url" => "mysubscriptions.php", "name" => get_lang('Booking'));
}
$interbreadcrumb[] = array ("url" => "m_reservation.php", "name" => get_lang('ManageBookingPeriods'));
Display :: display_header('');
@ -524,7 +586,7 @@ switch ($_GET['action']) {
$table->set_header(7, get_lang('Notes'), false);
$table->set_header(8, '', false, array ('style' => 'width:65px;'));
$table->set_column_filter(8, 'modify_filter');
$table->set_form_actions(array ('delete_reservations' => get_lang('DeleteSelectedReservationsPeriod')), 'reservations');
$table->set_form_actions(array ('delete_reservations' => get_lang('DeleteSelectedBookingPeriod')), 'reservations');
$table->display();
}

@ -64,7 +64,7 @@ switch ($_GET['action']) {
api_display_tool_title($tool_name);
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('AddNewReservationPeriod').'</a>';
/// 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 '&nbsp;&nbsp;&nbsp;<a href="m_reservation.php?action=overviewsubscriptions">'.get_lang('OverviewReservedPeriods').'</a>';
echo '<div style="float: right;"><a href="reservation.php">'.Display::return_icon('sessions.gif',get_lang('BookingCalendarView')).'&nbsp;'.get_lang('GoToCalendarView').'</a></div>';

@ -3,7 +3,7 @@
==============================================================================
Dokeos - elearning and course management software
Copyright (c) 2004-2008 Dokeos S.A.
Copyright (c) 2004-2008 Dokeos SPRL
Copyright (c) Sebastien Jacobs (www.spiritual-coder.com)
Copyright (c) Kristof Van Steenkiste
@ -89,23 +89,34 @@ class rCalendar {
* Deze methode retourneert een balkje van een gegeven $width met een bepaalde kleur ($color) met evt. een titel
*
*/
function get_bar($width, $color, $link = '', $title = '', $id = null) {
// 1) width herberekenen om afrondingsfouten te beperken
if($GLOBALS['weekday_pointer']!=$GLOBALS['last_weekday_pointer']){
$GLOBALS['daytotal']=0;
$GLOBALS['lasttotal']=0;
$GLOBALS['last_weekday_pointer']=$GLOBALS['weekday_pointer'];
}$GLOBALS['daytotal']+=$width;
$GLOBALS['rounded_total']=round($GLOBALS['daytotal']);
$width=$GLOBALS['rounded_total']-$GLOBALS['lasttotal'];
$GLOBALS['lasttotal']=$GLOBALS['rounded_total'];
// 2) kleur aanpassen indien item op blackout staat
if($GLOBALS['bblackout']&&$color!='red'&&$color!='orange'&&$color!='grey'){
$color='black';
$link='';
}
// 3) html code returnen voor gekleurde bar
return '<img src="../img/px_'.$color.'.gif" alt="" style="height: 15px;width: '.$width.'px'. (!empty ($link) ? ';cursor: pointer;" onclick="window.location.href=\''.$link.'\'"' : (!empty ($title) ? ';cursor: help;"' : '"')). (!empty ($title) ? ' title="'.$title.'"' : '').' />';
function get_bar($width, $color, $link = '', $title = '', $itemid=null, $cat=null) {
// 1) width herberekenen om afrondingsfouten te beperken
if($GLOBALS['weekday_pointer']!=$GLOBALS['last_weekday_pointer']) {
$GLOBALS['daytotal']=0;
$GLOBALS['lasttotal']=0;
$GLOBALS['last_weekday_pointer']=$GLOBALS['weekday_pointer'];
}
$GLOBALS['daytotal']+=$width;
$GLOBALS['rounded_total']=round($GLOBALS['daytotal']);
$width=$GLOBALS['rounded_total']-$GLOBALS['lasttotal'];
$GLOBALS['lasttotal']=$GLOBALS['rounded_total'];
// 2) kleur aanpassen indien item op blackout staat
if($GLOBALS['bblackout'] && $color!='red' && $color!='orange' && $color!='grey') {
$color='black';
$link='';
}
$img='';
// 3) html code returnen voor gekleurde bar
if (!empty($itemid) && !empty($cat)&& !empty($link)) {
$link.='&cat='.$cat.'&item='.$itemid;
$img = '<img src="../img/px_'.$color.'.gif" alt="" style="height: 15px;width: '.$width.'px'. (!empty ($link) ? ';cursor: pointer;" onclick="window.location.href=\''.$link.'\'"' : (!empty ($title) ? ';cursor: help;"' : '"')). (!empty ($title) ? ' title="'.$title.'"' : '').' />';
}
else {
$img = '<img src="../img/px_'.$color.'.gif" alt="" style="height: 15px;width: '.$width.'px'. (!empty ($link) ? ';cursor: pointer;" onclick="window.location.href=\''.$link.'\'"' : (!empty ($title) ? ';cursor: help;"' : '"')). (!empty ($title) ? ' title="'.$title.'"' : '').' />';
}
return $img;
}
/*
@ -114,7 +125,7 @@ class rCalendar {
* - Deze methode ontvangt een item-id & 1 dag als parameter (dag+maand+jaar), de omliggende week (met reservaties etc.) wordt dan opgehaald
* - hoe groter de $day_scale, hoe kleiner de tabel (86400/$day_scale=breedte van 1 dag)
*/
function get_week_view($day, $month, $year, $itemid, $day_scale = 180) {
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);
@ -205,56 +216,60 @@ class rCalendar {
// Subscribe_from is not yet reached
$color = "orange";
$link = null;
} else {
}
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).' &raquo; '.date('H:i (d/m/Y)', $end);
// ..a2) stel titel in (dat je ziet als je over het balkje zweeft met je muis)
$title = date('H:i (d/m/Y)', $start).' &raquo; '.date('H:i (d/m/Y)', $end);
// ..a3) controleer of het reservatie-periode-blok de huidige dag overschrijdt
// ..a3) controleer of het reservatie-periode-blok de huidige dag overschrijdt
if ($end > $day_start_dates[$weekday_pointer] + $one_day) {
// indien ja, cree<EFBFBD>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);
$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']++;
$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);
$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);
$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);
}
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'].'&amp;timestart='; // + (start)tijd waarop geklikt werd = volwaardige link
if(count($s)==0){
$minute_interval *= 60;
$color = "blue";
$pickedcolor = "red";
$tosmallchunkcolor = "yellow";
$start_pointer = $start;
$link = "subscribe.php?rid=".$r['id'].'&amp;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).' &raquo; '.date('H:i', $end));
$days[$weekday_pointer] .= $this->get_bar(($end - $start) / $day_scale, $color, $link.$start_pointer, date('H:i', $start).' &raquo; '.date('H:i', $end), $itemid, $cat);
}
else
{
@ -271,7 +286,7 @@ class rCalendar {
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()).' &raquo; '.date('H:i', $end));
$days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, $color, $link.$start_pointer, date('H:i', time()).' &raquo; '.date('H:i', $end), $itemid, $cat);
}
else
{
@ -292,38 +307,30 @@ class rCalendar {
}
else
{
$i = 0;
foreach ($s as $key => $sub)
{
$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)
{
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.' &raquo; '.$eind_tijd);
}
else
{
else {
//start met een blauw of oranje stuk
//kijken of dat de start_tijd al buiten de huidige tijd ligt ->
if ($start_pointer > time())
{
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')) {
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.' &raquo; '.$eind_tijd);
if (($start - $start_pointer) >= $timepicker_min) {
$days[$weekday_pointer] .= $this->get_bar(($start - $start_pointer) / $day_scale, $color, $link.$start_pointer, $start_tijd.' &raquo; '.$eind_tijd, $itemid, $cat);
}
else
{
else {
$days[$weekday_pointer] .= $this->get_bar(($start - $start_pointer) / $day_scale, $tosmallchunkcolor, null, $start_tijd.' &raquo; '.$eind_tijd);
}
}
@ -350,16 +357,16 @@ class rCalendar {
//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()).' &raquo; '.date('H:i', $start));
$days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, $color, $link.time(), date('H:i', time()).' &raquo; '.date('H:i', $start), $itemid, $cat);
}
else
{
$days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, $tosmallchunkcolor, $null, date('H:i', time()).' &raquo; '.date('H:i', $start));
$days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, $tosmallchunkcolor, null, date('H:i', time()).' &raquo; '.date('H:i', $start), $itemid, $cat);
}
}
else
{
$days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, 'orange', $null, date('H:i', time()).' &raquo; '.date('H:i', $start));
$days[$weekday_pointer] .= $this->get_bar(($start - time()) / $day_scale, 'orange', null, date('H:i', time()).' &raquo; '.date('H:i', $start));
}
}
@ -394,7 +401,7 @@ class rCalendar {
if (($end - time()) >= $timepicker_min)
{
//blauwe stuk
$days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, $color, $link.time(), date('H:i', time()).' &raquo; '.date('H:i', $end));
$days[$weekday_pointer] .= $this->get_bar(($end - time()) / $day_scale, $color, $link.time(), date('H:i', time()).' &raquo; '.date('H:i', $end), $itemid, $cat);
}
else
{
@ -409,28 +416,25 @@ class rCalendar {
}
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')) {
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)
{
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).' &raquo; '.date('H:i', $end));
$days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, $color, $link.$start_pointer, date('H:i', $start_pointer).' &raquo; '.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).' &raquo; '.date('H:i', $end));
}
}
else
{
$days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, 'orange', null, date('H:i', $start_pointer).' &raquo; '.date('H:i', $end));
}
else {
//gele stuk
$days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, $tosmallchunkcolor, null, date('H:i', $start_pointer).' &raquo; '.date('H:i', $end));
}
}
else {
$days[$weekday_pointer] .= $this->get_bar(($end - $start_pointer) / $day_scale, 'orange', null, date('H:i', $start_pointer).' &raquo; '.date('H:i', $end));
}
}
}
}
}
}
}
}
// 6.5) Zet de $last_end pointer op de eindtijd van de huidige reservatie periode

@ -54,23 +54,28 @@ if (api_is_platform_admin())
echo '</div><br />';
function getBlock($color) {
return '<img src="../img/px_'.$color.'.gif" alt="" style="border:1px solid #000;height: 10px;width: 10px;vertical-align:top;margin-left:10px" />';
}
$gogogo=false;
// Get resolution of user
if((empty($_SESSION['swidth'])||empty($_SESSION['sheight']))&&(empty($_GET['swidth'])||empty($_GET['sheight']))){
if((empty($_SESSION['swidth'])||empty($_SESSION['sheight']))&&(empty($_GET['swidth'])||empty($_GET['sheight']))) {
?>
<script type="text/javascript">
window.location.href='reservation.php?sheight='+screen. height+'&swidth='+screen.width;
</script>
<?php
}elseif((empty($_SESSION['swidth']))){
}
elseif((empty($_SESSION['swidth']))) {
$_SESSION['swidth']=$_GET['swidth'];
$_SESSION['sheight']=$_GET['sheight'];
$gogogo=true;
}else $gogogo=true;
}
else
$gogogo=true;
echo '<div style="float: left;"><form id="cat_form" action="reservation.php" method="get"><input type="hidden" name="cat" value="'.$_GET['cat'].'" /><div style="float: left;">'.get_lang('Category').': <select name="cat" onchange="this.form.submit();"><option value="0">'.get_lang('NONE').'</option>';
echo '<div style="float: left;"><form id="cat_form" action="reservation.php" method="get"><input type="hidden" name="cat" value="'.$_GET['cat'].'" /><div style="float: left;">'.get_lang('ResourceType').': <select name="cat" onchange="this.form.submit();"><option value="0">'.get_lang('NONE').'</option>';
$cats = Rsys :: get_category_with_items();
if(count($cats)>0){
@ -80,7 +85,6 @@ if(count($cats)>0){
echo '</select></div></form></div>';
if ($gogogo&&!empty($_GET['cat'])) {
$itemlist = Rsys :: get_cat_items($_GET['cat']);
echo '<div style="float: left;">';
@ -93,19 +97,19 @@ if ($gogogo&&!empty($_GET['cat'])) {
echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.get_lang('NoItemsReservation');
}
echo '</div>';
if(!empty($_GET['item'])){
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'])){
if(isset($_GET['changemonth'])) {
echo $calendar->get_mini_month(intval($time['month']),intval($time['year']),"&amp;cat=".$_GET['cat']."&amp;item=".$_GET['item']."&amp;changemonth=yes",$_GET['item']);
}
else
echo $calendar->get_mini_month(date('m'),date('Y'),"&amp;cat=".$_GET['cat']."&amp;item=".$_GET['item'],$_GET['item']);
echo '</div><div style="float: left" >';
switch($_SESSION['swidth']){
switch($_SESSION['swidth']) {
case '640': $week_scale= 170;break;
case '1024': $week_scale=130;break;
case '1152': $week_scale=110;break;
@ -118,15 +122,14 @@ if ($gogogo&&!empty($_GET['cat'])) {
default: $week_scale= 150; // 800x600
}
if(isset($_GET['date'])){
echo $calendar->get_week_view(intval($time['day']),intval($time['month']), $time['year'],$_GET['item'], $week_scale);
echo $calendar->get_week_view(intval($time['day']),intval($time['month']), $time['year'],$_GET['item'], $week_scale,$_GET['cat']);
}else
echo $calendar->get_week_view(intval(date('d')), intval(date('m')), intval(date('Y')), $_GET['item'], $week_scale);
echo $calendar->get_week_view(intval(date('d')), intval(date('m')), intval(date('Y')), $_GET['item'], $week_scale,$_GET['cat']);
echo '</div>';
$buffer=ob_get_contents();
ob_end_clean();
function getBlock($color){
return '<img src="../img/px_'.$color.'.gif" alt="" style="border:1px solid #000;height: 10px;width: 10px;vertical-align:top;margin-left:10px" />';
}
$legend=getBlock('green').' '.ucfirst(get_lang('Reservation')).' '.getBlock('blue').' '.get_lang('TimePicker').' '.getBlock('orange').' '.get_lang('OutPeriod').' '.getBlock('red').' '.get_lang('Reserved').' '.getBlock('grey').' '.get_lang('NoReservations').' '.getBlock('black').' '.get_lang('Blackout');
echo '<br /><br /><div style="text-align:right; border-bottom: 2px dotted #666; margin: 0 0 0.2em 0; padding: 0.2em;clear:both;font-family: Verdana,sans-serif;font-size: 1.2em;color:#666;font-weight:bold">'.$GLOBALS['weekstart'].' - '.$GLOBALS['weekend'].'</div>'.$buffer.'<div style="clear:both;">&nbsp;</div><div style="background-color:#EEE;padding: 0.5em;font-family:Verdana;sans-serif;font-size:10px;text-align:center">'.$legend.'</div>';
}

@ -93,7 +93,8 @@ class Rsys {
*/
function get_return_msg($msg, $page, $pageheader) {
$target_url = api_get_path(WEB_PATH).'main/reservation/'.$page;
return $msg."<br /><br /><a href=\"$target_url\">Return to $pageheader</a>";
$return = get_lang('GoTo');
return $msg."<br /><br /><a href=\"$target_url\">$return $pageheader</a>";
}
/**
@ -104,7 +105,8 @@ class Rsys {
* @param - String $pageheader The tag to display as link
*/
function get_return_msg2($msg, $page, $pageheader) {
return $msg."<br /><br /><a href=\"$page\">Return to $pageheader</a>";
$return = get_lang('GoTo');
return $msg."<br /><br /><a href=\"$page\">$return $pageheader</a>";
}
/**

@ -7,6 +7,7 @@
Copyright (c) 2004-2008 Dokeos SPRL
Copyright (c) Sebastien Jacobs (www.spiritual-coder.com)
Copyright (c) Kristof Van Steenkiste
Copyright (c) Julio Montoya Armas
For a full list of contributors, see "credits.txt".
The full license can be read in "license.txt".
@ -27,10 +28,23 @@
Reservation-manager (add, edit & delete)
---------------------------------------------------------------------
*/
require_once('rsys.php');
Rsys :: protect_script('reservation');
$tool_name = get_lang('SubscribeManagerHeader');
if (!empty($_GET['cat']) && !empty($_GET['item'] )) {
$cat = (int)$_GET['cat'];
$item = (int)$_GET['item'];
$interbreadcrumb[] = array ('url' => "reservation.php?cat=$cat&item=$item", 'name' => get_lang('Booking'));
}
else {
$interbreadcrumb[] = array ('url' => 'reservation.php', 'name' => get_lang('Booking'));
}
$tool_name = get_lang('BookIt');
Display :: display_header($tool_name);
api_display_tool_title($tool_name);
@ -141,10 +155,10 @@ if ($reservation[0][9] < $reservation[0][4]) {
$result = Rsys :: add_subscription($_GET['rid'], api_get_user_id(),$values['accepted']);
switch ($result) {
case 0 :
Display :: display_normal_message(Rsys :: get_return_msg2(get_lang('ReservationAdded'), "javascript:history.go(-2)", get_lang('ReservationManagerHeader')),false);
Display :: display_normal_message(Rsys :: get_return_msg2(get_lang('ReservationAdded'), "javascript:history.go(-2)", get_lang('BookingView')),false);
break;
case 1 :
Display :: display_normal_message(Rsys :: get_return_msg2(str_replace('#END#', "<b>".$GLOBALS['end_date']."</b>",str_replace('#START#', "<b>".$GLOBALS['start_date']."</b>",get_lang('ReservationAlready'))),"reservation.php?cat=".$item[1]."&item=".$item[0]."", get_lang('ReservationManagerHeader')),false);
Display :: display_normal_message(Rsys :: get_return_msg2(str_replace('#END#', "<b>".$GLOBALS['end_date']."</b>",str_replace('#START#', "<b>".$GLOBALS['start_date']."</b>",get_lang('ReservationAlready'))),"reservation.php?cat=".$item[1]."&item=".$item[0]."", get_lang('BookingView')),false);
break;
}
@ -152,7 +166,7 @@ if ($reservation[0][9] < $reservation[0][4]) {
$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('ReservationManagerHeader')),false);
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);
@ -160,12 +174,12 @@ if ($reservation[0][9] < $reservation[0][4]) {
echo $buffer;
break;
case 2 :
Display :: display_normal_message(get_lang('ReservationPeriodTooSmall'),false);
Display :: display_normal_message(get_lang('BookingPeriodTooSmall'),false);
$form->display();
//echo $buffer;
break;
case 3 :
Display :: display_normal_message(get_lang('ReservationPeriodTooBig'),false);
Display :: display_normal_message(get_lang('BookingPeriodTooBig'),false);
$form->display();
//echo $buffer;
break;
@ -175,7 +189,7 @@ if ($reservation[0][9] < $reservation[0][4]) {
else
$form->display();
}else {
Display :: display_normal_message(Rsys :: get_return_msg2(get_lang('ReservationTresspassing'), "javascript:history.go(-2)", get_lang('ReservationManagerHeader')),false);
Display :: display_normal_message(Rsys :: get_return_msg2(get_lang('ReservationTresspassing'), "javascript:history.go(-2)", get_lang('BookingView')),false);
}

Loading…
Cancel
Save