Giter Site home page Giter Site logo

modx.evo.custom's Introduction

Evolution CMS

CMS Evolution GitHub release PHP version Issues Code quality Documentation

Evolution CMS requires PHP >= 5.6

What is EVO

EVO is an open source Content Management System and Application Framework.

History

Initially inspired by Etomite 0.6, then it been MODX Evolution 0.7 - 1.0.8 is an ongoing project written by Raymond Irving and a core team of contributors MODX, and now its Evolution CMS maintained by Dmytro Lukianenko and a core team of contributors at the EVO Project.

License

EVO is distributed under the GPL license and is now run by a professional team of developers from all over the world. Visit the Forums for more information.

Features

EVO provides a fast, lightweight and powerful framework on which to deploy and secure your website and web applications.

For example, it gives you a true system for registered web users and groups that is separate from administration users. You can grant some web users access to one page and others access to another page.

For content management, you can easily duplicate documents, folders (and all their children!), chunks and snippets.

Most significant, though, is EVO's ability to empower you to quickly and easily create and maintain a rich and dynamic website like never before.

Install

Just use Evo Installer

Screenshots

screenshot_1

screenshot_2

screenshot_3

References

Official Website: https://evo.im/

Download: https://github.com/evolution-cms/evolution/releases

Previous Releases: https://modx.com/download/evolution/previous-releases.html

Extras: https://extras.evo.im

Documentation: http://docs.evo.im https://evolution-docs.com

modx.evo.custom's People

Contributors

64j avatar ablik avatar agelxnash avatar aharito avatar akool avatar alooze avatar atomoc avatar bagi091 avatar bumkaka avatar dmi3yy avatar dukerd avatar matchish avatar mihanik71 avatar myindexlike avatar nartzis avatar pathologic avatar projectsoft-studionions avatar radist avatar russandrussky avatar sergeymiracle avatar shin777 avatar supaweb avatar toha-proud avatar webber12 avatar workforfood avatar yama avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modx.evo.custom's Issues

Баг с тегами ManagerManager

Если создается новый ресурс, то в TV с тегами не подгружаются уже существующие теги. Проблема в том, что соответствующий виджет mm обращается за текущим шаблоном к global $content['template'], а в ней нет информации по текущему шаблону.

Фикс: после строки

https://github.com/dmi3yy/modx.evo.custom/blob/master/manager/actions/mutate_content.dynamic.php#L638
$default_template = getDefaultTemplate();
$selectedtext = $row['id'] == $default_template ? ' selected="selected"' : '';

Добавить $content['template'] = $default_template;

Багу поймал в 1.0.12-d6.4, но может быть еще актуально.

закрыто

проблема решена. причина не в движке. можно закрывать.

Очепятка в pull-request

http://note.io/YjH8Mg но несмотря на это, в Опере и Фоксе все работает.
manager/actions/mutate_module.dynamic.php - 152 Line
manager/actions/mutate_snippet.dynamic - 118 Line
manager/actions/mutate_plugin.dynamic.php - 109 Line

Есть подозрение, что раньше значение из поля с типом list передавалось в php как строковое значение. А теперь в виде массива.

Manage TVs on Template - ошибка на 1.0.13

Поставил Manage TVs on Template из репозитория, включил и теперь шаблоны выглядят так: https://dl.dropboxusercontent.com/u/14005705/1Screen/tablet_guves_net_manager.jpg при этом параметры отображаются как в вкладке, так и в назначенных ТВ. Не распространяется на главную страницу (которая home в сборке), только на новые ресурсы или копии главной.

Сайт на поддомене и страница 404 в ИЕ9

Я разрабатываю сайт на поддомене.
При попытке перейти на несуществующий адрес перекидывает на родительский домен, отсюда, естественно, ошибки.
Интересно, что это только в ИЕ9 (в режимах ИЕ8, ИЕ7 то же).
В ФФ 26.0 и Хроме 32 всё нормально.

eForm mail dublicate

Если поставить ccsender=1, то письмо отправиться 3 раза.
1 администратору
2 пользователю заполнившему форму
3 опять администратору

В письме отправленном пользователю в списке получателей указан еще и адрес администратора.

Некорректный usertype в LogEvent

Запись в лог не учитывает тип пользователя (менеджер или обычный пользователь). В то время, как вывод лога учитывает. Таким образом, если ошибка спровоцирована веб-пользователем, то в отчете мы увидим логин менеджера при совпадении id, либо же пустую строку.

PullRequest можно забрать из ClipperCMS

Префикс mb_ для строковых функций в Ditto::summary

В начале файла проставить mb_internal_encoding("UTF-8");

И произвести замены
strlen на mb_strlen
substr на mb_substr
strrpos на mb_strrpos
strstr на mb_strstr
stristr на mb_stristr

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

Подмена ID пользователя и обход других ограничений во время авторизации

Проблема кроется в том, что в процессоре авторизации создаются переменные из таблицы user_settings. Т.е. если создать какую-то запись с ключом совпадающим с переменной используемой в процессоре, то может порушиться процесс авторизации. Вариант исправление - переместить подобные настройки в массив и уже жестко проверять значения от туда.
PR отправленный в ClipperCMS уже принят. Если интересно - забирайте + небольшой фикс (возможно специфичный для ClipperCMS).

О потенциальных проблемах написано тут.

Схлопываются всплывающие окна в Chrome в tinyMCE

При вставки картики, ссылки и просмотре исходного текста, схлопываются по ширине и по высоте всплывающие диалоговые окна. Причем в 1 раз показываются нормально, а в последующие разы схлопываются обязательно. Через несколько циклов показываются нормально, а потом та же история. Если надо, могу кинуть скрины.
Баг тянется уже давно где-то с ветки 1,08-d3.

Дублирующие сниппеты

Собственно вот что хочу сказать. Сниппет if по логике это более расширеная версия сниппета isset. Поэтому актуальность сниппета isset под сомнением, ведь и без него можно обойтись.

Следующая пачка сниппетов: GetField, DocInfo, parentTitle
parentTitle может заменить GetField или DocInfo
GetField работает быстрее чем DocInfo, но не медленней parentTitle
В связи с чем вопрос. А нахрена нам тогда эти 3 сниппета, когда можно обойтись одним не потеряв в функциональности и производительности?

Bug в парсере

Срочно! Заменить в строке 729 парсера $modx->clearCache(); на $this->clearCache(); - иначе при наличии отложенных публикаций при наступлении их даты падает сайт (метод clearCache() вызывается на неизвестном объекте)

не удается удалить документы

При полной сборке и попытке удалить какой-нибудь документ (нажатие на корзину) получаю ошибку:
« Execution of a query to the database failed - Table 'mytab.modx_jot_content' doesn't exist »
SQL > DELETE FROM mytab.modx_jot_content WHERE uparent IN(17,14)

База сайта - mytab, но в sql запросе почему-то добавляется modx_jot_content.

upgrade 1.0.9 -> 1.0.10d5 config file overwritten

When I upgrade the excisting configfile gets overwritten.
I couldnt upgrade, I could only choose for new install because of it.
After placing the backupped config file I was able to upgrade.

I think the /manager/includes/config.inc.php file need to be deleted.

то что нашел при установке

1)Предупреждения при установке Warning: in_array() expects param in \install\action.options.php on line 99

  1. Strict Urls, почему то добавляет второй слеш к папкам, т.е. для папок получаю такой путь:
    папка/папка//
    Причем получаю в рандомном порядке, то есть - то нет.

Настройки
&editDocLinks=Edit document links;int;1 &makeFolders=Rewrite containers as folders;int;0 &emptyFolders=Check for empty container when rewriting;int;0 &override=Enable manual overrides;int;0 &overrideTV=Override TV name;string;seoOverride

если нужно могу дать код strict urls, который у меня работал до этого нормально.

  1. помеченные на уделение файлы почему-то нельзя удалить. Кнопка не активна, пишет, что нет ресурсов помеченных на удаление. Нашел, что из-за TreeTabs

  2. заполнять не занятые id не срабатывает при автоматической загрузке. Использую модуль importFile (http://minyta.ru/modx/modules/importfile.html)

Ошибка соединения с базой данных!

При новой установке или расширенном обновлении вылетает на index.php?action=summary

"Проверка соединения с базой данных: Ошибка соединения с базой данных!
Проверьте параметры соединения и попробуйте еще раз."

fancyBox

может будет полезно пофиксить, есть баг

assets/js/fancybox/fancybox_overlay.png 404 (Not Found)

ver. Modx 1.0.10-d5.3

modxhost

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

IF иногда не работает

На одном сервере. Есть несколько сайтов на modx 1.0.12. В одном из них плагин IF работает замечательно. А в другом ругается на то, что не определены переменные $or, $math, $lp. Пока решил ситуацию маленькими костылями, приведенными ниже, но хочется понять в чем причина такого поведения.

$math = empty($math) ? "on" : "off";
$lp = 0;
if ($opers[$i]=='or') {
    $or=true;$part_eq=$eq;$eq=true;continue;
    if ($or) {$subject=$opers[$i];$or=false;continue;}
}

Судя по исходной версии кода эти переменные действительно не определены до момента их использования в условных конструкциях.

UPDATE#1
Скорее всего это связано с уровнем строгости ошибок в настройках Modx. Но это объяснение не кажется мне достаточным.

UPDATE#2
Так и есть. Ошибки начинают выскакивать если поставить в настройках в пункте «Обнаружение уровня ошибки РНР» → обнаруживать все.

ID товара в карточке товара

Если перейти на документ из поиска или из какого либо модуля, то не виден ID этого документа.
Мне кажется это было бы удобно сделать его отображение в карточке.

проблемы с плагином diffplugin4modx

Использую версию 1.0.13-d6.7
Поставил из репозитория плагин diffplugin4modx

Ошибки сразу две:

  1. в дереве документов при редактировании любого документа выскакиваеи ява-скриптовый алерт "ManagerManager: An error has occurred: TypeError - $j.ddMM is undefined"
  2. Подгрузка сохранённых версий не работает.

Со вторым вопросом несколько разобрался. Там проблема в том, что вызывается напрямую файл assets/plugins/diff/version.ajax.php
В нём используется константа MGR_DIR , но т.к. файл assets/cache/siteManager.php не присоединён, константа не задана и скрпит не работает.
У себя решил это глобально, чтобы предупредить подобные проблемы в других местах. В .htaccess добавил
php_value auto_prepend_file "/полный_путь_к_document_root/assets/cache/auto_prepend.inc.php"

с таким содержимым

if( !defined(MGR_DIR) && is_file($_SERVER['DOCUMENT_ROOT'] . '/assets/cache/siteManager.php') ) {
    include_once($_SERVER['DOCUMENT_ROOT'] . '/assets/cache/siteManager.php');
}

а вот с первой проблемой разобраться пока нет времени, да и опыта с modx пока крайне мало. Только начал осваивать.

не работает regClientStartupScript на главной странице.

Не подключаются скрипты shopkeeper на главной странице сайта (id страницы 1 ), на всех остальных все работает. Создал для теста снипет состоящий только из regClientStartupScript все аналогично не подключается.

TransAlias добавить усечение длины

  1. Дописываем в конфиг плагина трансалиас:
    &override_length=Ограничение длины;string;20
  2. В вызове плагина plugin.transalias.php где-то на 12-й строчке дописываем проверку этого условия
    if (!isset ($override_length)) { $override_length = 0; }
  3. Там же в функцию $output = $trans->stripAlias добавляем эту переменную, получаем итоговую функцию
    $output = $trans->stripAlias($alias,$char_restrict,$word_separator,$override_length);
    — у меня она на 29 строке
  4. Идем transalias.class.php и в самом конце перед return $alias; пишем
    if((int)$override_length>0) {$alias=mb_substr($alias,0,$override_length);}
    Вот и все. Теперь длина алиаса равна выставленной (в данном случае — 20), а если пусто или 0 — то не режется.

Как говорится — мелочь, а приятно :) Опять же можешь сказать, что в твоей сборке есть возможность ограничить длину псевдонимов, тем самым сэкономив много памяти :))

Регистрировать посещения:

Хака дерева.
http://community.modx-cms.ru/blog/tips_and_tricks/848.html

По умолчанию, чтобы скрыть дочерние ресурсы в дереве - надо нажать "Регистрировать посещения", при редактировании документа.

Стоит ее переименовать по умолчанию на "Скрыть дочерние ресурсы в дереве" или что-то в этом духе.

Warning: Illegal string offset 'id' в managermanager

При использовании условия в mm_rules для managermanager

if($content['id'] == 4){
// code
}

при сохранении вылезает ошибка

Warning: Illegal string offset 'id' in ....\assets\plugins\managermanager\mm.inc.php(178) : eval()'d code on line 40
Warning: Cannot modify header information - headers already sent by (output started at .....\manager\includes\document.parser.class.inc.php:1008) in 
.....\manager\processors\save_content.processor.php on line 667

Версия modx 1.0.13RC4-d6.6
Если это из-за обновления managermanager то извиняюсь за беспокойство

Ditto не рендерит TV если их значение по умолчанию

Например если в значение tv по умолчанию записать @eval зависящий от идентификатора документа, то результат вычислится не верно, так как getTVDisplayFormat не требует обязательно идентификатор документа и в случае его отсутствия подставит текущий документ, что в случае с ditto не верно.

Проблемный участок в примерно с 796 строки https://github.com/dmi3yy/modx.evo.custom/blob/master/assets/snippets/ditto/classes/ditto.class.inc.php#L796

Место ошибочное:

http://paste.org.ru/?h3gzi9

Исправленный вариант:

http://paste.org.ru/?g80brs

Вызовы getTVDisplayFormat перенесены ниже, на момент когда известен идентификатор документа. Кроме того во втором вызове getTVDisplayFormat исправлено имя переменной содержащей идентификатор документа.

предложение

внутри htaccess
прописать

Making 301 redirect from www.site.ru to site.ru - universal rule for all domains

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.)$ [NC]
RewriteRule ^(.
)$ http://%1/$1 [R=301,L]

При выставлении приоритетов плагинов, хочется видеть отключенные


При выставлении приоритетов плагинов, хочется видеть отключенные, чтобы при включении они сразу занимали своё место
manager\actions\mutate_plugin_priority.dynamic.php
в 45 строке (в SQL) добавить поле ", plugs.disabled"
и
$evtLists .= '

  • '.$plugins['name'].'
  • ';
    заменить на
    $evtLists .= '<li id="item_'.$plugins['pluginid'].'"'.($plugins['disabled']?' style="color:#AAA"':'').'>'.$plugins['name'].($plugins['disabled']?' (hide)':'').'';

    Отсутствуют события у плагина после установки

    У плагина Diff после установки отсутствуют события:

    • OnTempFormDelete
    • OnTempFormSave
    • OnTempFormRender
    • OnSnipFormDelete
    • OnSnipFormSave
    • OnSnipFormRender
    • OnPluginFormDelete
    • OnPluginFormSave
    • OnPluginFormRender
    • OnModFormDelete
    • OnModFormSave
    • OnModFormRender
    • OnChunkFormDelete
    • OnChunkFormSave
    • OnChunkFormRender
    • OnDocFormDelete
    • OnDocFormRender
    • OnDocFormSave

    Более новая версия тут: https://github.com/AgelxNash/diffplugin4modx

    Проблема с установкой

    После установки сниппета "WebSignup: Установлен" ничего не выводится больше. Установка не завершается. Если после этого перейти в /manager то ошибка
    Parse error: syntax error, unexpected T_IF, expecting ':' or '{' in C:\OpenServer\domains\lapress.loc\www\manager\includes\document.parser.class.inc.php on line 3915

    Версия 1.0.10RC-d5.1 (22.03.2013)

    селектор

    строка 157, 165, 219, 226

    тамА — $(c).change();
    а должно быть — $j(c).change();

    не удается удалить документы

    При полной сборке и попытке удалить какой-нибудь документ (нажатие на корзину) получаю ошибку:
    « Execution of a query to the database failed - Table 'mytab.modx_jot_content' doesn't exist »
    SQL > DELETE FROM mytab.modx_jot_content WHERE uparent IN(17,14)

    База сайта - mytab, но в sql запросе почему-то добавляется modx_jot_content.

    alias_visible и $modx->getParentIds()

    Если на странице стоит галочка не чавствует в URL, то функция getParentIds некорректно отрабатывает и как следствие обламывается Wayinfer вот с такой конструкцией
    count($modx->getParentIds($tempDocInfo['id']))

    Datepicker bug in Opera

    При повторном вызове календаря не удается изменить дату.
    Надо в файле datepicker.js закомментировать строки 324-325

    /*
    if (window.opera && dp.container) dp.container.empty();
    else */ if (dp.container) dp.container.remove();

    Или просто убрать проверку и оставить только if (dp.container) dp.container.remove();

    Проверить PHx + Wayfinder

    Поставил из репозитория shopkeeper, вместе с ним стал и phx. Так вот когда плагин phx включен, то wayfinder на всем сайте тупо отключается. На сборке 1.0.13-d6.7. Это так, для информации.

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.