KWeb  6.4
Changelog

KWeb 6.4.x

Backend

nowe elementy

zmiany nazw

 Regexp: \b(KWebObjectBase|KWebAttr_|[gs]etDataAttr|setPostData|getFormId|getDataAttributeEntry|getDataAttributeChildItems|setDraftDataAttr)\b
 Regexp: \b(isAttrChanged|setAttrChanged|isDataAttrTranslated|isDataAttrTranslateable|unsetDataAttrTranslation|requestSqlUpdate|isSqlUpdateRequested)\b
 Regexp: \b(->access|->lang|->sql|->sqlTable|->updateSql|['"]_lang['"]|->changed|getParsedDataAttr|isDataAttr|isPublishedVersion|getStatusCSSClass|sqlUpdate)\b
 Regexp: \b(sqlUpdateItems|storeChanges)\b
  • KWebObjectBase to teraz KWebObject
  • KWebAttr_n* zamienione na KWebAttribute_N*
  • getDataAttr -> getDataValue
  • setDataAttr -> setDataValue
  • KWebItem::setPostData to storePostedFormData()
  • KWebAttribute::setPostData to storePostedFormData()
  • KWebAttribute::getFormId() zmienione na Form::getFormName
  • KWebItem::getDataAttributeEntry to teraz getAttribute
  • KWebItem::getDataAttributeChildItems to teraz getChildItemsAttributes
  • KWebItem::setDraftDataAttr to teraz copyDataValue
  • isAttrChanged to teraz isDataChanged
  • setAttrChanged to teraz setDataChanged
  • isDataAttrTranslated to teraz isDataTranslated
  • isDataAttrTranslateable to teraz isDataTranslateable
  • unsetDataAttrTranslation to teraz unsetDataTranslation
  • requestSqlUpdate to teraz requestDataUpdate
  • isSqlUpdateRequested to teraz isDataUpdateRequested
  • KWebItem::access to _access
  • KWebItem::lang to _trans
  • KWebItem::sql to _update sql['_lang'] to _update[self::DATA_TRANSLATIONS]
  • KWebObject::changed to teraz _cacheDirty
  • KWebItem::getParsedDataAttr to teraz getParsedDataValue
  • KWebItem::isDataAttr to teraz isData
  • KWebObject::isPublishedVersion to teraz isPublishedAndVisible
  • KWebObject::getStatusCSSClass to teraz getObjectStatus
  • KWebAttribute::sqlTable to teraz source
  • KWebObject::sqlUpdate to teraz commitUpdates
  • KWebCache::sqlUpdateItems to teraz storeUpdates
  • KWebCache::storeSqlUpdates to teraz commitUpdates
  • KWeb/KWebCache::storeChanges to teraz storeUpdates
  • KWebObject::storeChanges to teraz commitUpdates

zmiany zasad

 Regexp: \b(getAttributeTable|convertValue|convertSqlValue|->convert|KWebAttribute_Checkbox|->file|->data|['"](__creating|__new|__removed|__setremove)['"])|tmpl/debug|setDebug|getDataTable|getDataQuery|getObjectRating|getUserRating\b

usunięte

 Regexp: \b(setPostDataAttr|getPostedDataAttr|gotUserValue|prepareAttributePost)\b
  • usunięty KWebAttribute::invalid
  • usunięty KWebAttribute::isPostingEnabled
  • usunięty KWebItem::setPostDataAttr, getPostedDataAttr, isDataAttrPosted
  • usunięty KWebAttribute::gotUserValue, prepareAttributePost
  • usunięte KWebAttribute::convertValue i convertSQLValue
  • usunięte KWebItem::$posted, $postValid, getFormId()
  • usunięte KWebAttribute::getFormEnabledId()

Akcje do zrobienia:

  • Edytorzy muszą mieć pozwolenie View AJAX na całym drzewie!

KWeb 6.3.x

Backend

 RegExp: \b(KWebConfig::load|KDBSettings|getPublishedChildren|getAttrId|edit/structure/(_itembar|_iteminfo|_moreinfo)|edit/bar/_slider)\b
  • KWebConfig::load to teraz KWebBootstrap::$config->load
  • zestawy KDBSettings powinny być tworzone jako KWebDBSettings_*
  • edycja ustawień konfigurowana jest w klasach zestawów, podobnie jak wartości domyślne
  • getPublishedChildren zwraca KWebCollection_Objects
  • KWebAttribute::getAttrId() zmienione na getAttributeId()
  • edit/structure/_itembar, _iteminfo, _moreinfo zamienione na edit/_bricks/object/bar, info i bar/info
  • canAddChild, canAddLink, canAssignAsChild itp zawierają parametr $attrId
  • zamiast edit/bar/_slider jest edit/menu/editbar
  • nowa obsługa struktur (KWebObject::getStructures)
  • obiekty menu Menu_Item

KWeb 6.2.x

Backend

Frontend

  • Wyszukiwanie działa pod kontrolą Lucene. Dostępny jest nowy język zapytań. Treści mogą potrzebować kilku minut, żeby się odświeżyć.
  • Wszystkie listy można filtrować, bardzo długie listy powinny się ładować znacznie szybciej w każdym z widoków
  • Bledy ze stosu są przenoszone do kolejnego zapytania przy redirektcie
  • Moderatorzy mogą podejrzeć element po faktycznej publikacji (uwzględnia np. podelementy), widok utrzymuje się podczas chodzenia po stronie (o ile szablon używa getUrl)
  • Struktura nie pozwala na powtórzenie zapytania POST
  • Możliwość pominięcia kosza
  • Dodatkowe skróty do czyszczenia cache

KWeb 6.1.x

Backend

  • wszystkie ścieżki w konfiguracji z wyjątkiem ścieżek uploadu są teraz absolutne!
  • oprócz KWEB_PATH dostępny jest KWEB_PUBLIC_PATH który kieruje do plików publicznie dostępnych.
  • podobnie pathLocal ma odpowiednik w postaci pathPublic, oraz f-cję pomocniczą pathSystem
  • oprócz tmp_path jest też tmp_public_path
  • publicznie dostępne pliki tmp znajdują się teraz w katalogu tmp_public_path (tmpub)

KWeb 6.0.x

Backend

  • KWebItem::getSql* są statyczne! z wyjątkiem getSqlDefaultChildOrder (statyczny odpowiednik to getSqlChildOrder)
  • all constructors changed to __construct with: "(?si)(class\s+([^ ]+).+function\s+)\2\s*\(" replace: "$1__construct("
  • all parent constructors changed to __construct with: "(class\s+([^ ]+)\s+extends\s+([^ {]+) .+?function\s+__construct.+?)(\$this->|self::|parent::)\3\s*\(" replace: "$1parent::__construct(" and search: "(\$this->|self::|parent::)[A-Z][^ (]+\(" replace: "$1parent::__construct("
  • static function declarations, search: "(?<!static )function (prepareSearch|fetchObjects|getSql|loadClass|onObject|resolveObjectName|useObjectCache|buildCacheItem|canAssign|loadAllClasses|instance|_install|getDataQuery|getDataTable|isUsingObjectData|isTranslateable)", replace: "public static $0"
  • all @ suppresed notices for arrays were changed to array_get with: "@(\$[a-z0-9_]+)\[(['"].+?['"])\]" replace: "array_get($1, $2)"
  • all @ suppresed notices for arrays were changed to !empty with:
  • all @ suppresed notices for assigned array values were changed to array_get with: ([^=><]=*)@($[a-z0-9_]+[^.;+ *]*)\[(.+?)\] replace: \1array_get(\2, \3)
  • all @ suppresed notices for assigned array values were changed to isset search: ([^=><]=[!]*)@(($[a-z0-9_]+[^.;+ *]*)\[(.+?)[ \]]*\]) replace: $1isset($2)
  • zapytanie getSqlPublishedChildren zawsze zwraca tablicę, nidgy nie dzieli na ATTR
  • getSqlDefaultChildOrder() NIE MOŻE być używane statycznie! Większość getSql* MUSI być używana statycznie!
  • Event został zamieniony na EventDispatcher i Event z symfony. Wszystkie zarejestrowane odwołania MUSZĄ być zmienione!
  • usunięcie bibliotek WURFL i libcurlemu
  • nowe KDB, nie ma już ::evtError
  • do obsługi bazy danych używana jest domyślnie klasa KDB_PDO
  • definicje baz mają teraz formę KSetting::$inst->get('db_nazwa');
  • skrypty aktualizujące zostały przeniesione do /include/upgrades i mogą być porządkowane w podkatalogach, mogą też zawierać spacje i podkreślenia i być krótsze
  • CacheBlock::$globalPrefix i $enabled zamienione na wersje dynamiczne
  • Z KWeb zniknęły:
    • zmienne $times, $cache, $tmpl, $db, $session, $script, $errors, $userOpt, $data
    • funkcje getUserOpt()
  • Szablony nie powinny używać $this
  • KWebScript powinien być wywoływany przez instance()
  • attribute, item i object zostały przeniesione do katalogów KWebAttr, KWebItem i KWebObject. Zmieniły się WSZYSTKIE nazwy itemów wg wzoru KWebItem_Typ (Typ z dużej litery). Jeżeli typ jest inny niż taka nazwa klasy trzeba ustawić odpowiedni override w ClassMap, lub w KWebObjects
  • Itemy nie powinny się już rejestrować przez KWebObjects::install
  • Nie istnieje już KWeb::pathOveride i KWeb::getPath
  • prefixy globalne MUSZĄ być zakończone znakiem '/'
  • widoki zawsze są katalogami - ścieżki jak view/full__item.inc są już niedozwolone (można zrobić je przez prefix)