Jump to content

Gann

Пользователи
  • Content Count

    653
  • Joined

  • Last visited

Community Reputation

58 Очень хороший

3 Followers

About Gann

  • Rank
    Продвинутый пользователь
  • Birthday 05/04/1989

Контакты

  • Сайт
    http://8uh.ru

Информация

  • Пол
    Мужчина
  • Город:
    СССР
  • Интересы
    сайты, SEO, автомобили, девушки, деньги

Recent Profile Visitors

2,890 profile views
  1. Всем привет! Установил модуль SMSnot на 2.1. Всё хорошо, модуль отправляет SMS при новом заказе, но вод незадача - СМС отправляется и при редактировании заказа админом. Код контроллера: <?php class ControllerModuleSmsnot extends Controller { public function onHistoryChange($order = 0) { if (is_array($order)) { $order_id = $order['order_id']; } elseif (($order == 0) AND (isset($this->session->data['order_id']))) { $order_id = $this->session->data['order_id']; } elseif (($order == 0) AND (isset($this->request->get['order_id']))) { $order_id = $this->request->get['order_id']; } else { $order_id = $order; } $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($order_id); $this->load->model('setting/setting'); $this->load->model('module/smsnot'); $setting = $this->model_setting_setting->getSetting('smsnot'); $sms_log = (isset($setting['smsnot-log']))?$setting['smsnot-log']:0; if (isset($setting) && ($setting['smsnot-enabled']) && (!empty($setting['smsnot-apikey'])) && ((isset($setting['smsnot-order-change'])) && ($setting['smsnot-order-change'] == 'on')) || ((isset($setting['smsnot-new-order'])) && ($setting['smsnot-new-order'] == 'on')) || ((isset($setting['smsnot-owner'])) && ($setting['smsnot-owner'] == 'on'))) { if ($order_info['order_status_id'] && $this->model_module_smsnot->getHistoryCount($order_id) > 1) { $history = $this->model_module_smsnot->getHistory($order_id); $total = $this->currency->convert($order_info['total'], $order_info['currency_code'], $order_info['currency_code']); $status = (isset($order_info['order_status']))?$order_info['order_status']:""; $original = array("{StoreName}","{OrderID}","{Status}", "{LastName}", "{FirstName}", "{Total}", "{Comment}"); $replace = array($this->config->get('config_name'), $order_id, $status, $order_info['lastname'], $order_info['firstname'], $total, $history['comment']); $message = str_replace($original, $replace, $setting['smsnot-message-template']); $phone = preg_replace("/[^0-9]/", '', $order_info['telephone']); if (isset($setting['smsnot-order-change-notice']) && ($setting['smsnot-order-change-notice'] == 'on') && ($history['notify'])) { $ok = 1; } elseif ((isset($setting['smsnot-order-change-notice'])) && ($setting['smsnot-order-change-notice'] == 'on') && (!$history['notify'])) { $ok = 0; } elseif ( (!isset($setting['smsnot-order-change-notice'])) && (isset($setting['smsnot-order-change'])) && ($setting['smsnot-order-change'] == 'on') ) { $ok = 1; } elseif (!isset($setting['smsnot-order-change'])) { $ok = 0; } else { $ok = 1; } if ((preg_match('/(\+|)[0-9]{11,12}/', $phone)) && ($ok)) { $this->sms_send($setting['smsnot-apikey'], $phone, $message, $setting['smsnot-sender'], $sms_log); } } elseif ($this->request->get['route'] != 'api/order/delete') { $total = $this->currency->convert($order_info['total'], $order_info['currency_code'], $order_info['currency_code']); if (isset($setting['smsnot-owner']) && ($setting['smsnot-owner'] == 'on')) { $original = array("{StoreName}","{OrderID}", "{Total}", "{LastName}", "{FirstName}", "{Phone}", "{City}", "{Address}", "{Comment}"); $replace = array($this->config->get('config_name'), $order_id, $total, $order_info['lastname'], $order_info['firstname'], $order_info['telephone'], $order_info['shipping_city'], $order_info['shipping_address_1'], $order_info['comment']); $message = str_replace($original, $replace, $setting['smsnot-message-admin']); $phones = explode(',', $setting['smsnot-phone']); foreach ($phones as $phone) { $this->sms_send($setting['smsnot-apikey'], $phone, $message, $setting['smsnot-sender'], $sms_log); } } if (isset($setting['smsnot-new-order']) && ($setting['smsnot-new-order'] == 'on')) { $original = array("{StoreName}","{OrderID}", "{LastName}", "{FirstName}", "{Total}"); $replace = array($this->config->get('config_name'), $order_id, $order_info['lastname'], $order_info['firstname'], $total); $message = str_replace($original, $replace, $setting['smsnot-message-customer']); $phone = preg_replace("/[^0-9]/", '', $order_info['telephone']); if (preg_match('/(\+|)[0-9]{11,12}/', $phone)) { $this->sms_send($setting['smsnot-apikey'], $phone, $message, $setting['smsnot-sender'], $sms_log); } } } } } private function sms_send($api_id, $to = 0, $text = 0, $logRec = 0) { if (extension_loaded('curl')) { $param = array( "api_id" => $api_id, "to" => $to, "text" => $text, "json" => 1); $ch = curl_init("http://sms.ru/sms/send"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, $param); $result = curl_exec($ch); curl_close($ch); } else { $result = file_get_contents('http://sms.ru/sms/send?api_id='.$api_id.'&to='.$to.'$text='.$text.'&json=1'); } $send_data = json_decode($result, true); if ($logRec) { $this->load->model('module/smsnot'); $to_log = array(); if ($send_data['status_code'] == 100) { $to_log['error'] = $send_data['sms'][$to]['status_code']; $to_log['smsru'] = $send_data['sms'][$to]['sms_id']; } else { $to_log['error'] = $send_data['status_code']; $to_log['smsru'] = 0; } $to_log['phone'] = $to; $to_log['text'] = $text; $this->model_module_smsnot->setLogRecord($to_log); } return true; $log = new Log('smsnot_log.txt'); $log->write('login('.$param["api_id"].'), phone('.$param["to"].'), text('.$param["text"].'): catalog'); $json['error'] = 0; return $json; } } Кто-нибудь сможет подсказать, как исправить - не отправлять СМС при редактировании заказа админом. СМС приходят только админу. Покупателю не отправляем.
  2. приветствую! Обновился до 52.0. В консоли ошибка: blog.comment.js:376 Uncaught TypeError: $(...).rating is not a function at ratingloader (blog.comment.js:376) at wisybbloader (blog.comment.js:357) at HTMLAnchorElement.<anonymous> (blog.comment.js:806) at HTMLDocument.dispatch (jquery-2.1.1.min.js:3) at HTMLDocument.r.handle (jquery-2.1.1.min.js:3) at Object.trigger (jquery-2.1.1.min.js:3) at HTMLAnchorElement.<anonymous> (jquery-2.1.1.min.js:3) at Function.each (jquery-2.1.1.min.js:2) at n.fn.init.each (jquery-2.1.1.min.js:2) at n.fn.init.trigger (jquery-2.1.1.min.js:3)
  3. по бюджету - хотелось бы услышать предложения от разработчиков по срокам - аналогично
  4. Приветствую! На данный момент составляем ТЗ. Ищем исполнителя, который бы мог выполнить это ТЗ. Суть в следующем: 1. Синхронизация цен и остатков из 1С по API. Сайт обращается по API к 1С - передаёт model товара - получает количество на складе и цену. Скорее всего - это нужно сделать модулем, чтобы можно было в админке зайти и нажать кнопку - обновить, указать период, через который стоит обновить, cron 2. В корзине - при недостающем количестве на складе - нужно чтобы сайт обратился по API к 1С, передал ID товара - получил срок изготовления для недостающих позиций - показал в корзине сроки 3. Если покупатель зарегистрирован и зашёл в личный кабинет - сайт должен обратиться по API к 1С, передать данные по клиенту - получить размер персональной скидки. Согласно этой скидки - обновляем цену в корзине. 4. Пока что всё. 5. Возможно блок 1 и 2 - объединим, чтобы сразу получать цену, количество и срок изготовления. Все изменения нужно упаковывать в модули или отдельные файлы. Не изменять код движка. Просьба адекватно оценивать свою работу, силы, затраты и т.п. Оплата: думаю, что на Яндекс.Кошелёк, с протекцией - аванс, далее - частями по мере выполнения. Можно хоть каждый день, сделали часть - получили расчёт. Обсуждаемо.
  5. Приветствую! Попробуйте /admin/index.php?route=common/login - такая ссылка открывается?
  6. Приветствую! Впервые сталкиваюсь с таким. Адрес сайта _http://v-energo.ru Периодически, вместо http://v-energo.ru/katalog/ может открыться http://v-energo.ru/bZbTi/katalog/ Эти символы меняются раз от раза. Никакой связи уловить не удалось. Айболитом просканировал несколько раз - всё чисто. Основные файлы просмотрел - чистые. В хтацесс - чисто. В конфигах - чисто. В каталог залил файлы seo url и seo pro чистые. Всё равно периодически вываливаются такие странные страницы с Запрашиваемая страница не найдена! Кто-нибудь сталкивался с подобным? как устранить? Модули отключал - всё равно нетнет, да выскочит ошибка. Это хостинг может чудить?
  7. подскажите, как изменить тему письма? Создал несколько виджетов, и с каждого идёт письмо - ""Название магазина" - пришло обращение". Хотелось бы сменить заголовок письма. п.с. разобрался нужно добавить $_['text_subject'] и указать как хочется это в каталог язык сеоцмс
  8. Здравствуйте! Модуль поддерживается? Вышли изменения в сервисе нотификаций, здесь https://yadi.sk/i/xbtEIGJMfwfXLw
  9. кто нибудь решил вопрос с V3 на опенкарте? я только готовый модуль нашёл https://www.opencart.com/index.php?route=marketplace/extension/info&amp;extension_id=36251&amp;filter_search=captcha&amp;filter_license=1&amp;filter_download_id=43&amp;page=2
  10. костыль работает, но приходится постоянно авторизовываться
  11. Доброго дня! Подскажите, пожалуйста, как реализовать следующее: 1. есть произвольное поле файл - с админки настраивается 2. при оформлении заказа - через это поле загружается файл Как прицепить этот загруженный файл к письму о заказе админу? Или - хотя бы как ввывести прямую ссылку на скачивание этого файла? Проблема в том, что при такой загрузке - к файлу дописывается код и прямая ссылка не возможна
  12. В мультимагазине не работает. Выдаёт: No license key for the module mm_filter! Please, pass to the page of the module! Хотя мультимаг на поддоменах.
  13. для картинок - медиазапросы, в css для раскраски - в css: .element_calss::nth-child(n){...стиль....}
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.