• Современная, быстрая и удобная система управления сайтом
  • 4-е место в рейтинге бесплатных CMS для блогов + добавить свой сайт
  • Более 100 тысяч созданных сайтов
  • Русскоязычная поддержка. Постоянное развитие системы
  • Готовые программные решения (плагины, виджеты, модули и т.п.)
  • Открытый исходный код на GitHub
  • SEO-friendly — идеальна для поискового продвижения
  • Минимальная нагрузка. Работает на любом хостинге
  • Автоматическая установка и обновление системы
Возможности | Помощь | Архив | Отзывы | Помочь проекту

Переход на CodeIgniter 1.6.2 откладывается

Просмотров: 7892Комментарии: 0
CodeIgniter

Похоже, перемудрили разработчики.  В новой версии что-то неладное творится с подключением библиотек. :-(

После перехода вдруг перестал работать Xmlrpc. Я долго бился, пока не выяснил, что в новой версии подключается лишь часть библиотек, хотя в autoload'е все стоит как положено. Собственно там всего две библиотеки: база данных и сессия. И вот в моем классе Xmlrpc_server база данных напрочь отсутствует. Как будто бы её просто нет.

Я пробовал вручную её прописывать (может проблема в автозагрузке), но библиотека не подключается, то есть на каком-то уровне CodeIgniter считает, что она уже загружена, хотя реально это не так. Впрочем может это еще какая-то ошибка, но мне её так и не удалось победить. Пробовал самые разные варианты, никаких результатов.

И главное - теперь совершенно непонятно в какую сторону копать. :(

Вышел CodeIgniter 1.6.2

Просмотров: 7275Комментарии: 0
CodeIgniter

Вышел CodeIgniter 1.6.2. Изменений довольно много, прежде всего хочется отметить два:

  • во всех php-файлов убран закрывающий  ?>
  • в конфигурации добавлен файл constants.php

Версию пока тестирую локально, после этого обновлю уже на сервере.

Визуальный редактор

Просмотров: 12772Комментарии: 13
Старый архив

Похоже, что я несколько погорячился, решив, что визуальный редактор можно оставить на потом и отладить его работу. Исходил из того, что в случае каких-то проблем, всегда можно подправить его код. Но я ошибся.

Первоначально я взял редактор FreeRTE. Всё в нем замечательно: и оформление, и настройки, но в процессе работы возникло несколько проблем. Главная из них в том, что спецсимволы, которые с лихвой присутствуют в PHP и которые я публикую, не совсем корректно обрабатываются этим редактором. Даже когда я перехожу на закладку «Код», все равно некотоыре символы неверно кодируются.

Основная проблема, как оказалось, кроется в кавычках, которыми экранируются спецсимволы. Получилась солянка: на стороне сервера я делаю правильное html-кодирование, на стороне браузера уже работает JS, со своими особенностями. Поэтому «серверные тексты» нужно отдавать редактору уже в его формате.

Ситуация значительно усложнилась из-за того, что редактор не имеет textarea-элемента. Поэтому тексты нужно передавать как одну из JS-переменных.

В общем намучавшись с кодированием туда-сюда, я решил сменить визуальный редактор.

Читать дальше »

CodeIgniter и PHP как FastCGI

Просмотров: 13863Комментарии: 7
CodeIgniter

Вот здесь я уже писал, об особенностях работы PHP в режиме FastCGI. Недавно обнаружил еще один глюк, который поначалу принял на счет этой «связки». Как оказалось проблема крылась именно в CodeIgniter.

Суть проблемы. У меня на сайте пагинация страниц. Поскольку главная страница имеет тип «home», то ссылки на страницы формируются в виде «сайт/home/next/2». И вот эта штука напрочь отказывалась работать - постоянно выходило сообщение, что страница не найдена (404).

Обнаружилось, что неверно работает $this->uri->segment_array() - он упорно исключал из первого сегмента URI «home». Перепробовав всевозможные варианты, полез в URI.php и выяснилась интересная деталь.

В режиме, когда $config['uri_protocol'] = "REQUEST_URI" происходит парсинг $_SERVER['REQUEST_URI'], что вполне логично. Но вот в конце этого парсинга (функция _parse_request_uri) получает реальный путь на сервере и сравнивает с полученным REQUEST_URI и берет только ту часть, которая несовпадает. Так вот, на сервере путь начинается с «home» и первый сегмент тоже начинается с «home». Вот функция и удаляет её. :)

Я не стал сильно разбираться в смысле этих манипуляций, просто закоментировал строки:

# $parsed_uri = implode("/", array_slice($parsed_uri, $i));
$parsed_uri = implode("/", $parsed_uri);

После этого все заработало.

РЕКЛАМА
В нашей компании вы сможете купить настоящий диплом в кратчайшие сроки, звоните. |

О проекте

MaxSite CMS предназначена для создания сайтов любой сложности. Система отлично подходит обычным пользователям, вебмастерам, фрилансерам и вебстудиям.