Список змін і оновлень системних класів і бібліотек
- index.php etc.
- roo
Для ЦМС сторінок з флагом final = "1" CURR_PAGE буде без _restAlias
повне значення CURR_PAGE разом з _restAlias буде в CURR_PAGE_FULL
- riddler
define_class - Функція для оголошення константи класу.
Приклад:
define_class(__FILE__, 'UserLoginDoc');
- riddler
Додано глобальну функцію sendDeveloperEmail($error, $data = null), яка відсилає мило девеловперу в критичних ситауціях.
Емейли девеловперів вказуються в константі DEBUG_DEVELOPER_EMAIL через кому.
Мило шлеться функцією mail.
Критичні ситуації наступні:
Помилки SQL запитів:
- DBTable::insert, DBTable::update
- DBObj::isDBError, DBObj::_sqlError
- DB_Grid
- riddler
Розділення Action методів на звичайні і Ajax'ові (наприклад doList i doListAjax).
Якщо в запит послано аяксом (X_REQUESTED_WITH = XMLHttpRequest), то до назви методу додається суфікс "Ajax".
- riddler
Віддача JSON об'єктів (DB_Grid::displayJSON($data)).
Якщо браузер підтримує gzip (ACCEPT-ENCODING) кодування то масив буде запаковано.
- riddler
DB_Grid::formAddPhoneRule(&$form, $elName). Додає валідацію до телефону/факсу на стороні сервера і клієнта.
Regex:
/^\(\d{3}\)\s*\d{3}\s*-\s*\d{4}(\s.*)?$/
.
- riddler
Додано Action chopt=doChangeOption
- riddler
Методи doReorderForm, doReorderSave, _getReorderForm і відповідні Action методи (reorder, reorder_save)
Проперті:
var $fldReorderTitle = 'title'; // назва поля для заголовку ітема
var $reorderListSize = 15; // розмір селекта
- roo
Метод getFilterForm Кнопки перейменовано з submit i cancel в submit_btn i cancel_btn
- roo
Методи doUpdate, doInsert, doDelete меседж про зміни в БД привязується не до CURR_PAGE, а до сторінки на яку буде повертатися (метод getBackUrl). Для визначеня сторінки використовується метод _getPage4SaveMessage. Метод doReorderSave також видає повідомлення.
- riddler
Метод clearBackUrl. Очищаємо BackUrl перед редіректом. Викликається в методі doBack.
- riddler
Додано метод renderForm, який викликається в методах doNew, doEdit, doInsert, doUpdate замість $form->exec();
function renderForm(&$form)
{
$form->exec();
}
- List.php
- riddler
Додана константа DB_LIST_CELL_LINK_ENUM і темплата.
- roo
В основній темплаті list.tpl тітли лінків в хедері обролені функцією стріптагс
- riddler
Модифікована темплата cells/img.tpl. Додано параметри imgW, imgH для ресайзу рисунка. Значення по замовчуванню - 135x135.
- Session.php
- riddler
Додано метод Session::getId()
- Form.class.php
- riddler
Додано модифікатори для смарті (getlabel, gethtml)
- riddler
Додано елемент extended_password. Дає можливість додати HTML код до і після елементу (аналогічно до extended_text).
- riddler
Додано елемент extended_select. Дає можливість додати HTML код до і після елементу. (додаткові параметри відрізняються від extended_text)
- riddler
Додано метод insertElementAfter (подібно до insertElementBefore). Правда він місцями глючить.
- riddler
Додано елемент html_editor_basic_img (html_editor_basic + Image + PasteText)
- riddler
Поправки в контструкторі. В якості action використовуємо CURR_PAGE_FULL а не CURR_PAGE
Диний елемент може вказати FCK_Editor'y використувувати довільну папку для збереження файлів (по замовчуванню fckfiles)
$form->addElement('html_editor_basic_img', 'body', 'Message Body', null, null, 'other_fckfiles_path');
- DBObj.php
- riddler
Метод _call здійснює обробку таких викликів:
- get[tableName]4Select - вибірка словників для селектів. В таблиці повинні бути такі поля `id`, `title`, `sorter`.
- get[tableName]ById - вибірка рядку таблиці по id
- riddler
Метод changeOption - змінює значення поля ENUM на наступне.
- riddler
Метод reorder
- lib/htmlMimeMail/htmlMimeMail.php
- riddler
Метод _findHtmlImages. Додано перетворення urldecode до імен файлів
Copy%20of%20banner%20%23%20123%20$22%20thmb.jpg
- DBTable.php
- riddler
При винекненні помилок методах insert/update в DEBUG режимі робиться vdie помилки.
- ImageDB.php
- roo
метод getIconName перевіряє розмір малюнка, у випадку якшо реальний розмір малюнка менший, ніж той до якого, його намагаються ресайзити - повертає імя без вказання ширини і висоти.
- Auth.php
- roo
після логіна редіректить не на CURR_PAGE, а на CURR_PAGE_FULL (тобто з параметрами)
- SiteMap
- riddler
Додано метод getAliasByItemType. - визначення аліасу по назві ітема ЦМС.
Приклад PHP: SiteMap::GetAliasByItemType('Member/Find/Grid');
Приклад Smarty: <a href="{'Member/Find/Grid'|SMGetAliasByItemType}">Find Member</a>
- riddler
Додано метод getAliasByItem. - визначення аліасу по назві і типу ітема ЦМС.
Приклад PHP: SiteMap::GetAliasByItem('HTMLBlock/Show', 'account/activation/info.html');
Приклад Smarty: <a href="{'HTMLBlock/Show'|SMGetAliasByItem:'account/activation/info.html'}">About Account Activation</a>
По замовчуванню другий параметр Nameless
function getAliasByItem($itemType, $itemName = 'Nameless')
function SMGetAliasByItem($itemType, $itemName = 'Nameless')
- Doc.php
- vityk
зроблено додавання іменованих блоків через метод addContent, ім`я передається другим параметром:
$this->Doc->addContent($item, '_my_block');
в теплатах до нього можна звертитись поімені:
{$_my_block.tpl}
- riddler
Метод fetch. Модифіковано провірку активності DEBUG режиму
Constant::get('DEGUB')
- app Settings.php
- riddler
Модифіковано Настройки. Тепер можна настройки поділити по категоріях (поле 'cat').
Щоб створити нову категорію Настройок необхідно лише додати відповідні дані в БД
і прописати в site_map.xml наступне
<legal-agreement title="Legal Agreement">
<item type = "Settings/Grid" cat = "legal-agreement" itemName="Legal Agreement" />
</legal-agreement>
- riddler
Додано поле типу html_editor
Корисні розробки на JavaScript, що можуть знадобитися у майбутньому
- riddler
jquery.bginput.js. Функціонал для встановлення фону на input коли поле пусте і неактивне.
<input name="email" value="" emptybg="img/bg_empty_test_email.gif" size="45" >