Vitaliy pp −1


Vitaliy pp

  • Vitaliy pp Vitaliy pp 18 февраля 2016 10:45 #
    Права на файлы и папки устанавливаются без записи для всех кроме конкретного пользователя (755).

    да действительно 755

    drwxr-xr-x    6 500      48           4096 Feb 17 14:20 wa-cache

    спасибо за совет, попробую сделать

    в ответ на Не правильно работают отложенные сообщения

  • Vitaliy pp Vitaliy pp 18 февраля 2016 10:19 #
    Так вот к чему это.... При проверке времени последнего запуска скрипта из кэша берётся переменная last_cron_check (или что-то вроде того).

    похоже так и есть

    class shopFollowupCli extends waCliController
    {
        public function execute()
        {
            $fm = new shopFollowupModel();
            $opm = new shopOrderParamsModel();
            $asm = new waAppSettingsModel();
            $cm = new shopCustomerModel();
            $om = new shopOrderModel();
    
            $asm->set('shop', 'last_followup_cli', time());
    
            $view = wa()->getView();
            $empty_customer = $cm->getEmptyRow();
    
            foreach($fm->getAllEnabled() as $f) {
    
                $between_from = date('Y-m-d', strtotime($f['last_cron_time']) - 24*3600);
                $between_to = date('Y-m-d 23:59:59', time() - $f['delay'] - 10*3600);
                $orders = $om->where('paid_date >= ? AND paid_date < ?', $between_from, $between_to)->fetchAll('id');
                if ($orders) { ...

    а если папке wa-cache поменять права доступа?

    в ответ на Не правильно работают отложенные сообщения

  • Vitaliy pp Vitaliy pp 18 февраля 2016 09:53 #

    вот нашел в логах такую запись (в файле cli.log)

    Call stack:
    #0 ...
    
    #3 /web/wa-apps/shop/lib/cli/shopFollowup.cli.php(17): waAppSettingsModel->set('shop', 'last_followup_c...', 1453272603)
    #4 /web/wa-system/controller/waController.class.php(21): shopFollowupCli->execute()
    #5 /web/wa-system/waSystem.class.php(634): waController->run()
    #6 /web/wa-system/cli.php(14): waSystem->dispatchCli(Array)
    #7 /web/cli.php(3): require_once('/web...') #8 {main} 2016-01-20 08:50:04: 2016-01-20 08:50:04 php /web/cli.php shop followup Error: Query Error Query: INSERT INTO wa_app_settings (`app_id`, `name`, `value`) VALUES ('shop', 'last_followup_cli', '1453272603') Error: 1062 Message: Duplicate entry 'shop-last_followup_cli' for key 'PRIMARY' with code 1062 in '/web/wa-system/database/waModel.class.php' around line 251: 246 (isset($row['class']) ? $row['class'] : ''). 247 (isset($row['type']) ? $row['type'] : ''). 248 $row['function']."()\n"; 249 } 250 waLog::log($error."\nStack:\n".$stack, 'db.log'); >>251 throw new waDbException($error, $this->adapter->errorCode()); 252 } 253 254 return $result; 255 } 256

    и из файла db.log

    2016-01-20 08:50:04:
    Query Error
    Query: INSERT  INTO wa_app_settings
                       (`app_id`, `name`, `value`) VALUES ('shop', 'last_followup_cli', '1453272603')
    Error: 1062
    Message: Duplicate entry 'shop-last_followup_cli' for key 'PRIMARY'
    Stack:
    0. n/a:n/a
    waModel->run()
    1. n/a:n/a
    waModel->exec()
    2. n/a:n/a
    waModel->insert()
    3. n/a:n/a
    waAppSettingsModel->set()
    4. n/a:n/a
    shopFollowupCli->execute()
    5. n/a:n/a
    waController->run()
    6. n/a:n/a
    waSystem->dispatchCli()
    7. n/a:n/a
    require_once()

    в ответ на Не правильно работают отложенные сообщения

  • Vitaliy pp Vitaliy pp 18 февраля 2016 07:52 #

    подскажите, если у кого была такая же проблема - настроена отправка отложенных сообщений клиенту (через Cron http://bit.ly/1Tl2dSz), через две недели после покупки, но ему почему-то отправляется большое количество этих писем http://bit.ly/1Tl4kFX. Как сделать, чтобы отправлялось только одно письмо?

    в ответ на Отложенные сообщения - нужно просить оставить отзыв

  • Vitaliy pp Vitaliy pp 18 февраля 2016 07:41 #

    подскажите, если у кого была такая же проблема - настроена отправка отложенных сообщений клиенту (через Cron http://bit.ly/1Tl2dSz), через две недели после покупки, но ему почему-то отправляется большое количество этих писем http://bit.ly/1Tl4kFX. Как сделать, чтобы отправлялось только одно письмо?

    в ответ на Отложенные сообщения в Shop-Script

  • Vitaliy pp Vitaliy pp 16 февраля 2016 07:06 #

    вот в истории заказа эти письма http://bit.ly/1Tl4kFX


    в ответ на Не правильно работают отложенные сообщения

  • Vitaliy pp Vitaliy pp 21 января 2016 03:40 #

    добрый день. подскажите, пожалуйста, по новой версии плагина Умная переадресация (версия 2.0) - если до этого была установлена версия 1.0, что будет со старыми редиректами? они все сбросятся?

    в ответ на Приложения и плагины от Креатив Офис.

  • Vitaliy pp Vitaliy pp 11 ноября 2015 09:11 #

    разобрался, нужно было добавить функции отвечающие за вывод кнопки и чекбокса в плагин доставки (у меня файлик pickupShipping.class.php) и скопировать шаблон формы в папку

    public function getPrintForms(waOrder $order = null)
        {
            return array(
                'delivery_list' => array(
                    'name'        => _wd('shipping_courier', 'Packing list'),
                    'description' => _wd('shipping_courier', 'Order summary for courier shipping'),
                ),
            );
        }
    
        public function displayPrintForm($id, waOrder $order, $params = array())
        {
            if ($id = 'delivery_list') {
                $view = wa()->getView();
                $main_contact_info = array();
                foreach (array('email', 'phone',) as $f) {
                    if (($v = $order->contact->get($f, 'top,html'))) {
                        $main_contact_info[] = array(
                            'id'    => $f,
                            'name'  => waContactFields::get($f)->getName(),
                            'value' => is_array($v) ? implode(', ', $v) : $v,
                        );
                    }
                }
    
                $formatter = new waContactAddressSeveralLinesFormatter();
                $shipping_address = array();
                foreach (waContactFields::get('address')->getFields() as $k => $v) {
                    if (isset($order->params['shipping_address.'.$k])) {
                        $shipping_address[$k] = $order->params['shipping_address.'.$k];
                    }
                }
    
                $shipping_address_text = array();
                foreach (array('country_name', 'region_name', 'zip', 'city', 'street') as $k) {
                    if (!empty($order->shipping_address[$k])) {
                        $shipping_address_text[] = $order->shipping_address[$k];
                    }
                }
    
                $shipping_address_text = implode(', ', $shipping_address_text);
                $map = '';
                if ($shipping_address_text) {
                    $map_adapter = $this->getSettings('map');
                    if (!$map_adapter) {
                        $map_adapter = 'google';
                    }
                    try {
                        $map = wa()->getMap($map_adapter)->getHTML($shipping_address_text, array(
                            'width' => '100%', 'height' => '350pt', 'zoom' => 16
                        ));
                    } catch (waException $e) {
                        $map = '';
                    }
                }
                $view->assign('map', $map);
    
                $shipping_address = $formatter->format(array('data' => $shipping_address));
                $shipping_address = $shipping_address['value'];
    
                $view->assign(compact('shipping_address_text', 'shipping_address', 'main_contact_info', 'order', 'params'));
                $view->assign('p', $this);
                return $view->fetch($this->path.'/templates/form.html');
            } else {
                throw new waException('Print form not found');
            }
        }

    в ответ на Заказы - check_box Лист доставки и кнопка Печатать