MaxSite CMS 0.32

Просмотров: 21033Комментарии: 45
MaxSite CMSВерсии (релизы)

Весёленькая версия :), потому что за почти три месяца набралось очень много изменений. Увеличилось количество плагинов: теперь их в комплекте 61. Я включил плагин голосования Евгения Самборского, хотя сразу предупреждаю, что это не окончательный вариант и могут быть ошибки (обратите внимание, что для работы плагина требуется PHP 5).

Произошли изменения в структуре шаблонов. Точнее она стала более гибкой для кастомизации. Я об этом специально уже говорил.

Еще меня порадовало то, что появились плагины других разработчиков. Например в MaxSite CMS 0.32 вы найдете: 3d-облако тэгов, виджет «Веб-альбомы Picasa», кнопки смайлов для формы комментария, плагин для прятания текст под Spoiler, виджет самых активных комментаторов, плагин гостевой книги и плагин глобального кэширования.

Плагин глобального кэширования я сделал для того, чтобы вынести логику кэширования из шаблона. Проблема здесь в том, что закэшировать можно любую страницу. Но вот обновление страниц должно происходить по более сложному алгоритму. Например появился новый комментарий - кэш должен обновиться. Если делать по уму, то кэш только этой страницы, а не весь. Для других случаев могут быть другие условия. Таким образом удобней управлять кэшем из плагина, чем менять шаблон. Изменения в шаблоне очень просты. Вместо начального кода нужно задействовать хук global_cache_start, вместо конечного global_cache_end. Там две строчки кода и вы их можете посмотреть в шаблоне default в файле index.php. Отмечу, что старый вариант также работает и если вы не пользуетесь глобальным кэшированием, то ничего менять не нужно.

Изменения в загрузке файлов (Загрузки). На форуме мы обсуждали эту проблему. Кратко: при загрузке браузер отдает т.н. mime-тип файла. CodeIgniter проверяет разрешенные типы и от этого определяет разрешена ли загрузка. Проблема в том, что браузеры по разному формируют mime-тип и из-за этого некоторые файлы не загружаются. Проанализировав код, я решил изменить алгоритм CodeIgniter и отказаться от проверки mime-типа. Вместо этого проверяется расширение файла. То есть теперь CodeIgniter работает предсказуемо.

Проблемы с почтой. В CodeIgniter для отправки почты использует php-функцию mail с параметром «-f». Оказалось, что не на всех хостингах это работает, поэтому разработчики CodeIgniter придумали проверять safe-режим. Получилось, что на некоторых хостингах почта работает, а на других нет. У меня не хватило знаний выяснить зависимости, поэтому при отправке почты CodeIgniter принудительно указывается «$CI->email->_safe_mode = true;». Теперь должно все работать.

В админ-панели появилась возможность фильтровать записи по рубрикам, типам.

При комментировании стабатывает хук «add_new_comment».

В mso_flush_cache() добавил третий параметр $file, который позволяет удалить одиночный файл кэша.  

В плагине Ссылки (links) добавил возможность указать скриншот сайта.

Подсчет количества прочтений записи (mso_page_view_count_first) теперь может вестить с помощью куки, сессии или без онных.

Управлять выводом строчки «Подписаться на эту рубрику по RSS» в типе category можно с помощью опции «category_show_rss_text» (тип - «templates»). То есть в шаблонном options.ini задайте соответствующую опцию. Это, конечно, кому нужно. ;-)

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

Скачать MaxSite CMS 0.32 184 (ок. 1.8Мб)

Комментариев: 45 RSS

1Axel20-05-2009 20:59

В readme к плагину Сomment smiles написано:

Для корректной работы плагина необходимо переименовать файл /uploads/smiles/rasberry.gif в /uploads/smiles/raspberry.gif

У вас по-умолчанию - не переименовано и смайл не отображается...

3RedRootСайт20-05-2009 21:17

Пол дня регулярно рефрешил главную страничку max-3000.com

Свершилось :)

Порадую себя и нескольких корпоративных клиентов свежим функционалом :)

5Белый хозяинСайт21-05-2009 05:22

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

6MadBadJackСайт21-05-2009 07:10

У мну после обновления обнаружился баг. На главной сайта + на страничках tags/что-либо некорректно отображаются виджеты. А именно, сменили сторону относительно центральной части, были справа, стали слева. Причем на всех остальных страницах, как то "О сайте" "Комментарии" "Контакты" и т.п - все ок. Шаблон дефолтный, до обновления все было нормально.

7MadBadJackСайт21-05-2009 07:13

Сорри, в догонку. Т.е. не только сторону поменяли, но и отображаются зеркально. Было справа - верх, стало лево - низ :grrr:

8Максим21-05-2009 10:49

Проверяйте html в виджетах. Скорее всего какой-то бъёт разметку шаблона.

9MadBadJackСайт21-05-2009 11:48

Максим, а нельзя ли чуть подробней? Путь к файлу, например, и примерные ошибки? Я скажу что сделал вчера, после возникновения проблемы:

1. Отключил все виджеты, далее подключал по одному = 0

2. Перекинул папку ...maxsite/templates/default с другого сайта (там все ок) = 0

Спасибо.

11qnick21-05-2009 19:49

Отличный CMS, долго искал что-то подобное.

Вопрос есть. Сначала я поставил движок в подпапку mysite.ru/blog, а потом подумал и решил, что blog.mysite.ru будет лучше смотрецца.

Файл htaccess в корне подправил, в папке /blog тоже заменил его на соответствующий, теперь блог доступен по адресу blog.mysite.ru. Но есть проблема: все ссылки в блоге (меню, "обсудить", админка и т.д.) имеют вид "blog.mysite.ru/blog/адрес". Они, конечно, работают, но выглядит это не очень. Хочется, чтобы эти ссылки имели вид "blog.mysite.ru/адрес"

Кэш сбрасывал, не помогло.

13qnick21-05-2009 19:57

htacces поменял первым делом, он не для подкаталога.

14MadBadJackСайт21-05-2009 21:14

Максим, извините, но все-таки попрошу Вас посмотреть на сайт http://inn-ter.madbadjack.com/

Возможно при визуальном "досмотре" понятней.

17Андрей22-05-2009 12:35

Давно присматривался к вордпрессу, но эта системка СУПЕР спасибо разработчикам... :snake:

18dj_maxxСайт22-05-2009 13:26

Обнаружил странный глюк. При обнаружении в URL пробела он заменяется на символ подчеркивания. Например при заходе на http://anime.underverse.su/tag/Anime новости оно ищет по тегу Anime_новости и понятное дело ничего не находит... Где-то фильтруются пробелы... но где?...

19ZmeiСайт22-05-2009 14:57

Увидел на сайте http://anime.underverse.su/ плагин облако тэгов 3D. Дело в том что у меня на сайте работает нормально пример http://zmei.name/tag/css%20xhtml - Попробуйте скачать последнюю версию http://zmei.name/page/tagcloudswf-dlja-maxsite и попробуйте поработать с ней.

Кто сталкивался с подобной проблемой опишите ее, ок?

21dj_maxxСайт23-05-2009 07:10

Почему-то если брать параметры через $_GET то подчеркивание появляется, а если через $_SERVER - то пробел %)

Как следствие - баг полечился заменой

$config['uri_protocol'] = "AUTO";

на

$config['uri_protocol'] = "QUERY_STRING";

однако природа сего глюка осталась загадкой %)

22Валерий23-05-2009 12:10

Пока не сделаете подпись на почту к коментариям ваша система несильно нужна как блог. Хотя бы подписку rss на коменты сделали бы.

23WaveСайт23-05-2009 19:41

Валерий, а посмотрите-ка хотя бы даже на этой странице подписи под заголовком. Те, что «рубрика текущей страницы», «дата», «количество просмотров». Что там следующее идёт?

И аналогичные подписи на странице комментариев гляньте.

24Валерий23-05-2009 21:51

Пардон rss на коменты есть. Уже +1. Но все же почта на много удобнее.

Хотя сделать это не так просто как кажеться на первый взгляд

25Артём Смоленский24-05-2009 12:58

Максим планируешь превратить свой блог в сервис по типу вордпресса ? Я имею виду каталог шаблонов, плагинов и т.д. Форум уже есть ;-)

26MadBadJackСайт24-05-2009 19:10

Хотя сделать это не так просто как кажеться на первый взгляд
Я смотрю Вы программист, так вот и сделайте плагинчик...хаять чужую работу - ума много не надо, сделать свою - да.

27v673Сайт28-05-2009 16:55

Максим, а Вы не думали над тем, чтобы реализовать загрузку и активацию плагинов прямо из панели администрирования?

То есть без всякого ручного скачивания, разархивирования, загрузки по FTP и так далее.

В администраторском аккаунте есть каталог, который синхронизируется с Вашим сайтом, где приведены все официальные плагины с подробным описанием. А рядом находится одна кнопка "Установить", после нажатия на которую, все скачивается с сайта, распаковывается и устанавливается.

Ведь это логично и удобно. На мой взгляд, рано или поздно все основные CMS к этому прийдут.

28WaveСайт28-05-2009 18:39

Все официальные плагины поставляются в архиве с CMS. Т.е. их не нужно отдельно вручную скачивать, разархивировать, загружать по FTP. Достаточно установить (или обновить) CMS.

29ламер02-06-2009 16:09

несмог установить вроде все делал по инструкции , вордпрес и джумла установились..

30ilya_leoСайт09-06-2009 21:32

Максим, наконец-то сегодня проапгрейдил свой сайт, причем с версии 0.22 сразу до 0.32. К удивлению, можно сказать, что проблем вообще не возникло. О некоторых мелочах я у себя написал, посмотрите, если время будет: http://xora.ru/page/maxsite-032

Ну и поздравляю с годиком :-)

31ssv22918-06-2009 13:32

Привет Максим, давно слежу за вашей системой))

около 2-ух лет с момента её моделирования.

Сейчас от нечего делать решил скачать, изучить...

Это замечательно, что есть такие люди как вы, спасибо вам :-):exclaim:

32Аноним20-06-2009 17:16

Первое впечатление — ужасно. Установщик отказался заливать базу сам, ручками как то не очень хочется. Успехов в разработке.

33madexz26-06-2009 20:24

установил эту версию, и обнаружил странную аномалию, в тексте статьи появляются ссылки на другие страницы блога, причем если посмотреть в код статьи (через админку) то кода ссылки там нет, как собственно и в базе нет кода ссылки (смотрел через myphpadmin).

35nalim05-07-2009 10:51

Насчет почты))) Можно же посылать без всяких mail-серверов напрямую через socks. Есть уже масса решений на PHP например в PEAR. Преимущества: это будет работать почти везде, и не придется думать о ключах мэйл сервера)

36Барсук Ленивый10-07-2009 02:37

Проанализировав код, я решил изменить алгоритм CodeIgniter и отказаться от проверки mime-типа. Вместо этого проверяется расширение файла.

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

38Комментатор 12721-07-2009 04:25

Пустые слова. Конкретный пример, описание, метод есть?
bot.php.gif и будет большое бобо старому апатчу сконфигурированному неправильно.

39Комментатор 12721-07-2009 04:34

не вижно долгожданной поддержки xCache, eAccelerator, APC, memcache

class cache_common
{
	var $used = false;
	/**
	* Returns value of variable
	*/
	function get ($name)
	{
		return false;
	}
	/**
	* Store value of variable
	*/
	function set ($name, $value, $ttl = 0)
	{
		return false;
	}
	/**
	* Remove variable
	*/
	function rm ($name)
	{
		return false;
	}
}
class cache_eaccelerator extends cache_common
{
	var $used = true;
	function cache_eaccelerator ()
	{
		if (!$this->is_installed())
		{
			die('Error: eAccelerator extension not installed');
		}
	}
	function get ($name)
	{
		return eaccelerator_get($name);
	}
	function set ($name, $value, $ttl = 0)
	{
		return eaccelerator_put($name, $value, $ttl);
	}
	function rm ($name)
	{
		return eaccelerator_rm($name);
	}
	function is_installed ()
	{
		return function_exists('eaccelerator_get');
	}
}
class cache_apc extends cache_common
{
	var $used = true;
	function cache_apc ()
	{
		if (!$this->is_installed())
		{
			die('Error: APC extension not installed');
		}
	}
	function get ($name)
	{
		return apc_fetch($name);
	}
	function set ($name, $value, $ttl = 0)
	{
		return apc_store($name, $value, $ttl);
	}
	function rm ($name)
	{
		return apc_delete($name);
	}
	function is_installed ()
	{
		return function_exists('apc_fetch');
	}
}

40Комментатор 12721-07-2009 04:36

class cache_xcache extends cache_common
{
	var $used = true;
	function cache_xcache ()
	{
		if (!$this->is_installed())
		{
			die('Error: XCache extension not installed');
		}
	}
	function get ($name)
	{
		return xcache_get($name);
	}
	function set ($name, $value, $ttl = 0)
	{
		return xcache_set($name, $value, $ttl);
	}
	function rm ($name)
	{
		return xcache_rm($name);
	}
	function is_installed ()
	{
		return function_exists('xcache_get');
	}
}

41Комментатор 12721-07-2009 04:41

define("CACHE", "none"); // "none", "APC", "eaccelerator"

switch (CACHE)
{
	case 'eaccelerator':
		$tr_cache = new cache_eaccelerator();
		break;
	case 'APC':
		$tr_cache = new cache_apc();
		break;
		
	case 'xcache':
		$tr_cache = new cache_xcache();
		break;
	default:
		$tr_cache = new cache_common();
}

44Максим21-07-2009 08:45

Ничего не понятно. Пишите на форуме, объясняйте нормально, что хотите.

Оставьте свой комментарий!

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

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)

О проекте

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