Template CMS 2.0 - маленькая и быстрая CMS! - стоимость 0$

[Удален]
#101

TiA

Почитав, ваш пост, я даже не буду выбирать цитаты из него и тратить время на объяснения и ответы. Так как ваши фразы типа: "почему XML", "зачем XML", "настройки хранятся в XML..." и тд... не не буду тратить время.

Template CMS для сайтов визиток, сателлитов, домашних страничек. Ни для каких порталов или блогов она не рассчитана изначально!

Template CMS для тех сайтов которым нафиг не впал Друпал или Джумла. Они себя будут отлично чувствовать на Template CMS.

Несколько примеров:

http://sanleo.ru/

http://piusardegna.it/

http://shrott.ru/

http://safetypartner.com.pk/

http://t-cms.ru/

http://ittehadenterprises.com.pk/

http://www.ulver.it/

Архитектура и продуманность в разу лучше Кандидат CMS, GetSimple...

В этой доке все описано, доступно и понятно: http://template-cms.ru/docs/develope-template-cms-how-it-works

Единственный конкурент Template CMS это GetSimple. И как раз Template CMS в разы лучше написана и изначально продумана. Легкость и расширяемость. Все разбито на мелкие части(шестеренки) которые можно заменять и переписать. Вся система это набор шестеренок/плагинов/модулей которые работают на ядре которые разбито на несколько основых модулей и хелперов.

Также более подробное сравнение с Кандидатом CMS

/ru/forum/comment/9119075

Что сказать Кандидат крутой. Походу foxi.biz не далеко от Кандидата ушла.

awilum добавил 26.06.2011 в 20:39

Итог: обычная CMS на файлах с кучей недоработок.

Лучшая CMS в своей категории: http://cmsbezmysql.ru/category/vizitki

Конкуренты ?

1. GetSimple

awilum добавил 26.06.2011 в 20:44

Вот вызвали эту функцию десять раз с тем же аргументом в функциях вроде pagesTitle(), pagesDescription(), pagesContent и т.д. - десять раз загрузился и был обработан XML файл со страницей. Нехило так, правда?

https://bitbucket.org/Awilum/template-cms/changeset/9f700c712b11

awilum добавил 26.06.2011 в 22:44

UPD

-----

К теме, еще несколько работ на Template CMS:

http://hardbassfan.tk/

http://xn--80acbicg2dvbg.xn--p1ai/

http://xn--80aa0abhe2bk0f.xn--p1ai/

http://restworld.com.ua/

http://eracompany.kz/

http://www.sadov.com/tcms/home

http://greenmagic24.ru/

http://gruzoperevozki48.ru/

http://xn--80aalwf8asi.xn--p1ai/

http://abris48.ru/

http://дизайнплюс-елец.рф/

http://xn----7sbemdb4akphb2pmb.xn--p1ai/

http://bustyle.com/

TA
На сайте с 12.06.2009
Offline
116
TiA
#102
awilum:
Почитав, ваш пост, я даже не буду выбирать цитаты из него и тратить время на объяснения и ответы.

А и вправду? Зачем?

Хотя если честно, то я не жалею, что потратил два-три часика на копание в вашей, так сказать, CMS. Реализация чего-то издалека похожего на базу данных на XML - это мощно :)

awilum:
Архитектура и продуманность в разу лучше Кандидат CMS, GetSimple...

Взгляните на ту же Stacey или Блоголет. Они получше вашей будут в плане архитектуры и чистоты кода.

Что вы так за Кандидат CMS вцепились? Она в разы проще и быстрее вашей. Для сателлитов и простеньких сайтов самое оно.

В Кандидате все предельно просто работает. Пришел запрос, отфильтровались 3 переменные пути, а также массивы $_POST и $_GET. Дальше сразу происходит подгрузка страницы, разбивка на блоки, формирование меню, подгрузка шаблона с PHP вставками и вывод страницы. Это все делается быстро. Очень быстро.

awilum:
Также более подробное сравнение с Кандидатом CMS

Вы как-то определитесь для чего ваша система. Рассмотрим одно из применений - сателлиты и ваше сравнение в данном контектсте с Кандидатом.

1. Зачем сателлитам так называемое подобие БД? Там нужно чтобы страничка выводилась как можно быстрее и с минимумом потребляемых ресурсов. В идеале: считал файлик со страничкой, считал файлик шаблона, чуть магии - и получайте поисковики страничку. Именно так и работает Кандидат.

2. Установка. В случае с Кандидатом его нужно просто залить на хостинг. "Просто добавь воды", как говориться.

3. Документация. У меня на знакомство с Кандидатом ушло минут 15. Разбираться там особо не в чем. В TemplateCMS нужно еще посидеть, подумать с вашими вызовами функций...

4. Расширяемость. "Powerful Plugin API" - :D Вы API той же Joomla видели в глаза? В Кандидате все просто и понятно: include() в шаблоне. Для установки Сапы полезная штучка.

5. Модульность. См. п. выше. В Кандидате CMS может быть легко переписана под конкретные нужды. Времени это займет раза в два меньше, чем поиск ответа на вопрос "а что же делает функция addHookP()".

6. Управление пользователями. На сателлите :D Зачем?

7. См. выше.

8., 9. и 10. А в Кандидате этого нельзя?

11. KandidatCMS_v.1.4.4_light в распакованном виде около 326 кб. львиную долю занимают темы оформления.

12. :D

13, 14, 15, 16, 17, 18 и 19 - зачем?

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

В первом случае придется переделать всю архитектуру CMS в сторону ее упрощения, во втором случае придется переделать всю архитектуру в сторону расширяемости и модульности, добавить наконец-то контроль прав доступа к той или иной странице, модулю, добавить наконец-то поддержку нормальной БД (база данных на XML - это не база данных, это фигня). Можно таке добавить нормальную систему шаблонизации "аля DLE". Также придется поработать над производительностью и организацией функций/классов.

Профессиональная верстка и разработка сайтов на WordPress (http://www.maultalk.com/topic139110s0.html)
[Удален]
#103
Они получше вашей будут в плане архитектуры и чистоты кода.

угу... Нехрена не грязный код в Template CMS. Код на равне с WP и Drupal по чистоте/грамотности написания. Соблюдаются стандарты тп. Покажете мне другую CMS из этой категории в которой Template CMS у которой код чище ?


<?php if (!defined('TEMPLATE_CMS_ACCESS')) exit('No direct script access allowed');

/**
* Security module
* @package TemplateCMS
* @subpackage Engine
* @author Romanenko Sergey / Awilum
* @copyright 2011 Romanenko Sergey / Awilum
* @version $Id$
* @since 2.0
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* TemplateCMS is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYING.txt for copyright notices and details.
* @filesource
*/

/**
* Encrypt password
* @param string $password Password to encrypt
*/
function encryptPassword($password) {
return md5(md5(trim($password).TEMPLATE_CMS_PASSWORD_SALT));
}

/**
* Create safe name. Use to create safe username, filename.
* @param string $str String
* @param string $delimiter String delimiter
* @return string
*/
function safeName($str, $delimiter = '-') {
$str = trim($str);
$str = str_replace(array(' ?',' ','--','&quot;','!','@','#','$','%','^','&','*','(',')','+','{','}',
'|',':','"','<','>','?','[',']','\\',';',"'",',','/','*','+','~','`','=','laquo',
'raquo',']>','%3c','%253c','%3e','%0e','%28','%29','%2528','%26','%24','%3f','%3b','%3d','<!--','-->'),
array('',$delimiter,'-','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''),
$str);
$str = str_replace('--','-',$str);
$str = rtrim($str, "-");
return translitIt($str);
}

/**
* Create safe url.
* @param string $url Url to sanitize
* @return string
*/
function sanitizeURL($url) {
$url = trim($url);
$url = rawurldecode($url);
$url = str_replace(array('--','&quot;','!','@','#','$','%','^','*','(',')','+','{','}','|',':','"','<','>',
'[',']','\\',';',"'",',','/','*','+','~','`','laquo','raquo',']>','‘','’','“','”','–','—'),
array('-','-','','','','','','','','','','','','','','','','','','','','','','','','','','','',''),
$url);
$url = str_replace('--','-',$url);
$url = rtrim($url, "-");
return $url;
}

/**
* Convert html to plain text
* @param string $str String
* @return string
*/
function toText($str) {
return htmlspecialchars($str, ENT_QUOTES, 'utf-8');
}

/**
* Convert plain text to html
* @param string $str String
* @return string
*/
function toHtml($str) {
return html_entity_decode($str, ENT_QUOTES, 'utf-8');
}

/**
* Convert html from $_POST to plain text.
* note: Use before save data from $_POST.
* Dont use it with XMLDB API. XMLDB performs xssClean automatically.
*/
function htmlPostText() {
$_POST = array_map('xssClean', $_POST);
}

/**
* Sanitize URL to prevent XSS - Cross-site scripting
*/
function runSanitizeURL() {
$_GET = array_map('sanitizeURL', $_GET);
}

/**
* This prevents null characters between ascii characters.
* @param string $str String
*/
function removeInvisibleCharacters($str) {
// Thanks to ci for this tip :)
$non_displayables = array('/%0[0-8bcef]/','/%1[0-9a-f]/','/[\x00-\x08]/','/\x0b/','/\x0c/','/[\x0e-\x1f]/');

do {
$cleaned = $str;
$str = preg_replace($non_displayables, '', $str);
} while ($cleaned != $str);

return $str;
}

/**
* Sanitize data to prevent XSS - Cross-site scripting
* @param string $str String
*/
function xssClean($str) {

// Remove invisible characters
$str = removeInvisibleCharacters($str);

// Convert html to plain text
$str = toText($str);

return $str;
}

https://bitbucket.org/Awilum/template-cms/src/9f700c712b11/template_cms/engine/Security.php

Что вы так за Кандидат CMS вцепились? Она в разы проще и быстрее вашей. Для сателлитов и простеньких сайтов самое оно.

Да, тут вы правы! ГовноСMS - Кандидат CMS для говносайтов и не более.

В Кандидате все предельно просто работает. ...

Вот забавно)) Хрена лысого сторонний программист сможет разобраться как этот говнокод устроен и как он вообще работает. Разобраться с матюками, да. Что то дописать, переписать. Угу, на ряду с кодингом БрейнФаком.

Если бы CMS-ки Кандитат и Template были кораблями, то

Кандидат CMS

Template CMS

На остальной ваш слив типа: "нафига", "что это", "как это" отвечу кратко.

Единственный конкурент Template CMS в своей категории - Get Simple

Ответы на ваши вопросы типа: "нафига", "что это", "как это" вот тут

Mik Foxi
На сайте с 02.03.2011
Offline
1234
#104

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

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (8 лет на защите сайтов). Форум на замену серчу: https://foxi.biz/
[Удален]
#105
13. Клиентская оптимизация

Template CMS
css minify, html minify

Kandidat CMS
----------
13, ... - зачем?

awilum добавил 26.06.2011 в 23:42

В Кандидате CMS может быть легко переписана под конкретные нужды.

awilum добавил 26.06.2011 в 23:45

FIXED

TA
На сайте с 12.06.2009
Offline
116
TiA
#106
awilum:
Код на равне с WP и Drupal по чистоте/грамотности написания.

Не живите иллюзиями и слушайте что вам говорят. Хотя бы иногда.

awilum:
Покажете мне другую CMS из этой категории в которой Template CMS у которой код чище ?

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

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

awilum:
Единственный конкурент Template CMS в своей категории - Get Simple

Кстати, ваша CMS в некоторых местах с Get Simple поразительно похожа ;)

[Удален]
#107

TiA

Вот только не надо опять. По поводу схожести уже обсуждалась давно эта тема. Нифига не так!

http://forum.webdevart.ru/index.php?topic=413.msg2572#msg2572

У Template CMS как и Get Simple CMS один предок который вдохновил разработчиков. Меня и Криса вдохновил WP.

Template CMS 2.0 я начал писать после того как познакомился с WP на работе, а также после некоторых своих наработок (опыт).

Но Template CMS полностью отличается от Get Simple CMS по архитектуре и коду.

Хм. код ? Например еще в Template CMS 1.0 было оформлено все в стиле

phpDocumentor а потом и в GS обернули правильно все в phpDocumentor.

Крис знает про существование Template CMS и принял вызов: http://get-simple.info/forum/post/10460/#p10460

Completely fine - and good to know that TemplateCMS is not a ripoff. I welcome the competition!!
Mik Foxi
На сайте с 02.03.2011
Offline
1234
#108
TiA:

Кстати, ваша CMS в некоторых местах с Get Simple поразительно похожа ;)

Кто-то у кого-то спер? :D

[Удален]
#109
Кто-то у кого-то спер

угу (10 символов)

Например еще в Template CMS 1.0 было оформлено все в стиле
phpDocumentor а потом и в GS обернули правильно все в phpDocumentor.
TA
На сайте с 12.06.2009
Offline
116
TiA
#110
awilum:
Вот только не надо опять.

Что опять? Я ведь еще не начинал :D

awilum:
Но Template CMS полностью отличается от Get Simple CMS по архитектуре и коду.

Ага. Навскидку.

Template CMS 2.0.3. Файл Security.php:


function safeName($str, $delimiter = '-') {
$str = trim($str);
$str = str_replace(array(' ?',' ','--','&quot;','!','@','#','$','%','^','&','*','(',')','+','{','}',
'|',':','"','<','>','?','[',']','\\',';',"'",',','/','*','+','~','`','=','laquo',
'raquo',']>','%3c','%253c','%3e','%0e','%28','%29','%2528','%26','%24','%3f','%3b','%3d','<!--','-->'),
array('',$delimiter,'-','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''),
$str);
$str = str_replace('--','-',$str);
$str = rtrim($str, "-");
return translitIt($str);
}

Get Simple 3.1.0. Файл basic.php:


function clean_url($text) {
$text = strip_tags(lowercase($text));
$code_entities_match = array(' ?',' ','--','&quot;','!','@','#','$','%','^','&','*','(',')','+','{','}','|',':','"','<','>','?','[',']','\\',';',"'",',','/','*','+','~','`','=','.');
$code_entities_replace = array('','-','-','','','','','','','','','','','','','','','','','','','','','','','','');
$text = str_replace($code_entities_match, $code_entities_replace, $text);
$text = urlencode($text);
$text = str_replace('--','-',$text);
$text = rtrim($text, "-");
return $text;
}

Такого там много. чувствуется, так сказать, влияние :D Могу еще поискать. Надо?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий