0.00
26 читателей, 8 топиков

Пародия на MODx

Привет друзья.
По своей работе мне понадобилось создание сетки простых сайтов. Сначала я ринулся делать на модх но потом понял, что очень громозко.
Не ищя лёгких путей решил написать CMS. Кодовое название Tahion.
Смысл её в том, что весь контент хранится в txt(md) файлах разложенных по папочкам.
Вы наверняка сталкивались с похожими решениями типа Grav.
Я решил пойти дальше и скрестил ежа (SlimFramework), ужа(свой кривой код) и носорога(modx).
Перенеся фактически приёмы парсинга, разметки и шаблонизации modx, собрав чанки сниппеты и рекурсию в один котёл я получил некий набор скриптов который уже имеет:
  • ЧПУ
  • Аналог TV параметров
  • Синтаксис разметки тела ([*content*]) — MarkDown
  • Аналог phpthumb вызов примерно такой
    [!thumb?&image=`[*image*]`&h=`100`&w=`200`&cr=`1`!]
  • Кеширование (пока только общее, сниппеты отдельно не кешируются)
  • Некоторые вызовы API унифицированны с modx
(например:
$this->runSnippet('thumb', [
            'image' => $value,
            'w'     => 600
            ]
        )

)
А теперь самый главный вопрос — это всё дело надо кому-то кроме меня? Просто чтобы допилить это дело надо хотябы даже до того чтобы выложить на гитхаб надо время, но если наберётся отзыв, опубликую.
Пара фоток:
joxi.ru/E2p93aVhok9DAY — разметка
joxi.ru/krD0gv8CVnEDrp — дерево
joxi.ru/vAWpWB4t5417rW — чанки и сниппеты

ClipperCMS нуждается в поддержке

Примерно неделю назад мне и еще нескольким членам сообщества ClipperCMS пришло письмо на e-mail от TimGS — самого ярого активиста. Не буду пересказывать все, что было в этой переписке, т. к. это по меньшей мере не этично. Но пару моментов все-же можно осветить (тем более уже появлился вопросительный топик — когда будет релиз ClipperCMS), чтобы любители MODX Evolution понимали цели этого форка.

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

Интересно как скоро выйдет релиз ClipperCMS ?

Судя по небольшому Pull Реквесту дело близится к релизу:

Commit Summary

Changed erroneous HTTP 401 to 403
Nested snippet issue fixed
Improved striptags security
Fixed bug where if $_REQUEST['q'] is an array the parser crashes
Ditto version number updated.
WebloginPE 1.3.1+ added.
UTF-8 sanitisation of GPC superglobals.
Handle depracated PHP functions according to config option
Option for parser to die silently on PHP errors.
Block access to .git and *.sql files
Block access to directory listings
Block access to *~ backup files
Eliminated managar use of assets/templates/managare. Modifying manage…
manager/index.php and English language file modified for general CMS …
Make IN_MANAGER_MODE check exit silently
Modified IN_MANAGER_MODE check to avoid PHP warning message
Merge branch '1.1.develop' into CMSname
Further edits to change "MODx" to the constant CMS_NAME in the manager
Version information now set in manager/index.php
More changes for CMS_NAME etc
More changes for CMS_NAME
Bugfix for DocumentParser::sendUnauthorizedPage() - incorrect variabl…
Changed implementation of [+managar_theme_url+] to use $modx->setPlac…
.gitignore: Ignore *~ backup files
More changes for CMS_NAME
Include path bug fix (in manager/index.php for manager/includes/versi…
Changed Logo in MODxCarbon manager theme
Changed MODxCarbon to ClipperCarbon
Changed install script to set manager theme to ClipperCarbon
Make datepicker use ClipperCarbon
AjaxSearchLog module changed to use current manager theme
Changed wording from MODx to Clipper
Merge branch 'CMSname' into 1.1.develop
HashHandler and Hash classes.
Changes to manager files to use HashHandler class.
Install modified to add new password hashing columns.
Save password now uses new hashing classes
Tightened security
Suggestion on welcome page to update legacy MD5 passwords
Spelling correction!
phpdoc comments in DocumentParser as far as prepareResponse()
phpdoc comments in DocumentParser as far as (but not including) the T…
Slight change to $published wording
phpdoc comments as far as (but not including) the Etomite db functions
Remaining phpdoc comments for DocumentParser
Moved some methods to be next to similar ones in the code
phpdoc comments for SystemEvent class
Modified DocumentParser to include snippet map
Added ASearch to snippet map
Changed modified core snippet names/version numbers/credits.
Removed ajaxsearch's own striptags and substituted $modx->stripTags()
phpdoc comments for parseProprties changed
Renaming files according to new names
Pathnames changed to reflect new folder names in assets/snippets/
WebUser pathnames and documentation headings changed
Changed filenames within webuser folder
Renamed files in list folder and aSearch folder
Changed filenames from webuser to webusers for consistency with snipp…
Warning to be displayed on welcome page if parser errors set to be di…
Installer changed to use the default password hash method
Merge branch 'sha1' into 1.1.develop
Fix for https://github.com/ClipperCMS/ClipperCMS/issues/15
INSERT variants abstracted into DBAPI
Better error messages added for fix for https://github.com/ClipperCMS…
Bug fix for __insert calls
SQL injection fix via IP in weblogin.inc.php
Update assets/snippets/ditto/classes/ditto.class.inc.php
Merge pull request #17 from AgelxNash/patch-2
Merge branch 'Extras' into 1.1.develop
Merge branch '1.1.develop' of ssh://github.com/ClipperCMS/ClipperCMS …
Merge branch 'DBAPI' into 1.1.develop
Merge branch 'Security' into 1.1.develop
Issue 22 fix
Changes to List (Ditto) language files
Bulk of the work on conversion of the manager language files from 'MO…
Upgrade ManagerManager to 0.3.11
Fixed corrupted italian file
Merge branch 'CMSname' into 1.1.develop
Bug fix: first manager user db row was being corrupted during upgrades
Improved language file handling
Comments for last commit
Security improvement.
Fixed typo in DocumentParser::stripTags()
ASearch bug fix.
Bugfix: Ensure version.inc.php is included when needed. Previously th…
AjaxSearch/ASearch to be renamed SiteSearch
change comment cms name
Bug fix for the user of DocumentParser::snippetMap in DocumentParser:…
Bugfix Issue 33. Fixes SQL error on saving manager user password.
Add jQuery handling to DocumentParser
DocumentParser jQuery methods
ManagerManager modified to use DocumentParser's jQuery methods
QuickManager modified to use DocumentParser's jQuery methods
Updated version numbers of ManagerManager and QuickManager to reflect…
WebUsers (WebLoginPE) now using DocumentParser's jquery methods
Bugfix: Typo in filepaths/names
Merge branch '1.1.develop' into jQuery
Added comments for PHP error handling settings
Installer: Add SQL for PHP error handling settings
Merge branch '1.1.develop' into jQuery
Install: Add SQL for jquery settings
Fixed $_lang array key for jquery plugin dir label
Jquery.noConflict() config option
Improved description of new PHP error handling config variables.
Updates to QuickManager regarding core jquery handling
Bugfix for QM in jquery noconflict mode
Merge branch 'jQuery' into 1.1.develop
Changed include_once to require_once
Install tweaks
Changed <title> to use ClipperCMS
Added Clipper Modern theme (in development)
Bugfix for jquery variable in parent window.
Temporary fix for Datepicker IE9 problem
Bugfix within installer
Remove CMS name
QM properties bugfix
Table prefix now clpr
Default db name now clipper
Clipper Modern theme
TinyMCE javascript upgraded
TinyMCE o2k7 skin
jquery link now uses 'standard' jquery in assets/js
Put colorbox.css back in qm folder
Bugfix: DBAPI bug in new insert functionality
SiteSearch removed, AjaxSearch updated to 1.9.3
Merge pull request #52 from Coroico/1.1.develop
Sitemap reverted for AjaxSearch
Change manager feeds to Clipper site
Modified due to AjaxSearch re-introduction.
Revert "Update assets/snippets/ditto/classes/ditto.class.inc.php"
Install skinning
Add CMS version info to welcome page
Install skin minor tweaks
Clarification for manager language text for error_handling_silent_label
Bugfix: WebUsers needs to send more info to OnWebSaveUser
Change default for deprecated function handling to logging only
Forum link corrections to install language files
Changed PHP version check to PHP5
Force user to save new settings after install without there being a w…
More IE madness
Added some instructions to the install script on database creation
IE madness continued
Change default setting for deprecated function handling
Update install/lang/german.inc.php
Update manager/includes/lang/german.inc.php
Merge pull request #64 from michael-big/patch-1
TinyMCE language files
Added missing image to ClipperModern style
Workaround for PHP returning extraneous spaces in response to login.html
Install message corrected. Top-of-file comments changed.
Added @installset to latest mgrmgr install tpl
IN_MANAGER_MODE check added for this file
Bugfix for getUserDate.extender.php
Bugfix for message.quit.inc.php
Upgrade to Forgot Manager Password plugin clipper-1.1.4
FCKeditor file uploads modified to avoid spaces in uploaded filenames
Reinstated dot.gif from MODxLight that is used by Koopsmailinglits mo…
Merge branch 'file_uploads' into 1.1.develop
Upgrade to Forgot Manager Password clipper-1.1.5
Dutch UTF-8 manager language file
Remove mm_rules.inc.php. Just keep alternatively named example files.
Fix Issue 73, a managermanager jQuery bug.
New ManagerManager demo chunk
Add widget for image TVs to ManagerManager demo rules chunk
Removed use of mysql_escape_string() from DBAPI
E_ALL changed to E_ALL & ~E_DEPRECATED to maintain same behaviour for…
list.class.inc.php renamed back to ditto.class.inc.php.
Remove PHP5 version check as it is effectively obsolete by now.
Change ditto::buildURL to static method
Make some ditto methods static / private
Make some template (ditto class file) methods static
List changelog notes
Update .gitignore
Updated modern theme c/o Salvatore (microcipcip)
Remove defunct theme files
Updated .gitignore - some machines need leading slashes removed
Ditto/List: Removed inconsistently implemented notice 'missing_placeh…
Removed credits from help page.
Changed criteria for including help files
Fix for ManagerManager and custom_tv type.
Corrected PHP version number in connection with magic quotes handling.
Execute Module processor was not showing error messages on screen.

[EVO] MODx.jp теперь и на русском + плюшки из моей сборки

Наконецто дошли руки сделать Японскую сборку
пока правда не все вычистил в плане языка и еще есть мелкие баги но в общем результаты впечатляют:
— полная совместимость со всеми стандатрными снипетами + много вкусных плющек:

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

Mem : 4.48 MB, MySQL: 0.0047 s, 31 request(s), PHP: 0.0912 s, total: 0.0959 s, document retrieved from database.  - без кеша 

Mem : 1.37 MB, MySQL: 0.0008 s, 0 request(s), PHP: 0.0191 s, total: 0.0199 s, document retrieved from full_cache. - Стандартный кеш

Mem : 57.71 KB, MySQL: 0s, 0 request(s), PHP: 0.0004 s, total: 0.0004 s, document retrieved from bypass_cache. - Японский кеш 


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

MODx по японски

Ещё одним очень активным сообществом по MODx является Японское :)
они тоже не ждут пока Оф.разработчики доведут до ума EVO и делают это сами:
modx.jp/

Вот тут можно скачать версию 1.0.6j
code.google.com/p/modx-ja/downloads/detail?name=modx-1.0.6J.zip

из того что уже нашел но пока не успел потестить и перенести:
— сохранение истории редактирования документов(тут)
— отправка ошибок на email
— массовый перенос документов на вкладке: Просмотр дочерних ресурсов

и ещё очень много вкусного :) правда нужно запастись терпением и гугл переводчиком :)