[Soft] ImageCMS Premium 4.12 + Модули

Каким способом размещаем модули?

  • Индивидуально по запросу

    Голосов: 26 15,2%
  • Полный слив паком

    Голосов: 59 34,5%
  • Файлы на мыло.ру / Яндекс-диск / Эх.юа

    Голосов: 89 52,0%
  • Только проверенным участникам

    Голосов: 21 12,3%

  • Всего проголосовало
    171
Абузоустойчивый хост не вариант?
В данном случае нет, домен новый(совсем) товаров будет много, вроде-бы как разговор идёт к тому что если всё пойдёт как надо лицензию купят. Но хотелось бы понять, с статистикой меньше 100 хостов в сутки, сайт проживёт хотя-бы месяца 4-5 .
 
К сожалению от 1 до 3 месяцев и ВСЕ
Купить или удалить ? или серьезнее ?

Что-то вообще ничего не понятно.
Для просмотра ссылки Войди или Зарегистрируйся
Забили в плане разработки или как продукт больше 4я линейка не развивается ?
Вообще в некоторых файлах написано open source project .
 
Последнее редактирование:
Купить или удалить ? или серьезнее ?

Что-то вообще ничего не понятно.
Для просмотра ссылки Войди или Зарегистрируйся
Забили в плане разработки или как продукт больше 4я линейка не развивается ?
Вообще в некоторых файлах написано open source project .
Да нет ни каких абуз. Главное почистить норм и заблокировать подсетку разрабов.
Магаз 2 года уже как живет и ни единой проблемы. Письма счастья летели, но по факту хостеру насрать. Хостинг Beget.
 
У кого есть модуль Модуль Связанных товаров (Комбинации товаров) очень нужно не могу найти
 
Скажите есть модуль Новая Почта можно даже и Lite для версии 4.12
 
Всем доброго времени суток.
В общем проблема не нова, но я либо что то пропустил, либо не смог найти.
А необходимо следуюющее: надо в форме обратного звонка вывести гугл каптчу "Я не робот". Вывести я её вывел, но вот сообщение о том что она не заполнена не появляется.
Форма на AJAX.
Как сделать если не заполнили чтобы выводилось сообщение об ошибке?
Код:
<?php

use callbacks\Exceptions\ValidationException;
use cmsemail\email;
use CMSFactory\assetManager;
use CMSFactory\Events;
use Propel\Runtime\ActiveQuery\Criteria;
use Propel\Runtime\Exception\PropelException;

(defined('BASEPATH')) OR exit('No direct script access allowed');

/**
* Image CMS
* Callbacks
*/
class Callbacks extends MY_Controller
{

    public function __construct() {

        parent::__construct();
        $lang = new MY_Lang();
        $lang->load('callbacks');
        // Load library
        $this->load->library('Recaptcha');
    }

    /**
     * Render form and save callback
     *
     * @return void
     * @throws PropelException
     */
    public function index() {

        $this->core->set_meta_tags(lang('Callback', 'callback'));
        $this->template->registerMeta('ROBOTS', 'NOINDEX, NOFOLLOW');

        $this->load->library('Form_validation');
        if ($this->input->post()) {
            try {
                $success = $this->createFromPost();
           
            } catch (ValidationException $e) {
                $success = false;
            }
            if (!$this->input->is_ajax_request()) {
                $this->session->set_flashdata('success_message', $success);
                redirect(site_url('/callbacks'));
            }
        }

        $message = isset($success) ? $success : $this->session->flashdata('success_message');

        assetManager::create()
            ->setData('themes', SCallbackThemesQuery::create()->setComment(__METHOD__)->joinWithI18n(MY_Controller::getCurrentLocale(), Criteria::INNER_JOIN)->find())
            ->setData(['success' => $message])
            ->render('callback');
    }

    /**
     * Create new callback from $_POST data
     * @return string
     * @throws ValidationException
     * @throws PropelException
     */
    public function createFromPost() {

        $this->load->library('Form_validation');

        $model = new SCallbacks;
        $this->form_validation->set_rules($model->rules());

        // Ответ защитного кода
        $captcha_answer = $this->input->post('g-recaptcha-response');
        // Проверка защитного кода
        $response = $this->recaptcha->verifyResponse($captcha_answer);
       
       
        if (!$this->form_validation->run() OR $response['success']===FALSE) {
            throw new ValidationException(
                [
                 'message' => validation_errors(),
                 'errors'  => $this->form_validation->getErrorsArray(),
                ]
            );
        }

        $theme = SCallbackThemesQuery::create()->setComment(__METHOD__)->orderByPosition()->findOne();
        $status = SCallbackStatusesQuery::create()->setComment(__METHOD__)->filterByIsDefault(TRUE)->findOne();

        $model->fromArray($this->input->post());
        $model->setThemeId($theme ? $theme->getId() : 0);
        $model->setStatusId($status ? $status->getId() : 0);
        $model->setDate(time());
        $model->save();

        $this->sendEmail($model);
        Events::create()->raiseEvent(['model' => $model], 'Shop:callback');
        return $this->getMessage();
    }

    /**
     * @todo move callback configs(success message etc.)
     *       from answer notifications && shop settings
     *       to own module configs
     *
     * @return string
     */
    protected function getMessage() {

        $notification = $this->db
            ->where('locale', \MY_Controller::getCurrentLocale())
            ->where('name', 'callback')->get('answer_notifications');

        return $notification->num_rows() > 0 ? $notification->row()->message : '';
    }

    /**
     * @param SCallbacks $callback
     * @return bool
     * @throws PropelException
     */
    protected function sendEmail(SCallbacks $callback) {

        $callback_variables = [
                               'callbackStatus' => $callback->getSCallbackStatuses() ? $callback->getSCallbackStatuses()->getText() : '',
                               'callbackTheme'  => $callback->getSCallbackThemes() ? $callback->getSCallbackThemes()->getText() : '',
                               'userName'       => $callback->getName(),
                               'userPhone'      => $callback->getPhone(),
                               'dateCreated'    => date('d-m-Y H:i:s', $callback->getDate()),
                               'userComment'    => $callback->getComment(),
                              ];
        return email::getInstance()->sendEmail($this->dx_auth->get_user_email(), 'callback', $callback_variables);
    }

}

/* End of file callbacks.php */
 
Назад
Сверху