Вход • Регистрация

Модуль централизованного управления контентом для типовых сайтов.

  • 04 января 2013 г.
  • Введение
    Есть много дилеров. Часть информации общая, её можно разместить в центральном хранилище. Из него диллеры будут извлекать необходимые данные и размещать у себя на сайте (при необходимости вставляя или немного модифицируя предложеный вариант).
    Данные
    У нас имеется обфусцированный модуль "Автообновление", пытался в нём разобраться, но както глаза ломаются.
    Всё что я понял это то что страница формируется путём URI манипуляций и данных которые передаются через глобальные переменные.

    создал 2 блока:
    Код
    public function show() {
    switch($this->diafan->page) {
    case 2: $this->get_rf_list(); break;
    default: $this->rf_link(); break;
    }
    // выводим список
    $this->diafan->list_row();
    }

    private function rf_link() {
    // ссылка выводится замечательно
    echo '<a href="'.$this->diafan->get_admin_url('page').'page2/">'.$this->diafan->_('Проверить обновления').'</a>';

    private function get_rf_list() {
    // здесь будем коннектится и вынимать обновления
    echo 'Ау, сестрица Алёнушка. Ты где?';
    }


    Засада
    Как только мы нажимаем кнопку "Проверить обновления" впадаем в бесконечный цикл вызова "/page1"
    Как прервать порочный круг? Уведомить CMS о прекращении добавления JS
    Код
    <script type="text/javascript" language="javascript">
    window.location.href='http://dealer/cabinet/modulename/page1/';
    </script>
    и вывести администраторский интерфейс?

  • 04 января 2013 г.
  • Догадки: $this->page должно быть равно 0 или отсутствовать, это как раз переменная берущаяся из URI в моём случае "page2/" которое в последствии трансформируется в "page1/" и так до бесконечности.

    Осталось выяснить/придумать как в таком случае и где сохранять промежуточные, сырые данные и способ передачи информации о выполнении между серией редиректов для вывода её на странице.
  • 04 января 2013 г.
  • Хм
    Если закоментировать
    Код
    // выводим список
    $this->diafan->list_row();
    }

    т.е. запретить вывод списка обновления то можно по отдельности рулить процессами путём перехода по страницам.
  • 09 января 2013 г. , редакция: 09 января 2013 г.
  • API > База данных
    Тут есть DB::connect("mysql://user_sql:pass@localhost/diafan_base");
    Если я использую этот метод для подключения к сторонней удалённой БД, то не произойдёт ли такая неприятная ситуация что все последуюшие запросы к БД пойдут именно к последнему моему подключению и каким образом потом происходит завершение сеанса работы с удалённой БД?
    Если оно так и будет, а оно так и есть, как теперь вернутся к дефолтной базе с которой работает сама CMS?

    Пока использую повторно DB::connect после всех манипуляций с удалёнными данными.

Новости

  • 24 апреля, среда
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.