ObBot Wgent LiveTree Архив
Архив новостей  Архив публикаций  Разное 

Скрипт бронирования мест для турагентств


Страница:  1 2 3

Защита пароля от подбора брутфорсом
Тест на вшивость по биологии
Накрутка рекомендательного сервиса
Игра в шахматы на деньги
Обойти цензуру
Фальсификации при подсчёте голосов на выборах
Мобильный способ регистрации
Великое Объединение форумов
Мод удаления файлов
BackLink Checker Script - Скрипт проверки ссылок

Написан скрипт бронирования мест для работающих на нашем движке сайтов туристических агентств. Скрипт рассчитан на одновременную работу с ним нескольких менеджеров из нескольких офисов, расположенных в различных городах. Гарантируется корректное разрешение коллизий, возникающих при попытках одновременного бронирования одного и того же места разными менеджерами.

Live Demo бронирования мест предусматривает 3 различных уровня доступа:

  • обычного посетителя  - без пароля; видно, какие места забронированы, но не видно, на чьё имя.
  • менеджера - логины менеджер1 и менеджер2, пароли совпадают с логинами; видны данные о забронированых местах, доступно бронирование, разбронирование, редактирование введённых данных, перенос автобуса в личную папку (для предотвращения коллизий при бронировании большого количесва мест) и обратно в общую.
  • топменеджера - логин и пароль топменеджер; доступны все функции менеджеров плюс создание новых шаблонов автобусов и гостиниц.

Скрипт изначально писался под CMS LiveTree, поэтому для запуска в качестве отдельного ПО его придётся несколько переработать.

Возможна установка скрипта "Бронирование мест" на Ваш сайт вместе с CMS LiveTree в качестве раздела Вашего сайта с полным копированием Вашего дизайна. Пример такой работы (по заказу турагентства "Регион-Тур") можно посмотреть здесь, стоимость работ составит 6 тысяч рублей, заказать установку?

 

Ниже исходный код скрипта публикуется as is.

 

<?php /* Файл /script/mesto.php*/
chdir("..");
require_once("functions.php");
require_once("core.php");
chdir("script");
$ret=param("ret");
if($ret){ //if скрипт был вызван отдельно $locked=false; $parent=param("parent"); $parentIn=getName(getParent($parent)); $parentInType=getObjType(getParent($parent));

if($parentInType=="Менеджер") $locked=$parentIn;

if(!$locked) $locked=locked($parent);
 if($locked) {
?><META http-equiv=Content-Type content="text/html; charset=windows-1251">
Забронировать места невозможно потому, что автобус <? echo getName($parent); ?> сейчас редактируется пользователем "<?=$locked?>"<br />
Чтобы не потерять набранные данные, дождитесь, когда "<?=$locked?>" закончит редактирование,<br />
затем нажмите клавишу "F5" на клавиатуре и ответьте утвердительно на запрос системы о повторной отправке данных.
<?
  exit;
 } // if locked
 $thisName=param("thisName");
 $alsoName=param("alsoName");
 if( !isFree($parent, $thisName) || !isFree($parent, $alsoName) ) { ?><META http-equiv=Content-Type content="text/html; charset=windows-1251"> Увы! Как минимум одно из запрошенных Вами мест уже забронировано.<br /> <a href="<? echo getHref($parent) ?>">Вернуться к бронированию мест в автобусе "<? echo getName($parent); ?>"?</a> <? exit; } // if автобус заблокирован
// иначе:
 occupy($parent, $thisName);
 if($alsoName!="") occupy($parent, $alsoName);
 ob_end_clean(); header("Location: ".$ret); exit;
} //if скрипт был вызван отдельно и надо вернуться в точку вызова

// $ID определяется в processTemplate
$parent=param("id");
$mesto=param("mesto");
if($mesto=="") {echo "Ошибка в вызове скрипта mesto.php: не указан параметр "mesto" (т.е., собственно номер места)."; exit;}
if( isFree($parent, $mesto) ) { if( !isOwner($parent) || locked($parent) ) { ?> <font color="#00a0b0">Место № <b><? echo $mesto; ?></b> свободно.</font> <? }
 else { ?> <form action="script/mesto.php" method="POST"> <input type="hidden" value="<?=$parent?>" name="parent" /> <input type="hidden" value="/bus/id<?=$parent?>.htm" name="ret" /> <input type="hidden" value="<?=$mesto?>" name="thisName" /> Бронировать&nbsp;место <font color="#00a0b0"><b><? echo $mesto; ?></b></font><br /> <textarea name="desc" class="subminput" style="width:94%;height:40px;"></textarea><br /> а&nbsp;также&nbsp;<input type="text" name="alsoName" class="subminput" style="WIDTH: 20px; COLOR: #00a0b0;">&nbsp;<input class="subminput" style="WIDTH: 30px; COLOR: #ffffff; BACKGROUND-COLOR: #00a0b0; border:0;" type="submit" value="Ok" /> </form> <? } // else владелец может забронировать
} //if свободно
else { $thisID=db1("ID", CATEGORIES, "parent=".$parent." AND name='".$mesto."'"); $desc=db1("description", CATEGORIES, "parent=".$parent." AND name='".$mesto."'"); if(!isOwner($thisID)) { ?><font color="#FF3333">Забронировано</font><? }
 else { ?> <b><a href="edit.php?id=<?=$thisID?>&ref=<? echo getHref($parent); ?>" title="Редактировать информацию"><b><?=$mesto?></b></a></b> <i>(<? echo db1("owner", CATEGORIES, "parent=".$parent." AND name='".$mesto."'"); ?>)</i> [<a href="del.php?id=<?=$thisID?>" title="РАЗБРОНИРОВАТЬ МЕСТО" style="text-decoration:none;"><font color="#FF0000">X</font></a>]<br /> <? echo $desc; } // else владелец видит информацию
} //else занято
?>


 
 
  W-gent and ObBot / Архив / Архив публикаций / Создание сайта©www.ObBot.com

Наш хостинг-провайдер