Перейти к содержанию
Форум поддержки пользователей VamShop

Локальное время


Рекомендуемые сообщения

И заодно еще вопрос:

- меняю в админке статус заказа и сразу "вылетаю" в магазин с логином клиента.

Очень неудобно по 20 раз перелогиниться.

Ссылка на сообщение
Поделиться на другие сайты

И заодно еще вопрос:

- меняю в админке статус заказа и сразу "вылетаю" в магазин с логином клиента.

Очень неудобно по 20 раз перелогиниться.

Присоединяюсь к вопросу!

Как раз сегодня клиенты пожаловались с просьбой устранить этот глюк.

Ссылка на сообщение
Поделиться на другие сайты

Время никак не исправить в скриптах, во всяком случае я не знаю как.

А ссыки в магазине пишутся с www или без?!

Попробуйте поставить true в Админке - Настройки - Основные - Сессии - Принудительно использовать cookies.

Ссылка на сообщение
Поделиться на другие сайты

"Принудительно использовать cookies" стоит в  true. Но.

После редактирования заказа клиента происходит редирект в магазин на страницу с заказами данного клиента, под его логином.

Про время... Понятно, что все скрипты править тяжело. Пока не смотрел, но скорее всего ввод времени идет стандартной функцией типа timenow.

А если ее глобально подменить? Добавив установленную разницу, типа  timenow=timenow+8....

Ссылка на сообщение
Поделиться на другие сайты

Дайте ссылку на магазин и доступ в админку, я попробую тоже заказ отредаткировать.

По поводу времени я даже не могу сказать как правильно сделать, не знаю.

Ссылка на сообщение
Поделиться на другие сайты

Дайте ссылку на магазин и доступ в админку, я попробую тоже заказ отредаткировать.

Пожалуйста, если вы установите причину, напишите сюда в тему, потому что у нас аналогичная проблема со сменой статуса заказа.

Ссылка на сообщение
Поделиться на другие сайты

Понятно, что все скрипты править тяжело. Пока не смотрел, но скорее всего ввод времени идет стандартной функцией типа timenow.

Совершенно верно - или во всех скриптах в запросах заменять now() на date_add(now(), INTERVAL " . TIME_ZONE_OFFSET . " HOUR) или делать это глобально, в функциях vam_db_query/vam_db_queryCached

Ссылка на сообщение
Поделиться на другие сайты

Мне удалось найти место, которое глючит и выбрасывает в сессию другого покупателя.

Но саму причину в коде еще не удалось установить.

Глюк возникает, если в магазине вручную созданы группы покупателей для определения порогов скидок. Там при создании новой группы нужно задать перечень статусов заказа, при которых будет вычисляться: попал покупатель в данную группу или нет. Вот собственно при этих сменах статуса выбрасывает в сессию покупателя, заказ которого обрабатываешь.

Код в файле admin/orders.php, вот этот обработчик

switch ($_GET['action']) {
case 'update_order' :
.......
[/code]

и глюк расположен где-то в куске кода, который идет с камента "// denuz added accumulated discount" - здесь вычисляется попал юзер в группу скидок или нет.

Ссылка на сообщение
Поделиться на другие сайты

А есть доступ к php.ini, к настройкам php?!

Если есть, просто ради экперимента, попробуй register_globals опцию включить, т.е. поставить On.

Так будет немного яснее, куда копнуть, если с включённой этой опцией будет работать.

Ссылка на сообщение
Поделиться на другие сайты

Если есть, просто ради экперимента, попробуй register_globals опцию включить, т.е. поставить On.

Не, там register_globals не влияют.

Вот где ошибка.

Код в файле admin/orders.php

после камента


// denuz added accumulated discount
[/code] есть строка
[code]
$customer_id = $customer['customers_id'];
$statuses_groups_query = vam_db_query("select orders_status_id from " . TABLE_CUSTOMERS_STATUS_ORDERS_STATUS . " where customers_status_id = " . $groups['customers_status_id']);
$purchase_query = "select sum(ot.value) as total from " . TABLE_ORDERS_TOTAL . " as ot, " . TABLE_ORDERS . " as o where ot.orders_id = o.orders_id and o.customers_id = " . $customer_id . " and ot.class = 'ot_total' and (";

Нужно переименовать $customer_id и перебрасывать в сессию юзера, заказ которого обрабатывается, перестанет.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое за сообщение.

Попробуй заменить в /admin/orders.php


$customer_id = $customer['customers_id'];
$statuses_groups_query = vam_db_query("select orders_status_id from " . TABLE_CUSTOMERS_STATUS_ORDERS_STATUS . " where customers_status_id = " . $groups['customers_status_id']);
$purchase_query = "select sum(ot.value) as total from " . TABLE_ORDERS_TOTAL . " as ot, " . TABLE_ORDERS . " as o where ot.orders_id = o.orders_id and o.customers_id = " . $customer_id . " and ot.class = 'ot_total' and (";
[/code] на:
[code]
$customer_id = $customer['customers_id'];
$statuses_groups_query = vam_db_query("select orders_status_id from " . TABLE_CUSTOMERS_STATUS_ORDERS_STATUS . " where customers_status_id = " . $groups['customers_status_id']);
$purchase_query = "select sum(ot.value) as total from " . TABLE_ORDERS_TOTAL . " as ot, " . TABLE_ORDERS . " as o where ot.orders_id = o.orders_id and o.customers_id = " . $_SESSION['customer_id'] . " and ot.class = 'ot_total' and (";

Ссылка на сообщение
Поделиться на другие сайты

Ой, нет, всё-таки так делать ведь нельзя.

т.е. ты ж правишь заказы других покупателей, а не свои заказы.

По идее, вот этот sql он же нормальный, ошибки быть не должно.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...