Taxi Booking 2.5/3.x

Внимание, кто пользовался?
Вот это не стучалка случаем?
admin\controllers\drivenot.php строка 320:
Скрытое содержимое доступно для зарегистрированных пользователей!

Ещё мне не понравился включенный в компонент класс dompdf
Нет, круто конечно отсылать pdf копии счетов для оплаты заказчику.
Но большое количество удаленного исполнения кода путем аякс запросов на сервер наводит на размышления.
 
Сначала нужно создать POI для тех точек между которыми вы хотите иметь фискированую цену
Потом в настройках машин выствить "Use as limo: Yes".
Открываешь сeкцию Special routes, выбираешь "New"
Пишешь название и выбираешь точки начала и конца из выпадющего меню
Графа Separate price for each car выбираешь Yes
Вводишь цену на разные машины (0 если мышина не должна быть доступна на этом маршруте)
Еще в настройках (Settings > General) можно выставить разрешаешь ли ты бронировать обратную дорогу по той же цене
Если не получиться пиши в ЛС
 
Привет.
Что-то не работает заказ.
Настроил скрипты, прописал машины.
При заказе считает сколько км, выдает расчёт и список машин для букинга.
При нажатии на кнопку «Book now» ничего не происходит: крутится значок лоадера и всё.
book_now.png

В консоли следующая ошибка:
Код:
Синхронный XMLHttpRequest в основном потоке является устаревшим из-за его пагубного влияния на работу конечного пользователя. Для получения дополнительной помощи обратитесь к http://xhr.spec.whatwg.org/
Хз, уходит ли что на сервер? Или вообще нет?
За аякс-запрос на сервер отвечает в скрипте букинга эта функция:
Код:
  // on clicking book now, book a car
  tbjQuery('a.car_booking').die("click").live('click', function(){
   tbjQuery('#ui-accordion-onepage_booking_accordion-panel-2').animate({ scrollTop: 0 }, 'fast');
   var vehicle_id = tbjQuery(this).data('carid');
   var booking_btn = tbjQuery(this);
   // if there is a previous ajax search, then we abort it and then set xhr to null
  if( xhr != null ) {
  xhr.abort();
  xhr = null;
  }
  var passingData = 'vehicle_id='+vehicle_id;
  xhr = tbjQuery.ajax({
  type: "POST"
  , url: 'index.php?option=com_taxibooking&controller=onepage&task=bookNow'
  , data: passingData
  , dataType: 'json'
         , async: false
  , beforeSend: function(){
           booking_btn.after('<img id="summary_loader" style="width:43px;display:inline-block;" alt="Loading" src="'+BASE_URL+'components/com_taxibooking/assets/images/ajax-loader2.gif">');
  }
  , complete: function(){
  }
  , success: function(response){
  booking_btn.next('#summary_loader').remove();
  if(response.error==1)
  {
  alert(response.msg);
       return false;
  }
  else
  {
  tbjQuery("#onepage_booking_accordion h3.onepage_booking_accordion_header").eq(2).removeClass('ui-state-disabled');
       tbjQuery( "#onepage_booking_accordion" ).accordion( "option", "active", 2 );
       //tbjQuery('body').animate({ scrollTop: 0 }, 'fast');
       //tbjQuery('#ui-accordion-onepage_booking_accordion-header-2').scrollTop( 1000 );
       //tbjQuery('body').scrollTo('#ui-accordion-onepage_booking_accordion-header-2',{duration:'fast', offsetTop : '100'});
       if(response.msg.booking_type == "hourly"){
        tbjQuery('.begin_text').html('');
        tbjQuery('.end_text').html('');
        tbjQuery('.not_for_hourly').hide();
       } else {
        tbjQuery('.begin_text').html(response.msg.begin);
        tbjQuery('.end_text').html(response.msg.end);
        tbjQuery('.not_for_hourly').show();
        if(response.msg.show_stops=="1"){
         tbjQuery('span#summary_stops').show();
         tbjQuery('.summary_stop_text').html(response.msg.stop_text+'<br/>');
        }
        else {
         tbjQuery('.summary_stop_text').html('');
         tbjQuery('span#summary_stops').hide();
        }
        if(response.msg.returnjurney==1){
         tbjQuery('#return_text').show();
        }
        else {
         tbjQuery('#return_text').hide();
        }
       }
       if(response.msg.show_price==1){
        tbjQuery('span#price_wrap').html(response.msg.price);
        tbjQuery('div#price').show();
       }
       if(response.msg.found_payment_method > 0){
        tbjQuery('div#payment_found_wrapper').show();
        tbjQuery('div#payment_selectors').html(response.msg.payment_html);
        tbjQuery('div#payment_not_found_text').hide();
        if(tbjQuery('div#payment_selectors').find('input.tb_paymentmethods').length==1){ // if only payment method available, mark it
         tbjQuery('div#payment_selectors').find('input.tb_paymentmethods').attr('checked', true);
        }
       }
       else {
        tbjQuery('div#payment_selectors').html('');
        tbjQuery('div#payment_found_wrapper').hide();
        tbjQuery('div#payment_not_found_text').show();
       }
       tbjQuery( '.label_tooltip' ).tooltip({
  track: true
  });
       tbjQuery.fn.getExtras('user_details');
   
       // execute javascript in response
       // for now, js will come from Stripe payment plugin only
       tbjQuery("div#payment_found_wrapper").find("script").each(function(i) {
        eval(tbjQuery(this).text());
       });
  }
  }
  });
  })
Насколько я понял, сейчас браузеры поддерживают асинхронные запросы.
Заменил «, async: false» на «, async: true» — нифига все равно не работает.
Хотя ошибка из консоли пропала.
Что с этим делать, кто знает?
//Зы
Охренеть! Не работало, потому что был введен метод плетежа PayPal, и хоть он не был основным, скрипт выдавал ошибку!
Отключил PayPal и всё заработало.
Вот блин...
Ну ничего, может у кого-то тоже проблема выскочит и моё сообщение ему поможет.
Вообще, судя по коду: если какая-то возможность не используется, отключайте её (можете не удалять, но отключайте). Чекинг ошибок и внятные ответы с сервера с ошибками — чаще всего отсутствуют, как и помощь по скрипту, имейте это в виду.
А из-за того, что скрипт может работать только в режиме аякса, всё становится ещё более хрупким и загадочным;)
 
Последнее редактирование:
Ребята, у кого есть переводы?
Я фронтенд перевёл, а вот в админке там много.
Пока перевожу, перевёл только 20%.
Ещё PayPal почему-то не пашет.
Не создалась таблица для оплат. Создал сам, всё равно не заработало.
При выставлении PayPal в "опубликовано" — заказы перестают размещаться, блин.
 
Последнее редактирование модератором:
Здравствуйте.
У меня копия этого скрипта развернута на локалке.
Выскочило окошко — типа есть новая версия.
Ну я кликнул «обновить» — выскочило это:
obnovl_tbooking.png
Может кто-нибудь поделиться тем, что требуется?
От себя могу взамен предоставить переводы компонента на русский, делал сам.
ЗЫ по ссылке что на картинке без логина/пароля ходить бесполезно, директория закрыта.
 
Это означает, что для обновления вы должны были купить компонент на официальном сайте и владельцы компонента по логину и ID определят у вас подписка оплачена или нет, если оплачена, ТОЛЬКО ПОСЛЕ ЭТОГО кнопка обновить станет активной.
 
Так есть у кого нибудь четвёртая версия?
 
вообще бесполезная штука - хороший конструктор форм с легкостью заменит этот компонент
Вы несёте чушь. Там дело не в конструкторе форм вовсе.
Онлайн заказ такси, визуальное отображение маршрута клиенту, оплата, статистика заказов, подключение к спец. сетям такси — вот это вот всё.
Этот модуль по функционалу больше похож на jomres, только заточен под такси.
Цены на jomres кстати тоже впечатляют — Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху