All Projects

IDOpenedSummaryProjectCategoryDue DateSeverityPriorityStatusProgressOpened by
 31 26 Dec 2010 Выделенный пункт ModulesMenu30 Jan 2011CriticalVery HighClosed
100%
Артём Task Description

!

 41 26 Dec 2010 Довести до ума медиа Хранилища BundlesMediaBundleCriticalVery HighClosed
100%
Артём Task Description

Сделать такую штуку как «ханилище», в БД будет перечислены доступные хранилища для медиа данных (картинки, фотки и т.д.) в чем суть: например мы можем вынести статику на отдельный сервак, а группе новостей назначить использование такого-то хранилища, в тоже время если например хранилище забилось, мы просто создаём новое и прописываем в настройках группы новостей и модуль начинает выгружать картинку туда, в тоже время к каждой картинке надо приписывать id хранилища.

Также сделать индивидуальные хранилища картинок для групп юзеров и индивидуальных юзеров.

 51 08 Jan 2011 site_id в таблицах как разделитель для мультисайтовости + Requests +CriticalVery HighClosed
100%
Артём Task Description

должен быть в

containers
folders
modules
nodes
themes

также нужен будет в модулях...

 61 14 Jan 2011 Модуль "Веб-формы" ModulesWebFormCriticalVery HighClosed
100%
Артём Task Description

Осталось сделать:

  1. отправку оповещений о результатах веб формы на емаил администратору
  2. в просмотре результатов, помечать новые и прочитанные
  3. а также удалять результаты.
 87 22 Jan 2011 Ссылки на управление каталогом Unicat03 Feb 2011CriticalVery HighClosed
100%
Артём Task Description

1. Добавить запись
- http://loc/SmartCore/catalog/action_48/adultcoat/famale/?add_item – т.е. через GET запрос.
- http://loc/SmartCore/news/action_14/add/
2. Редартировать запись
- http://loc/SmartCore/catalog/action_48/adultcoat/famale/?edit_item=2
- http://loc/SmartCore/news/action_14/edit/?id=9 — надо переделать вот в такой формат:
- http://loc/SmartCore/news/action_14/?edit_item=9
3. Создать категорию
- http://loc/SmartCore/catalog/action_48/?add_cat_into=1 , где значение add_cat_into ID категорию в которой надо создать новую категорию.
4. Управление категориями
- http://loc/SmartCore/catalog/action_48/?edit_cat=5 - http://loc/SmartCore/news/action_14/?edit_cat=1

 89 22 Jan 2011 Перенести parser() в Юникат Unicat23 Jan 2011CriticalVery HighClosed
100%
Артём Task Description

Сейчас он реализован в самих классах модулей Catalog и News.

 92 23 Jan 2011 Блокировка нод + Requests +CriticalVery HighClosed
100%
Артём Task Description

Блокировка нод в произвольных папках. Например включение ноды в корень сайта, так чтобы она отображалась только на внутренних разделах.

Надо сделать следующие режимы работы:
1) Блокировка ноды в папке, без наследования.
2) Блокировка ноды в папке, с наследованием.
3) Блокировка всех нод в папке, кроме заданной (например для файлменеджера, CAPTCHA и т.д.)

 101 30 Jan 2011 Управление свойствами записей. UnicatCriticalVery HighClosed
100%
Артём Task Description

* Создание групп свойств
* привязка групп свойств к категориям
* добавление свойств в группы
* настройка свойств

 103 11 Feb 2011 Helper_Validator + Requests +CriticalVery HighClosed
100%
Артём Task Description

Сделать сабж, сейчас пока будет работать на ZF, но потом можно будет заменить на другой, либо применять разные библиотеки для разных данных.

 104 11 Feb 2011 Toolbar + Requests +CriticalVery HighClosed
100%
Артём Task Description

Вынести из папки Admin и оформить Тулбар как отдельную сущность в ядре.

 113 03 Mar 2011 Выделить административные методы модулей. + Requests +CriticalVery HighClosed
100%
Артём Task Description

такие методы как:

getFrontControls();
getFrontControlsDefaultAction();
getFrontControlsInnerDefaultAction();
nodeAction($params);
getParams();
createNode();

лучше вызывать не обращаясь напрямую к объекту модуля, а через свойство-объект модуля Admin:

$Module->Admin->getFrontControls();
$Module->Admin->getFrontControlsDefaultAction();
$Module->Admin->getFrontControlsInnerDefaultAction();
$Module->Admin->nodeAction($params);
$Module->Admin->getParams();
$Module->Admin->createNode();

где, Admin - это объект класса Module_SomeName_Admin

 118 05 Mar 2011 Поддержка мультисайтовости. UnicatCriticalVery HighClosed
100%
Артём Task Description

Внедрить site_id в таблицы и запросы.

 119 07 Mar 2011 Убрать cookie_name из конфигурационного файла + Requests +CriticalVery HighClosed
100%
Артём Task Description

этот параметр должен храниться в таблице сайтов.

 120 10 Mar 2011 Работа с cookie в UserProfile. Modules-CriticalVery HighClosed
100%
Артём Task Description

Сделать в пост процессоре работу с куками через класс Cookie.

 124 19 Mar 2011 Наследование групп свойств с родительских категорий UnicatCriticalVery HighClosed
100%
Артём Task Description

Метод getItemPrototype()

 129 22 Mar 2011 Хранение чисел в отдельной таблице UnicatCriticalVery HighClosed
100%
Артём Task Description

видимо надо выносить хранение числе в отдельную таблицу (items_content_integer) т.к. сортировка чисел в текстовом поле неадекватная :(

ну и видимо нужна будет items_content_double

еще как вариант, можно хранить числа в текстовом после, но с ведущими нулями, например:
090
100

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

 131 01 Apr 2011 Проверка при создании папки + Requests +CriticalVery HighClosed
100%
Артём Task Description

Надо пофиксить глюк, при котором при создании папки, если папка уже существут, вываливается ошибка... надо сделать как в юникате т.е. присоздании существующей папки, либо переименовывать её, либо присваивать ури парту ид папки.

 132 12 Apr 2011 Хранение свойств в отдельных таблицах UnicatCriticalVery HighClosed
100%
Артём Task Description

Появилась идейка хранить каждое свойство записи в своей таблице, например называться они будут по такой схеме items_s100_e1_title, где sXXX - это ид сайта, eXXX - ид экземпляра.

Вроде как при таком подходе проще будет сделать фильтрацию по нескольким полям...

 133 21 Apr 2011 Привязка групп свойств к категориям UnicatCriticalVery HighClosed
100%
Артём Task Description

через админку

таблица: properties_groups_category_relation

 137 14 May 2011 Сохрание контейнеров - Bugs -CriticalVery HighClosed
100%
Артём Task Description

Глючит на парквебе :(

при сохранении пытается добавить контейнер

 170 17 Jul 2011 Ошибка при соханиении записи Юниката. - Bugs -CriticalVery HighClosed
100%
Артём Task Description

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '33-1-2-1' for key 'PRIMARY'

Похоже на теги...

 172 18 Jul 2011 Даты создания и id создателей. + Requests +CriticalVery HighClosed
100%
Артём Task Description

Сделать :)

В бд уже поля созданы для:

  • юникат тэгов, экземпляров, категорий и свойств.
  • контейнеров.
  • текстера.
 176 21 Jul 2011 Helper_Head + Requests +CriticalVery HighClosed
100%
Артём Task Description

Переместить функционал в объект EE.

 181 30 Aug 2011 Одиночный выбор в свойствах (select) UnicatCriticalVery HighClosed
100%
Артём Task Description

Сейчас в БД записывается значение свойства типа select, это нехорошо, надо где-то в другом месте хранить список возможных значений с индексами и сделать возможность выбор по базе именно по индексам.

Скорее всего лучше будет хранить в таблице рядышком поля "индекс" (для быстрого поиска) и "техническое имя" (например для использования в uri_part).

Хотя нет... в таблице свойства надо хранить только индекс, а его расшифровку хранить в виде массива в параметрах свойства. Но надо учесть, что вариант селекта можно будет удалить только в том случае если оно не указано ни в одной записи, либо предлагать удалять выриант вместе с всеми значениями в БД.

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

 185 03 Sep 2011 Проверка на наличие полей. UnicatCriticalVery HighClosed
100%
Артём Task Description

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

 192 06 Sep 2011 Значение параметров нод по умолчанию. + Requests +CriticalVery HighClosed
100%
Артём Task Description

Описывать в конструкторе, чтобы в случае, если у ноды отсутсвуют некоторые параметры, но запустилась корректно, без ошибок.

 193 07 Sep 2011 Медиа хранилище валит сервак :( - Bugs -CriticalVery HighClosed
100%
Артём Task Description

в случае если файл картинки отсутствует :((

 198 09 Sep 2011 Подгрузка классов из папки Application AdministrationBack-endCriticalVery HighClosed
100%
Артём Task Description

а то сейчас тупит по адресу /admin/module/ если юзаются модули не в папке system.

 199 09 Sep 2011 Тэги при создании записи UnicatCriticalVery HighClosed
100%
Артём Task Description

сейчас они доступны только при редактировании :((

 206 15 Sep 2011 DOM ready js-код + Requests +CriticalVery HighClosed
100%
Артём Task Description

Сделать механизм при котором можно будет добавить некий js код в шапку страницы внутрь кода:

// Your code using failsafe $ alias here...
 
 211 19 Sep 2011 Ошибка при обращении к несуществующей ноде - Bugs -CriticalVery HighClosed
100%
Артём Task Description

Например так /admin/structure/node/21/, при условии, что 21-ой ноды нет.

 229 01 Oct 2011 Доступ к ACTION для гостей + Requests +CriticalVery HighClosed
100%
Артём Task Description

Например сейчас гость может пройти по ссылке:

http://loc/SmartCore/news/zzz/action/74/edit/

а этого недолжно быть ;)

 237 13 Oct 2011 Возможность использовать внешние категории. UnicatCriticalVery HighClosed
100%
Артём Task Description

Очень интересная возможность была бы! например можно вести отдельную ГЕО базу категорий, с регионами, городами и т.е. эти каталоги можно былобы внедрять в другие базы и привязывать к ним записи... конечно получится, что если уже внешнюю базу привинтили, то уже наглухо и во внешних базах нельзя удалять записи.

или может быть сделать как древовидные тэги оформленные в виде оттельного экземпляра каталога (задачка тут http://smart-core.org/task/index.php?do=details&task_id=190 )

 239 13 Oct 2011 Для языков по умолчанию можно внести дефолтные поля. + Requests +CriticalVery HighClosed
100%
Артём Task Description

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

При этом поле language_id в самой таблице не нужно т.к. само собой будет подразумеваться, что сайт на языке по умолчанию, а это значение будет задаваться в настройках сайта.

 240 14 Oct 2011 Проблемка при создаии папки - Bugs -CriticalVery HighClosed
100%
Артём Task Description

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

http://site.ru/admin/structure/folder/create/1/?popup Notice: Undefined index: folder_id in /home/l/leman/leman-tour.ru/public_html/system/Kernel/Admin/Folder.php on line 116

Warning: Cannot modify header information - headers already sent by (output started at /home/site.ru/public_html/system/Kernel/Admin/Folder.php:116) in /home/site.ru/public_html/system/common.php on line 174

 253 02 Nov 2011 Может быть перенести themes_views в свойства папки? + Requests +CriticalVery HighClosed
100%
Артём Task Description

Ведь по сути, представление предъявляет требования к списку контейнеров, которые надо отобразить.

Тогда получается, что представления цепляются к сайту и можно считать необходимы для прописывания во всех подключенных темах.

По сути получается, что надо и engine_themes_layouts упразднить т.к. он тоже весьма костный.

Тут только нюансик есть, с форматом описания представлений т.к. их может быть много и для одной папки одно представление может быть задано, а другое нет.

 264 08 Nov 2011 Уничтожение сессии + Requests +CriticalVery HighClosed
100%
Артём Task Description

Сейчас при вызове метода destroy() устанавливается ключик is_active = 0, в тоже время session_id остаётся и при попытке, этимже юзером поднять сессию, появляется ошибка...

Пока что подкорректировал метод write() и в случае если is_active = 0, то этаже сессия заново активируется... но скорее всего это совсем неправильное решение.

Думаю лучше будет при уничтожении сессии, генерировать новый ключ session_id.

 268 16 Nov 2011 Запуск задач по расписанию (cron) + Requests +CriticalVery HighClosed
100%
Артём Task Description

Мысли начал оформлять тут: http://smart-core.org/wiki/Задачи_по_расписанию

Либы, которые пригодтся:

 298 11 Jan 2012 Актуализировать регистрацию. + Requests +CriticalVery HighClosed
100%
Артём Task Description

Ошибка при регистрации:
Notice: Undefined index: groups in Z:\home\localhost\www\system\Kernel\Session\Handler.php on line 107
[Денвер: показать возможную причину ошибки]
Notice: Undefined index: groups in Z:\home\localhost\www\system\Kernel\Session\Handler.php on line 107

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\system\Kernel\Session\Handler.php:107) in Z:\home\localhost\www\system\bootstrap.php on line 143

 327 02 Feb 2012 Убрать из роутинга инфу о views и layout. + Requests +CriticalVery HighClosed
100%
Артём Task Description

Идейно неправильно роутингу возвращать данные о макете и видах, хотя с другой стороны они задаются именно в папках и после роутинга к ним обращение уже не идёт.

 342 14 May 2012 Додумать и реализовать систему прав доступа. CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

$this→get('engine.security')→isGranted('ROLE_USER');

 343 14 May 2012 Запинать авторизацию! CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

Пускай пока будет просто обёртка над FOSUserBundle.

 344 14 May 2012 Архитектура модулей CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

Продумать следующие моменты:

  • Как получать данные для фронтальных элементов управления.
  • Создание ноды.
 350 23 Aug 2012 Глобальный префикс таблиц БД CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

http://stackoverflow.com/questions/7504073/how-to-setup-table-prefix-in-symfony2



Having just figured this out myself, I'd like to shed some light on exactly how to accomplish this. (also posted here)

Symfony 2 & Doctrine 2.1
Note: I use YML for config, so that's what I'll be showing.

Instructions

 1. Open up your bundle's Resources/config/services.yml
 2. Define a table prefix parameter:
    Be sure to change mybundle and myprefix_
    parameters:
        mybundle.db.table_prefix: myprefix_
 3. Add a new service:
    services:
        mybundle.tblprefix_subscriber:
            class: MyBundle\Subscriber\TablePrefixSubscriber
            arguments: [%mybundle.db.table_prefix%]
            tags:
                - { name: doctrine.event_subscriber }
 4. Create MyBundle\Subscriber\TablePrefixSubscriber.php
 
    <?php
    namespace MyBundle\Subscriber;
    use Doctrine\ORM\Event\LoadClassMetadataEventArgs;
    class TablePrefixSubscriber implements \Doctrine\Common\EventSubscriber
    {
        protected $prefix = '';
        public function __construct($prefix)
        {
            $this->prefix = (string) $prefix;
        }
        public function getSubscribedEvents()
        {
            return array('loadClassMetadata');
        }
        public function loadClassMetadata(LoadClassMetadataEventArgs $args)
        {
            $classMetadata = $args->getClassMetadata();
            $classMetadata->setTableName($this->prefix . $classMetadata->getTableName());
            foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) {
                if ($mapping['type'] == \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_MANY) {
                    $mappedTableName = $classMetadata->associationMappings[$fieldName]['joinTable']['name'];
                    $classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName;
                }
            }
        }
    }

</code>

 5. Enjoy
 359 20 Feb 2013 Редиректы при работе модулей. CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

Надо перехватывать RedirectResponse возвращаемый модулем и выполрнять редирект пропуская дальнейшую сборку нод. Т.о. сохраняется цепочка "евентов".

 FS#378  В случае, если контроллер модуля вернул RedirectResponce(), то сразу же отдавать его клиенту, а сейчас эта страничка встраивается в блок, куда подключена нода.

 365 07 Apr 2013 SmartCoreHtmlBundle + Requests +CriticalVery HighClosed
100%
Артём Task Description

Конфигурирование: стили и другие вещи по умолчанию, например:

smartcore_html:
  service_name: html # можно сменить имя сервиса по умолчанию
  title: My Site
  doctype: html5
  lang: %locale%
  css:
    - 'css/site/screen.css'

А также инжектить сервис @html без подключения конфига:

imports:
    - { resource: @HtmlBundle/Resources/config/config.yml }

Упростить название блоков, например до: title, css, js, body_js и т.д.
Можно подсмотреть на:

 369 20 Dec 2013 Функция flash сообщений для твига. CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

сейчас вот так:

{% for flashMessage in app.session.flashbag.all() %}
    <div class="row-fluid">
        <div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button>{{ flashMessage[0] }}</div>
    </div>
{% endfor %}

а надо что-то типа

{{ engine_flashes() }}  

Также сделать разукраску под твиттер.

 370 22 Dec 2013 Рендеринг каждой ноды до рендеринга основного шаблона. CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

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

 378 21 Jan 2014 Моментальные редиректы из модулей CMSBundleCoreCriticalVery HighClosed
100%
Артём Task Description

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

 380 21 Jan 2014 Генерация пути к ноде CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

Сейчас для редиректов нужно применять вот такую конструкцию:

return $this->redirect($this->get('cms.folder')->getUri($this->node->getFolderId()));

Надо придумать более короткий формат, например:

return $this->redirect($this->get('cms.router')->getNodeUri($this->node);
return $this->get('cms.router')->redirectToNode($node);
return $this->get('cms.router')->redirectToFolder($folder);

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

Нужно избавиться от метода Folder::getUri() т.к. он не сериализуется... используется он сейчас всего в 2-х местах:

https://github.com/Smart-Core/CMS-Sandbox/blob/master/src/SmartCore/Bundle/CMSBundle/Controller/EngineController.php#L53

foreach ($router_data['folders'] as $folder) {
    $this->get('cms.breadcrumbs')->add($folder->getUri(), $folder->getTitle(), $folder->getDescr());
}

и в https://github.com/Smart-Core/CMS-Sandbox/blob/master/src/SmartCore/Bundle/CMSBundle/Listener/ModuleControllerModifierListener.php#L54

$basePath = substr(str_replace($request->getBaseUrl(), '', $node->getFolder()->getUri()), 1);
 385 30 Jan 2014 Создание пункта меню только со второго раза - Bugs -CriticalVery HighClosed
100%
Артём Task Description

В

/admin/module/Menu/1

почему-то не срабатывает с первого раза...

 388 08 Feb 2014 Не работает логаут, если поставлен крыжик "запомнить" - Bugs -CriticalVery HighClosed
100%
Артём Task Description

Сабж :)

 391 16 Feb 2014 Валидация UnicatCriticalVery HighClosed
100%
Артём Task Description

http://symfony.com/doc/current/book/forms.html#adding-validation

 397 19 Feb 2014 Управление медиа коллекцией. Modules-CriticalVery HighClosed
100%
Артём Task Description

Основная особенность - надо продумать как сделать, чтобы этот модуль нельзя было подключить как ноду.

 405 27 Feb 2014 Параметры для типов свойств записей UnicatCriticalVery HighClosed
100%
Артём Task Description

Например для select (choice) надо варианты выбора и т.д.

 408 02 Mar 2014 Создание и редактирование конфигураций UnicatCriticalVery HighClosed
100%
Артём Task Description

Через командную строку, а также в модуле Unucat.

 416 05 Apr 2014 Переместить все ресурсы сайта в SiteBundle CMSBundle-CriticalVery HighClosed
100%
Артём Task Description

В /app/ будет указываться только site.ini а всё остальное будет в SiteBundle.

Подумать как в таких условиях будет работать LiipThemeBundle.

Подумать есть ли в принципе смысл убирать всё по максимуму из /app/.

 421 11 Apr 2014 Не работает отключение фотки в слайдере - Bugs -CriticalVery HighClosed
100%
Артём Task Description

Проверить и исправить.

 428 25 Apr 2014 Фронт-енд кнопку на управление каталогом UnicatCriticalVery HighClosed
100%
Артём Task Description

Внутри категории ссылка на редактирование категории, а также всех записей в ней. А внутри записи только на редактирование записи.

 445 25 Jun 2014 Разделить конфиг сайта и конфиг движка. + Requests +CriticalVery HighClosed
100%
Артём Task Description

Например секция avalanche_imagine нужно настраивать для каждого сайта отдельно, но юникат использует определённые фильтры.

44701 Jul 2014Управление модулямиAdministration-CriticalVery HighНовая
0%
Артём Task Description

Продумать как лучше будет управлять модулями. В частности можно сделать “стандартную поставку” движка, где не будет возможности удалить модули, а также пользовательские модули...

Нужно видеть список доступных для скачивания и установки модулей, а также уже установленных, а также установленных, но не включенных.

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

Список дефолтных модулей можно держать в CMSBundle.

http://amylabs.ru/web/images/yupe/2.png

http://amylabs.ru/web/images/yupe/3.png

 461 09 Aug 2014 Подключение конфига сайта + Requests +CriticalVery HighClosed
100%
Артём Task Description

Либо его может не быть, так же надо продумать, чтобы он мог перегружать (дополнять) основной конфиг.

imports:
    - { resource: '@SiteBundle/Resources/config/config.yml' }

сейчас приходится втыкать его в config_prod.yml и config_dev.yml, что есть некрасиво...

 462 25 Aug 2014 Очистка кеша ClassLoader'a + Requests +CriticalVery HighClosed
100%
Артём Task Description

Бывает при обновлении пакетов, меняются пути к файлам и требуется обновить кеш (обычно APCu), но он доступен только через веб, а не через консоль...

Надо придумать как его сбрасывать, не перегружая апач.

https://github.com/ornicar/ApcBundle

46523 Oct 2014Политика преобразования или валидациии частей адреса.CMSBundleCoreCriticalVery HighНовая
0%
Артём Task Description

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

Было бы красиво, если в настройках сделать политики преобразования или валидации и пользователь сам будет выбирать как должны будут вести себя формы редактирования папки, статей, товаров в каталоге и т.д.

Можно сделать автоматическое удаление не корректных символов, например /

 472 24 Nov 2014 Конфигурирование фильтров avalanche_imagine + Requests +CriticalVery HighClosed
100%
Артём Task Description

Через пользовательского конфига, который может быть опциональным и не попадает в репу.

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

47424 Nov 2014При загрузке картинок, удалять EXIF и пережимать их.+ Requests +-CriticalVery HighНовая
40%
Артём Task Description

При переживании вроде как само будет обнуляться EXIF.

https://github.com/Smart-Core/CMS-Sandbox/blob/master/src/SmartCore/Bundle/MediaBundle/Provider/LocalProvider.php#L148

 475 30 Nov 2014 textarea в редакторе шаблонов Administration-CriticalVery HighClosed
100%
Артём Task Description

Подумать как вставлять тэг </textarea> а Ace Editor.

 481 08 Jan 2015 В выбранной группе меню отображабся пункты всех групп - Bugs -14 Jan 2015CriticalVery HighClosed
100%
Артём Task Description

Это неправильно %)

 482 09 Jan 2015 Запилить LadyBug + Requests +CriticalVery HighClosed
100%
Артём Task Description

При обновлении до версии Symfony 2.6 падает дампер, варианта 2:

1) Сделать форк от версии 0.7 и пропатчить её.

2) Использовать новую версию, но разобраться как использовать старую тему (не modern)

Заметка от автора: https://github.com/raulfraile/LadybugBundle/issues/38

 488 20 Feb 2015 Возможность указывать шаблоны модулей для каждой ноды Administration-CriticalVery HighClosed
100%
Артём Task Description

Храниться будут в @Site/{module_name}/{template_name}.html.twig

 494 11 Mar 2015 При удалении ноды, удалять Router node id из папки - Bugs -CriticalVery HighClosed
100%
Артём Task Description

!

49820 Apr 2015Смягчить вывод ошибок медиалибы- Bugs -CriticalVery HighНовая
0%
Артём Task Description

В случае, если картинки нету, то вот так:

An exception has been thrown during the rendering of a template (”Source image not found in app/../web/_media/portfolio/orig/2015/03/11/08_58_82ced27059.jpg”“) in “UnicatModule::items.html.twig at line 16.

50125 May 2015Указание владельца и интерпретатора для подогрева кеша+ Requests +CriticalVery HighНовая
0%
Артём Task Description

Сейчас для линукс систем в bin/warmup_cache применяется интерпретатор sudo с указанием имени www-data. Надо сделать это всё настраиваемым, можно через parameters.yml

50430 May 2015Валидация при создании области- Bugs -CriticalVery HighНовая
0%
Артём Task Description

Можно пропускать только латинские буквы, цифры и подчеркивание.

50530 May 2015Ошибка при отключении флажка "Allow password resetting"...- Bugs -CriticalVery HighНовая
0%
Артём Task Description
  string(22) "Ошибка валидации формы"
  array(2)
      [allow_registration]: bool FALSE
      [allow_password_resetting]: bool TRUE
  bool FALSE
 512 28 Jun 2015 Пропадает имя файла при редактирование в ELfinder - Bugs -CriticalVery HighClosed
100%
Артём Task Description

http://prntscr.com/7m838z

51328 Jun 2015Возможность перегрузить файлыBundlesFelibBundleCriticalVery HighНовая
0%
Артём Task Description

Например есть

jquery-colorbox:
    deps: jquery
    version: 1.5.10
    css: example1/colorbox.css
    js: jquery.colorbox-min.js

Но нужно использовать стиль example3/colorbox.css, тогда можно делать вызов что-то вроде:

{% set felib = felib_use('jquery-colorbox', null, {'css': 'example3/colorbox.css' }) %}
51508 Jul 2015Выставлять права на запись для *SiteBundle/EntityUnicatCriticalVery HighНовая
0%
Артём Task Description

и подумать в какой момент :)

53014 Oct 2015Обработка POST данныхCMSBundleCoreCriticalVery HighНазначенная
0%
Артём Task Description

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

53114 Oct 2015Починить восстановление пароля CMSBundle-CriticalVery HighНовая
0%
Артём Task Description

Сейчас в форму не попадает _node_id т.к. она генерируется ручками.

Как временное решение - в app переопределяется шаблон и там явно прописывается node_id

Как вариант, можно таскать current_node_id в cms.context

53424 Oct 2015Авториазция и регистрация через oauth+ Requests +CriticalVery HighНовая
0%
Артём Task Description

Изучить http://knpbundles.com/search?q=oauth

 535 28 Oct 2015 Генерация картинок медиалибы через маршрут BundlesMediaBundleCriticalVery HighClosed
100%
Артём Task Description

Посмотреть:

http://knpbundles.com/search?q=media

https://github.com/Tessi-Tms/TmsMediaBundle

54125 Mar 2017Ручное отслеживание уникальности таксоновUnicatCriticalVery HighНовая
0%
Артём Task Description

В связи с тем, что mysql не учитывает NULL при уникальности, надо это проверять вручную.

 246 30 Oct 2011 show_in_list и show_in_view в опциях UnicatCriticalHighClosed
100%
Артём Task Description

Как уже сделал для старого юниката.

 257 03 Nov 2011 Починить .htaccess в папке scripts InstallationSetupCriticalHighClosed
100%
Артём Task Description

Почему то, вот так глючит :(

Options -Indexes
Options -FollowSymLinks

ErrorDocument 401 /index.php
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
 310 23 Jan 2012 DB переделать на Registry. + Requests +CriticalHighClosed
100%
Артём Task Description

Сабж :)

54315 Oct 2017Продумать пользовательский интерфейсAdministration-CriticalHighНовая
0%
Артём Task Description

https://nubex.ru/support/screencasts/

 25 26 Dec 2010 Captcha + Requests +CriticalMediumClosed
100%
Артём Task Description

Продумать механизм каптчи, скорее всего это будет компонент.

 58 12 Jan 2011 Поле module_id в таблице модулей. + Requests +CriticalMediumClosed
100%
Артём Task Description

Судя по всему ключ module_id ненужен т.к. модули мы можем идентифицировать по его имени.

 69 19 Jan 2011 doctype и ajax запросы. + Requests +CriticalMediumClosed
100%
Артём Task Description

Весьма важное замечание: аякс должен иметь возможность отдавать данные не в html фрмате, а например json. если мы обработчик аякс запросов оформляем как модуль, то надо иметь возможность убирать html обертки т.е. докстайп, хеадер, и закрывающие теги боди и хтмл.

как вариант, можно эту команду передавать шаблонизатору через значение doctype, например так явно и указать 'ajax' :)

 217 22 Sep 2011 Максимальный размер загружаемых картинок. UnicatCriticalMediumClosed
100%
Артём Task Description

Возможность задавать максильно допустимый размер картинок, чтобы не хранить огромные варианты например 4000х3000 рх... можно ограничивать в 1600х1200 рх.

Сейчас сделано пока форсированно в 1600х1200 рх. Надо придумать где лучше задавать этот параметр... в идеале наверно в параметрах поля.

!проверить откуда сейчас берется размер (в байтах) оригинального файла.

38229 Jan 2014Сортировка нодCMSBundle-CriticalVery LowНовая
0%
Артём Task Description

Например сейчас на главной папке подключена нода Виджета с позицией 10 в блок menu, допустим в другой вложенной папке подключена нода Текстера в этот блок, но с позицией 0, но выводится текстер ниже виджета.

 396 17 Feb 2014 Сделать RepositoryManager (UnicatBaseManager) UnicatCriticalVery LowClosed
100%
Артём Task Description

Он позволит избавиться от постоянного таскания сущности UnicatRepository в контроллерах и др. местах.

40324 Feb 2014Бозопасные имена частей URIUnicatCriticalVery LowНовая
0%
Артём Task Description

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

 455 15 Jul 2014 timezone CMSBundle-CriticalVery LowClosed
100%
Артём Task Description

Сделать настройку временной зоны.

 44 26 Dec 2010 parser_strict_uri и поддержка файлов. CMSBundle-CriticalDeferClosed
100%
Артём Task Description

Реализовать parser_strict_uri – жесткий или мягкий механизм обработки строчки запроса. А также поддержку папок в качестве файлов.

Обсуждение тут: “Ядро - Основные принципы - Редиректы”.
И тут “Ядро - Основные принципы - Папки и файлы”.

Потестил тут http://nibbler.silktide.com/en_US/reports/sandbox.smart-core.org и выдало, что надо делать редирект 301 на дубликатах, например на http://sandbox.smart-core.org/news/ и http://sandbox.smart-core.org/news

 110 24 Feb 2011 Починить getItems() С сортировкой по указанному свойств ...UnicatHighVery HighClosed
100%
Артём Task Description

@todo ВАЖНО! сейчас в результате мы получаем только те записи у которых пристутсвует
свойство по которому задана сортировка. Надо сделать более универсальную схему при
которой будут отображаться ВСЕ записи, а те у которого свойста для сортировки не
окажется, помещать в конец таблицы.

 196 08 Sep 2011 Редиректы для доменов с префиксом www. CMSBundleHighVery HighClosed
100%
Артём Task Description

Сейчас, если домен с www. то просто редиректится на основной.
Надо сделать настройку, где админ сайта будет иметь возможность выбирать политику редиректов, либо форсированно на домен с www. либо форсированно без него.

Думаю, оставлять возможность работы по тому адресу, как набрал юзер нет смысла.

47630 Nov 2014Список поддерживаемых медиа форматов+ Requests +HighVery HighНовая
50%
Артём Task Description

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

А также максимальный размер файла и ресайзы картинок.

 19 24 Dec 2010 breadcrumb механизм для модулей + Requests +HighHighClosed
100%
Артём Task Description

Продумать beadcrumb механизм для модулей.!!!

 112 02 Mar 2011 Методы класса FoldersTree убрать в класс Folder + Requests +HighHighClosed
100%
Артём Task Description

дабы всё было в одном месте ;)

 149 29 Jun 2011 Зачем параметры в nodeAction() ? + Requests +HighHighClosed
100%
Артём Task Description

Надо проверить, зачем административные методы nodeAction, объявлены как nodeAction($params) может быть $params совсем не нужны?

37721 Jan 2014Автоматическое построение меню на основе папок.ModulesMenuHighHighНовая
0%
Артём Task Description

Принцип работы будет следующий:

  1. Создаётся группа меню, указывается режим работы (ручное или автоматическое)
  2. Указывается папка от которой следует начинать построение меню.
  3. Указать глубину вложенности.
  4. Указать папки, которые следует исключить.

Есть более интересная идейка: сделать сами “пункты” меню с автоматическим построением т.о. можно будет комбинировать обычные пункты меню с автоматическими.

38910 Feb 2014Google AnalyticsModules-HighHighНовая
0%
Артём Task Description

Основная фишка - это привязка к домену. Подключать можно будет как ноду, а можно как функцию твига. В настройках модуля будут только ключ сайта и его домен. Это позволит на локалке не гонять сабж.

 390 10 Feb 2014 Форма редактирования мета-тэгов для папок CMSBundle-HighHighClosed
100%
Артём Task Description

Внезапно обнаружилось, что её нет :)

 422 11 Apr 2014 Фронт-енд кнопку на управление слайдером ModulesSliderHighHighClosed
100%
Артём Task Description

Сделать :)

 426 24 Apr 2014 Настройку редактора для свойства категории textarea UnicatHighHighClosed
100%
Артём Task Description

Сейчас рисуется дефолтный html, а нужно визивиг и ace.

 486 13 Feb 2015 Разные файлы для разных версий библиотек. BundlesFelibBundleHighHighClosed
100%
Артём Task Description

Наример для bootstrap 2, по умолчанию: css/bootstrap.min.css и css/bootstrap-responsive.min.css, а для 3-го уже просто css/bootstrap.min.css и css/bootstrap-theme.min.css

Также было бы удобно еще для 3-го бутстрапа указывать путь к теме.

 15 24 Dec 2010 config.ini + Requests +HighMediumClosed
100%
Артём Task Description

Довести до ума задумку с конфигами.

 26 26 Dec 2010 Инсталлятор + Requests +HighMediumClosed
100%
Артём Task Description

Создать скрипт инсталлятора системы, желательно с распаковкой из .zip архива.

 56 11 Jan 2011 Раздел [debug] в config.ini + Requests +HighMediumClosed
100%
Артём Task Description

возможно есть смысл убрать раздел [debug] и внести эти значения в секцию [system_settings] с префиксом ключей "debug_", например:

debug_enable = off
debug_db_query_count = on
debug_runtime = on
debug_post_data =off

 65 15 Jan 2011 Выставлять timezone для каждого сайта отдельно. + Requests +HighMediumClosed
100%
Артём Task Description

Убрать из бутстрапа и переместить в конструктор, а зону хранить в таблице engine_sites.

 78 20 Jan 2011 Описание и фотки на категорию. UnicatHighMediumClosed
100%
Артём Task Description

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

 130 25 Mar 2011 Keywords и Description + Requests +HighMediumClosed
100%
Артём Task Description

Продумать где хранить эти данные и логику работы...

пока храню в таблице sites,.. но это видимо неправильно т.к. несовместимо с мультиязычностью..

Видимо лучше всего будет хранить их в папках.

 180 28 Aug 2011 Аутентификация и Авторизация - разделить методы. + Requests +HighMediumClosed
100%
Артём Task Description

Аутентификация - определение пользователя, кто есть кто.

Авторизация - наделение прав аутентифицирванному юзеру.

 252 02 Nov 2011 Конфигурирование настроек сайта + Requests +HighMediumClosed
100%
Артём Task Description

Есть мысль хранить параметры не в отдельных полях БД, а в сериализованном виде в одном поле, например так:

$site = array(
	'language_id' => 'ru',
	'default_theme_id' => 1,
	'short_name' => 'Smart Core CMF',
	'full_name' => 'Smart Core CMF (PHP/MySQL CMS/Content Managment Framework)',
	'timezone' => 'Asia/Novosibirsk',
	'cookie_prefix' => 'Smart_Core_CMF_',
	'session_name' => 'SMART_CORE_SESSION2',
	'robots_txt' => 'User-Agent: *
Disallow: /cgi-bin/
Disallow: /admin/',
	'create_datetime' => '2011-00-00 00:00:00',
	'multi_language' => false,
	'dir_application' => 'application/',
	'dir_themes' => 'themes/', 
	'root_layout' => false,
	'root_view' => false,
	'layouts' => 'main
blank',
	'views' => 'content(full_content, 3columns, 2columns); ',
	);
 267 16 Nov 2011 Сервис почтовых рассылок + Requests +HighMediumClosed
100%
Артём Task Description

Реализовать класс Maillist, мысли по самому механизму отсылки писем тут: http://smart-core.org/wiki/Почтовые_рассылки

Таблицы в БД уже сделал, но зада ча тесно связана с cron.

 270 18 Nov 2011 Убрать свойство $this->theme_id в Kernel + Requests +HighMediumClosed
100%
Артём Task Description

А запросы в engine_themes_layouts и engine_themes_views убрать в поля папок.

 279 05 Dec 2011 Оптимизация методов Форм UnicatHighMediumClosed
100%
Артём Task Description

Например есть сложные методы getCreateItemFormData() и getEditItemFormData(), думаю надо подумать как выделить у них нечто общее, например сделать защищенный метот getBaseItemFormData(), а методы создания и редактирования будут в него только вносить свои корректировки, например метод Edit будет добавлять данные по умолчанию, также пару служебных полей и кнопку удалить...

Задача связана с тем, что сейчас слишком много кода дублируется и увеличивается вероятность возникновения ошибки при внесении изменений в одном месте и не внесении в другом.

 301 13 Jan 2012 return self::$_query_count; в РНР 5.3.9 - Bugs -HighMediumClosed
100%
Артём Task Description

Ругается :((

PHP Fatal error: Access to undeclared static property: D
B::$_query_count in /var/www/localhost/htdocs/SmartCore/system/Kernel/DB.php on line 157, referer: http://10.4 .4.4/SmartCore/catalog/

Видимо баг: https://bugs.php.net/bug.php?id=54626

 306 21 Jan 2012 Переименовать parser_node_id в router_node_id. + Requests +HighMediumClosed
100%
Артём Task Description

По смыслу в mvc лучше вписывается :)

 308 22 Jan 2012 Путь от корневой директории веб сервера. + Requests +HighMediumClosed
100%
Алексей Task Description

для получения пути от корня.
$baseUri - должна быть в глобальном классе конфига.
при вызове getBaseUri(true) сново просщитает путь.
так понимаю что для быстродействия $baseUri должны быть, и генерироватся 1 раз при выполнении скрипта с возможностью перегинерации.
код выдрал отсюда https://github.com/codeguy/Slim/blob/master/Slim/Http/Uri.php

function getBaseUri( $reload = false ) {
	$baseUri = '/';
	if ( $reload || is_null($baseUri) ) {
            $requestUri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $_SERVER['PHP_SELF']; //Full Request URI
            $scriptName = $_SERVER['SCRIPT_NAME']; //Script path from docroot
            $baseUri = strpos($requestUri, $scriptName) === 0 ? $scriptName : str_replace('\\', '/', dirname($scriptName));
            $baseUri = rtrim($baseUri, '/');
        }
        return $baseUri;
    }
 364 01 Apr 2013 Умный редирект при сохранении ноды. Administration-HighMediumClosed
100%
Артём Task Description

Сейчас редиректится в папку ноды, а надо чтобы в папку откуда была редактирована нода, но при условии, что она находится в ней по прежнему.

$node_path = str_replace($request->getBasePath(), '', $this->get('engine.folder')->getUri($node->getFolder()->getId()));
$referer_path = str_replace('http://' . $request->server->get('HTTP_HOST') . $request->getBasePath(), '', $request->server->get('HTTP_REFERER'));
 375 18 Jan 2014 Маршруты админок модулей сделать общими с системой. CMSBundleCoreHighMediumClosed
100%
Артём Task Description

Сейчас сделаны отдельные сервисы роутинга для каждого модуля, но в случае с админкой похоже, что это ненужно и вполне красиво будет работать в общем стеке роутов.

Пока используется метод для твига

{{ path_admin('smart_menu_admin') }}

, а надо

{{ path('smart_menu_admin') }}

следовательно небудет метода generateModuleAdminUrl() в контроллере.

 381 27 Jan 2014 Передача в шаблон контекст ноды CMSBundle-HighMediumClosed
100%
Артём Task Description

Чтобы в контроллерах не писать аргумент:

    return $this->render('MyModule::my.html.twig', [
        'node' => $this->node,
    ]);

Придумать как можно отдавать более "магически" ;) может быть даже сделать как в http://rad.knplabs.com/#template

 386 04 Feb 2014 Система уведомлений AdministrationHighMediumClosed
100%
Артём Task Description

Сделать что-то наподобии Apple Push Notification Service но в рамках админки цмс-ки. Например модуль Feedback может отсылать уведомления о новых пришедших сообщениях.

http://sciactive.com/pnotify/

40224 Feb 2014Отладка виджетовModulesWidgetHighMediumНовая
0%
Артём Task Description

Сейчас если приходит ошибка от виджета, то модуль виджета возвращает ошибку:

return new Response($response->getStatusCode() . ' ' . Response::$statusTexts[$response->getStatusCode()]);

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

 406 28 Feb 2014 Формы для даты и времени + Requests +HighMediumClosed
100%
Артём Task Description

Не выставлять для даты класс input-block-level

41106 Mar 2014Редирект на страницу записи, если был изменён item.slugUnicatHighMediumНовая
0%
Артём Task Description

Сейчас выпадает 404 т.е. редиректится тупо по GET значению redirect_to

42928 Apr 2014Функция подключения Ace редактора из твига+ Requests +HighMediumНовая
0%
Артём Task Description

С возможностью навешивать на несколько полей texarea.


ссылки по теме

43319 May 2014HTTP обратный прокси (фронтенд кеш)+ Requests +HighMediumНовая
0%
Артём Task Description

Для гостей, с хранилищами на файлах и в мемкеше.

https://github.com/FriendsOfSymfony/FOSHttpCacheBundle

http://buytaert.net/making-drupal-8-fly

 460 23 Jul 2014 Решить проблемму с INTL (twig filter localizeddate) + Requests +HighMediumClosed
100%
Артём Task Description

На линухах вместо имён месяцев отображается их порядковый номер, а на IIS всё нормально.

Также на линухах localizeddate показывает на час больше реального времени.

49921 Apr 2015Ping Sitemap to Google ,Bing ,Yahoo Yandex & Baidu Sear...+ Requests +HighMediumНовая
0%
Артём Task Description

http://www.shoutingblogger.com/2013/08/Ping-Sitemap-to-Google-Bing-Yahoo-Yandex-Baidu-Search-engine.html

50630 May 2015Переход к управлению модулем из редактирования нодыAdministration-HighMediumНовая
0%
Артём Task Description

Наример для текстера в маршруте cms_admin_structure_node_properties опрашивать модуль текстера на предмет элементов управления, там будет к примеру “Редактировать текст”, а для меню, будет “Редактирование пунктов меню”.

50805 Jun 2015Сделать проверку на связи папки с модулями при удаленииAdministration-HighMediumНовая
0%
Артём Task Description

Например сейчас нельзя удалить из-за того, что ссылается модуль меню.

Как вариант, можно рассылать всем модулям событие о том, что удаляется папка, а они сам уже будут реализовывать механизм как с этим всем поступить.

 514 28 Jun 2015 Обработка изображений при малом кол-ве памяти BundlesMediaBundleHighMediumClosed
100%
Артём Task Description

Например при 128Мб медиалиба отваливается с такой ошибкой

php.EMERGENCY: Fatal Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 19648 bytes) {”type”:1,”file”:”/vendor/imagine/imagine/lib/Imagine/Gd/Image.php”,”line”:602,”level”:6135,”stack”:[]} []

request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\OutOfMemoryException: “Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 19648 bytes)” at /vendor/imagine/imagine/lib/Imagine/Gd/Image.php line 602 {”exception”:”[object] (Symfony\\Component\\Debug\\Exception\\OutOfMemoryException(code: 0): Error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 19648 bytes) at /vendor/imagine/imagine/lib/Imagine/Gd/Image.php:602)”} []

Придумать как обходить это ограничение...

52215 Aug 2015Настройки атрибутов и офрмления формы из админкиModulesWebFormHighMediumНовая
0%
Артём Task Description

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

 540 11 Dec 2015 Применение собственного шаблона корневой папки - Bugs -HighMediumClosed
100%
Артём Task Description

Если в корень подключен модуль с роутингом, то не подхватывается собственный шаблон главной.

 50 07 Jan 2011 Установка фокуса в элементах формы при загрузке страниц ...+ Requests +HighLowClosed
100%
Артём Task Description

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

http://htmlcssjs.ru/HTML/?27

HTML4

<input name="login" id="form-login">
<script type="text/javascript">
document.getElementById('form-login').focus();
</script>

HTML5

<input name="login" id="form-login" autofocus>
 54 11 Jan 2011 Путь к папке с файлами приложения. application_dir + Requests +HighLowClosed
100%
Артём Task Description

Возможно нет смысла хранить это значение в конфиге, а лучше задавать в таблице engine_sites,
а возможно и вообще отказаться от кунфигурирования этого параметра и жестко принять значниене, например "_app".

 111 01 Mar 2011 Сопостовление доменов и сайтов. + Requests +HighLowClosed
100%
Артём Task Description

Думаю более красивое решение будет, если из таблицы engine_sites убрать поле domain и создать табличку engine_sites_domains в которой указывать связи сайтов и доменов.

 356 19 Jan 2013 Права доступа при подогреве кеша + Requests +HighLowClosed
100%
Артём Task Description

При php bin/warmup_cache на папку cache/prod ставится хозяин root (от юзера запустившего пхп из консоли), а нужно www-data (т.е. от апача)

что-то наверно типа:

system('chown -hR www-data:www-data ' . $rootDir . '/app/var/cache/prod/');

но надо как-то более универсально определять названия и группу www-data а также путь к кешу брать с $kernel.

45921 Jul 2014Мультизагрузка фотокModules-HighLowНовая
0%
Артём Task Description

Найти плагинчик под jquery и сделать как в вк :)

http://www.fyneworks.com/jquery/multiple-file-upload/

http://designscrazed.net/html5-jquery-file-upload-scripts/

46805 Nov 2014Синтаксис включения областейCMSBundleHighLowНовая
0%
Артём Task Description

Сейчас шаблонам передаются данные в виде переменной, наример так:

  {{ content }}

Думаю лучше генерировать области через функцию, например так:

  {{ cms_region('content') }}

или короче

  {{ region('content') }}

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

 500 14 May 2015 Конфигрурирование разрешенных типов файлов в elfinder + Requests +HighLowClosed
100%
Артём Task Description

Сейчас жестко вбито

upload_allow: ['image/png', 'image/jpg', 'image/jpeg']
upload_deny: ['all']

Надо где-то красиво и удобно настраивать.

52110 Aug 2015Задать версии пакетам (перед релизом)+ Requests +HighLowНовая
0%
Артём Task Description

Сейчас в composer.json задаются версии пакета, как “dev-master”

"smart-core/felib-bundle": "dev-master",

Надо сделать тэги и объявить подключение ВСЕХ базовых бандлов и модулей в composer.json в репозитории CMS.

 233 06 Oct 2011 Доделки Таксономии Modules-HighVery LowClosed
100%
Артём Task Description
  1. генерировать ошибку 404, если запрошенных тэгов нет,
  2. как-то придумать опцию для сортировки... можно например в свойстве ноды задавать поле и направление.
 249 01 Nov 2011 Запретить смену языка сайта + Requests +HighVery LowClosed
100%
Артём Task Description

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

 293 27 Dec 2011 Парсер должен возвращать набор всех данных. CMSBundleHighVery LowClosed
100%
Артём Task Description

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

Есть сложности с :
- правами доступа
- обработкой служебных запросов (ajax, admin, action)

 317 29 Jan 2012 Переименовать контейнеры в блоки. + Requests +HighVery LowClosed
100%
Артём Task Description

Дело в том, что фактически понятие "блок" часто применяется в качестве блоков на страницах, например в друпале.

А вот термин "контейнер" применяется при "Сервис-ориентированной" архитектуре.

ЗЫ: Symfony2 №284

46705 Nov 2014Режим просмотра областейAdministration-HighVery LowНовая
0%
Артём Task Description

Как у друпала

 135 08 May 2011 Выборка записей в нескольких категориях UnicatMediumVery HighClosed
100%
Артём Task Description

Перенести в массив $options указание категорий в которых надо сделать выборку.

а именно $options['categories'], как описано в вики http://smart-core.org/wiki/Юникат#.D0.97.D0.B0.D0.BF.D0.B8.D1.81.D0.B8_2

т.е.

  // Указываются категории в которых надо сделать выборку.
  // Также можно вообще не указывать никакой категории, тогда выберутся все записи экземпляра.
  // Перечисление делается через запятую, например: "1,4,77".
  // Также возможно указание значение 'all', в это случае выберутся все записи не зависимо от категорий.
 146 03 Jun 2011 Создание локального юзера CMSBundleMediumVery HighClosed
100%
Артём Task Description

В табл users_local.

Продумать, разные политики поведения, если юзер впервые заходит на сайт...

Также важно подумать как поступать, если в локальной БД возникает конфликт повторяющегося емаила в пределах одного сайта...

17520 Jul 2011Задание произвольных данных для head в макетах.+ Requests +-MediumVery HighНовая
0%
Артём Task Description

В частности надо иметь возможность задавать условные комментарии для ие.

 201 12 Sep 2011 Возможность не указывать папку для пункта меню. ModulesMenuMediumVery HighClosed
100%
Артём Task Description

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

 204 14 Sep 2011 Обязать указывать группу меню для ноды ModulesMenuMediumVery HighClosed
100%
Артём Task Description

Т.к. сейчас можно не указывать группу, а пункты меню всё равно можно создавать... они создаются в ид - 0, что не есть гуд...

 210 16 Sep 2011 !!! Заголовок при просмотре записи UnicatMediumVery HighClosed
100%
Артём Task Description

Сейчас форсированно запрашивается свойство title, соответственно, если его нет, то вылетает с ошибкой...

Думаю надо сделать возможность настраивать поле, которое будет выступать в качестве заголовка.

Также ошибка при администрировании записей:

Notice: Undefined index: title in E:\localhost\SmartCore\system\Components\Unicat\EditItems.tpl on line 34

Как вариант, можно сделать выставление заголовка на основе uri_part, в случае если не задано или пустое свойство...

21420 Sep 2011Выбор по нескольким категориямUnicatMediumVery HighИсполняется
10%
Артём Task Description

Например вот так: http://yaca.yandex.ru/yca/geo/Russia/Siberian/Novosibirsk_Region/Novosibirsk/cat/Computers/

т.е. задаётся например с ключем ‘geo’ один путь каталога, затем с ключом ‘cat’ другой, в результате только те записи, которые есть и там и там. и соответственно оба дерева категорий.

 261 04 Nov 2011 Формат структуры данных для построения меню. AdministrationToolbarMediumVery HighClosed
100%
Артём Task Description

Как для главного меню, так и для "ярлыков".

Главное меню будет запрашиваться AJAX запросом, например по адресу http://site.ru/ajax/admin/toolbar/getmainmenu/.

А ярлычки должны быть встрены в страницу т.к. они зависят от текущего раздела на сайте.

Ссылки по теме:
http://smart-core.org/wiki/Тулбар
http://smart-core.org/wiki/Тулбар:Simple

 278 04 Dec 2011 Доделать метод getItemPrototype UnicatMediumVery HighClosed
100%
Артём Task Description

Обработку аргумента $structures.

 291 24 Dec 2011 При регистрации надо запоминать вводимые данные ModulesUsersMediumVery HighClosed
100%
Артём Task Description

А сейчас, если каптча не прошла, то данные не запоминаются :(

 300 13 Jan 2012 Настройка суффиксов записей UnicatMediumVery HighClosed
100%
Артём Task Description

Сейчас хардкодно применяется суффикс .html, что не есть правильно (кстати надо переименовать "постфикс" на "суффикс), а надо сделать возможность настраивать через оппции экземпляра юниката.

Также можно суффикс использовать пустым, а отличать его от папки отсутствием завершающего слеша.

 311 24 Jan 2012 Оптимизировать сессии + Requests +MediumVery HighClosed
100%
Артём Task Description

Оптимизировать сессии

Продумать логику работы с вспомогательными функциями:
- getToken()
- setToken()
- getUserGroups()
- getUserData()
- setUserData()

Вроде как красивее всего будет возможность применения разных "хендлеров", например даже нативный файловый от РНР. При этом сохранять данные в неймспейсах самой сесиии. Но по умолчанию юзать хендлер с БД, у которого есть дополниельные поля:
- token
- user_id
- user_data
- user_agent
- ip_address

Так же основательно продумать схему "Flash" сессиий.

например в Cake так:

$this->Session->setFlash('Your post has been saved.');

Уничтожение сессии

http://smart-core.org/task/index.php?do=details&task_id=264

Сейчас при вызове метода destroy() устанавливается ключик is_active = 0, в тоже время session_id остаётся и при попытке, этимже юзером поднять сессию, появляется ошибка...

Пока что подкорректировал метод write() и в случае если is_active = 0, то этаже сессия заново активируется... но скорее всего это совсем неправильное решение.

Думаю лучше будет при уничтожении сессии, генерировать новый ключ session_id.


Удаление несколько ключей в сессии

http://smart-core.org/task/index.php?do=details&task_id=215

Метод deleteKey();

Вызываться будет например так:

$this->Session->deleteKeys('key1', 'key2', 'key3');

т.е, работать будет через разбор аргументов... либо передавать ключи в массиве.


Пространства имен в сессиях

http://smart-core.org/task/index.php?do=details&task_id=144

По типу как в Zend_Session_Namespace.

 313 26 Jan 2012 Валидация имени свойства UnicatMediumVery HighClosed
100%
Артём Task Description

Должен состоять только из енг, цифр и знака подчеркивания!
знак - надо заменять на _

 314 26 Jan 2012 Разбор запроса, через класс Uri + Requests +MediumVery HighClosed
100%
Артём Task Description

Там же выполнять валидацию.

 332 05 Feb 2012 Где хранить список тем? CMSBundleMediumVery HighClosed
100%
Артём Task Description

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

Как вариант можно конфиругировать через настройки сайта! Тем более после задачи № 331, из настроек сайта будут убраны поля:

  • Макеты
  • Представления в макетах
  • Представление для корневой папки

Также надо избавиться от таблиц engine_themes_extras и engine_themes_extras_values !

 333 05 Feb 2012 Выделить работу с данными в класс Unicat_Model UnicatMediumVery HighClosed
100%
Артём Task Description

т.е. преобразовать в полноценный MVC.

 14 24 Dec 2010 Файловый менеджер для визивигов Modules-MediumHighClosed
100%
Артём Task Description

скорее всего будет запускаться как модуль подключенный в определённую папку ядра. Притом скорее всего его надо будет адаптировать чтобы он умел работать как с tinymce, так и с fckeditor.

 158 10 Jul 2011 Подмена макета только для главной папки. CMSBundleMediumHighClosed
100%
Артём Task Description

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

Похоже, что можно просто задавать в свойствах сайта.

 216 21 Sep 2011 Доработки в "Восстановление пароля" Modules-MediumHighClosed
100%
Артём Task Description

1) Добавить каптчу на обе формы.

2) Переделать на чистый УРИ т.е. без ГЕТ запроса вида ?key=

 243 18 Oct 2011 Проверка на уникальность имени свойства записи UnicatMediumHighClosed
100%
Артём Task Description

Метод createProperty() должен проверять на уникльность вводимое имя поля.

 33 26 Dec 2010 Некорректно генерируется список ModulesMenuMediumMediumClosed
100%
Артём Task Description

Вложенные списки некорректно генерируют хтмл код, в случае когда после 2-х ярусной вложенности сразу идет перескок на 0-ую, например:

1.1
1.2
  1.2.1
  1.2.2
    1.2.2.1
1.3
 52 09 Jan 2011 Настройки (табл. engine_settings) - определиться какие  ...CMSBundle-MediumMediumClosed
100%
Артём Task Description

Настройки хранить в конфигах, а в БД записывать только значения отличных от дефолтных, хотя и их тоже можно скидывать в конфиги.

При выборке кешировать в АРС.

 66 15 Jan 2011 Активация пользователей через е-маил ModulesUsersMediumMediumClosed
100%
Артём Task Description

Модуль UserRegistration после регистрации будет отправлять е-маил с неким хешем и уникальной ссылкой и только после перехода по этой ссылке юзер в системе будет активирован.

 79 20 Jan 2011 Дублирующиеся группы свойств UnicatMediumMediumClosed
100%
Артём Task Description

Вот тут http://auto-sale.com.ua/index.php?page=sto&id=2 интересный момент: 5 одинаковых групп свойств для разных марок машин... надо продумать как заложить такую возможность.

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

 167 13 Jul 2011 Сохрание пользователя AdministrationBack-endMediumMediumClosed
100%
Артём Task Description
  1. Сейчас если не выбрать ни одну группу, то юзер изчезает из списка.
  2. Сделать сохранение юзера, сейчас сохраняются только группы.
 186 03 Sep 2011 Возможность использования разных медиахранилищ UnicatMediumMediumClosed
100%
Артём Task Description

Например чтобы можно было картинки хранить в одном месте, а файлы в другом.

Можно задавать медиа коллекцию в параметрах свойства, например только для типов: img, file, textarea. Еще красивее будет, если мы будет к экземпляру подключать список доступных медиахранилищ, а при редактировании параметров свойств, просто выбирать из доступных.

 225 29 Sep 2011 Вынести метод preloader() в отдельный класс + Requests +MediumMediumClosed
100%
Артём Task Description

Чтобы он меньше весил, да и фактически он не является частью класса Cache.

 244 28 Oct 2011 Параметры для Reflex в формате YAML Modules-MediumMediumClosed
100%
Артём Task Description

Думаю будет весьма удобно управлять через админку.

 255 03 Nov 2011 Работа с удалённой базой юзеров. InstallationDeploymentMediumMediumClosed
100%
Артём Task Description

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

 274 22 Nov 2011 Автоматическое развертывание таблиц Modules-MediumMediumClosed
100%
Артём Task Description

Для модулей:

  • 2GisCounter
  • Comments
  • GeoMaps
  • Menu
  • Subcscribe
  • Texter
  • UserProfile
  • UserRecover
  • UserRegistration (активация)
 328 03 Feb 2012 Подготовленные выражения (prepared statements) + Requests +MediumMediumClosed
100%
Артём Task Description

Переписать все критические места например вот в такой формат:
http://www.yiiframework.com/doc/guide/1.1/ru/database.dao#binding-parameters

 357 21 Jan 2013 Корректировка папки /cache/ в SymfonyRequirements.php + Requests +MediumMediumClosed
100%
Артём Task Description

Думаю надо сделать в композере вызов скрипта, который будет производить подмену

$baseDir = basename(__DIR__);

на

$baseDir = basename(__DIR__) . '/var';

а также

is_writable(__DIR__.'/cache'),

на

is_writable(__DIR__.'/var/cache'),

и логи.

40728 Feb 2014МультиселектUnicatMediumMediumНовая
0%
Артём Task Description

Разобраться почему не заработало...

 3 24 Dec 2010 Метод block шаблонизаторе CMSBundle-MediumLowClosed
100%
Артём Task Description

Доработать block() для поддержки в шаблонах обрамляющих тегов, а также скрытия контейнера, если он пуст.

Сейчас рендеринг блоков выглядит вот так:

{% block breadcrumbs block.breadcrumbs %}

Что является сокращенной формой от:

{% block content %}
{{ block.content }}
{% endblock content %}

Надо подумать, можно ли укоротить этот синтаксис до:

{{ block('breadcrumbs') }}
 16 24 Dec 2010 отладочная информация + Requests +MediumLowClosed
100%
Артём Task Description

1) время исполнения фрагментов кода
2) колв-во и просмотр sql запросов фрагментов кода

 37 26 Dec 2010 Префиксы таблиц + Requests +MediumLowClosed
100%
Артём Task Description

Сейчас для префиксов таблиц применяется служебная строка «#__», но замена идёт по всему запросу, значит если встретится эта последовательность символов не в качестве префиксов таблиц, а как часть строки с данными пользователя, то также произойдет замена... Надо продумать момент оформления префиксов.

Может быть засунуть как свойство в классы DB, а в коде вызывать как:

$this->DB->prefix
 47 26 Dec 2010 Работа с meta данными в head секции html + Requests +MediumLowClosed
100%
Артём Task Description

Учитывать media, icon, shortcut icon, decription, keywords и т.д.

 53 09 Jan 2011 Сжатие контента в истории. ModulesTexterMediumLowClosed
100%
Артём Task Description

В таблище text_items_history надо хранить text в бинарном поле в сжатом виде.
Сжимать лучше средствами РНР.

8020 Jan 2011Возможность подключения произвольного кол-ва картинокUnicatMediumLowНовая
0%
Артём Task Description

Возможность подключения произвольного кол-ва картинок, и наверно прикреплять файлы тоже, к записи.

Сделать свойство ImageCollection, а в свойствах будет храниться массив ID-шников картинок.

 85 22 Jan 2011 Поменять language_id тип с числового на буквенный? + Requests +MediumLowClosed
100%
Артём Task Description

Может быть указывать языки буквами? например "ru", "en", "de" и т.д.

 93 23 Jan 2011 Конфигурирование стилей для тем. + Requests +MediumLowClosed
100%
Артём Task Description

Сейчас стили для тем задаются в таблице engine_themes_layouts, но может быть указывать какие стили требуются, например в файле theme.ini в самой папке с шаблоными темы:

[general]
doctype = XHTML1_STRICT
content_language = ru
default_layout = main
 
[styles]
main = "screen.css, news.css"
 115 03 Mar 2011 Генерация вложенных категорий. UnicatMediumLowClosed
100%
Артём Task Description

Сейчас учитываются только вложенные записи.

 125 19 Mar 2011 Подключение стилей в макет через ini + Requests +MediumLowClosed
100%
Артём Task Description

В виде

styles = "screen.css, news.css"

или

css = "screen.css, news.css"
 126 19 Mar 2011 Подключение скриптов в макет через ini + Requests +MediumLowClosed
100%
Артём Task Description

Подключение библиотек:

js_lib = "jquery, extjs"

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

js = "main.js, news.js, asd/qwe.js"

т.е. скрипты будут запускаться из папки темы и можно применять относительные пути.

 148 12 Jun 2011 Настройки модуля новостей ModulesNewsMediumLowClosed
100%
Артём Task Description

Сделать гибкие настройки в новостях:

  • Использовать категории?
  • Использовать даты начала и окончания публикации?
  • Генерировать ссылки только для записей с непустым свойством text.
15406 Jul 20112гис - счетчикModules-MediumLowНовая
0%
Артём Task Description

Для подсчета переходов с 2гиса.

Например формировать ссылки вида http://site.ru/2gis, а модуль в свою очередь будет запоминать клик и вести статистику.

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

http://link.2gis.ru/FD120E03/grym/20140701/novosibirsk/807d001190f3?http://site.ru

Отсюда же можно вычислять город и вести статистику.

 200 10 Sep 2011 Хранить путь куда подключена нода CMSBundleMediumLowClosed
100%
Артём Task Description

Будет использоваться как кеширование, чтобы не высчитывать каждый раз.

Хранить прямо в поле таблицы нод.

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

 224 29 Sep 2011 Избавиться от site_short_name и site_full_name CMSBundleMediumLowClosed
100%
Артём Task Description

Эти значения не должны находиться в секции EE→template.

Движок должен самостоятельно генерировать значение тэга <title> т.е. не задействуя для этого ЕЕ.

 269 18 Nov 2011 В конструкторе оставить только подключение к БД. + Requests +MediumLowClosed
100%
Артём Task Description

Остальное можно убрать в метод run() или оформить в виде другого какого-то метода, например siteInit().

 289 24 Dec 2011 Применение единой таблицы записей и её свойств. UnicatMediumLowClosed
100%
Артём Task Description

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

29428 Dec 2011Кеширование нод целиком.CMSBundle-MediumLowНовая
0%
Артём Task Description

Нужно сделать для того, чтобы нода даже не запускалась, а ядро брало значение сразу из кеша.

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

 367 14 May 2013 Переписать запрос на DQL (наследование нод) CMSBundle-MediumLowClosed
100%
Артём Task Description

EngineNode::buildList()

Сейчас выполяется вот так:

$sql = "SELECT n.*
    FROM {$this->db_prefix}engine_nodes AS n,
        {$this->db_prefix}engine_blocks_inherit AS bi
    WHERE n.block_id = bi.block_id 
        AND n.is_active = 1
        AND n.folder_id = '{$folder->getId()}'
        AND bi.folder_id = '{$folder->getId()}'
    ORDER BY n.position ASC
";

Вот попытки...

            // SmartCoreEngineBundle:Folder f
            $em = $this->container->get('doctrine.orm.default_entity_manager');
            $query = $em->createQuery("
                SELECT n
                FROM SmartCoreEngineBundle:Node n
                JOIN n.block b
                WHERE n.is_active = 1
                AND n.folder = :folder
                AND n.block = b
 
                ORDER BY n.position ASC
            ")->setParameters([
                'folder' => $folder,
                //'folder_id' => $folder->getId(), // AND b.block_id NOT IN (:folder_id)
                //'folder2' => $folder, // AND b.folders IN (:folder2)
            ]);
            $nodes = $query->getResult();
 
            ld($query->getSQL());
            ld($nodes);
 379 21 Jan 2014 Генерация заготовки для модуля. CMSBundle-MediumLowClosed
100%
Артём Task Description

Примерно тоже самое, что app/console generate:bundle и app/console generate:controller, но для модуля.

 394 17 Feb 2014 Переход на Bootstrap 3 CMSBundle-MediumLowClosed
100%
Артём Task Description

В частности вот с этими темами:

39819 Feb 2014Отслеживание процесса загрузки файловBundlesMediaBundleMediumLowНовая
0%
Артём Task Description

http://www.php.net/manual/ru/session.upload-progress.php

http://wiki.nginx.org/HttpUploadProgressModule

http://bytes.jocarter.co.uk/post/41709800721/server-side-file-upload-progress

http://4nf.org

но, пока незнаю как проверять %)) на локальком компе бы как-нибудь ограничить скорость загрузки...

 409 03 Mar 2014 Создание текстера в момент создания папки CMSBundle-MediumLowClosed
100%
Артём Task Description

Через крыжик, но лучше всего если это будут какие-то плагины настраиваемые.

 417 05 Apr 2014 Растолкать /web/assets по бандлам + Requests +MediumLowClosed
100%
Артём Task Description

В частности jquery, modernizr, bootstrap 2.3.2 есть в knp rad.

Хайлатеры (syntaxhighlighter и https://github.com/isagalaev/highlight.js) оформить в виде бандла.

Редакторы тоже: ace, codemirror, tinymce, ckeditor. Притом поставлять вместе с разными версиями, в частности tinymce нужен и 3 и 4-ый.

В принципе многие вещи можно затолкать в FelibBundle.

остались:

cmf - в CMSBundle
jcarousel - в Felib
nivo-slider - в Felib
tinymce - в https://github.com/Smart-Core/WysiwygBundle
41806 Apr 2014Сайт движка+ Requests +MediumLowНовая
0%
Артём Task Description

Продумать структуру, написать тексты, разрекламировать адекватно ;)

В качестве “конкурентов” можно смотреть на:

42518 Apr 2014SitemapBindle Обработка редиректов+ Requests +MediumLowНовая
0%
Артём Task Description

Например http://globalwellness.ru/strength/ ведет на http://globalwellness.ru/strength/medium/upperbody/ и это надо адекватно обрабатывать.

42724 Apr 2014БэкапыAdministration-MediumLowНовая
0%
Артём Task Description

http://smart-core.org/forum/topic/36/bekapy/

http://habrahabr.ru/post/154047/ - Свое облачное хранилище на основе ownCloud

http://habrahabr.ru/post/45912/ - Настройка резервного копирования в Ubuntu

http://habrahabr.ru/post/51419/ - резервное копирование rsync-ом

http://www.ibm.com/developerworks/ru/library/au-spunix_rsync/ - Эффективное использование rsync

https://www.dropbox.com/developers/core/start/php

Для мускуля поизучать XtraBackup или MySQL Enterprise Backup.

Поизучать такой скриптик:

#
#Copyright (c) 2015 Сrutch_master (from linux.org.ru)
#License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
#
#!/bin/bash
host=$1;
if [ $1 = "--help" ]; then
    echo "MySQL backup script."
    echo "Include mysqldump, mysql, git"
    echo "Usage: dump.sh <host> <user> <password>";
else
    mkdir $host 2> /dev/null
    cd $host
 
    echo 'show databases;' | mysql -h $1 --user=$2 --password=$3 | tail -n +2 > databases.list
    dbcnt=$(wc -l databases.list | cut -d ' ' -f 1)
    dbcur=0
 
 
    for db in $(cat databases.list);
    do
        dbcur=$(($dbcur+1))
        echo "DB# $dbcur/$dbcnt Start dump $db"
        if [ -d $db ]; then 
            newdb=0
        else
            mkdir $db 2> /dev/null
            newdb=1
        fi
        cd $db
        if [ $newdb -eq 1 ]; then 
            echo "git init"
            git init 
        fi
 
        echo "use $db;show tables;" | mysql -h $1 --user=$2 --password=$3 | tail -n +2 > tables.list
        tabcnt=$(wc -l tables.list | cut -d ' ' -f 1)
        tabcur=0
 
        #git: rm 
        for remove in $(dir -1 | grep -v -f tables.list | grep -v "routines.sql" | grep -v "tables.list");
        do
            echo "rm:$remove"
            git rm $remove
            rm $remove
        done
 
        for table in $(cat tables.list);
        do
            tabcur=$(($tabcur+1))
            echo "DB# $dbcur/$dbcnt TAB# $tabcur/$tabcnt dump $db.$table"
            #dump tables
            mysqldump --user=$2 -h $1 --password=$3 --lock-tables=false --extended-insert=false $db $table | grep -v 'SQL SECURITY DEFINER' > $table.sql 2>>error.log
            git add $table.sql
        done
        #dump routines
        echo "DB# $dbcur/$dbcnt dump $db routines"
        mysqldump --user=$2 -h $1 --password=$3 -R -t -d --extended-insert=false $db | grep -v 'SQL SECURITY DEFINER' | tr '[:upper:]' '[:lower:]' | sed 's/ definer=`root`@`[^`]*`//' > $db.routines.sql 2>>error.log
        git add $db.routines.sql
        git commit -m "$(date +%F_%R)"
        git gc
        cd ..
    done
    cd ..
fi
 463 25 Aug 2014 Хранение сущностей не в бандле UnicatMediumLowClosed
100%
Артём Task Description

Изучить тему http://stackoverflow.com/questions/9999433/should-everything-really-be-a-bundle-in-symfony-2-x

Тут с 80-ого слайда описывается методика переноса места для размещения конфигов вметосто аннотаций
http://www.slideshare.net/matthiasnoback/the-naked-bundle-symfony-live-london-2014

46905 Nov 2014Ace редактор в параметрахModulesWidgetMediumLowНовая
0%
Артём Task Description

Для Params, Open tag и Close tag

47912 Dec 2014Права chown для warmup_cache+ Requests +MediumLowНовая
0%
Артём Task Description

Сделать через функцию getenv(), чтобы можно было устанавливать для разных ОС, а также для некоторых хостингов.

 490 22 Feb 2015 Безопасный подогрев кеша + Requests +MediumLowClosed
100%
Артём Task Description

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

Есть идея сделать команду bin/rebuild_cache которая будет делать следующие вещи:

  1. Установка .lock файла для prod окружения. (надо подумать где хранить этот файл)
  2. Удаление существующих кешей (сейчас bin/clear_cache)
  3. Подогрев кеша для prod окружения и выставить chown www-data (сейчас bin/warmup_cache)
  4. Удаление .lock файла для prod окружения.
  5. Подогрев кеша для dev окружения.

При этом фронт контроллер (app.php) будет настроен следующим образом: при обнаружении .lock файла, будет запускаться цикл при котором с задержкой (примерно 300мс) будет производиться повторное чтение .lock файла. Цикл будет ограничен кол-вом итераций, например в общей сложности не более 10 секунд, чтобы не возникло больших наклодных расходов ресурсов. Если за отведенное время разблокировки не произошло, то можно отдавать сообщение типа “На сайте ведутся технические работы, попробуйте перезагрузить страницу через несколько минут”.

Для оптимизации всего этого процесса, скрипт rebuild_cache может подменять файл app.php на файл с проверкой блокировки, а по окончанию подогрева возвращать оригинальный app.php

49102 Mar 2015Проверка на корректность конфигурации модуляCMSBundleCoreMediumLowНовая
0%
Артём Task Description

Спрятать вот такой код:

if (null === $this->group_id) {
	return new Response('Module Menu not yet configured. Node: '.$this->node->getId().'<br />');
}

Например в метод checkParams в SmartCore\Bundle\CMSBundle\Module\ModuleBundle.

49506 Apr 2015Вёрстка EIP и тулбара без бутстрапа.Administration-MediumLowНовая
0%
Артём Task Description

Может потребоваться на каких-нибудь хитрых вёрстках.

Также нужно иметь возможность отключать ЕИП с фронтенда совсем, а не отключением в каждой ноде.

Еще надо вывести вправление всеми нодами на страницу в телбар.

51012 Jun 2015При отключении Is use eip, пропадают Controls in toolba...Administration-MediumLowНовая
0%
Артём Task Description

Надо оставлять.

52808 Oct 2015Фильтр записей в админкеUnicatMediumLowНовая
0%
Артём Task Description

Например как в престашопе, где в табличке над некоторыми колонками расположены поля для ввода и кнопка поиск.

 7 24 Dec 2010 В дублирующей навигации заголовок окна для новости ModulesNewsMediumVery LowClosed
100%
Артём Task Description

В дублирующей навигации заголовок окна для новости, не всегда должен совпадать с заголовком новости!

 160 10 Jul 2011 Система сообщений о выполненной операции + Requests +MediumVery LowClosed
100%
Артём Task Description

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

 183 30 Aug 2011 Локальное медиа хранилище по умолчанию InstallationDeploymentMediumVery LowClosed
100%
Артём Task Description

а то сейчас вообще ниодного не создаётся...

19106 Sep 2011Реестр доступных хуков в модуле.+ Requests +MediumVery LowНовая
0%
Артём Task Description

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

21319 Sep 2011Безопасная загрузка файлов (PHP, JS, HTML...)BundlesMediaBundleMediumVery LowНовая
0%
Артём Task Description

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

 227 29 Sep 2011 Отслеживание входных данные ($_GET). + Requests +MediumVery LowClosed
100%
Артём Task Description

Например можно сделать через класс Input. Нужно для того, чтобы мы могли отследить какой $_GET запрос является валидным, а какой нет и в случае невалидности выдать ошибку 404.

 254 03 Nov 2011 Возможность зарегистрировать пользователя при развертыв ...InstallationDeploymentMediumVery LowClosed
100%
Артём Task Description

Чтобы можно было на голой платформе сразу зарегаться и активироваться как рут.

 256 03 Nov 2011 Починить обработку данных при отправке формы InstallationSetupMediumVery LowClosed
100%
Артём Task Description

А то сейчас надо в пхп файле ручками прописывать данные подключения к БД %))

Ну и за одно обработку ошибок, на всякие подключения к БД, проверка на запись и т.д.

 260 04 Nov 2011 Разделение на закладки (tab) блоки при редактировании Administration-MediumVery LowClosed
100%
Артём Task Description

Например при редактировании свойств ноды, разделить на закладки "Основные свойства ноды" и "Параметры подключения модуля".

26306 Nov 2011Подсчет колва записей в категорииUnicatMediumVery LowНовая
0%
Артём Task Description

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

26513 Nov 2011Назначение прав для всех групп и юзеровCMSBundleMediumVery LowНовая
0%
Артём Task Description

Например можно сделать так:

*|read:0,write:0;1|read:1,write:1;

Это будет означать, что для ВСЕХ групп юзеров будет назначены права read:0,write:0, а затем для группы №1 права read:1,write:1 таким образом даже если в системе изменятся группы юзеров, для этого объекта права будут всегда выстанавливаться по данному принципу.

сейчас видимо будет что-то типа:

*|read:0,write:0;ROLE_ADMIN|read:1,write:1;
 299 12 Jan 2012 Паттерн Registry + Requests +MediumVery LowClosed
100%
Артём Task Description

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

 307 22 Jan 2012 Глобальная обработка ошибок. + Requests +MediumVery LowClosed
100%
Артём Task Description

Сделать глобальную обработку ошибок как у Kohana. Например перехватывать error_handler и в режиме НЕ production выводить стак трейс и 11 строк кода.

 309 22 Jan 2012 Сross Site Request Forgery CMSBundleMediumVery LowClosed
100%
Алексей Task Description

Защиту от Сross Site Request Forgery
есть 2 вариента парсить поле HTTP_REFERER. Но клиент может и не посылать данные эти.

дополнительно ввести скрытую форму с полем к которой будет находится секретный ключ сесии.
Куки тут не помогут. только скрытая форма.

 323 01 Feb 2012 Почтовые провайдеры + Requests +MediumVery LowClosed
100%
Артём Task Description

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

Это позволит например оповещение с форума производить с одного ящика, а рассылки на подписки с другого.

Хотя можно сильно не заморачиваться, а просто сделать базовые настройки для всего сайта, а для каждого модуля возможность выбирать, либо с дефолного ящика отсылать, либо указать свои параметры.

 326 02 Feb 2012 Маршруты для ACTION режима CMSBundleMediumVery LowClosed
100%
Артём Task Description

Сейчас ключевое слово ACTION ставится в папке в которой находится нода, возможно в этом нет смысла т.к. если юзер обладает правами выполнять эекшены нод, то права на папки возможно значения не имеют...

Т.е. подумать, может упростить маршрут до такого вида: /action/{\d+}/*

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

 331 05 Feb 2012 Пересмотреть логику layout и views у папок. CMSBundleMediumVery LowClosed
100%
Артём Task Description

Сейчас при изменения вида блоков применяется поле "views" в таблице engine_folders. Это не очень красиво, надо подумать, может быть лучше поле "layout" переимновать в "view" и там указывать только имя единственного файла вида которой надо выполняить, а он уже будет включать в себя инструкцию extends, которая расширит этот макет родительским.

Тогда в прицнипе можно будет во всех макетах указывать только метод $this→block().

Но есть сложность: надо как-то вычислять какой именно блок перегружает шаблон... это можно сделать, либо анализируя код (что есть ресурсоёмко), либо ручками указывать список блоков, которые шаблон перегружает.

Прикладываю файл с возможным форматом структуры папки с видами, которая будет лежать в папке с темой (вместо нынешней tpl).

 351 27 Aug 2012 Рефакторинг автозагрузчика. CMSBundle-MediumVery LowClosed
100%
Артём Task Description

В симфони 2.1 сделан другой автозагрузчик, надо перевести на новый синтаксис.

 387 08 Feb 2014 Возможность подключать модули с роутингами в корневую п ...CMSBundle-MediumVery LowClosed
100%
Артём Task Description

Гипотетически такая возможность может понадобиться ;)

Сейчас проблемма в том, что для маршрутов необходимо чтобы _basePath был не пустой...

41206 Mar 2014Активный пункт меню, при просмотре записиUnicatMediumVery LowНовая
0%
Артём Task Description

Сейчас RequestVoter не срабатывает из-за того, что конец запроса указывает на запись, а не на категорию...

Подумать как вообще можно генерировать меню категорий с активными пунктами не совпадающие со строками запроса.

 431 08 May 2014 Поведение формы логина ModulesUsersMediumVery LowClosed
100%
Артём Task Description

Редиректить гостя при входе на /user/ в /user/login

Также для авторизированного юзера убрать /admin/login

 450 07 Jul 2014 Поддержка кирилицы в URI + Requests +MediumVery LowClosed
100%
Артём Task Description

Также как в папках, для категорий и записей.
а также в новостях.

51124 Jun 2015Версии админки для контентщика и конструктораAdministration-MediumVery LowНовая
0%
Артём Task Description

Т.к. в большинстве случаев в управлении контентом нужно значительно меньше функционала, чем при конструировании сайта.

 527 08 Oct 2015 Перегенерация сущностей через cmd UnicatMediumVery LowClosed
100%
Артём Task Description

Нужно будет при обновлении кода. Например вот тут был добавлен репозиторий https://github.com/Smart-Core/CMS-Sandbox/commit/1b3ff3ba96b7447e81c1e78a09e725d9c9df8c2e

 145 31 May 2011 Баг с некорректными куками - Bugs -LowVery HighClosed
100%
Артём Task Description

Notice: Undefined index: status in /home/l/public_html/system/Kernel/User.php on line 201
 
Warning: Cannot modify header information - headers already sent by (output started at /home/l/public_html/system/Kernel/User.php:201) in /home/l/public_html/system/Kernel/Cookie.php on line 112
 
Warning: Cannot modify header information - headers already sent by (output started at /home/l/public_html/system/Kernel/User.php:201) in /home/l/public_html/system/Kernel/Cookie.php on line 122
 
Warning: Cannot modify header information - headers already sent by (output started at /home/l/public_html/system/Kernel/User.php:201) in /home/l/public_html/system/common.php on line 174

54208 Sep 2017Drag-n-drop редактор шаблоновAdministrationFront-endLowMediumНовая
0%
Артём Task Description

поизучать вот такие штуки:

для Wordpress существует куча платных и бесплатных drag-n-drop редакторов шаблонов:

к сожалению проект headwaythemes.com мертв, но есть его форк: http://bloxtheme.com

 63 14 Jan 2011 Убрать все подзапросы + Requests +LowLowClosed
100%
Артём Task Description

Сейчас применяются для вычисления наличия перевода, но во первых экономии в производительности видимо нет, а вот отладка явно сложнее.

 1 24 Dec 2010 favicon.ico + Requests +LowVery LowClosed
100%
Артём Task Description

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

Скорее всего логичнее всего будет указывать фавикон в параметрах папки и наследовать её, а физически хранить в папке темы.

 2 24 Dec 2010 переименовать константу NODE_ACTION в ACTION_PREFIX? + Requests +LowVery LowClosed
100%
Артём Task Description

вроде как логичнее будет ;)

 4 24 Dec 2010 библиотека путей к скриптам + Requests +LowVery LowClosed
100%
Артём Task Description

Сейчас данные скриптов сохраняются в таблице engine_scripts_data, но есть идея сделать эту библиотечку на файлах, например такой структуры:

var/scripts/jquery/1.4.2/local
var/scripts/jquery/1.4.2/yandex
var/scripts/prototype/1.6.1/google

т.е. var/scripts/[name]/[version]/[source-profile], а в файле [source-profile] уже указывается ссылка на скрипты.

 5 24 Dec 2010 Приоритеты нод CMSBundle-LowVery LowClosed
100%
Артём Task Description

Продумать работу с приоритетами нод, например сейчас если «гость» зайдет на http://loc/SmartCore/user/, его редиректнет в http://loc/SmartCore/user/login/, но надо сделать возможность по минимуму собирать ноды, ведь в каком-нить проекте нода авторизации может оказаться последней и пока до неё дойдет очередь, она будет жрать ресурсы, собирая другие ноды, а в итоге произойдет редирект.

Showing tasks 1 - 250 of 515 Page 1 of 31 - 2 - 3 -

Available keyboard shortcuts

Tasklist

Task Details

Task Editing