Перейти к содержанию

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

Отзывы с изображениями


Отзывы с изображениями


Описание:

Создание отзывов о магазине на отдельной странице, с возможностью размещения отзывов в отдельном модуле.

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

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

Отзывы публикуются от нового к старым, по дате публикации.

Настройки/возможности:

1. Администратор магазина может редактировать, удалять, создавать отзыв.

2. Мультиязык.

3. Нет поддержки мульти-магазина.

4. Общие настройки модуля:

  • оповещать о новом отзыве по e-mail или нет
  • размеры фото
  • размеры прикрепленных изображений
  • размеры всплывающего изображения
  • размер фото kB
  • размер прикрепленных изображений kB
  • количество отзывов в модуле
  • разрешенные для загрузки типы файлов
  • seo url
  • заголовок страницы отзывов
  • title страницы отзывов
  • description страницы отзывов
  • keywords страницы отзывов

5. Настройки модуля в позициях

  • схему
  • расположение
  • статус
  • размеры фото
  • лимит
  • порядок сортировки

6. Настройки отзыва

  • дата публикации
  • рейтинг
  • статус
  • автор
  • текст
  • фото
  • дополнительные фото

Функциональные возможности:

Модуль использует стандартную схему работы upload opencart v1.5.6.4 с модификацией защиты(getimagesize, resize).

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

Валидация полей формы двухэтапная - js с дублированием на php. Осуществляется проверка расширения, размера, длинны имени файла.

Возможно назначить отдельной странице модуля h1, теги: title, description, keywords. Seo-url отдельной страницы работает при установленном расширении SeoPro.

Реализовано оповещение администрации магазина по средствам e-mail, указанной в разделе "Система-Настройки-Общие".

Стандартный input type=file кастомизирован, возможно использовать <a>, input и прочее, привязка к class тэга/поля и т.п.

Загрузка файлов без использования iframe, XMLHttpRequest, Flash, что позволяет на базе модуля реализовать любой интерфейс, используя только нужные технологии и решения.

Публичная оферта:

1. Автор не несет ответственности за код модуля и последствия его использования.

2. Модуль поддерживается/развивается силами сообщества opencartforum, автор не берет на себя обязательство поддержки/развития модуля.

3. Автор не заинтересован в платных доработках.


  • Добавил
  • Добавлено
    21.03.2016
  • Категория
  • Системные требования
  • Сайт разработчика
  • Старая цена
  • Метод активации
  • Ioncube Loader
  • OpenCart
  • ocStore
  • OpenCart.Pro, ocShop

 

Поделиться сообщением


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

Модуль с пробоем безопасности. Можно подделать псевдо изображение с php "бомбой" внутри. Далее уже все будет зависеть только от квалификации хакера.

Ну нельзя давать прямой доступ к загруженному файлу

Поделиться сообщением


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

Код "private function upload", "/catalog/controller/information/arbitrage.php"

	private function upload($upload_dir) {
		$upload_file = true;
		$uploaded_files = array();
		$files_unlink = array();

		foreach ($this->request->files['files']['name'] as $key => $file_name) {
			$file_usr_name = basename(preg_replace('/[^a-zA-Z0-9\.\-\s+]/', '', html_entity_decode($file_name, ENT_QUOTES, 'UTF-8')));

			if (is_uploaded_file($this->request->files['files']['tmp_name'][$key]) && file_exists($this->request->files['files']['tmp_name'][$key])) {
				$file = $upload_dir . md5(mt_rand()) . basename($file_usr_name);
				$uploaded_files[] = $file;
				$file = DIR_IMAGE . $file;

				$files_unlink[] = $file;

				if (@move_uploaded_file($this->request->files['files']['tmp_name'][$key], $file)) {
					$settings = $this->config->get('arbitrage_description');

					$image = new Image($file);

					if ($key) {
						$width = $settings['image_popup']['width'] ? $settings['image_popup']['width'] : 800;
						$height = $settings['image_popup']['height'] ? $settings['image_popup']['height'] : 600;
					} else {
						$width = $settings['dimension']['width'] ? $settings['dimension']['width'] : 50;
						$height = $settings['dimension']['height'] ? $settings['dimension']['height'] : 50;
					}

					$image->resize($width, $height);

					$image->save($file);
				} else {
					$upload_file = false;

					$this->error['upload_file'][$key] = $this->language->get('error_upload');
				}
			}
		}

		if (!$upload_file) {
			foreach ($files_unlink as $uploaded_file) {
				unlink($uploaded_file);
			}
		}

		return $uploaded_files;
	}


Код "protected function validate() {", "/catalog/controller/information/arbitrage.php"

protected function validate() {
		$this->language->load('information/arbitrage');

		if ($this->request->server['REQUEST_METHOD'] == 'POST') {
			if ((utf8_strlen($this->request->post['author']) < 3) || (utf8_strlen($this->request->post['author']) > 25)) {
				$this->error['author'] = $this->language->get('error_author');
			}

			if ((utf8_strlen($this->request->post['description']) < 25) || (utf8_strlen($this->request->post['description']) > 3000)) {
				$this->error['description'] = $this->language->get('error_description');
			}

			if (empty($this->request->post['rating'])) {
				$this->error['rating'] = $this->language->get('error_rating');
			}

			if (empty($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
				$this->error['captcha'] = $this->language->get('error_captcha');
			}
		}

		foreach ($this->request->files['files']['name'] as $key => $file_name) {
			if (!empty($this->request->files['files']['name'][$key])) {
				$settings = $this->config->get('arbitrage_description');

				$file_usr_name = basename(preg_replace('/[^a-zA-Z0-9\.\-\s+]/', '', html_entity_decode($file_name, ENT_QUOTES, 'UTF-8')));

				// Allowed file extension types
				$allowed = array();

				$filetypes = explode(',', $settings['upload_allowed']);

				foreach ($filetypes as $filetype) {
					$allowed[] = trim($filetype);
				}

				$content = file_get_contents($this->request->files['files']['tmp_name'][$key]);

				if ($key) {
					$size = $settings['attached_size'] ? $settings['attached_size'] : 100;
				} else {
					$size = $settings['photo_size'] ? $settings['photo_size'] : 1000;
				}

				if (preg_match('/\<\?php/i', $content)) {
					$this->error['upload_file'][$key] = $this->language->get('error_filetype');
				} elseif (!in_array(substr(strrchr($file_usr_name, '.'), 1), $allowed)) {
					$this->error['upload_file'][$key] = $this->language->get('error_filetype');
				} elseif ((utf8_strlen($file_usr_name) < 1) || (utf8_strlen($file_usr_name) > 255)) {
					$this->error['upload_file'][$key] = $this->language->get('error_filename');
				} elseif (($this->request->files['files']['size'][$key] / 1000) > $size) {
					$this->error['upload_file'][$key] = sprintf($this->language->get('error_filesize'), $size);
				} elseif ($this->request->files['files']['error'][$key] != UPLOAD_ERR_OK) {
					$this->error['upload_file'][$key] = $this->language->get('error_upload');
				} elseif (@getimagesize($this->request->files['files']['tmp_name'][$key]) == FALSE) {
					$this->error['upload_file'][$key] = $this->language->get('error_upload');
				} elseif ($this->error) {
					$this->error['upload_file'][$key] = $this->language->get('error_upload');
				}
			} else {
				$this->error['upload_file'][$key] = $this->language->get('error_select_file');
			}
		}

		if (!$this->error) {
			return true;
		} else {
			return false;
		}
	}


1. $this->request->files['files']['error'][$key] != UPLOAD_ERR_OK
2. @getimagesize($this->request->files['files']['tmp_name'][$key]) == FALSE
3. preg_match('/\<\?php/i', $content)
4. $file = $upload_dir . md5(mt_rand()) . basename($file_usr_name);
5. $image->resize($width, $height);

6. прошлая беседа, на ту же тему, с вами Отзывы покупателей о магазине (отдельная страница)

Поделиться сообщением


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

Код ..

<img src="<?php echo $arbitrage['image']; ?>" 

;)

И посмотрите класс Image, условие при котором не происходит ресайз ;)

preg_match - тоже можно обойти (врапперы, потоки)

Поделиться сообщением


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

preg_match - тоже можно обойти

Ключевые методы:

2. @getimagesize($this->request->files['files']['tmp_name'][$key]) == FALSE

4. $file = $upload_dir . md5(mt_rand()) . basename($file_usr_name);

5. $image->resize($width, $height);

 

<img src="<?php echo $arbitrage['image']; ?>"

?

И посмотрите класс Image, условие при котором не происходит ресайз ;)

Надеюсь вы не об этом, т.к. там resize не для безопасности

 if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $image_width, $image_height);
} else {
$image = '';
}
Если вы об этом

$image->resize($width, $height);
То о каком условии речь?

Поделиться сообщением


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

....

 if ($result['image']) {
$image = $this->model_tool_image->resize($result['image'], $image_width, $image_height);
} else {
$image = '';
}
Если вы об этом

$image->resize($width, $height);
То о каком условии речь?

 

 

    public function resize($width = 0, $height = 0, $default = '') {

        if (!$this->width || !$this->height) {

            return;

        }

...

 

        if ($scale == 1 && $scale_h == $scale_w && $this->mime != 'image/png') {

            return;

        }

 

 

Т е без ресайза ЗАГРУЖЕННОЙ бомбы

Напомню, что через врапперы и потоки можно обойти preg_match

file_get_contents - тоже пробойная в принципе функция через врапперы и потоки

Поделиться сообщением


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

Враппер php://filter — это вид метаобертки, позволяющий применять фильтры к потоку во время открытия. Использование фильтров дает возможность трансформировать данные, получаемые из файла или записываемые в файл. В PHP есть встроенные фильтры, доступные по умолчанию, но с помощью враппера php://filter также можно задействовать и пользовательские фильтры, созданные с помощью функции stream_filter_register. При этом использование неопределенных фильтров не влияет на обработку данных другими фильтрами. Например, если фильтр anyfilter не определен, то функция readfile просто выведет содержимое /etc/hosts полностью в верхнем регистре.

readfile("php://filter/read=string.toupper|\  anyfilter/resource=/etc/hosts");

Эта особенность может быть полезна для обхода проверок, на основе strpos, preg_match и других.

 

Поделиться сообщением


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

 

Обход проверки на основе getimagesize

С помощью фильтров можно удалять не только стопперы. Можно, например, модифицировать содержимое изображения, после того как оно прошло проверку на основе функции getimagesize. В качестве примера рассмотрим скрипт, в котором присутствуют такие участки кода:

extract($_REQUEST); ..................include $templatedir.'/header.html'; ..................if(!empty($_FILES) )  {   $file_info = getimagesize($_FILES['image']['tmp_name']);   if($file_info['mime'] == 'image/jpeg'){   if(move_uploaded_file($_FILES['image']\ ['tmp_name'], $folder.'/avatar.jpg')).................

При отсутствии NULL-байта может показаться, что нет возможности ни проэксплуатировать RFI, ни загрузить что-то, кроме файла avatar.jpg. Но врапперы предоставляют нам новые способы эксплуатации подобного рода уязвимостей.

....

 

Поделиться сообщением


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

 

Т е без ресайза ЗАГРУЖЕННОЙ бомбы

Не понял смысл.

 

Как писал ранее preg_match не ключевой метод проверки.

Изображение модифицируется изменением размера, что позволяет думать о полном удалении присутствующего в нем скрипта.

Опубликуйте источники откуда цитаты брали.

Поделиться сообщением


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

И надо не только на <?php проверять, но можно атаковать через

<?xml

Поделиться сообщением


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

Как вы заметили ранее это не эффективный метод, тем не менее его наличие позволяет в некоторых случаях сэкономить на getimagesize.

Интересует что вы хотели сказать этим

    public function resize($width = 0, $height = 0, $default = '') {
        if (!$this->width || !$this->height) {
            return;
        }

...

 

        if ($scale == 1 && $scale_h == $scale_w && $this->mime != 'image/png') {
            return;
        }

Поделиться сообщением


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

Пруфов очень много

Один из них

https://xakep.ru/2012/11/22/php-filter-wrapper-attacks/

 

Вообще давать загружать пользователям ХОТЬ ЧТО ТО на сервер очень опасно

 

Для этого мало ресайзить, тем более через стандартный класс Image, первое что надо сделать отдавать файлы не на прямую, а через скрипты, а ресайзить через "рандом"

Поделиться сообщением


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

 

Как вы заметили ранее это не эффективный метод, тем не менее его наличие позволяет в некоторых случаях сэкономить на getimagesize.

Интересует что вы хотели сказать этим

    public function resize($width = 0, $height = 0, $default = '') {
        if (!$this->width || !$this->height) {
            return;
        }

...

 

        if ($scale == 1 && $scale_h == $scale_w && $this->mime != 'image/png') {
            return;
        }

Как видите при этих условиях стандартная библиотека Image не ресайзит

Как вариант сделать  свою функцию ресайза, причем с "рандом" величинами а потом уже их преобразовывать в нужное

Когда хакер знает изначальные величины при которых не будет ресайза - он через враппер может их подделать

А как видите стандартная библиотека при этих условиях просто не ресайзит

Поделиться сообщением


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

 

Для этого мало ресайзить, тем более через стандартный класс Image

Почему вы так думаете?

 

первое что надо сделать отдавать файлы не на прямую, а через скрипты

Что имеете ввиду?

 

Спасибо за ссылку, ознакомлюсь.

Поделиться сообщением


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

Как видите при этих условиях стандартная библиотека Image не ресайзит

Как вариант сделать  свою функцию ресайза, причем с "рандом" величинами а потом уже их преобразовывать в нужное

Когда хакер знает изначальные величины при которых не будет ресайза - он через враппер может их подделать

А как видите стандартная библиотека при этих условиях просто не ресайзит

 

Опередили с ответом. Ознакомлюсь со статьей.

Поделиться сообщением


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

И "отдавайте" <img как это сделано в opencart через скрипт download

К примеру <img src="index.php?route=information/arbitrage/image&image_id=...">

Поделиться сообщением


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

Какой именно скрипт download имеете ввиду?

 

index.php?route=account/download/download&order_download_id=...

 

Также надо отдавать <img

 

<img src="index.php?route=information/arbitrage/image&image_id=...">

Поделиться сообщением


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

И не забудьте вставить проверку не только на <?php но и на <?xml

Поделиться сообщением


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

index.php?route=account/download/download&order_download_id=...

 

Также надо отдавать <img

 

<img src="index.php?route=information/arbitrage/image&image_id=...">

Зачем?

 

И не забудьте вставить проверку не только на <?php но и на <?xml

Считаю что лишнее.

Поделиться сообщением


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

Зачем?

 

Считаю что лишнее.

 

Не надо считать, надо сделать

Из <?xml можно выполнить что угодно

 

 

XXE-атаки

XML — широко распространенный текстовый формат, предназначенный для хранения структурированных данных, которые используются при обмене информацией между программами. Хорошо известно, что в XML-документ можно добавлять содержимое внешних файлов с помощью внешних сущностей (external entities), но при этом итоговый документ должен быть well-formed. В PHP обойти это ограничение можно с помощью фильтра convert.base64-encode.

Bypass well-formed XML output check<?xml version='1.0' standalone='yes'?><!DOCTYPE scan   [  <!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=./db.php">  ]><scan>&xxe;</scan>

Но врапперы можно использовать не только внутри XML-документа, но и в функции simplexml_load_file и в методе DOMDocument::load. Это дает возможность произвести XXE-атаку при allow_url_fopen =Off, если есть возможность манипулировать именем файла.

 

Поделиться сообщением


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

И "отдавайте" <img как это сделано в opencart через скрипт download

К примеру <img src="index.php?route=information/arbitrage/image&image_id=...">

index.php?route=account/download/download&order_download_id=...

 

Также надо отдавать <img

 

<img src="index.php?route=information/arbitrage/image&image_id=...">

 

Если не затруднит, поясните свою точку зрения.

Поделиться сообщением


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

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

Не подымал бы этот вопрос, если бы не хотел помочь хоть немного сделать безопасным

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

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

Поделиться сообщением


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

 

Если не затруднит, поясните свою точку зрения.

В каком смысле? Нет прямого линка на файл, пусть даже вы его там тысячу раз "ресайзили" и проверяли, все это обходится. Нельзя давать линк на файл прямо на сервере. А этим методом вы маскируете, заодно можно еще пару раз там "проверить" :)

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Leingard
      500.00 руб
      Скачать/Купить дополнение


      FakeReviews PRO - генерация отзывов для товаров
      Здравствуйте  Все мы хотим, чтоб в нашем магазине  покупали как можно больше товаров! Увеличение конверсии - главная цель каждого владельца магазина. Данный модуль создан как раз для этой цели.
      При помощи функционала данного модуля, Вы сможете наполнить Ваши товары интересными отзывами, которые окажут положительное влияние на клиента и обеспечат дополнительный стимул заказать именно у Вас.
       
      Возможности:
      Выбор товаров в которые добавлять отзывы Кнопка "Добавить положительные отзывы" - добавит в список отзывы из встроенной базы Неограниченное количество отзывов, которые можно добавить как в один товар, так и в несколько Укажите имена пользователей и отзывы добавятся от их имени. (Можно указать всего 1 имя). Диапазон дат - позволяет добавить отзывы равномерно, между выбранными промежутками, что создаст видимость постоянно добавления отзывов Возможность выбрать оценку, с которой добавятся отзывы Возможность выбрать статус добавляемых отзывов  
      Демо: 
      Админка: http://gameshara.ru/module/admin/ (demo, demo) Фронт: http://gameshara.ru/module/index.php?route=product/product&product_id=43  
      Активация:
      Напишите автору модуля после покупки: https://opencartforum.com/profile/17442-leingard/  
      Дополнительно:
      Отзывы добавляются в случайном порядке и не дублируются в выбранных товарах. Т.е. если у Вас выбрано 2 товара и 10 отзывов, то в каждый товар попадёт по 5 отзывов.  
      Лицензия:
      Модуль продается с лицензией на сайт. Одна покупка = Один домен Покупая копию модуля вы получаете право на использование. Распространения модуль платно или бесплатно нарушает лицензию и грозит обнулением покупки, а так же уголовной ответственность предусмотренной статей 146 УК РФ (Нарушение авторских и смежных прав)  Автор оставляет за собой право изменят условия предоставления лицензии, изменения цены и стоков продления лицензии. Все доработки, переработки и изменения функционала не входят в стоимость модуля и оплачиваются отдельно по письменной договоренности с автором.  
      Тип распространения:
      Как есть  
      Небольшой бонус: Первым 10 покупателям модуля скидка -40%
      Добавил Leingard Добавлено 23.01.2018 Категория Блоги, новости, статьи Системные требования Сайт разработчика Старая цена 500 Метод активации По запросу в ЛС Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
    • От Leingard
      Здравствуйте  Все мы хотим, чтоб в нашем магазине  покупали как можно больше товаров! Увеличение конверсии - главная цель каждого владельца магазина. Данный модуль создан как раз для этой цели.
      При помощи функционала данного модуля, Вы сможете наполнить Ваши товары интересными отзывами, которые окажут положительное влияние на клиента и обеспечат дополнительный стимул заказать именно у Вас.
       
      Возможности:
      Выбор товаров в которые добавлять отзывы Кнопка "Добавить положительные отзывы" - добавит в список отзывы из встроенной базы Неограниченное количество отзывов, которые можно добавить как в один товар, так и в несколько Укажите имена пользователей и отзывы добавятся от их имени. (Можно указать всего 1 имя). Диапазон дат - позволяет добавить отзывы равномерно, между выбранными промежутками, что создаст видимость постоянно добавления отзывов Возможность выбрать оценку, с которой добавятся отзывы Возможность выбрать статус добавляемых отзывов  
      Демо: 
      Админка: http://gameshara.ru/module/admin/ (demo, demo) Фронт: http://gameshara.ru/module/index.php?route=product/product&product_id=43  
      Активация:
      Напишите автору модуля после покупки: https://opencartforum.com/profile/17442-leingard/  
      Дополнительно:
      Отзывы добавляются в случайном порядке и не дублируются в выбранных товарах. Т.е. если у Вас выбрано 2 товара и 10 отзывов, то в каждый товар попадёт по 5 отзывов.  
      Лицензия:
      Модуль продается с лицензией на сайт. Одна покупка = Один домен Покупая копию модуля вы получаете право на использование. Распространения модуль платно или бесплатно нарушает лицензию и грозит обнулением покупки, а так же уголовной ответственность предусмотренной статей 146 УК РФ (Нарушение авторских и смежных прав)  Автор оставляет за собой право изменят условия предоставления лицензии, изменения цены и стоков продления лицензии. Все доработки, переработки и изменения функционала не входят в стоимость модуля и оплачиваются отдельно по письменной договоренности с автором.  
      Тип распространения:
      Как есть  
      Небольшой бонус: Первым 10 покупателям модуля скидка -40%
    • От Bn174uk
      300.00 руб
      Скачать/Купить дополнение


      Telegram уведомления
      Модуль позволяет получать уведомления о заказах, отзывах о товаре, новых зарегистрированных  пользователей и сообщений с формы контактов в Telegram.
       
      NEW Так же есть возможность настроить уведомление о смене статуса заказа в админке. Это будет полезно, когда на сайте работают менеджеры и хочется знать информацию как быстро они обрабатывают заказы.
       
       
      У кого хостинг располагается на территории России есть вероятность, что модуль не будет работать из-за блокировки telegram-а в России.

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

      Писать на почту: serfbots@gmail.com c темой письма VK модуль взамен Telegram. 

      P.S. Больше галочка "Страна Россия" - не актуально, т.к. сервис тот прекратил свое существование.
       

      Инструкция по настройке:

      Шаг 1:
      Зайдите в Telegram, в поиске найдите бота BotFather и начните с ним общение. Напишите боту команду /newbot - это команда для создания нового бота. BotFather в ответ попросил, чтобы Вы написали имя бота. Напишите обратным сообщением это имя (Например: Бот для уведомлений о заказах) - это имя можно потом поменять. После ввода имени BotFather запросит ввести username (публичное имя бота) оно должно иметь окончание bot (Например: cmsshopbot или cmsshop_bot); Если такое имя не занято, то в ответ получите сообщение с token вашего нового бота; Перейдите по ссылке на своего бота из сообщения либо найдите его в поиске по username (которое указали) и нажмите /start. Это надо для того, чтобы бот смог Вам писать. Без этого Вы не сможете получать уведомления. Шаг 2:
      Выберите нужную версию модуля в зависимости от Вашей версии opencart; Установите модуль через стандартный менеджер дополнений; Обновите кеш OCMOD; Шаг 3:
      После перейдите в расширения->модули и найдите "A-Telegram уведомление" активируйте его; Зайдите в настройки модуля; Укажите token(в поле "Токен бота") который выдал Вам бот BotFather; Укажите ID юзера кому должны приходить уведомления о заказах. Если нужно, чтобы приходило нескольким получателем уведомления, укажите через запятую эти ID (Например: 12222222222,22222223333,333333333); Проще всего узнать свой ID в Telegram отправив сообщение боту ShowmeidBot. Дальше отметьте галочкой поля, которые должны приходить в уведомлении и нажмите сохранить. Все, бот настроен и готов к использованию. Системные требования:
      PHP 5.3 или выше; Сurl; Техническая поддержка:

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

      В планах:
      Сделать поддержку opencart 3; Расширить функционал для получения уведомлений о новых комментариях и отзывах; Сделать более гибкую настройку полей; Добавил Bn174uk Добавлено 20.02.2018 Категория Письма, почта, рассылки, sms Системные требования Curl Сайт разработчика http://cmsshop.com.ua/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
    • От Bn174uk
      Модуль позволяет получать уведомления о заказах, отзывах о товаре, новых зарегистрированных  пользователей и сообщений с формы контактов в Telegram.
       
      NEW Так же есть возможность настроить уведомление о смене статуса заказа в админке. Это будет полезно, когда на сайте работают менеджеры и хочется знать информацию как быстро они обрабатывают заказы.
       
       
      У кого хостинг располагается на территории России есть вероятность, что модуль не будет работать из-за блокировки telegram-а в России.

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

      Писать на почту: serfbots@gmail.com c темой письма VK модуль взамен Telegram. 

      P.S. Больше галочка "Страна Россия" - не актуально, т.к. сервис тот прекратил свое существование.
       

      Инструкция по настройке:

      Шаг 1:
      Зайдите в Telegram, в поиске найдите бота BotFather и начните с ним общение. Напишите боту команду /newbot - это команда для создания нового бота. BotFather в ответ попросил, чтобы Вы написали имя бота. Напишите обратным сообщением это имя (Например: Бот для уведомлений о заказах) - это имя можно потом поменять. После ввода имени BotFather запросит ввести username (публичное имя бота) оно должно иметь окончание bot (Например: cmsshopbot или cmsshop_bot); Если такое имя не занято, то в ответ получите сообщение с token вашего нового бота; Перейдите по ссылке на своего бота из сообщения либо найдите его в поиске по username (которое указали) и нажмите /start. Это надо для того, чтобы бот смог Вам писать. Без этого Вы не сможете получать уведомления. Шаг 2:
      Выберите нужную версию модуля в зависимости от Вашей версии opencart; Установите модуль через стандартный менеджер дополнений; Обновите кеш OCMOD; Шаг 3:
      После перейдите в расширения->модули и найдите "A-Telegram уведомление" активируйте его; Зайдите в настройки модуля; Укажите token(в поле "Токен бота") который выдал Вам бот BotFather; Укажите ID юзера кому должны приходить уведомления о заказах. Если нужно, чтобы приходило нескольким получателем уведомления, укажите через запятую эти ID (Например: 12222222222,22222223333,333333333); Проще всего узнать свой ID в Telegram отправив сообщение боту ShowmeidBot. Дальше отметьте галочкой поля, которые должны приходить в уведомлении и нажмите сохранить. Все, бот настроен и готов к использованию. Системные требования:
      PHP 5.3 или выше; Сurl; Техническая поддержка:

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

      В планах:
      Сделать поддержку opencart 3; Расширить функционал для получения уведомлений о новых комментариях и отзывах; Сделать более гибкую настройку полей;
    • От seregin
      360.00 руб
      Скачать/Купить дополнение


      Модуль Отзывы покупателей
      Модуль добавляет возможность покупателям оставлять отзывы о сайте. Имеется множество параметров для настройки модуля. Покупатели могут писать длинные сообщения и оценивать ваш сайт.

      Основные возможности
      Редактор BB кодов WysiBB Смайлы Добавление фото и видео(Youtube) Большой выбор полей и управление ими Сортировка отзывов по дате и оценкам Ссылка с призывом оставить отзыв в письме с заказом Комментирование отзыва администратором сайта Показ отзывов на выбранном языке сайта Описание и мета-теги для страницы Captcha  
      Совместим с Opencart: 2.1.0.1 - 3.0.2.0
      Совместим с ocStore: 2.1.0.1 - 2.3.0.2.3

      Демонстрация

      Страница с отзывами: Перейти на сайт
      Модуль: Перейти на сайт
      Список отзывов в панели управления: Перейти на сайт
      Настройки: Перейти на сайт

      Доступ в Панель управления

      Логин - demo
      Пароль — demo
      Добавил seregin Добавлено 09.03.2016 Категория Модули Системные требования Сайт разработчика http://seregin-pro.ru/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×