Рубрика «cms» - 29

В общем, нигде не нагуглил почему bb3 не не отвечает на запрос HTTP_IF_MODIFIED_SINCE и не отдает заголовок Last-Modified.
А поисковики это дело любят, потому что время обработки страницы иногда сокращается в разы(не нужно сверять контент).
После изучения проблемы и копания в коде созрело решение.
Допилить самому.
Читать полностью »

image

В жизни любого хостинг-провайдера перенос клиентов между собственными серверами – задача достаточно обыденная. Для подобного переноса может быть множество причин: начиная с планового апгрейда оборудования или софта и планового «перераспределения» клиентов в связи с неравномерной загрузкой серверов, заканчивая срочным перемещением пользователей в случае аварий.

Реже в жизни провайдеров возникают задачи по переносу клиентов от другого провайдера shared-хостинга.
Причиной такого переноса может быть как «усталость» хостера-«донора» от подобного высокотехнологичного бизнеса, так и вынос услуг хостинга на аутсорсинг в более крупную хостинг-компанию в случае, если оказание этих услуг не является для решившейся на перемены организации профильным бизнесом (например, если речь идет о веб-студии, интернет-провайдере, провайдере сервис-услуг и т.д.).
Количество потенциальных проблем при переносе клиентов между разными провайдерами намного больше, нежели при переносе внутри одного хостинг-провайдера. Это связано с тем, что инфраструктура «старого» и «нового» провайдера может значительно отличаться:
Читать полностью »

В последнее время очень много говорится о схеме проектирования MVC, почти все популярные PHP-фреймворки уже давно перешли на эту схему. Что же касается Kohana, то начиная с версии 3, реализована иерархическая схема MVC – HMVC. Преимущества HMVC, всем понятны и мы не будем их здесь обсуждать.

Я, как желающий сменить статус «программиста-любителя» на «программиста-профессионала» решил, что уже достаточно изучил PHP и пора начинать работать с фреймворками, выбор моего самого первого фреймворка пал на именно Kohana, т.к. в нем реализуется HMVC, ну и вообще, его много хвалят за простоту.

В реальности все оказалось не просто, но особенно напрягало отсутствие изолированности триад MVC, триады разбивались на части и помещались в разные папки. В моем понимании, триада Model-View-Controller, должны быть изолированны от других триад, и находиться в одной папке, конечно, это можно было реализовать в Kohana, но все будет выглядеть очень «коряво» и запутанно. Еще было не понятно, почему не используется такая замечательная возможность PHP как пространство имен? Просмотрел еще несколько HMVC-фреймворков, но не к одному «душа не легла». Тогда я решил самостоятельно реализовать HMVC.

Сразу установил несколько директив:

  • Должно использоваться пространство имен
  • Автозагрузка классов работает на пространстве имен
  • В автозагрузку можно добавлять несколько папок
  • Каждое приложение имеет свою папку, на которую устанавливается автозагрузка
  • Каждая триада, в том числе и шаблоны, помещается в отдельную папку, соответственно, находятся в своем пространстве имен
  • По умолчанию, части MVC называются своими именами, Controller, Model и View, в каждой папке триады должна быть папка templates для шаблонов
  • Очень простой роутинг, URI просто разбивается в массив
  • Controller похож на Kohana_Controller
  • Controller получает информацию о том, что от него хотят в конструкторе, разбирает информацию URI-массива, после чего запускает метод action()
  • Метод action() проверяет методы объекта и запускает соответственно action_действие()
  • Генерация HTML, осуществляется методом контроллера render()

Потом добавил еще несколько:

  • Роутинг осуществляет расширенный контроллер, он разбивает URI в массив, сначала проверяет свои actions, если не находит, то ищет зарегистрированный контроллер
  • Результат работы модели сохраняется в контроллере, передается в View, при создании в методе контроллера render()
  • Метод action() публичный, созданный контроллер можно еще раз запустить и сгенерировать HTML
  • View похож на Kohana_View, для приложения, View необходимо «вытащить» в глобальное пространство имен при помощи наследования, заодно немного настроив, все остальные View должны быть наследниками глобального View
  • Контроллеры и View должны знать в какой папке и в каком пространстве имен они находятся, для этого они наследуются от специального класса NameSpaceAdapter, это нужно для правильного поиска View из контроллера, а так же папки templates из родительского View
  • Главный шаблон для каждой триады — template.php
  • Контроллеры автоматически передают в View свой action, на основании этой информации View из главного шаблона template.php самостоятельно ищет нужный шаблон action.php, поэтому не должно быть action_template(), это приведет к зацикливанию шаблонов
  • Для администрирования можно создать шаблоны с префиксом admin_action.php, которые можно вызвать только если установлена константа ADMIN

В итоге получилась небольшая HMVC структура, Model не играет роли, поэтому код не привожу, скажу только, что склоняюсь к статическому классу.
Читать полностью »

Обзор Особенности встроенного редактирования контента.

Что нового можно придумать в технологии редактирования контента? Все уже привыкли, что для редактирования приходится вначале искать нужный материал в недрах CMS, а потом искать в большой форме то поле, в котором меняется сам текст. И хорошо, если в этом поле он будет показан с таким же оформлением, как на сайте. Но часто эта форма для управления содержимым является не только очень мощной (когда позволяет внести изменения в метаинформацию), но и избыточной. Ведь если вы забыли поставить запятую, то придётся вновь проделывать все эти операции.
Вместо этого inplace-редакторы дают возможность сконцентрироваться на самом тексте без необходимости искать материал в недрах админки.Читать полностью »

Корректная работа механизмов информационного обмена программ на базе 1С: Предприятие с сайтом PHPShop зависит от того, насколько верно выполнены настройки синхронизации в обработке обмена. Однако, именно выполнение первоначальных настроек чаще всего вызывает у пользователей наибольшие затруднения.

В качестве одного из решений в оказании технической помощи своим пользователям компания PHPShop включили в состав обработок обмена 1С помощник настроек, позволяющий последовательно заполнить и проверить настройки подключений к сайту и ftp-серверу, параметры выгрузки товаров на сайта и обратной загрузки заказов в 1С.
Читать полностью »

Сколько себя помню, всегда любил разные тусовки разработчиков и хороших специалистов разного ИТ-профиля. Из первых рук можно узнать множество интересной информации, а в кулуарах порой возникают уникальные договоренности или раскрываются разные секреты. К сожалению, мой родной Екатеринбург — не самый передовой город в этих вопросах. Попробуем исправить ситуацию?Читать полностью »

Начиная с сегодняшнего дня у HolyCMS 3 появилась онлайн-демо – теперь можно оценить возможности интерфейса администратора и редактора сайта без установки на собственный хостинг!

HolyCMS 3 — онлайн демо сайты
Читать полностью »

CMS с открытыми исходниками и лицензией “твори что хочешь, только автора упомяни” продолжает развиваться, добавляя в себя больше ООПшности, MVCшности и прочей няшности.

Holy CMS 3.2 – работа над ошибками, или добавим к Битриксу ложечку Коханы

Читать полностью »

Механизмы аутентификации и подтверждения платежа посредством электронной подписи широко применяются в системах ДБО. Эволюция технических средств электронной подписи наглядно показана в статье Щит и меч в системах ДБО. Кратко линейку можно можно представить в виде — токены, токены с криптографией на борту, touchscreen с криптографией на борту.

Обычно устройства с криптографией на борту реализуют базовые криптографические алгоритмы — ЭП, хэш-функцию, шифрование. Но в ряде случаев в системах ДБО для аутентификации и ЭП применяются цифровые сертификаты. Для интеграции криптографических возможностей устройств и инфраструктуры PKI мы выпустили решение Рутокен WEB PKI Edition, мультиплатформенный и мультибраузерный плагин для систем с web-интерфейсом.

Новая версия плагина поддерживает наш touchscreen с криптографией на борту — устройство Рутокен PINPad. Теперь можно проверить, что подписывается действительно платежка, отображаемая в браузере.

Таким образом, мы предлагаем разработчикам систем ДБО универсальное решение, которое по ряду показателей безопасности, возможностей и удобства использования не имеет аналогов.

На картинке показана интегральность решения — объединение возможностей различных устройств, интеграция с PKI — и все это работает в браузере.

Щит и меч в системах ДБО. Прикладное решение

Читать полностью »

Ни для кого не секрет, для чего проводятся конкурсы. Конечно, это разновидность рекламы, и часто в виде конкурса она более эффективна, чем классическая реклама прямого воздействия. Потому что, во-первых, рекламодателю обходится относительно недорого: нужен всего лишь призовой фонд. Во-вторых, народный резонанс выше и внимание целевой аудитории более пристальное. А для интернет-конкурсов еще и в том выгода, что после конкурса следы останутся, которые будут давать дополнительную отдачу еще долгое время. По крайней мере так нам казалось, когда мы задумали провести конкурс. Так ли это на самом деле — покажет время.

Сразу скажу, ранее конкурсы мы не проводили, это наш первый опыт. Хотя интернет-рекламу использовали и используем всякую. И что интересно, в сети много информации о том, как запустить тот или иной вид традиционной рекламы, но найти руководство по проведению конкурса — не сыщешь. Поэтому организацией конкурса мы занимались с нуля. А на фоне того, что мы уже долгое время по всякому рекламируемся в интернете, нам будет с чем сравнивать. Обо всем мы расскажем ниже.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js