('pdotools-2.12.10-pl','2021-05-15 23:34:34','2021-05-15 20:34:41','2021-05-15 23:34:41',0,1,2,0,'pdotools-2.12.10-pl.transport.zip',NULL,'a:8:{s:9:\"changelog\";s:28329:\"Changelog for pdoTools.\n\n2.12.10 pl\n==============\n- [#308] [pdoPage] Fixed the type of snippet property \"field\"\n\n2.12.9 pl\n==============\n- [Fenom] Update to version 2.12.0\n\n2.12.8 pl\n==============\n- [pdoPage] Fix reflected XSS in generated meta links\n\n2.12.7 pl\n==============\n- Make pdoTools canonical url work with Babel #304\n\n2.12.6 pl\n==============\n- [pdoPage] Reverted back #287\n\n2.12.5 pl\n==============\n- [Fenom] Added caching dinamic properties to prevent speed degradation.\n\n2.12.4 pl\n==============\n- [#290] Improved running snippet via @FILE binding.\n- [#296] Fix adding quotes to numeric values.\n- [#297] Make cross context weblink url possible.\n- [#274] [Fenom] User, resource and context properties are now dinamic.\n- [#287] [pdoPage] Remove prev & next meta tags\n- [#294] [#298] Improved pdopage.js and updated minified js files\n\n2.12.3 pl\n==============\n- Fixed E_NOTICE introduced in #285.\n\n2.12.2 pl\n==============\n- Updated chunks for Bootstrap 4.\n\n2.12.1 pl\n==============\n- [pdoMenu] Reverted back #283 and fixed docs for &tplCategoryFolder.\n- [#284] [Fenom] Fixed properties of $_modx->context variable.\n- [#275] [Fenom] Added \"reset\" and \"end\" modifiers.\n\n2.12.0 pl\n==============\n- [Fenom] More security fixes from Sergey Shlokov.\n- [#278] [pdoPage] Fixed caching.\n- [pdoPage] Show internal log on &showLog=`1`.\n- [#283] [pdoMenu] Fixed use of &tplCategoryFolder according to docs.\n- [#281] [pdoTools] Fixed load of models from case sensitive paths.\n- [#277] [pdoCrumbs] Ability to specify &customParents.\n- [#265] [pdoFetch] Fixed return of \"Array\" on SQL errors.\n\n2.11.3 pl\n==============\n- Added French lexicon entries.\n\n2.11.2 pl\n==============\n- Fix detection of element names starting with a number.\n\n2.11.1 pl\n==============\n- Faster processing of static files.\n\n2.11.0 pl\n==============\n- [pdoFetch] Added \"setTotal\" option to enable calculating all rows (\"SQL_CALC_FOUND_ROWS\"), which will also result in the \"totalVar\" placeholder is being set.\n- [pdoFetch] Option \"setTotal\" disabled by default.\n- [pdoPage] Forces \"setTotal\" to provide pagination.\n\n2.10.6 pl\n==============\n- Improved German lexicons.\n\n2.10.5 pl\n==============\n- [pdoTools] Ability to return array from \"prepareSnippet\" for more performance.\n- [FenomX] Fixed method \"getStore\".\n\n2.10.4 pl\n==============\n- [Fenom] Do not output raw tags if there was a compile errors.\n- [#266] [pdoMenu] Fixed the setting of \"here\" and \"self\" classes.\n- [#261] [Fenom] Fixed unexpected behavior of the fenom tag \"ignore\".\n\n2.10.3 pl\n==============\n- Improved compatibility with PHP 7.2\n- [pdoFetch] Ability to use arrays in \"&sortby\".\n\n2.10.2 pl\n==============\n- [Fenom] Improved processing of caching snippets inside uncached.\n\n2.10.1 pl\n==============\n- [#256] [Fenom] Fixed bug with caching of scripts and styles.\n- [pdoPage] \"&setMeta\" now works when \"&cache=`1`\".\n- [Fenom] Improved regular expression to detect Fenom syntax.\n\n2.10.0 pl\n==============\n- [#259] [pdoFetch] Fixed error when passed pure SQL into \"having\" parameter.\n- [#258] [pdoPage] Canonical urls always must be \"full\".\n- [#245] [pdoMenu] Ability to use conditional tpls instead of regular \"tpl\".\n- [#121] [pdoMenu] Improved work of specified chunks with weblinks.\n\n2.9.3 pl\n==============\n- [#255] [Fenom] New system setting \"pdotools_fenom_save_on_errors\" to save code on compilation errors in the cache directory for later debugging.\n\n2.9.2 pl\n==============\n- [pdoParser] Proper traversal trough arrays fields of resources in fast tags.\n\n2.9.1 pl\n==============\n- [Fenom] Updated to version 2.11.8.\n\n2.9.0 pl\n==============\n- [pdoPage] Improved \"&pageLinkScheme\" logic.\n- [#249] A little improvement for resource modifier.\n- [#251] [pdoFetch] More compatibility with PHP 7.1.\n- [#253] [pdoPage] Fixing a missing pagination in Ajax mode.\n- [#254] [Fenom] Options of json modifiers must check version of PHP to proper work.\n\n2.8.6 pl\n==============\n- [pdoArchive] Ability to specify fields with regular dates in the \"&dateField\" parameter.\n- [Fenom] Added all options to json modifiers.\n\n2.8.5 pl\n==============\n- [#248] [pdoPage] Fixed E_WARNING with array values in GET parameters.\n\n2.8.4 pl\n==============\n- Ability to use file elements in core path outside base path.\n- Fixed bug with the caching of elements.\n\n2.8.3 pl\n==============\n- [Fenom] Fixed rare bug with the caching of scripts and styles that was registered via Fenom.\n- [pdoPage] Fixed the \"?page=1\" in the url when ajaxMode is enabled.\n- [pdoPage] Snippet will register \"canonical\" link if \"&setMeta\" is enabled.\n- [pdoPage] Fix processing of request with rawurldecode on some servers.\n- [pdoTools] Added passing of \"scriptProperties\" values into a \"&prepareSnippet\".\n\n2.8.2 pl\n==============\n- [pdoMenu] Fixed the checking of permissions for containers.\n- [pdoPage] Added the ability to run files as &element.\n- [pdoTools] The method runSnippet will return boolean false if snippet was not found.\n- [Fenom] Fixed the possible bugs of caching of scripts and styles.\n\n2.8.1 pl\n==============\n- [#244] Fixed possible duplicate of a container in the jquery.pdopage.js.\n- Added fallback class for the enable modParser.\n\n2.8.0 pl\n==============\n- Ability to use an arrays in the parameters of the snippets.\n- Replaced modX::toJSON and modX::fromJSON to native php functions.\n\n2.7.5 pl\n==============\n- Fenom is now managed via composer.\n- [Fenom] Modifier \"resource\" no longer checks fields of resources in their schema.\n- [Fenom] Modifier \"strrev\" now can work with arrays.\n- [Fenom] Improved modifier \"ismember\".\n\n2.7.4 pl\n==============\n- [#242] Added jquery.pdopage.js plugin and minified versions.\n- [#241] [Fenom] Improved the retrieving of TVs for a current resource.\n- [pdoFetch] Restored the checking of possible SQL injections in the &sortby with xPDO 2.5.1.\n\n2.7.3 pl\n==============\n- Improved compatibility with MODX 2.5.2.\n\n2.7.2 pl\n==============\n- [pdoFetch] Some security improvements.\n\n2.7.1 pl\n==============\n- Some security improvements in the connector.php.\n- Fixed bug with registering scripts in styles via Fenom introduced in version 2.7.0.\n\n2.7.0 pl\n==============\n- [Fenom] Updated to the version 2.11.4.\n- [Fenom] Fixed resource cache for scripts and styles registered by Fenom.\n- [Fenom] Added rand() and number_format() to an allowed PHP functions.\n- [Fenom] New output filter \"number\" (or \"number_format\").\n\n2.6.5 pl\n==============\n- Fixed undeclared variable (PHP 7.1)\n\n2.6.4 pl\n==============\n- Added escaping of a MODX tags that being processed in the &prepareSnippet.\n- [#239] Improved work of the &decodeJSON option.\n\n2.6.3 pl\n==============\n- Fixed possible E_NOTICE on line 305 pdofetch.class.php.\n- Fixed possible E_NOTICE when \"snippet\" and \"chunk\" Fenom modifiers was called.\n\n2.6.2 pl\n==============\n- Fixed possible E_NOTICE on line 1317 pdotools.class.php.\n\n2.6.1 pl\n==============\n- Improved compatibility with PHP 5.3.\n\n2.6.0 pl\n==============\n- [Fenom] The ability to extend Fenom via system event \"pdoToolsOnFenomInit\".\n\n2.5.6 pl\n==============\n- [pdoFetch] Ability to join TVs not only to the query main class.\n\n2.5.5 pl\n==============\n- Fixed parse of INLINE chunks with \"@\" symbols.\n\n2.5.4 pl\n==============\n- [#224] Added microMODX::cleanAlias().\n- [#226] [Fenom] Added \"declension\" modifier.\n\n2.5.3 pl\n==============\n- [#221] Fixed typo in month name.\n- [Fenom] Fixed path to compile dir.\n\n2.5.2 pl\n==============\n- [#220] Cache code of snippet with respect to property set.\n\n2.5.1 pl\n==============\n- Fixed cache of snippets in pdoTools::runSnippet().\n\n2.5.0 pl\n==============\n- Improved support of debugParser.\n- [#209] Improved loading of the models.\n- [Fenom] New modifiers: \"snippet\" and \"chunk\".\n- [Fenom] New elements provider: \"file\".\n- New method pdoTools::runSnippet().\n\n2.4.0 pl\n==============\n- Added snippet pdoArchive.\n- [pdoResources] Faster processing of additional snippet parameters to placeholders.\n- [#123] [pdoMenu] Fixed bug with &displayStart and unpublished root nodes.\n- [#207] [pdoMenu] Fixed &webLinkClass option.\n- [#193] [pdoNeighbors] Added parameter &wrapIfEmpty.\n- [#203] [Fenom] Added more PCRE modifiers.\n\n2.3.5 pl\n==============\n- [pdoFetch] Added escaping of columns names in query.\n\n2.3.4 pl\n==============\n- [#200] [pdoFetch] Fixed &sortbyTV with dot in name.\n\n2.3.3 pl\n==============\n- Added system plugin for \"autoload\" of main classes with respect to their paths in system settings.\n\n2.3.2 pl\n==============\n- [#196] [pdoPage] Added workaround to support ClientConfig tags in ajax mode.\n- [Fenom] Added general MODX output filters as Fenom modifiers.\n- [Fenom] Implemented autoload of modifiers from snippets.\n- [Fenom] Removed system setting \"pdotools_fenom_modifiers\".\n\n2.3.1 pl\n==============\n- [pdoSitemap] Lightning fast work chunks processing with &scheme=`uri`.\n- [Fenom] Improved check of syntax before processing.\n\n2.3.0 pl\n==============\n- Removed shortcuts from system core.\n- PSR-2.\n- [Fenom] Added default modifiers: \"url\" and \"lexicon\".\n- [pdoCrumbs] Changed default chunks to ul -> li.\n- [#190] [pdoSitemap] Changed date format to ISO 8601.\n\n2.2.8 pl\n==============\n- [Fenom] Use modResource::getContent() method to get content of current resource in {$_modx->resource}.\n\n2.2.7 pl\n==============\n- [pdoPage] Ability to get access to a javascript configs from 3rd party scripts.\n\n2.2.6 pl\n==============\n- [#184] [Fenom] Updated to version 2.8.2.\n\n2.2.5 pl\n==============\n- [#182] [pdoTitle] Added passing a parameters into nested pdoCrumbs.\n- [pdoSitemap] Added processing of MODX tags if needed.\n- Added method pdoTools::makeUrl().\n- [#181] New url schema type - \"uri\".\n\n2.2.4 pl\n==============\n- [Fenom] Fixed speed issues when MODX snippets are run as Fenom modifiers.\n- [pdoUsers] Fixed overwrite modUser.id by modUserProfile.id.\n\n2.2.3 pl\n==============\n- [pdoPage] Fixed processing of uncached conditions in chunks when ajax mode is enabled.\n\n2.2.2 pl\n==============\n- [pdoPage] Added new parameter &pageLinkScheme.\n\n2.2.1 pl\n==============\n- [#155] [pdoPage] Added new parameter &ajaxHistory.\n- [pdoPage] Added connector for requests in ajax mode.\n\n2.2.0 pl\n==============\n- [#175] [pdoFetch] Ability to specify sequence of table joins.\n- [#174] [Fenom] Ability to add Fenom modifiers into pdoParser.\n\n2.1.21 pl\n==============\n- [#175] [pdoFetch] Ability to specify sequence of table joins.\n- [#176] [pdoUsers] Fixed &toPlaceholders with &returnIds.\n\n2.1.20 pl\n==============\n- [pdoSitemap] Fixed default &cacheKey.\n\n2.1.19 pl\n==============\n- [Fenom] Disabled $options in cacheManager::set() due to security reasons.\n\n2.1.18 pl\n==============\n- [Fenom] Fixed ability to access to the modX object from {$_modx} variable.\n- [Fenom] Improved method {$_modx->runProcessor()}.\n\n2.1.17 pl\n==============\n- [Fenom] Added {$_modx->getResource($id, $options)}.\n- [Fenom] Added {$_modx->getResources($where, $options)}.\n- [Fenom] Improved support of debugParser.\n\n2.1.16 pl\n==============\n- [Fenom] Added {$_modx->isMember($groups, $matchAll)}.\n- [Fenom] Added {$_modx->getPlaceholders()}.\n\n2.1.15 pl\n==============\n- [pdoPage] Added parameter &strictMode.\n\n2.1.14 pl\n==============\n- [pdoSitemap] Added options for cache snippets results.\n- [pdoSitemap] Cache enabled by default.\n\n2.1.13 pl\n==============\n- [#163] Fixed ignoring of &idx in pdoResources and pdoUsers.\n\n2.1.12 pl\n==============\n- [pdoPage] [#161] Fixed support of arrays in hash when &ajaxMode is enabled.\n\n2.1.11 pl\n==============\n- [#150] [Fenom] Fixed processing of TVs values in a {$_modx->resource}.\n- [#147] [pdoSitemap] Fixed possible duplicates in sitemap.\n- [pdoPage] Support of arrays in hash when &ajaxMode is enabled.\n\n2.1.10 pl\n==============\n- [#157] [Fenom] Fixed pre-processing of Fenom tags in extending templates and chunks.\n- [#145] [pdoPage] Rolled back #81 due to issues with complicate forms.\n\n2.1.9 pl\n==============\n- [#144] [pdoParser] Leave unprocessed FastField tags so other components could parse them.\n- [pdoFetch] Updated syntax for \"SET SQL_BIG_SELECTS = 1\".\n\n2.1.8 pl\n==============\n- [Fenom] Ability to use id of chunks and templates in {include} and {extends}.\n- [Fenom] Added support of debugParser.\n- [Fenom] Added {$_modx->getChildIds()} and {$_modx->getParentIds()}.\n\n2.1.7 pl\n==============\n- Fixed work with integer values from system setting \"link_tag_scheme\".\n\n2.1.6 pl\n==============\n- [Fenom] Updated to version 2.8.0.\n- [Fenom] Improved check of syntax to process content of chunks.\n- [pdoParser] Fixed E_WARNING on line 50 introduced in previous version.\n\n2.1.5 pl\n==============\n- [Fenom] Fixed register of scripts and styles by cached snippets.\n\n2.1.4 pl\n==============\n- [Fenom] Fixed TVs in {$_modx->resource}\n- [Fenom] Added new method {$_modx->getInfo()}\n\n2.1.3 pl\n==============\n- Improved work of system setting \"pdotools_fenom_php\".\n\n2.1.2 pl\n==============\n- [Fenom] Replaced {$_modx->placeholders} to functions.\n\n2.1.1 pl\n==============\n- pdoParser enabled by default.\n- [Fenom] Fixed return content in {$_modx->getChunk}.\n- [Fenom] Added cache for snippets called through {$_modx->runSnippet}.\n- [pdoTools] Added processing of property sets for chunks.\n- [pdoResources] Set additionalPlaceholders in &tplWrapper\n\n2.1.0 pl\n==============\n- [Fenom] Updated Fenom to version 2.7.1.\n- [Fenom] Added safe system variable {$_modx}.\n- [Fenom] Added MODX template provider for chunks and templates.\n\n2.0.5 pl\n==============\n- [#132] Fixed possible E_WARNING on empty chunks.\n- [#122] Ability to use 3rd party pdoPage and pdoMenu classes.\n- [#118] [pdoPage] Fixed parameter &offset.\n- [pdoPage] Fixed default CSS classes in \"empty\" chunks.\n\n2.0.4 pl\n==============\n- Fixed processing of \"pdotools_fenom_cache\" system setting.\n\n2.0.3 pl\n==============\n- [#125] [pdoTitle] Fixed parameter &id.\n\n2.0.2 pl\n==============\n- Improved processing of @FILE binding.\n\n2.0.1 pl\n==============\n- Fixed possible E_WARNING on line 319 and 349 of pdoTools class.\n- Disabled system option \"pdotools_fenom_modx\" by default due to security issues.\n\n2.0.0 pl\n==============\n- New system settings to control the Fenom.\n- Ability to enable caching of Fenom compiled chunks.\n- Improved handling of parameter \"cache_key\".\n- [pdoMenu] Improved work when &cache is enabled.\n\n2.0.0 rc2\n==============\n- Compiled Fenom templates cached to RAM instead of HDD.\n- Removed plugin pdoTools.\n\n2.0.0 rc1\n==============\n- Added Fenom template engine.\n- Fenom enabled by default.\n- pdoParser uses Fenom to process pages.\n\n1.11.2 pl\n==============\n- [#116] [pdoTitle] Disabled &register_js by default.\n\n1.11.1 pl\n==============\n- [pdoSitemap] Fixed default url scheme after last update.\n\n1.11.0 pl1\n==============\n- [pdoTitle] Added new snippet.\n- [pdoPage] Added support of snippet pdoTitle when &ajaxMode is enabled.\n- [pdoPage] Prevent overwriting of scripts and styles of nested &element by default parameters.\n- [pdoPage] Added triggering javascript event \"pdopage_load\".\n\n1.10.2 pl1\n==============\n- [#112] Parameter &scheme was set to system default in all snippets.\n- [#111] [pdoPage] Added ability to set \"prev\" & \"next\" meta tags.\n- [#107] [pdoNeighbors] Added ability to specify &parents for work.\n- [#106] [pdoMenu] Fixed \"hereClass\" and \"selfClass\" enabled &useWeblinkUrl parameter.\n- [#104] [pdoMenu] Snippet now using \"pagetitle\" for link titles if \"titleOfLinks\" is empty.\n\n1.10.1 pl\n==============\n- [#108] [pdoFetch] Fixed E_ERROR when using &sortbyTV.\n- [pdoFetch] Added new parameter &sortbyTVType.\n- [pdoFetch] If &sortdirTV is not set it will be equal to &sortdir.\n\n1.10.0 pl\n==============\n- [pdoMenu] Returned and fixed parameter &showDeleted.\n- [pdoPage] Improved default javascript.\n- [pdoPage] Fixed overwriting &frontend_js and &frontend_css parameters when &ajax is disabled.\n- [pdoFetch] Ability to specify functions in select fields.\n- [pdoTools] Ability to use compound quick placeholders.\n\n1.10.0 beta4\n==============\n- [pdoPage] Ajax pagination out from the box.\n- [pdoFetch] Improved log of getCollection.\n- [pdoTools] Added tplOperator \"contains\".\n\n1.9.7 pl\n==============\n- [#99] [pdoFetch] Fixed returning of primary key in \"ids\" mode.\n- [#97] [pdoTools] Fixed default tplPath for @FILE chunks.\n- [#85] [pdoFetch] Added function getChildIds().\n- [pdoFetch] Disabled \"total\" placeholder for &return=`ids`.\n\n1.9.6 pl2\n==============\n- [pdoFetch] Fixed exclusion of field \"id\" in custom classes.\n- [pdoMenu] Improved parameter &countChildren.\n- [#100] [pdoMenu] Removed parameter &showDeleted because it not working.\n\n1.9.6 rc\n==============\n- Added execution of SQL_BIG_SELECTS = 1 before query.\n- [pdoPage] Added parameter &ajax for supporting of ajax requests.\n\n1.9.5 pl1\n==============\n- Rolled back #72 due to issues in pdoMenu.\n\n1.9.5 pl\n==============\n- Added ability to return JSON or serialized string from pdoFetch::run().\n- [#83] [pdoMenu] Added level placeholder to outer templates.\n- [#82] [pdoFetch] Added support for complex &where parameter.\n- [#81] [pdoPage] Improved handling of arrays in url.\n- [#77] Fixed making of url for modWebLink to another context.\n- [#72] [pdoTools] Fixed order for children of excluded parents in buildTree.\n- [#60] [pdoMenu] Fixed parameter &tplCategoryFolder.\n- [#57] [pdoMenu] Improved placeholder [[+children]].\n- [#57] [pdoMenu] Added parameter &countChildren.\n\n1.9.4 pl1\n==============\n- [#78] [pdoNeighbors] Added parameter &loop=`1` for looping links.\n- [pdoSitemap] Fixed possible E_FATAL php-apc.\n\n1.9.3 pl1\n==============\n- [pdoTools] Ability to specify value for empty quick placeholders.\n- [pdoTools] Ability to use INLINE snippets and filters.\n- [pdoFetch] Improved loading of 3rd party models.\n- [pdoPage] Fixed E_WARNING when &limit=`0`.\n\n1.9.2 pl2\n==============\n- [#56] [pdoParser] Fixed wrong links processing.\n- [#53] Improved loading of classes.\n- [pdoField] Rolled back to original logic of \"top\" and \"topLevel\" parameters due to issues.\n- [pdoField] Added parameter \"ultimate\" to emulate logic of UltimateParent.\n\n1.9.1 pl6\n==============\n- [pdoFetch] Adding alias of main class of query to \"sortby\" if no alias exists.\n- [pdoFetch] Improved selecting of all fields of class with specified alias.\n- [pdoField] Parameter \"topLevel\" works exactly as in UltimateParent.\n- [pdoField] Parameter \"top\" without \"topLevel\" returns parent on \"top\" level.\n\n1.9.1 pl\n==============\n- [#47] [pdoMenu] Fixed processing &tplOuter when output is empty.\n- [#46] [pdoParser] Fixed processing of TVs with dots in name.\n- [#44] [pdoMenu] Improved handling of Wayfinder parameters \"includeDocs\" and \"excludeDocs\".\n- [#37] [pdoField] get the default, only if the field was empty.\n- [#34] Fixed processing of \"modSymLink\" documents.\n- [#32] Improved cache methods.\n- [#26] Replaced FIND_IN_SET() to FIELD().\n- [pdoFetch] Ability to work with objects, that has multiple primary keys.\n- [pdoPage] New parameter &cacheAnonymous.\n- [pdoMenu] New parameter &cacheAnonymous.\n- Added aliases for sort query in order of specified &resources: \"ids\" or \"resources\".\n- Removed unnecessary query in pdoFetch::getCollection().\n- Improved pdoFetch::getCollection().\n- Renamed pdoFetch::getObject() to getArray(). Now it uses getCollection for retrieve results.\n- pdoTools::setCache() now returns cacheKey.\n- pdoFetch::getObject() is now alias of pdoFetch::getArray().\n\n1.9.0 pl2\n==============\n- [pdoMenu] Chunks of parents and categories are now depends on the descendants and ignores parameter isfolder.\n- [pdoNeighbors] Speed improvements.\n- [#27] Ability to specify custom pdoFetch and pdoTools classes through FQN system settings.\n- [pdoParser] Handles TVs in resource tags.\n- [pdoParser] Handles output filters.\n- [pdoFetch] Improved method \"addTVFilters\", that used by \"tvFilters\" parameter in pdoResources.\n- [pdoSitemap] Pass the whole row so we can use more columns.\n\n1.9.0 rc\n==============\n- Improved method pdoTools::getChunk().\n- Improved method pdoTools::parseChunk().\n- Improved method pdoTools::fastProcess().\n- Improved method pdoTools::makePlaceholders().\n- Accelerated snippet pdoNeighbors.\n- Fixed bug in pdoUsers when usersgroups was specified by names.\n- getObject and getCollection() runs in separate instance.\n- Added pdoParser with FastField tags.\n- [pdoPage] Changed default value of parameter \"totalVar\" due to issues.\n- [#24] Fixed prepareTVs and empty tvPrefix.\n- [#23] [pdoResources] Ability to return ids to placeholder.\n- Fixed warning when getObject returns false.\n- Fixed placeholders prefix in recursive makePlaceholders.\n\n1.8.9 pl4\n==============\n- Added german lexicon.\n- [#20] Ability to specify not JSON string in &where=``.\n- [pdoPage] Added parameter \"pageCountVar\" for specifying name of variable with number of pages.\n- [pdoPage] Support Bootstrap3.\n- [pdoField] Ability to specify class for fetching field.\n- Improved joining of tables in pdoFetch.\n- Added preparing and processing TVs in getObject and getCollection methods.\n- Improved load of 3rd party models.\n\n1.8.8 pl2\n==============\n- Rewrited cache of snippets \"pdoMenu\" and \"pdoPage\".\n- New methods pdoTools::getCache() and pdoTools::setCache().\n- [pdoMenu] Fixed parameter \"tplParentRowActive\".\n- [#18] Fixed \"idx\" in pdoTools::defineChunk().\n\n1.8.7 pl\n==============\n- Added boolean parameter \"decodeJSON\" to specify whether or not decode JSON in results rows.\n- Removed default \"sortby\" and \"sortdir\" from class pdoFetch for better work of getCollection() method.\n\n1.8.6 pl2\n==============\n- Fixed possibly E_NOTICE when site has no extension packages installed.\n- [#17] [pdoMenu] Added placeholder [[+wf.menutitle]].\n- [#16] [pdoMenu] Disabled status verification of specified parents.\n- [#13] [pdoMenu] Improved work with root of multiple contexts.\n- [pdoMenu] Fixed bug when specified parent has only the one child.\n- [pdoResources] Added parameter \"&useWeblink\" and placeholder \"[[+link]]\". It is disabled by default.\n\n1.8.5 pl\n==============\n- [#15] [pdoPage] Improved generation of links to pages.\n- [pdoMenu] Improved processing of classes \"modSymlink\" and \"modWeblink\".\n- [pdoBreadcrumbs] Improved processing of classes \"modSymlink\" and \"modWeblink\". Added parameter \"&useWeblink\".\n- [pdoNeighbors] Added parameter \"&useWeblink\" and placeholder \"[[+link]]\".\n- [pdoSitemap] Added parameter \"&useWeblink\" and proper processing of classes \"modSymlink\" and \"modWeblink\".\n\n1.8.4 pl\n==============\n- [pdoCrumbs] Added ability to specify the crumbs root (defaulting to site_start)\n- [pdoCrumbs] Added ability to specify class_key (ie. to generate crumbs only for derivative classes)\n- More accuracy when try to decode json in fetch results.\n\n1.8.3 pl3\n==============\n- Improved preparation of template variables.\n- Improved transfer of additional parameters from snippet to results.\n- [pdoMenu] Added lexicon entries for parameters.\n- [pdoMenu] Allow to specify \"limit\" and \"offset\".\n- [#12] Added parameter \"toPlaceholder\".\n- Increased accuracy of timings log.\n\n1.8.1 pl2\n==============\n- Accelerated method pdoTools::getChunk().\n- Added snippet pdoMenu.\n- Added support for tags [^qt^] and [^q^].\n\n1.8.0 pl\n==============\n- [#10] [pdoPage] Added placeholder \"page\".\n- [#9] [pdoPage] Added placeholder \"pageCount\".\n- [#8] Improved support of big numbers when sorting by TVs.\n- Fixed work of pdoPage when it called multiple times on page.\n- Fixed mistype in pdoFetch::getCollection().\n\n1.8.0 rc5\n==============\n- Added processing of JSON fields. For example, you can use [[+extended.keyname]] in chunks of pdoUsers.\n- pdoTools was removed from system extension packages, but you can still use \"$modx->getService(\'pdoFetch\');\".\n- Fixed getting chunk without any parameters.\n- Added snippet pdoPage.\n\n1.8.0 beta1\n==============\n- Improved handling of \"default_text\" parameter in TVs.\n- Fixed and improved method pdoTools::buildTree().\n- The logic of build the conditions of the query moved into new method pdoFetch::additionalConditions().\n- Improved method pdoFetch::addSelects().\n- Improved method pdoFetch::addSort().\n- Improved some snippets in accordance to new abilities of pdoFetch: pdoResources, pdoNeighbors and pdoSitemap.\n\n1.7.4 pl\n==============\n- [#7] [pdoSitemap] Fixed hidden parameters \"&sortBy\" and \"&sortDir\" that used for compatibility with GoogleSiteMap.\n\n1.7.3 pl1\n==============\n- [pdoCrumbs] Fixed possible E_NOTICE on line 157.\n- [pdoCrumbs] Fixed generation of link to site start in relative mode.\n- [#6] pdoCrumbs and pdoNeighbors are now uses \"menutitle\" by default. If it is empty, will be used \"pagetitle\".\n\n1.7.2 pl1\n==============\n- [pdoField] Added new parameters: \"default=``\" and \"&field=``\".\n- [pdoField] Improved logic of \"&top=``\" and \"&topLevel=``\".\n- Added 2 new methods: pdoFetch::getObject() and pdoFetch::getCollection().\n- Ability to send arrays into common config parameters. JSON is still supported.\n- Improved select of default values in TVs.\n\n1.7.1 pl\n==============\n- [pdoCrumbs] Fixed work with \"modSymLink\" and \"modWebLink\" resources.\n\n1.7.0 pl1\n==============\n- New snippet pdoCrumbs.\n- New snippet pdoField.\n- New snippet pdoSitemap.\n- New snippet pdoNeighbors.\n- Ability to specify snippet for preparation of fetched rows by parameter \"&prepareSnippet=``\".\n- Added method pdoTools::checkPermissions() for checking user privileges to view the results.\n- Added @TEMPLATE binding. You can use name or id of any template. If empty - will use template of each row.\n- [pdoResources] Improved parameter \"&context\".\n- [pdoResources] Script properties are now passed to chunks. You can send any placeholders to it.\n\n1.6.0 pl1\n==============\n- Fixed compatibility issues in PHP < 5.3.\n\n1.6.0 pl\n==============\n- Added parameter \"&loadModels\" for comma-separated list of 3rd party components that needed for query.\n- Added parameters \"&prepareTVs\" and \"&processTVs\".\n- Added parameters \"&tvFilters\", \"&tvFiltersAndDelimiter\" and \"&tvFiltersAndDelimiter\".\n- Added support of parameters \"&sortbyTV\" and \"&sortdirTV\" for compatibility with getResources.\n- Added ability to use @INLINE and @FILE bindings in all template parameters.\n- Removed method pdoTools::getPlaceholders.\n\n1.5.0 pl2\n==============\n- Fixed sort of decimals in TVs.\n\n1.5.0 pl1\n==============\n- Added processing of simple [[~id]] placeholders in fastMode.\n- Added support of default value for TVs.\n- Improved sort by TVs of types \"number\" and \"date\".\n\n1.5.0 rc\n==============\n- [pdoUsers] Added new snippet \"pdoUsers\".\n- [pdoResources] Fixed \"toSeparatePlaceholders\".\n- [pdoResources] Parameter \"parents\" now supports dash prefix for excluding resources from query by parent.\n- [pdoResources] Fixed issue when snippet runs multiple times at one page.\n\n1.4.1 pl1\n==============\n- Improved \"context\" processing.\n- Fixed \"idx\" when multiple snippets called at one page.\n- Fixed default sortby when joined tables exists.\n\n1.4.1 beta3\n==============\n- Added parameters \"tplCondition\", \"tplOperator\" and \"conditionalTpls\".\n- Added parameter \"select\" for specifying needed columns of selected tables. Can be a JSON string with array.\n- Added parameter \"toSeparatePlaceholders\".\n- Improved \"pdoResources\" snippet.\n\n1.4.0 beta1\n==============\n- Ability to specify JSON string in \"sortby\", for example \"&sortby=`{\"pagetitle\":\"asc\",\"createdon\":\"desc\"}`\"\n- Added automatic replacement of tvs in \"where\" and \"having\" parameters.\n- Added automatic replacement of tvs in \"sortby\" parameter.\n- Removed example snippet\n- Added snippet \"pdoResources\", that could replace \"getResources\".\n- Added method pdoTools::defineChunk() for chunk of given idx.\n- Added \"memory usage\" in log.\n\n1.3.0\n==============\n- Improved placeholders processing when fastMode is enabled.\n- Added support of \"having\" conditions.\n\n1.2.1\n==============\n- Fixed not working \"includeTVs\" when \"leftJoin\" is empty.\n\n1.2.0\n==============\n- Native render of quick placeholders, such as \"<!--pdotools_introtext <blockquote>[[+introtext]]</blockquote>-->\".\n- Added joining of TVs in pdoFetch. Use parameter \"includeTVs\" with comma-separated list of template variables.\n- Added method pdoFetch::setConfig() for proper setting options when you run multiple pdoTools snippets at the one page.\n- Method pdoTools::makeArray is now recursive, for processing a multidimensional arrays of values.\n\n1.1.0\n==============\n- Improved getChunk function.\n\n1.0.1\n==============\n- Fixed setting total in \"chunks\" mode.\n- Improved displaying \"where\" condition in log.\n\n1.0.0\n==============\n- Initial release.\";s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:646:\"--------------------\npdoTools\n--------------------\nAuthor: Vasiliy Naumkin <bezumkin@yandex.ru>\n--------------------\n\nSmall library for creating fast snippets for MODX Revolution that works through PDO.\n\nRequired by Tickets and miniShop2.\n\nMain features\n- Builds queries with xPDO.\n- Retrieve results with PDO.\n- Improved pdoTools::getChunk() function, that processing placeholders faster, than original modX::getChunk().\n\npdoTools snippets will work so faster, than more fields you will retrieve from database at one query.\n\n--------------------\nFeel free to suggest ideas/improvements/bugs on GitHub:\nhttp://github.com/bezumkin/pdoTools/issues\n\";s:9:\"signature\";s:19:\"pdotools-2.12.10-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:47:\"/workspace/package/install/pdotools-2.12.10-pl/\";s:14:\"package_action\";i:1;}','pdoTools','a:35:{s:2:\"id\";s:1:\"6\";s:10:\"repository\";s:1:\"1\";s:4:\"name\";s:8:\"pdoTools\";s:9:\"createdby\";s:1:\"6\";s:9:\"createdon\";s:19:\"2013-05-14 17:36:22\";s:8:\"editedon\";s:19:\"0000-00-00 00:00:00\";s:7:\"license\";s:5:\"GPLv2\";s:10:\"screenshot\";s:0:\"\";s:9:\"downloads\";s:5:\"49929\";s:8:\"approved\";s:1:\"1\";s:6:\"active\";s:1:\"1\";s:7:\"package\";s:1:\"6\";s:7:\"version\";s:7:\"2.12.10\";s:13:\"version_major\";s:1:\"2\";s:13:\"version_minor\";s:2:\"12\";s:13:\"version_patch\";s:2:\"10\";s:7:\"release\";s:2:\"pl\";s:13:\"release_index\";s:0:\"\";s:9:\"signature\";s:19:\"pdotools-2.12.10-pl\";s:12:\"instructions\";s:0:\"\";s:9:\"changelog\";s:38490:\"Changelog for pdoTools.<br />\n<br />\n2.12.10 pl<br />\n==============<br />\n- &#91;#308&#93; &#91;pdoPage&#93; Fixed the type of snippet property &quot;field&quot;<br />\n<br />\n2.12.9 pl<br />\n==============<br />\n- &#91;Fenom&#93; Update to version 2.12.0<br />\n<br />\n2.12.8 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Fix reflected XSS in generated meta links<br />\n<br />\n2.12.7 pl<br />\n==============<br />\n- Make pdoTools canonical url work with Babel #304<br />\n<br />\n2.12.6 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Reverted back #287<br />\n<br />\n2.12.5 pl<br />\n==============<br />\n- &#91;Fenom&#93; Added caching dinamic properties to prevent speed degradation.<br />\n<br />\n2.12.4 pl<br />\n==============<br />\n- &#91;#290&#93; Improved running snippet via @FILE binding.<br />\n- &#91;#296&#93; Fix adding quotes to numeric values.<br />\n- &#91;#297&#93; Make cross context weblink url possible.<br />\n- &#91;#274&#93; &#91;Fenom&#93; User, resource and context properties are now dinamic.<br />\n- &#91;#287&#93; &#91;pdoPage&#93; Remove prev &amp; next meta tags<br />\n- &#91;#294&#93; &#91;#298&#93; Improved pdopage.js and updated minified js files<br />\n<br />\n2.12.3 pl<br />\n==============<br />\n- Fixed E_NOTICE introduced in #285.<br />\n<br />\n2.12.2 pl<br />\n==============<br />\n- Updated chunks for Bootstrap 4.<br />\n<br />\n2.12.1 pl<br />\n==============<br />\n- &#91;pdoMenu&#93; Reverted back #283 and fixed docs for &amp;tplCategoryFolder.<br />\n- &#91;#284&#93; &#91;Fenom&#93; Fixed properties of $_modx-&gt;context variable.<br />\n- &#91;#275&#93; &#91;Fenom&#93; Added &quot;reset&quot; and &quot;end&quot; modifiers.<br />\n<br />\n2.12.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; More security fixes from Sergey Shlokov.<br />\n- &#91;#278&#93; &#91;pdoPage&#93; Fixed caching.<br />\n- &#91;pdoPage&#93; Show internal log on &amp;showLog=&#96;1&#96;.<br />\n- &#91;#283&#93; &#91;pdoMenu&#93; Fixed use of &amp;tplCategoryFolder according to docs.<br />\n- &#91;#281&#93; &#91;pdoTools&#93; Fixed load of models from case sensitive paths.<br />\n- &#91;#277&#93; &#91;pdoCrumbs&#93; Ability to specify &amp;customParents.<br />\n- &#91;#265&#93; &#91;pdoFetch&#93; Fixed return of &quot;Array&quot; on SQL errors.<br />\n<br />\n2.11.3 pl<br />\n==============<br />\n- Added French lexicon entries.<br />\n<br />\n2.11.2 pl<br />\n==============<br />\n- Fix detection of element names starting with a number.<br />\n<br />\n2.11.1 pl<br />\n==============<br />\n- Faster processing of static files.<br />\n<br />\n2.11.0 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Added &quot;setTotal&quot; option to enable calculating all rows (&quot;SQL_CALC_FOUND_ROWS&quot;), which will also result in the &quot;totalVar&quot; placeholder is being set.<br />\n- &#91;pdoFetch&#93; Option &quot;setTotal&quot; disabled by default.<br />\n- &#91;pdoPage&#93; Forces &quot;setTotal&quot; to provide pagination.<br />\n<br />\n2.10.6 pl<br />\n==============<br />\n- Improved German lexicons.<br />\n<br />\n2.10.5 pl<br />\n==============<br />\n- &#91;pdoTools&#93; Ability to return array from &quot;prepareSnippet&quot; for more performance.<br />\n- &#91;FenomX&#93; Fixed method &quot;getStore&quot;.<br />\n<br />\n2.10.4 pl<br />\n==============<br />\n- &#91;Fenom&#93; Do not output raw tags if there was a compile errors.<br />\n- &#91;#266&#93; &#91;pdoMenu&#93; Fixed the setting of &quot;here&quot; and &quot;self&quot; classes.<br />\n- &#91;#261&#93; &#91;Fenom&#93; Fixed unexpected behavior of the fenom tag &quot;ignore&quot;.<br />\n<br />\n2.10.3 pl<br />\n==============<br />\n- Improved compatibility with PHP 7.2<br />\n- &#91;pdoFetch&#93; Ability to use arrays in &quot;&amp;sortby&quot;.<br />\n<br />\n2.10.2 pl<br />\n==============<br />\n- &#91;Fenom&#93; Improved processing of caching snippets inside uncached.<br />\n<br />\n2.10.1 pl<br />\n==============<br />\n- &#91;#256&#93; &#91;Fenom&#93; Fixed bug with caching of scripts and styles.<br />\n- &#91;pdoPage&#93; &quot;&amp;setMeta&quot; now works when &quot;&amp;cache=&#96;1&#96;&quot;.<br />\n- &#91;Fenom&#93; Improved regular expression to detect Fenom syntax.<br />\n<br />\n2.10.0 pl<br />\n==============<br />\n- &#91;#259&#93; &#91;pdoFetch&#93; Fixed error when passed pure SQL into &quot;having&quot; parameter.<br />\n- &#91;#258&#93; &#91;pdoPage&#93; Canonical urls always must be &quot;full&quot;.<br />\n- &#91;#245&#93; &#91;pdoMenu&#93; Ability to use conditional tpls instead of regular &quot;tpl&quot;.<br />\n- &#91;#121&#93; &#91;pdoMenu&#93; Improved work of specified chunks with weblinks.<br />\n<br />\n2.9.3 pl<br />\n==============<br />\n- &#91;#255&#93; &#91;Fenom&#93; New system setting &quot;pdotools_fenom_save_on_errors&quot; to save code on compilation errors in the cache directory for later debugging.<br />\n<br />\n2.9.2 pl<br />\n==============<br />\n- &#91;pdoParser&#93; Proper traversal trough arrays fields of resources in fast tags.<br />\n<br />\n2.9.1 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated to version 2.11.8.<br />\n<br />\n2.9.0 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Improved &quot;&amp;pageLinkScheme&quot; logic.<br />\n- &#91;#249&#93; A little improvement for resource modifier.<br />\n- &#91;#251&#93; &#91;pdoFetch&#93; More compatibility with PHP 7.1.<br />\n- &#91;#253&#93; &#91;pdoPage&#93; Fixing a missing pagination in Ajax mode.<br />\n- &#91;#254&#93; &#91;Fenom&#93; Options of json modifiers must check version of PHP to proper work.<br />\n<br />\n2.8.6 pl<br />\n==============<br />\n- &#91;pdoArchive&#93; Ability to specify fields with regular dates in the &quot;&amp;dateField&quot; parameter.<br />\n- &#91;Fenom&#93; Added all options to json modifiers.<br />\n<br />\n2.8.5 pl<br />\n==============<br />\n- &#91;#248&#93; &#91;pdoPage&#93; Fixed E_WARNING with array values in GET parameters.<br />\n<br />\n2.8.4 pl<br />\n==============<br />\n- Ability to use file elements in core path outside base path.<br />\n- Fixed bug with the caching of elements.<br />\n<br />\n2.8.3 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed rare bug with the caching of scripts and styles that was registered via Fenom.<br />\n- &#91;pdoPage&#93; Fixed the &quot;?page=1&quot; in the url when ajaxMode is enabled.<br />\n- &#91;pdoPage&#93; Snippet will register &quot;canonical&quot; link if &quot;&amp;setMeta&quot; is enabled.<br />\n- &#91;pdoPage&#93; Fix processing of request with rawurldecode on some servers.<br />\n- &#91;pdoTools&#93; Added passing of &quot;scriptProperties&quot; values into a &quot;&amp;prepareSnippet&quot;.<br />\n<br />\n2.8.2 pl<br />\n==============<br />\n- &#91;pdoMenu&#93; Fixed the checking of permissions for containers.<br />\n- &#91;pdoPage&#93; Added the ability to run files as &amp;element.<br />\n- &#91;pdoTools&#93; The method runSnippet will return boolean false if snippet was not found.<br />\n- &#91;Fenom&#93; Fixed the possible bugs of caching of scripts and styles.<br />\n<br />\n2.8.1 pl<br />\n==============<br />\n- &#91;#244&#93; Fixed possible duplicate of a container in the jquery.pdopage.js.<br />\n- Added fallback class for the enable modParser.<br />\n<br />\n2.8.0 pl<br />\n==============<br />\n- Ability to use an arrays in the parameters of the snippets.<br />\n- Replaced modX::toJSON and modX::fromJSON to native php functions.<br />\n<br />\n2.7.5 pl<br />\n==============<br />\n- Fenom is now managed via composer.<br />\n- &#91;Fenom&#93; Modifier &quot;resource&quot; no longer checks fields of resources in their schema.<br />\n- &#91;Fenom&#93; Modifier &quot;strrev&quot; now can work with arrays.<br />\n- &#91;Fenom&#93; Improved modifier &quot;ismember&quot;.<br />\n<br />\n2.7.4 pl<br />\n==============<br />\n- &#91;#242&#93; Added jquery.pdopage.js plugin and minified versions.<br />\n- &#91;#241&#93; &#91;Fenom&#93; Improved the retrieving of TVs for a current resource.<br />\n- &#91;pdoFetch&#93; Restored the checking of possible SQL injections in the &amp;sortby with xPDO 2.5.1.<br />\n<br />\n2.7.3 pl<br />\n==============<br />\n- Improved compatibility with MODX 2.5.2.<br />\n<br />\n2.7.2 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Some security improvements.<br />\n<br />\n2.7.1 pl<br />\n==============<br />\n- Some security improvements in the connector.php.<br />\n- Fixed bug with registering scripts in styles via Fenom introduced in version 2.7.0.<br />\n<br />\n2.7.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated to the version 2.11.4.<br />\n- &#91;Fenom&#93; Fixed resource cache for scripts and styles registered by Fenom.<br />\n- &#91;Fenom&#93; Added rand() and number_format() to an allowed PHP functions.<br />\n- &#91;Fenom&#93; New output filter &quot;number&quot; (or &quot;number_format&quot;).<br />\n<br />\n2.6.5 pl<br />\n==============<br />\n- Fixed undeclared variable (PHP 7.1)<br />\n<br />\n2.6.4 pl<br />\n==============<br />\n- Added escaping of a MODX tags that being processed in the &amp;prepareSnippet.<br />\n- &#91;#239&#93; Improved work of the &amp;decodeJSON option.<br />\n<br />\n2.6.3 pl<br />\n==============<br />\n- Fixed possible E_NOTICE on line 305 pdofetch.class.php.<br />\n- Fixed possible E_NOTICE when &quot;snippet&quot; and &quot;chunk&quot; Fenom modifiers was called.<br />\n<br />\n2.6.2 pl<br />\n==============<br />\n- Fixed possible E_NOTICE on line 1317 pdotools.class.php.<br />\n<br />\n2.6.1 pl<br />\n==============<br />\n- Improved compatibility with PHP 5.3.<br />\n<br />\n2.6.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; The ability to extend Fenom via system event &quot;pdoToolsOnFenomInit&quot;.<br />\n<br />\n2.5.6 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Ability to join TVs not only to the query main class.<br />\n<br />\n2.5.5 pl<br />\n==============<br />\n- Fixed parse of INLINE chunks with &quot;@&quot; symbols.<br />\n<br />\n2.5.4 pl<br />\n==============<br />\n- &#91;#224&#93; Added microMODX::cleanAlias().<br />\n- &#91;#226&#93; &#91;Fenom&#93; Added &quot;declension&quot; modifier.<br />\n<br />\n2.5.3 pl<br />\n==============<br />\n- &#91;#221&#93; Fixed typo in month name.<br />\n- &#91;Fenom&#93; Fixed path to compile dir.<br />\n<br />\n2.5.2 pl<br />\n==============<br />\n- &#91;#220&#93; Cache code of snippet with respect to property set.<br />\n<br />\n2.5.1 pl<br />\n==============<br />\n- Fixed cache of snippets in pdoTools::runSnippet().<br />\n<br />\n2.5.0 pl<br />\n==============<br />\n- Improved support of debugParser.<br />\n- &#91;#209&#93; Improved loading of the models.<br />\n- &#91;Fenom&#93; New modifiers: &quot;snippet&quot; and &quot;chunk&quot;.<br />\n- &#91;Fenom&#93; New elements provider: &quot;file&quot;.<br />\n- New method pdoTools::runSnippet().<br />\n<br />\n2.4.0 pl<br />\n==============<br />\n- Added snippet pdoArchive.<br />\n- &#91;pdoResources&#93; Faster processing of additional snippet parameters to placeholders.<br />\n- &#91;#123&#93; &#91;pdoMenu&#93; Fixed bug with &amp;displayStart and unpublished root nodes.<br />\n- &#91;#207&#93; &#91;pdoMenu&#93; Fixed &amp;webLinkClass option.<br />\n- &#91;#193&#93; &#91;pdoNeighbors&#93; Added parameter &amp;wrapIfEmpty.<br />\n- &#91;#203&#93; &#91;Fenom&#93; Added more PCRE modifiers.<br />\n<br />\n2.3.5 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Added escaping of columns names in query.<br />\n<br />\n2.3.4 pl<br />\n==============<br />\n- &#91;#200&#93; &#91;pdoFetch&#93; Fixed &amp;sortbyTV with dot in name.<br />\n<br />\n2.3.3 pl<br />\n==============<br />\n- Added system plugin for &quot;autoload&quot; of main classes with respect to their paths in system settings.<br />\n<br />\n2.3.2 pl<br />\n==============<br />\n- &#91;#196&#93; &#91;pdoPage&#93; Added workaround to support ClientConfig tags in ajax mode.<br />\n- &#91;Fenom&#93; Added general MODX output filters as Fenom modifiers.<br />\n- &#91;Fenom&#93; Implemented autoload of modifiers from snippets.<br />\n- &#91;Fenom&#93; Removed system setting &quot;pdotools_fenom_modifiers&quot;.<br />\n<br />\n2.3.1 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Lightning fast work chunks processing with &amp;scheme=&#96;uri&#96;.<br />\n- &#91;Fenom&#93; Improved check of syntax before processing.<br />\n<br />\n2.3.0 pl<br />\n==============<br />\n- Removed shortcuts from system core.<br />\n- PSR-2.<br />\n- &#91;Fenom&#93; Added default modifiers: &quot;url&quot; and &quot;lexicon&quot;.<br />\n- &#91;pdoCrumbs&#93; Changed default chunks to ul -&gt; li.<br />\n- &#91;#190&#93; &#91;pdoSitemap&#93; Changed date format to ISO 8601.<br />\n<br />\n2.2.8 pl<br />\n==============<br />\n- &#91;Fenom&#93; Use modResource::getContent() method to get content of current resource in &#123;$_modx-&gt;resource&#125;.<br />\n<br />\n2.2.7 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Ability to get access to a javascript configs from 3rd party scripts.<br />\n<br />\n2.2.6 pl<br />\n==============<br />\n- &#91;#184&#93; &#91;Fenom&#93; Updated to version 2.8.2.<br />\n<br />\n2.2.5 pl<br />\n==============<br />\n- &#91;#182&#93; &#91;pdoTitle&#93; Added passing a parameters into nested pdoCrumbs.<br />\n- &#91;pdoSitemap&#93; Added processing of MODX tags if needed.<br />\n- Added method pdoTools::makeUrl().<br />\n- &#91;#181&#93; New url schema type - &quot;uri&quot;.<br />\n<br />\n2.2.4 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed speed issues when MODX snippets are run as Fenom modifiers.<br />\n- &#91;pdoUsers&#93; Fixed overwrite modUser.id by modUserProfile.id.<br />\n<br />\n2.2.3 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Fixed processing of uncached conditions in chunks when ajax mode is enabled.<br />\n<br />\n2.2.2 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Added new parameter &amp;pageLinkScheme.<br />\n<br />\n2.2.1 pl<br />\n==============<br />\n- &#91;#155&#93; &#91;pdoPage&#93; Added new parameter &amp;ajaxHistory.<br />\n- &#91;pdoPage&#93; Added connector for requests in ajax mode.<br />\n<br />\n2.2.0 pl<br />\n==============<br />\n- &#91;#175&#93; &#91;pdoFetch&#93; Ability to specify sequence of table joins.<br />\n- &#91;#174&#93; &#91;Fenom&#93; Ability to add Fenom modifiers into pdoParser.<br />\n<br />\n2.1.21 pl<br />\n==============<br />\n- &#91;#175&#93; &#91;pdoFetch&#93; Ability to specify sequence of table joins.<br />\n- &#91;#176&#93; &#91;pdoUsers&#93; Fixed &amp;toPlaceholders with &amp;returnIds.<br />\n<br />\n2.1.20 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Fixed default &amp;cacheKey.<br />\n<br />\n2.1.19 pl<br />\n==============<br />\n- &#91;Fenom&#93; Disabled $options in cacheManager::set() due to security reasons.<br />\n<br />\n2.1.18 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed ability to access to the modX object from &#123;$_modx&#125; variable.<br />\n- &#91;Fenom&#93; Improved method &#123;$_modx-&gt;runProcessor()&#125;.<br />\n<br />\n2.1.17 pl<br />\n==============<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getResource($id, $options)&#125;.<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getResources($where, $options)&#125;.<br />\n- &#91;Fenom&#93; Improved support of debugParser.<br />\n<br />\n2.1.16 pl<br />\n==============<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;isMember($groups, $matchAll)&#125;.<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getPlaceholders()&#125;.<br />\n<br />\n2.1.15 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Added parameter &amp;strictMode.<br />\n<br />\n2.1.14 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Added options for cache snippets results.<br />\n- &#91;pdoSitemap&#93; Cache enabled by default.<br />\n<br />\n2.1.13 pl<br />\n==============<br />\n- &#91;#163&#93; Fixed ignoring of &amp;idx in pdoResources and pdoUsers.<br />\n<br />\n2.1.12 pl<br />\n==============<br />\n- &#91;pdoPage&#93; &#91;#161&#93; Fixed support of arrays in hash when &amp;ajaxMode is enabled.<br />\n<br />\n2.1.11 pl<br />\n==============<br />\n- &#91;#150&#93; &#91;Fenom&#93; Fixed processing of TVs values in a &#123;$_modx-&gt;resource&#125;.<br />\n- &#91;#147&#93; &#91;pdoSitemap&#93; Fixed possible duplicates in sitemap.<br />\n- &#91;pdoPage&#93; Support of arrays in hash when &amp;ajaxMode is enabled.<br />\n<br />\n2.1.10 pl<br />\n==============<br />\n- &#91;#157&#93; &#91;Fenom&#93; Fixed pre-processing of Fenom tags in extending templates and chunks.<br />\n- &#91;#145&#93; &#91;pdoPage&#93; Rolled back #81 due to issues with complicate forms.<br />\n<br />\n2.1.9 pl<br />\n==============<br />\n- &#91;#144&#93; &#91;pdoParser&#93; Leave unprocessed FastField tags so other components could parse them.<br />\n- &#91;pdoFetch&#93; Updated syntax for &quot;SET SQL_BIG_SELECTS = 1&quot;.<br />\n<br />\n2.1.8 pl<br />\n==============<br />\n- &#91;Fenom&#93; Ability to use id of chunks and templates in &#123;include&#125; and &#123;extends&#125;.<br />\n- &#91;Fenom&#93; Added support of debugParser.<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getChildIds()&#125; and &#123;$_modx-&gt;getParentIds()&#125;.<br />\n<br />\n2.1.7 pl<br />\n==============<br />\n- Fixed work with integer values from system setting &quot;link_tag_scheme&quot;.<br />\n<br />\n2.1.6 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated to version 2.8.0.<br />\n- &#91;Fenom&#93; Improved check of syntax to process content of chunks.<br />\n- &#91;pdoParser&#93; Fixed E_WARNING on line 50 introduced in previous version.<br />\n<br />\n2.1.5 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed register of scripts and styles by cached snippets.<br />\n<br />\n2.1.4 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed TVs in &#123;$_modx-&gt;resource&#125;<br />\n- &#91;Fenom&#93; Added new method &#123;$_modx-&gt;getInfo()&#125;<br />\n<br />\n2.1.3 pl<br />\n==============<br />\n- Improved work of system setting &quot;pdotools_fenom_php&quot;.<br />\n<br />\n2.1.2 pl<br />\n==============<br />\n- &#91;Fenom&#93; Replaced &#123;$_modx-&gt;placeholders&#125; to functions.<br />\n<br />\n2.1.1 pl<br />\n==============<br />\n- pdoParser enabled by default.<br />\n- &#91;Fenom&#93; Fixed return content in &#123;$_modx-&gt;getChunk&#125;.<br />\n- &#91;Fenom&#93; Added cache for snippets called through &#123;$_modx-&gt;runSnippet&#125;.<br />\n- &#91;pdoTools&#93; Added processing of property sets for chunks.<br />\n- &#91;pdoResources&#93; Set additionalPlaceholders in &amp;tplWrapper<br />\n<br />\n2.1.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated Fenom to version 2.7.1.<br />\n- &#91;Fenom&#93; Added safe system variable &#123;$_modx&#125;.<br />\n- &#91;Fenom&#93; Added MODX template provider for chunks and templates.<br />\n<br />\n2.0.5 pl<br />\n==============<br />\n- &#91;#132&#93; Fixed possible E_WARNING on empty chunks.<br />\n- &#91;#122&#93; Ability to use 3rd party pdoPage and pdoMenu classes.<br />\n- &#91;#118&#93; &#91;pdoPage&#93; Fixed parameter &amp;offset.<br />\n- &#91;pdoPage&#93; Fixed default CSS classes in &quot;empty&quot; chunks.<br />\n<br />\n2.0.4 pl<br />\n==============<br />\n- Fixed processing of &quot;pdotools_fenom_cache&quot; system setting.<br />\n<br />\n2.0.3 pl<br />\n==============<br />\n- &#91;#125&#93; &#91;pdoTitle&#93; Fixed parameter &amp;id.<br />\n<br />\n2.0.2 pl<br />\n==============<br />\n- Improved processing of @FILE binding.<br />\n<br />\n2.0.1 pl<br />\n==============<br />\n- Fixed possible E_WARNING on line 319 and 349 of pdoTools class.<br />\n- Disabled system option &quot;pdotools_fenom_modx&quot; by default due to security issues.<br />\n<br />\n2.0.0 pl<br />\n==============<br />\n- New system settings to control the Fenom.<br />\n- Ability to enable caching of Fenom compiled chunks.<br />\n- Improved handling of parameter &quot;cache_key&quot;.<br />\n- &#91;pdoMenu&#93; Improved work when &amp;cache is enabled.<br />\n<br />\n2.0.0 rc2<br />\n==============<br />\n- Compiled Fenom templates cached to RAM instead of HDD.<br />\n- Removed plugin pdoTools.<br />\n<br />\n2.0.0 rc1<br />\n==============<br />\n- Added Fenom template engine.<br />\n- Fenom enabled by default.<br />\n- pdoParser uses Fenom to process pages.<br />\n<br />\n1.11.2 pl<br />\n==============<br />\n- &#91;#116&#93; &#91;pdoTitle&#93; Disabled &amp;register_js by default.<br />\n<br />\n1.11.1 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Fixed default url scheme after last update.<br />\n<br />\n1.11.0 pl1<br />\n==============<br />\n- &#91;pdoTitle&#93; Added new snippet.<br />\n- &#91;pdoPage&#93; Added support of snippet pdoTitle when &amp;ajaxMode is enabled.<br />\n- &#91;pdoPage&#93; Prevent overwriting of scripts and styles of nested &amp;element by default parameters.<br />\n- &#91;pdoPage&#93; Added triggering javascript event &quot;pdopage_load&quot;.<br />\n<br />\n1.10.2 pl1<br />\n==============<br />\n- &#91;#112&#93; Parameter &amp;scheme was set to system default in all snippets.<br />\n- &#91;#111&#93; &#91;pdoPage&#93; Added ability to set &quot;prev&quot; &amp; &quot;next&quot; meta tags.<br />\n- &#91;#107&#93; &#91;pdoNeighbors&#93; Added ability to specify &amp;parents for work.<br />\n- &#91;#106&#93; &#91;pdoMenu&#93; Fixed &quot;hereClass&quot; and &quot;selfClass&quot; enabled &amp;useWeblinkUrl parameter.<br />\n- &#91;#104&#93; &#91;pdoMenu&#93; Snippet now using &quot;pagetitle&quot; for link titles if &quot;titleOfLinks&quot; is empty.<br />\n<br />\n1.10.1 pl<br />\n==============<br />\n- &#91;#108&#93; &#91;pdoFetch&#93; Fixed E_ERROR when using &amp;sortbyTV.<br />\n- &#91;pdoFetch&#93; Added new parameter &amp;sortbyTVType.<br />\n- &#91;pdoFetch&#93; If &amp;sortdirTV is not set it will be equal to &amp;sortdir.<br />\n<br />\n1.10.0 pl<br />\n==============<br />\n- &#91;pdoMenu&#93; Returned and fixed parameter &amp;showDeleted.<br />\n- &#91;pdoPage&#93; Improved default javascript.<br />\n- &#91;pdoPage&#93; Fixed overwriting &amp;frontend_js and &amp;frontend_css parameters when &amp;ajax is disabled.<br />\n- &#91;pdoFetch&#93; Ability to specify functions in select fields.<br />\n- &#91;pdoTools&#93; Ability to use compound quick placeholders.<br />\n<br />\n1.10.0 beta4<br />\n==============<br />\n- &#91;pdoPage&#93; Ajax pagination out from the box.<br />\n- &#91;pdoFetch&#93; Improved log of getCollection.<br />\n- &#91;pdoTools&#93; Added tplOperator &quot;contains&quot;.<br />\n<br />\n1.9.7 pl<br />\n==============<br />\n- &#91;#99&#93; &#91;pdoFetch&#93; Fixed returning of primary key in &quot;ids&quot; mode.<br />\n- &#91;#97&#93; &#91;pdoTools&#93; Fixed default tplPath for @FILE chunks.<br />\n- &#91;#85&#93; &#91;pdoFetch&#93; Added function getChildIds().<br />\n- &#91;pdoFetch&#93; Disabled &quot;total&quot; placeholder for &amp;return=&#96;ids&#96;.<br />\n<br />\n1.9.6 pl2<br />\n==============<br />\n- &#91;pdoFetch&#93; Fixed exclusion of field &quot;id&quot; in custom classes.<br />\n- &#91;pdoMenu&#93; Improved parameter &amp;countChildren.<br />\n- &#91;#100&#93; &#91;pdoMenu&#93; Removed parameter &amp;showDeleted because it not working.<br />\n<br />\n1.9.6 rc<br />\n==============<br />\n- Added execution of SQL_BIG_SELECTS = 1 before query.<br />\n- &#91;pdoPage&#93; Added parameter &amp;ajax for supporting of ajax requests.<br />\n<br />\n1.9.5 pl1<br />\n==============<br />\n- Rolled back #72 due to issues in pdoMenu.<br />\n<br />\n1.9.5 pl<br />\n==============<br />\n- Added ability to return JSON or serialized string from pdoFetch::run().<br />\n- &#91;#83&#93; &#91;pdoMenu&#93; Added level placeholder to outer templates.<br />\n- &#91;#82&#93; &#91;pdoFetch&#93; Added support for complex &amp;where parameter.<br />\n- &#91;#81&#93; &#91;pdoPage&#93; Improved handling of arrays in url.<br />\n- &#91;#77&#93; Fixed making of url for modWebLink to another context.<br />\n- &#91;#72&#93; &#91;pdoTools&#93; Fixed order for children of excluded parents in buildTree.<br />\n- &#91;#60&#93; &#91;pdoMenu&#93; Fixed parameter &amp;tplCategoryFolder.<br />\n- &#91;#57&#93; &#91;pdoMenu&#93; Improved placeholder &#91;&#91;+children&#93;&#93;.<br />\n- &#91;#57&#93; &#91;pdoMenu&#93; Added parameter &amp;countChildren.<br />\n<br />\n1.9.4 pl1<br />\n==============<br />\n- &#91;#78&#93; &#91;pdoNeighbors&#93; Added parameter &amp;loop=&#96;1&#96; for looping links.<br />\n- &#91;pdoSitemap&#93; Fixed possible E_FATAL php-apc.<br />\n<br />\n1.9.3 pl1<br />\n==============<br />\n- &#91;pdoTools&#93; Ability to specify value for empty quick placeholders.<br />\n- &#91;pdoTools&#93; Ability to use INLINE snippets and filters.<br />\n- &#91;pdoFetch&#93; Improved loading of 3rd party models.<br />\n- &#91;pdoPage&#93; Fixed E_WARNING when &amp;limit=&#96;0&#96;.<br />\n<br />\n1.9.2 pl2<br />\n==============<br />\n- &#91;#56&#93; &#91;pdoParser&#93; Fixed wrong links processing.<br />\n- &#91;#53&#93; Improved loading of classes.<br />\n- &#91;pdoField&#93; Rolled back to original logic of &quot;top&quot; and &quot;topLevel&quot; parameters due to issues.<br />\n- &#91;pdoField&#93; Added parameter &quot;ultimate&quot; to emulate logic of UltimateParent.<br />\n<br />\n1.9.1 pl6<br />\n==============<br />\n- &#91;pdoFetch&#93; Adding alias of main class of query to &quot;sortby&quot; if no alias exists.<br />\n- &#91;pdoFetch&#93; Improved selecting of all fields of class with specified alias.<br />\n- &#91;pdoField&#93; Parameter &quot;topLevel&quot; works exactly as in UltimateParent.<br />\n- &#91;pdoField&#93; Parameter &quot;top&quot; without &quot;topLevel&quot; returns parent on &quot;top&quot; level.<br />\n<br />\n1.9.1 pl<br />\n==============<br />\n- &#91;#47&#93; &#91;pdoMenu&#93; Fixed processing &amp;tplOuter when output is empty.<br />\n- &#91;#46&#93; &#91;pdoParser&#93; Fixed processing of TVs with dots in name.<br />\n- &#91;#44&#93; &#91;pdoMenu&#93; Improved handling of Wayfinder parameters &quot;includeDocs&quot; and &quot;excludeDocs&quot;.<br />\n- &#91;#37&#93; &#91;pdoField&#93; get the default, only if the field was empty.<br />\n- &#91;#34&#93; Fixed processing of &quot;modSymLink&quot; documents.<br />\n- &#91;#32&#93; Improved cache methods.<br />\n- &#91;#26&#93; Replaced FIND_IN_SET() to FIELD().<br />\n- &#91;pdoFetch&#93; Ability to work with objects, that has multiple primary keys.<br />\n- &#91;pdoPage&#93; New parameter &amp;cacheAnonymous.<br />\n- &#91;pdoMenu&#93; New parameter &amp;cacheAnonymous.<br />\n- Added aliases for sort query in order of specified &amp;resources: &quot;ids&quot; or &quot;resources&quot;.<br />\n- Removed unnecessary query in pdoFetch::getCollection().<br />\n- Improved pdoFetch::getCollection().<br />\n- Renamed pdoFetch::getObject() to getArray(). Now it uses getCollection for retrieve results.<br />\n- pdoTools::setCache() now returns cacheKey.<br />\n- pdoFetch::getObject() is now alias of pdoFetch::getArray().<br />\n<br />\n1.9.0 pl2<br />\n==============<br />\n- &#91;pdoMenu&#93; Chunks of parents and categories are now depends on the descendants and ignores parameter isfolder.<br />\n- &#91;pdoNeighbors&#93; Speed improvements.<br />\n- &#91;#27&#93; Ability to specify custom pdoFetch and pdoTools classes through FQN system settings.<br />\n- &#91;pdoParser&#93; Handles TVs in resource tags.<br />\n- &#91;pdoParser&#93; Handles output filters.<br />\n- &#91;pdoFetch&#93; Improved method &quot;addTVFilters&quot;, that used by &quot;tvFilters&quot; parameter in pdoResources.<br />\n- &#91;pdoSitemap&#93; Pass the whole row so we can use more columns.<br />\n<br />\n1.9.0 rc<br />\n==============<br />\n- Improved method pdoTools::getChunk().<br />\n- Improved method pdoTools::parseChunk().<br />\n- Improved method pdoTools::fastProcess().<br />\n- Improved method pdoTools::makePlaceholders().<br />\n- Accelerated snippet pdoNeighbors.<br />\n- Fixed bug in pdoUsers when usersgroups was specified by names.<br />\n- getObject and getCollection() runs in separate instance.<br />\n- Added pdoParser with FastField tags.<br />\n- &#91;pdoPage&#93; Changed default value of parameter &quot;totalVar&quot; due to issues.<br />\n- &#91;#24&#93; Fixed prepareTVs and empty tvPrefix.<br />\n- &#91;#23&#93; &#91;pdoResources&#93; Ability to return ids to placeholder.<br />\n- Fixed warning when getObject returns false.<br />\n- Fixed placeholders prefix in recursive makePlaceholders.<br />\n<br />\n1.8.9 pl4<br />\n==============<br />\n- Added german lexicon.<br />\n- &#91;#20&#93; Ability to specify not JSON string in &amp;where=&#96;&#96;.<br />\n- &#91;pdoPage&#93; Added parameter &quot;pageCountVar&quot; for specifying name of variable with number of pages.<br />\n- &#91;pdoPage&#93; Support Bootstrap3.<br />\n- &#91;pdoField&#93; Ability to specify class for fetching field.<br />\n- Improved joining of tables in pdoFetch.<br />\n- Added preparing and processing TVs in getObject and getCollection methods.<br />\n- Improved load of 3rd party models.<br />\n<br />\n1.8.8 pl2<br />\n==============<br />\n- Rewrited cache of snippets &quot;pdoMenu&quot; and &quot;pdoPage&quot;.<br />\n- New methods pdoTools::getCache() and pdoTools::setCache().<br />\n- &#91;pdoMenu&#93; Fixed parameter &quot;tplParentRowActive&quot;.<br />\n- &#91;#18&#93; Fixed &quot;idx&quot; in pdoTools::defineChunk().<br />\n<br />\n1.8.7 pl<br />\n==============<br />\n- Added boolean parameter &quot;decodeJSON&quot; to specify whether or not decode JSON in results rows.<br />\n- Removed default &quot;sortby&quot; and &quot;sortdir&quot; from class pdoFetch for better work of getCollection() method.<br />\n<br />\n1.8.6 pl2<br />\n==============<br />\n- Fixed possibly E_NOTICE when site has no extension packages installed.<br />\n- &#91;#17&#93; &#91;pdoMenu&#93; Added placeholder &#91;&#91;+wf.menutitle&#93;&#93;.<br />\n- &#91;#16&#93; &#91;pdoMenu&#93; Disabled status verification of specified parents.<br />\n- &#91;#13&#93; &#91;pdoMenu&#93; Improved work with root of multiple contexts.<br />\n- &#91;pdoMenu&#93; Fixed bug when specified parent has only the one child.<br />\n- &#91;pdoResources&#93; Added parameter &quot;&amp;useWeblink&quot; and placeholder &quot;&#91;&#91;+link&#93;&#93;&quot;. It is disabled by default.<br />\n<br />\n1.8.5 pl<br />\n==============<br />\n- &#91;#15&#93; &#91;pdoPage&#93; Improved generation of links to pages.<br />\n- &#91;pdoMenu&#93; Improved processing of classes &quot;modSymlink&quot; and &quot;modWeblink&quot;.<br />\n- &#91;pdoBreadcrumbs&#93; Improved processing of classes &quot;modSymlink&quot; and &quot;modWeblink&quot;. Added parameter &quot;&amp;useWeblink&quot;.<br />\n- &#91;pdoNeighbors&#93; Added parameter &quot;&amp;useWeblink&quot; and placeholder &quot;&#91;&#91;+link&#93;&#93;&quot;.<br />\n- &#91;pdoSitemap&#93; Added parameter &quot;&amp;useWeblink&quot; and proper processing of classes &quot;modSymlink&quot; and &quot;modWeblink&quot;.<br />\n<br />\n1.8.4 pl<br />\n==============<br />\n- &#91;pdoCrumbs&#93; Added ability to specify the crumbs root (defaulting to site_start)<br />\n- &#91;pdoCrumbs&#93; Added ability to specify class_key (ie. to generate crumbs only for derivative classes)<br />\n- More accuracy when try to decode json in fetch results.<br />\n<br />\n1.8.3 pl3<br />\n==============<br />\n- Improved preparation of template variables.<br />\n- Improved transfer of additional parameters from snippet to results.<br />\n- &#91;pdoMenu&#93; Added lexicon entries for parameters.<br />\n- &#91;pdoMenu&#93; Allow to specify &quot;limit&quot; and &quot;offset&quot;.<br />\n- &#91;#12&#93; Added parameter &quot;toPlaceholder&quot;.<br />\n- Increased accuracy of timings log.<br />\n<br />\n1.8.1 pl2<br />\n==============<br />\n- Accelerated method pdoTools::getChunk().<br />\n- Added snippet pdoMenu.<br />\n- Added support for tags &#91;^qt^&#93; and &#91;^q^&#93;.<br />\n<br />\n1.8.0 pl<br />\n==============<br />\n- &#91;#10&#93; &#91;pdoPage&#93; Added placeholder &quot;page&quot;.<br />\n- &#91;#9&#93; &#91;pdoPage&#93; Added placeholder &quot;pageCount&quot;.<br />\n- &#91;#8&#93; Improved support of big numbers when sorting by TVs.<br />\n- Fixed work of pdoPage when it called multiple times on page.<br />\n- Fixed mistype in pdoFetch::getCollection().<br />\n<br />\n1.8.0 rc5<br />\n==============<br />\n- Added processing of JSON fields. For example, you can use &#91;&#91;+extended.keyname&#93;&#93; in chunks of pdoUsers.<br />\n- pdoTools was removed from system extension packages, but you can still use &quot;$modx-&gt;getService(&#039;pdoFetch&#039;);&quot;.<br />\n- Fixed getting chunk without any parameters.<br />\n- Added snippet pdoPage.<br />\n<br />\n1.8.0 beta1<br />\n==============<br />\n- Improved handling of &quot;default_text&quot; parameter in TVs.<br />\n- Fixed and improved method pdoTools::buildTree().<br />\n- The logic of build the conditions of the query moved into new method pdoFetch::additionalConditions().<br />\n- Improved method pdoFetch::addSelects().<br />\n- Improved method pdoFetch::addSort().<br />\n- Improved some snippets in accordance to new abilities of pdoFetch: pdoResources, pdoNeighbors and pdoSitemap.<br />\n<br />\n1.7.4 pl<br />\n==============<br />\n- &#91;#7&#93; &#91;pdoSitemap&#93; Fixed hidden parameters &quot;&amp;sortBy&quot; and &quot;&amp;sortDir&quot; that used for compatibility with GoogleSiteMap.<br />\n<br />\n1.7.3 pl1<br />\n==============<br />\n- &#91;pdoCrumbs&#93; Fixed possible E_NOTICE on line 157.<br />\n- &#91;pdoCrumbs&#93; Fixed generation of link to site start in relative mode.<br />\n- &#91;#6&#93; pdoCrumbs and pdoNeighbors are now uses &quot;menutitle&quot; by default. If it is empty, will be used &quot;pagetitle&quot;.<br />\n<br />\n1.7.2 pl1<br />\n==============<br />\n- &#91;pdoField&#93; Added new parameters: &quot;default=&#96;&#96;&quot; and &quot;&amp;field=&#96;&#96;&quot;.<br />\n- &#91;pdoField&#93; Improved logic of &quot;&amp;top=&#96;&#96;&quot; and &quot;&amp;topLevel=&#96;&#96;&quot;.<br />\n- Added 2 new methods: pdoFetch::getObject() and pdoFetch::getCollection().<br />\n- Ability to send arrays into common config parameters. JSON is still supported.<br />\n- Improved select of default values in TVs.<br />\n<br />\n1.7.1 pl<br />\n==============<br />\n- &#91;pdoCrumbs&#93; Fixed work with &quot;modSymLink&quot; and &quot;modWebLink&quot; resources.<br />\n<br />\n1.7.0 pl1<br />\n==============<br />\n- New snippet pdoCrumbs.<br />\n- New snippet pdoField.<br />\n- New snippet pdoSitemap.<br />\n- New snippet pdoNeighbors.<br />\n- Ability to specify snippet for preparation of fetched rows by parameter &quot;&amp;prepareSnippet=&#96;&#96;&quot;.<br />\n- Added method pdoTools::checkPermissions() for checking user privileges to view the results.<br />\n- Added @TEMPLATE binding. You can use name or id of any template. If empty - will use template of each row.<br />\n- &#91;pdoResources&#93; Improved parameter &quot;&amp;context&quot;.<br />\n- &#91;pdoResources&#93; Script properties are now passed to chunks. You can send any placeholders to it.<br />\n<br />\n1.6.0 pl1<br />\n==============<br />\n- Fixed compatibility issues in PHP &lt; 5.3.<br />\n<br />\n1.6.0 pl<br />\n==============<br />\n- Added parameter &quot;&amp;loadModels&quot; for comma-separated list of 3rd party components that needed for query.<br />\n- Added parameters &quot;&amp;prepareTVs&quot; and &quot;&amp;processTVs&quot;.<br />\n- Added parameters &quot;&amp;tvFilters&quot;, &quot;&amp;tvFiltersAndDelimiter&quot; and &quot;&amp;tvFiltersAndDelimiter&quot;.<br />\n- Added support of parameters &quot;&amp;sortbyTV&quot; and &quot;&amp;sortdirTV&quot; for compatibility with getResources.<br />\n- Added ability to use @INLINE and @FILE bindings in all template parameters.<br />\n- Removed method pdoTools::getPlaceholders.<br />\n<br />\n1.5.0 pl2<br />\n==============<br />\n- Fixed sort of decimals in TVs.<br />\n<br />\n1.5.0 pl1<br />\n==============<br />\n- Added processing of simple &#91;&#91;~id&#93;&#93; placeholders in fastMode.<br />\n- Added support of default value for TVs.<br />\n- Improved sort by TVs of types &quot;number&quot; and &quot;date&quot;.<br />\n<br />\n1.5.0 rc<br />\n==============<br />\n- &#91;pdoUsers&#93; Added new snippet &quot;pdoUsers&quot;.<br />\n- &#91;pdoResources&#93; Fixed &quot;toSeparatePlaceholders&quot;.<br />\n- &#91;pdoResources&#93; Parameter &quot;parents&quot; now supports dash prefix for excluding resources from query by parent.<br />\n- &#91;pdoResources&#93; Fixed issue when snippet runs multiple times at one page.<br />\n<br />\n1.4.1 pl1<br />\n==============<br />\n- Improved &quot;context&quot; processing.<br />\n- Fixed &quot;idx&quot; when multiple snippets called at one page.<br />\n- Fixed default sortby when joined tables exists.<br />\n<br />\n1.4.1 beta3<br />\n==============<br />\n- Added parameters &quot;tplCondition&quot;, &quot;tplOperator&quot; and &quot;conditionalTpls&quot;.<br />\n- Added parameter &quot;select&quot; for specifying needed columns of selected tables. Can be a JSON string with array.<br />\n- Added parameter &quot;toSeparatePlaceholders&quot;.<br />\n- Improved &quot;pdoResources&quot; snippet.<br />\n<br />\n1.4.0 beta1<br />\n==============<br />\n- Ability to specify JSON string in &quot;sortby&quot;, for example &quot;&amp;sortby=&#96;&#123;&quot;pagetitle&quot;:&quot;asc&quot;,&quot;createdon&quot;:&quot;desc&quot;&#125;&#96;&quot;<br />\n- Added automatic replacement of tvs in &quot;where&quot; and &quot;having&quot; parameters.<br />\n- Added automatic replacement of tvs in &quot;sortby&quot; parameter.<br />\n- Removed example snippet<br />\n- Added snippet &quot;pdoResources&quot;, that could replace &quot;getResources&quot;.<br />\n- Added method pdoTools::defineChunk() for chunk of given idx.<br />\n- Added &quot;memory usage&quot; in log.<br />\n<br />\n1.3.0<br />\n==============<br />\n- Improved placeholders processing when fastMode is enabled.<br />\n- Added support of &quot;having&quot; conditions.<br />\n<br />\n1.2.1<br />\n==============<br />\n- Fixed not working &quot;includeTVs&quot; when &quot;leftJoin&quot; is empty.<br />\n<br />\n1.2.0<br />\n==============<br />\n- Native render of quick placeholders, such as &quot;&quot;.<br />\n- Added joining of TVs in pdoFetch. Use parameter &quot;includeTVs&quot; with comma-separated list of template variables.<br />\n- Added method pdoFetch::setConfig() for proper setting options when you run multiple pdoTools snippets at the one page.<br />\n- Method pdoTools::makeArray is now recursive, for processing a multidimensional arrays of values.<br />\n<br />\n1.1.0<br />\n==============<br />\n- Improved getChunk function.<br />\n<br />\n1.0.1<br />\n==============<br />\n- Fixed setting total in &quot;chunks&quot; mode.<br />\n- Improved displaying &quot;where&quot; condition in log.<br />\n<br />\n1.0.0<br />\n==============<br />\n- Initial release.\";s:10:\"releasedby\";s:1:\"6\";s:10:\"releasedon\";s:19:\"2021-02-09 06:46:54\";s:16:\"minimum_supports\";s:3:\"2.3\";s:8:\"supports\";s:0:\"\";s:11:\"minimum_php\";s:3:\"5.6\";s:10:\"deprecated\";s:1:\"0\";s:10:\"version_id\";s:4:\"4543\";s:6:\"author\";s:29:\"Василий Наумкин\";s:11:\"description\";s:85:\"Быстрая выборка страниц и пользователей сайта\";s:5:\"price\";s:1:\"0\";s:12:\"display_name\";s:19:\"pdotools-2.12.10-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:8:\"location\";s:169:\"https://modstore.pro/extras/package/6?version_id=4543&username=victor.lavryshev%40gmail.com&api_key=e89e597d0ff73bb0033fa39030a0049e&http_host=forest.victor-webmaster.ru\";s:4:\"file\";a:2:{s:8:\"location\";s:169:\"https://modstore.pro/extras/package/6?version_id=4543&username=victor.lavryshev%40gmail.com&api_key=e89e597d0ff73bb0033fa39030a0049e&http_host=forest.victor-webmaster.ru\";s:9:\"transport\";s:4:\"true\";}}',2,12,10,'pl',0),('filetranslit-0.1.2-pl2','2021-05-15 23:36:26','2021-05-15 20:36:41','2021-05-15 23:36:41',0,1,1,0,'filetranslit-0.1.2-pl2.transport.zip',NULL,'a:8:{s:7:\"license\";s:18092:\"                    GNU GENERAL PUBLIC LICENSE\n                       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.,\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Lesser General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                    GNU GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n                            NO WARRANTY\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program\'s name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software; you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation; either version 2 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License along\n    with this program; if not, write to the Free Software Foundation, Inc.,\n    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n\nAlso add information on how to contact you by electronic and paper mail.\n\nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n\n    Gnomovision version 69, Copyright (C) year name of author\n    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w\'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c\' for details.\n\nThe hypothetical commands `show w\' and `show c\' should show the appropriate\nparts of the General Public License.  Of course, the commands you use may\nbe called something other than `show w\' and `show c\'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary.  Here is a sample; alter the names:\n\n  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n  `Gnomovision\' (which makes passes at compilers) written by James Hacker.\n\n  <signature of Ty Coon>, 1 April 1989\n  Ty Coon, President of Vice\n\nThis General Public License does not permit incorporating your program into\nproprietary programs.  If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.\n\";s:6:\"readme\";s:330:\"This plugin transliterates names of files uploaded via MODX file manager.\r\n\r\nInstallation:\r\n1. Install filetranslit via MODX Package Manager.\r\n2. Install and configure translit package (http://modx.com/extras/package/translit) if needed.\r\n3. Check friendly_alias_translit system setting for correct value (eg. russian or iconv).\r\n\";s:9:\"changelog\";s:181:\"v0.1.2-pl2\r\nFix: Translate plugin description\r\n\r\nv0.1.2-pl1\r\nFix: MODX 2.2.6-pl generates an error while uploading in some cases.\r\nAdd: More friendly docs.\r\n\r\nv0.1.1 - First release\";s:9:\"signature\";s:22:\"filetranslit-0.1.2-pl2\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:50:\"/workspace/package/install/filetranslit-0.1.2-pl2/\";s:14:\"package_action\";i:0;}','filetranslit','a:38:{s:2:\"id\";s:24:\"52fe943262cf2449ca0005e1\";s:7:\"package\";s:24:\"513de5edf2455405d1000061\";s:12:\"display_name\";s:22:\"filetranslit-0.1.2-pl2\";s:4:\"name\";s:12:\"filetranslit\";s:7:\"version\";s:5:\"0.1.2\";s:13:\"version_major\";s:1:\"0\";s:13:\"version_minor\";s:1:\"1\";s:13:\"version_patch\";s:1:\"2\";s:7:\"release\";s:3:\"pl2\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:1:\"2\";s:6:\"author\";s:8:\"trianman\";s:11:\"description\";s:116:\"<p>This plugin transliterates names of files&nbsp;with non-latin characters&nbsp;uploaded via MODX file manager.</p>\";s:12:\"instructions\";s:362:\"<p><li>Install filetranslit via MODX Package Manager.</li><li>Install and configure translit package (http://modx.com/extras/package/translit) if needed.</li><li>Check friendly_alias_translit system setting for correct value (eg. russian or iconv).</li><li>Upload a file with non-latin characters in it\'s name via the MODX filemanager.</li><li>Have fun!</li></p>\";s:9:\"changelog\";s:173:\"<p><b>v0.1.2-pl2</b>Fix: Translate plugin description</p><p><b>v0.1.2-pl1</b>Fix: MODX 2.2.6-pl generates an error while uploading in some cases.Add: More friendly docs.</p>\";s:9:\"createdon\";s:24:\"2014-02-14T22:09:54+0000\";s:9:\"createdby\";s:8:\"trianman\";s:8:\"editedon\";s:24:\"2021-05-15T18:03:42+0000\";s:10:\"releasedon\";s:24:\"2014-02-24T06:05:00+0000\";s:9:\"downloads\";s:5:\"18550\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:3:\"2.2\";s:8:\"location\";s:60:\"http://modx.com/extras/download/?id=52fe943262cf2449ca0005e2\";s:9:\"signature\";s:22:\"filetranslit-0.1.2-pl2\";s:11:\"supports_db\";s:12:\"mysql,sqlsrv\";s:16:\"minimum_supports\";s:3:\"2.2\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:65:\"http://modx.s3.amazonaws.com/extras%2F513de5edf2455405d1000061%2F\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"52fe943262cf2449ca0005e2\";s:7:\"version\";s:24:\"52fe943262cf2449ca0005e1\";s:8:\"filename\";s:36:\"filetranslit-0.1.2-pl2.transport.zip\";s:9:\"downloads\";s:5:\"18045\";s:6:\"lastip\";s:13:\"77.222.61.240\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:60:\"http://modx.com/extras/download/?id=52fe943262cf2449ca0005e2\";}s:17:\"package-signature\";s:22:\"filetranslit-0.1.2-pl2\";s:10:\"categories\";s:20:\"internationalization\";s:4:\"tags\";s:0:\"\";}',0,1,2,'pl',2),('backupmodx-3.0.5-pl','2022-05-16 14:44:29','2022-05-16 11:44:36','2022-05-16 14:44:36',0,1,1,0,'backupmodx-3.0.5-pl.transport.zip',NULL,'a:12:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:317:\"# BackupMODX\n\nDashboard widget to backup your MODX site\n\n- Author: Jan Dähne <https://www.quadro-system.de>\n- License: GPLv2\n\n## Installation\n\nMODX Package Management\n\n## Documentation\n\nhttps://www.quadro-system.de/modx-extras/backup-modx/\n\n## Bugs and Feature Requests\n\nhttps://github.com/jdaehne/BackupMODX/issues\n\";s:9:\"changelog\";s:2577:\"# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [3.0.5] - 2021-12-06\n\n### Changed\n\n- Updated dependencies\n\n### Fixed\n\n- Fix cleaning backups deleting all backups [#68]\n\n## [3.0.4] - 2021-08-30\n\n### Fixed\n\n- Fix installation issue when upgrading from an old version [#67]\n\n## [3.0.3] - 2021-03-11\n\n### Fixed\n\n- Fix creating a backup note with the widget [#64]\n- Fix not hiding the backup actions after backup [#65]\n\n## [3.0.2] - 2021-03-11\n\n### Added\n\n- MODX 3 compatibility\n- System setting for the timelimit\n\n## [3.0.1] - 2019-09-19\n\n### Added\n\n- Extend logging information\n- Catch construct errors of chumper/zipper\n- Add lexicon editing to Crowdin\n\n## [3.0.0] - 2019-07-19\n\n### Added\n\n- Complete rewrite\n- Use ifsnop/mysqldump-php and Chumper/Zipper composer packages\n- Debug option logging the files to backup and other information in backupmodx.log\n- Completely AJAX driven dashboard widget\n- Every text displayed in the browser is translateable\n- Catch an error during php shutdown to display (i.e. maximum execution time) errors\n\n### Removed\n\n- PHP exec calls\n\n## [2.0.1] - 2018-12-31\n\n### Fixed\n\n- Ajax timeout\n- Download large files\n- Custom assets_path (Thanks to mcnickel)\n\n## [2.0.0] - 2018-12-29\n\n### Added\n\n- Add cron scheduled backups\n- Add restore Database\n\n### Changed\n\n- Redesign Dashboard-Widget\n\n## [1.0.5] - 2016-02-17\n\n### Added\n\n- Adding an optional readme file\n- Define additional files and folders to exclude in the backup\n- Define a directory to place the backup (inside or outside the webroot)\n\n### Fixed\n\n- Ability to change tar-alias for different hosting-provider\n- Keeps cache-folder included - only excludes all files inside the cache-folder to achieve a smaller tar-archive\n\n## [1.0.4] - 2016-01-20\n\n### Fixed\n\n- Placing the sql-file in the root of combined tar-archive\n- Excluding cache-folder to achieve smaller files\n\n## [1.0.3] - 2016-01-18\n\n### Added\n\n- Placing the sql-file in the root of combined tar-archive\n- Checking if shell-commands working\n- Excluding cache-folder to achieve smaller files\n- Adding abbility to change tar-alias for different hosting-provider\n\n## [1.0.2] - 2016-01-13\n\n### Added\n\n- Ability to define groups that can see the widget. Default is only: Administartor\n\n## [1.0.1] - 2016-01-06\n\n### Added\n\n- Include \"core-folder\" placed outside the webroot.\n\n## [1.0.0] - 2016-01-02\n\n### Added\n\n- Initial Version\n\";s:13:\"setup-options\";s:37:\"backupmodx-3.0.5-pl/setup-options.php\";s:8:\"requires\";a:2:{s:3:\"php\";s:5:\">=5.6\";s:4:\"modx\";s:5:\">=2.6\";}s:9:\"signature\";s:19:\"backupmodx-3.0.5-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:47:\"/workspace/package/install/backupmodx-3.0.5-pl/\";s:10:\"targetPath\";s:41:\"{core_path}components/backupmodx/backups/\";s:7:\"cronKey\";s:12:\"b022efd05387\";s:14:\"package_action\";i:1;}','BackupMODX','a:38:{s:2:\"id\";s:24:\"61ae99df402add10e1572cb2\";s:7:\"package\";s:24:\"568a8995dc532f033500d60c\";s:12:\"display_name\";s:19:\"backupmodx-3.0.5-pl\";s:4:\"name\";s:10:\"BackupMODX\";s:7:\"version\";s:5:\"3.0.5\";s:13:\"version_major\";s:1:\"3\";s:13:\"version_minor\";s:1:\"0\";s:13:\"version_patch\";s:1:\"5\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:4:\"jako\";s:11:\"description\";s:830:\"<p>The BackupMODX extra is a tiny dashboard widget. Just place the widget into your dashboard and click the \"Backup\" button whenever you need a quick backup of your site. You can select either to backup your database, files or both. After the backup is finished you can download the files as a zip-archive. Just click the \"Remove Backup\" button after your download is finished to remove the backup.</p>\n\n<p>The extra will backup all files and folders inside your MODX installation and will also include the core-folder if placed outside the web-root.</p>\n\n<p>The widget is tested in different hosting environments and it works for our needs. If you have any problems/errors while using this extra - please let us know. If you also know how to enhance the extra/code – please feel free to contribute to the GitHub Repository.</p>\";s:12:\"instructions\";s:23:\"MODX Package Management\";s:9:\"changelog\";s:73:\"- Updated dependencies\n- Fix cleaning backups deleting all backups [#68]\n\";s:9:\"createdon\";s:24:\"2021-12-06T23:16:47+0000\";s:9:\"createdby\";s:4:\"jako\";s:8:\"editedon\";s:24:\"2022-05-16T11:14:10+0000\";s:10:\"releasedon\";s:24:\"2021-12-06T23:16:47+0000\";s:9:\"downloads\";s:5:\"29671\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:1:\"2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=61ae99df402add10e1572cb3\";s:9:\"signature\";s:19:\"backupmodx-3.0.5-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:16:\"minimum_supports\";s:1:\"2\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:92:\"http://modx.s3.amazonaws.com/extras/568a8995dc532f033500d60c/ss-screenshot_backupmodx-01.jpg\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"61ae99df402add10e1572cb3\";s:7:\"version\";s:24:\"61ae99df402add10e1572cb2\";s:8:\"filename\";s:33:\"backupmodx-3.0.5-pl.transport.zip\";s:9:\"downloads\";s:4:\"2417\";s:6:\"lastip\";s:12:\"141.8.195.33\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=61ae99df402add10e1572cb3\";}s:17:\"package-signature\";s:19:\"backupmodx-3.0.5-pl\";s:10:\"categories\";s:14:\"administration\";s:4:\"tags\";s:0:\"\";}',3,0,5,'pl',0),('ace-1.9.3-pl','2022-05-16 14:41:08','2022-05-16 11:41:14','2022-05-16 14:41:14',0,1,1,0,'ace-1.9.3-pl.transport.zip',NULL,'a:8:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:271:\"--------------------\nExtra: Ace\n--------------------\nSince: March 29th, 2012\nAuthor: Danil Kostin <danya.postfactum@gmail.com>\nLicense: GNU GPLv2 (or later at your option)\n\nIntegrates Ace Code Editor into MODx Revolution.\n\nPress Ctrl+Alt+H to see all available shortcuts.\";s:9:\"changelog\";s:4624:\"Changelog for Ace integration into MODx Revolution.\n\nAce 1.9.3 [15.05.2022]\n====================================\n- Updated: Move settings into an own file [#12]\n- Fixed: Ace TV input [#11]\n- Fixed: Prevent PHP warning: Undefined variable $field [#10]\n\nAce 1.9.2\n====================================\n- Updated: Corrected search form [#8]\n- Added: TV input Ace field [#9]\n\nAce 1.9.1\n====================================\n- Fixed: Changed fonts\n- Updated: emmet.js with the support flex css styles and many other combinations\n\nAce 1.9.0\n====================================\n- Added: autodetecting file mode by modelist.js [#7]\n- Added: new modes from ace-builds for version 1.2.0\n\nAce 1.8.0\n====================================\n- Added: autocompletion for php functions.\n\nAce 1.7.0\n====================================\n- Added: new system setting \"ace.grow\".\n- Added: new system setting \"ace.html_elements_mime\".\n\nAce 1.6.5\n====================================\n- Added: \"Twig\" syntax for support of Twig in chunks.\n- Changed: Plugin is not static anymore.\n\nAce 1.6.4\n====================================\n- Fixed: Support of emmet in smarty mode. Again.\n\nAce 1.6.3\n====================================\n- Fixed: Support of emmet in smarty mode.\n\nAce 1.6.2\n====================================\n- Fixed: Editor mode handling.\n- Added: \"Markdown\" syntax for mime type \"text/x-markdown\".\n\nAce 1.6.1\n====================================\n- Fixed : Work with enabled system setting \"compress_js\".\n\nAce 1.6.0\n====================================\n- Added: \"Smarty\" syntax for support of Fenom in chunks.\n- Updated: Ace to version 1.2.0.\n\nAce 1.5.1\n====================================\n- Fixed: Bug with narrowing of the textarea.\n\nAce 1.5.0\n====================================\n- Changed: Assets are moved back to /assets/\n- Fixed: MODx tag completions (was completely broken)\n- Added: Editor height setting\n\nAce 1.4.3\n====================================\n- Added: MODx tag completions (Ctrl+Space)\n- Fixed: Issue caused AjaxManager (MODx Manager speed booster plugin) tree drag\'n\'drop bug\n\nAce 1.4.2\n====================================\n- Added: Undo coalescing\n- Changed: Mac fullscreen command is bound to Command+F12\n- Added: Drag delay (allow to start new selection inside current one) for Mac\n- Fixed: Use file extension of static chunks to detect code syntax\n\n\nAce 1.4.1\n====================================\n- Fixed: Tab handling\n- Fixed: Emmet shortcut listing by Ctr+Alt+H\n- Added: Expandable snippets support (see ace.snippets setting)\n- Added: Emmet wrap_with_abbreviation command (Alt+W)\n\nAce 1.4.0\n====================================\n- Added: Emmet (aka Zen Coding) support\n- Added: Terminal dark theme\n- Added: Hotkey table (Ctrl+Alt+H)\n- Fixed: Resource overview fatal error\n- Changed: Assets are moved to /manager/assets/components/\n\nAce 1.3.3\n====================================\n- Added: PHP live syntax check\n- Added: Chaos dark theme\n- Added: Setting show_invisibles\n\n\nAce 1.3.2\n====================================\n- Fixed: The bug while installing the Ace\n- Fixed: Broken word_wrap setting\n- Added: Tab settings (tab size, soft tab)\n- Added: Now completele compatible with AjaxManager extra\n\n\nAce 1.3.1\n====================================\n- Changed: Plugin content now is stored in static file\n\n\nAce 1.3.0\n====================================\n- Added: German translation\n- Added: MODx tags highlighting\n- Added: Ambiance and xcode themes\n- Added: less/scss syntax highlighting\n- Added: Fullwindow mode (Ctrl + F11)\n- Changed: Editor now ignores `wich_editor` setting. Set `use_editor` to false to use ACE for Resources.\n\n\nAce 1.2.1\n====================================\n- Changed: Assets are moved to manager folder\n- Added: Font size setting\n- Added: \"GitHub\" theme\n- Added: Support of html5 drag\'n\'drop (accepting of dropped text)\n- Added: XML / HTML tag autoclosing\n- Fixed: broken en lexicon and php 5.3 incompatibility\n\n\nAce 1.2.0\n====================================\n- Removed: Some unnecessary options\n- Changed: Editor options are moved to system settings\n- Fixed: Multiple little editor bugs\n- Added: Add missing \"OnFileEditFormPrerender\" event to MODx\n- Added: Multiline editing\n- Added: Advanced find/replace window\n\n\nAce 1.1.0\n====================================\n- Fixed: Fatal error on document create event\n- Fixed: Changing of properties has no effect\n- Added: File edition support\n- Added: MODx tree elements drag\'n\'drop support\n- Added: Auto-assigning which_element_editor to Ace\n\n\nAce 1.0.0\n====================================\n- Added: Plugin properties to adjust how Ace behaves\n- Initial commit\";s:9:\"signature\";s:12:\"ace-1.9.3-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:40:\"/workspace/package/install/ace-1.9.3-pl/\";s:14:\"package_action\";i:1;}','Ace','a:38:{s:2:\"id\";s:24:\"628075bba8801031285d3f42\";s:7:\"package\";s:24:\"4f6e2782f245544fe8000014\";s:12:\"display_name\";s:12:\"ace-1.9.3-pl\";s:4:\"name\";s:3:\"Ace\";s:7:\"version\";s:5:\"1.9.3\";s:13:\"version_major\";s:1:\"1\";s:13:\"version_minor\";s:1:\"9\";s:13:\"version_patch\";s:1:\"3\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:10:\"ibochkarev\";s:11:\"description\";s:376:\"<p>New feature: modx tag code autocompletion! Press Ctrl+Space to get code suggestions with descriptions.</p><p>Works for snippets, chunks, system settings, tvs and resource fields, filters and properties.</p><p>Property sets, lexicon entries are not supported. Unfortunately, I have no idea how to retrieve chunk-specific placeholders, so there is no placeholder support.</p>\";s:12:\"instructions\";s:341:\"<p></p><p>Install via Package Management.</p><p>Set editor theme you wish in system settings (change namespace to \"ace\").</p><p>If you want to use this editor for resources, just set system option <i>use_editor</i> to <b>false</b> (global usage), or <i>richtext</i> setting of certain resource to <b>false</b> (specific usage).</p><p></p>\";s:9:\"changelog\";s:4571:\"Ace 1.9.3 [15.05.2022]\n====================================\n- Updated: Move settings into an own file [#12]\n- Fixed: Ace TV input [#11]\n- Fixed: Prevent PHP warning: Undefined variable $field [#10]\n\nAce 1.9.2\n====================================\n- Updated: Corrected search form [#8]\n- Added: TV input Ace field [#9]\n\nAce 1.9.1\n====================================\n- Fixed: Changed fonts\n- Updated: emmet.js with the support flex css styles and many other combinations\n\nAce 1.9.0\n====================================\n- Added: autodetecting file mode by modelist.js [#7]\n- Added: new modes from ace-builds for version 1.2.0\n\nAce 1.8.0\n====================================\n- Added: autocompletion for php functions.\n\nAce 1.7.0\n====================================\n- Added: new system setting \"ace.grow\".\n- Added: new system setting \"ace.html_elements_mime\".\n\nAce 1.6.5\n====================================\n- Added: \"Twig\" syntax for support of Twig in chunks.\n- Changed: Plugin is not static anymore.\n\nAce 1.6.4\n====================================\n- Fixed: Support of emmet in smarty mode. Again.\n\nAce 1.6.3\n====================================\n- Fixed: Support of emmet in smarty mode.\n\nAce 1.6.2\n====================================\n- Fixed: Editor mode handling.\n- Added: \"Markdown\" syntax for mime type \"text/x-markdown\".\n\nAce 1.6.1\n====================================\n- Fixed : Work with enabled system setting \"compress_js\".\n\nAce 1.6.0\n====================================\n- Added: \"Smarty\" syntax for support of Fenom in chunks.\n- Updated: Ace to version 1.2.0.\n\nAce 1.5.1\n====================================\n- Fixed: Bug with narrowing of the textarea.\n\nAce 1.5.0\n====================================\n- Changed: Assets are moved back to /assets/\n- Fixed: MODx tag completions (was completely broken)\n- Added: Editor height setting\n\nAce 1.4.3\n====================================\n- Added: MODx tag completions (Ctrl+Space)\n- Fixed: Issue caused AjaxManager (MODx Manager speed booster plugin) tree drag\'n\'drop bug\n\nAce 1.4.2\n====================================\n- Added: Undo coalescing\n- Changed: Mac fullscreen command is bound to Command+F12\n- Added: Drag delay (allow to start new selection inside current one) for Mac\n- Fixed: Use file extension of static chunks to detect code syntax\n\n\nAce 1.4.1\n====================================\n- Fixed: Tab handling\n- Fixed: Emmet shortcut listing by Ctr+Alt+H\n- Added: Expandable snippets support (see ace.snippets setting)\n- Added: Emmet wrap_with_abbreviation command (Alt+W)\n\nAce 1.4.0\n====================================\n- Added: Emmet (aka Zen Coding) support\n- Added: Terminal dark theme\n- Added: Hotkey table (Ctrl+Alt+H)\n- Fixed: Resource overview fatal error\n- Changed: Assets are moved to /manager/assets/components/\n\nAce 1.3.3\n====================================\n- Added: PHP live syntax check\n- Added: Chaos dark theme\n- Added: Setting show_invisibles\n\n\nAce 1.3.2\n====================================\n- Fixed: The bug while installing the Ace\n- Fixed: Broken word_wrap setting\n- Added: Tab settings (tab size, soft tab)\n- Added: Now completele compatible with AjaxManager extra\n\n\nAce 1.3.1\n====================================\n- Changed: Plugin content now is stored in static file\n\n\nAce 1.3.0\n====================================\n- Added: German translation\n- Added: MODx tags highlighting\n- Added: Ambiance and xcode themes\n- Added: less/scss syntax highlighting\n- Added: Fullwindow mode (Ctrl + F11)\n- Changed: Editor now ignores `wich_editor` setting. Set `use_editor` to false to use ACE for Resources.\n\n\nAce 1.2.1\n====================================\n- Changed: Assets are moved to manager folder\n- Added: Font size setting\n- Added: \"GitHub\" theme\n- Added: Support of html5 drag\'n\'drop (accepting of dropped text)\n- Added: XML / HTML tag autoclosing\n- Fixed: broken en lexicon and php 5.3 incompatibility\n\n\nAce 1.2.0\n====================================\n- Removed: Some unnecessary options\n- Changed: Editor options are moved to system settings\n- Fixed: Multiple little editor bugs\n- Added: Add missing \"OnFileEditFormPrerender\" event to MODx\n- Added: Multiline editing\n- Added: Advanced find/replace window\n\n\nAce 1.1.0\n====================================\n- Fixed: Fatal error on document create event\n- Fixed: Changing of properties has no effect\n- Added: File edition support\n- Added: MODx tree elements drag\'n\'drop support\n- Added: Auto-assigning which_element_editor to Ace\n\n\nAce 1.0.0\n====================================\n- Added: Plugin properties to adjust how Ace behaves\n- Initial commit\";s:9:\"createdon\";s:24:\"2022-05-15T03:38:35+0000\";s:9:\"createdby\";s:10:\"ibochkarev\";s:8:\"editedon\";s:24:\"2022-05-16T11:36:25+0000\";s:10:\"releasedon\";s:24:\"2022-05-15T03:38:35+0000\";s:9:\"downloads\";s:6:\"333289\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:1:\"2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=628075bba8801031285d3f43\";s:9:\"signature\";s:12:\"ace-1.9.3-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:16:\"minimum_supports\";s:1:\"2\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:68:\"http://modx.s3.amazonaws.com/extras/4f6e2782f245544fe8000014/ace.png\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"628075bba8801031285d3f43\";s:7:\"version\";s:24:\"628075bba8801031285d3f42\";s:8:\"filename\";s:26:\"ace-1.9.3-pl.transport.zip\";s:9:\"downloads\";s:3:\"275\";s:6:\"lastip\";s:12:\"95.165.30.57\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=628075bba8801031285d3f43\";}s:17:\"package-signature\";s:12:\"ace-1.9.3-pl\";s:10:\"categories\";s:15:\"richtexteditors\";s:4:\"tags\";s:0:\"\";}',1,9,3,'pl',0),('upgrademodx-2.3.1-pl','2022-05-16 14:41:55','2022-05-16 11:42:05','2022-05-16 14:42:05',0,1,1,0,'upgrademodx-2.3.1-pl.transport.zip',NULL,'a:9:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:997:\"\nUpgradeMODX\n\n\nAuthor: Bob Ray <https://bobsguides.com>\nCopyright 2015-2021 Bob Ray\n\nOfficial Documentation: https://bobsguides.com/upgrade-modx-package.html\n\nBugs and Feature Requests: https://github.com:BobRay/UpgradeMODX\n\nQuestions: https://forums.modx.com\n\nCreated by MyComponent\n\nOnce the package is installed, you should see the widget in the default dashboard. When an upgrade is available, you will see an Upgrade MODX button in the widget. To upgrade your site, just click on it (but back up the site first). For details on configuring UpgradeMODX, see the documentation link above.\n\nAlways back up your files and database tables before upgrading.\n\nThis package was inspired by the work of a number of people and I have borrowed some of their code. Dmytro Lukianenko (dmi3yy) is the original author of the MODX install script. Susan Sottwell, Sharapov, Bumkaka, Inreti, Zaigham Rana, frischnetz, and AgelxNash, also contributed and I\'d like to thank all of them for laying the groundwork.\";s:9:\"changelog\";s:5638:\"Changelog for UpgradeMODX\n\nUpgradeMODX 2.3.1-pl\n---------------------------------\n - Hide MODX 3 versions on MODX 2 sites unless ugm_show_modx3 System Setting is changed\n\nUpgradeMODX 2.3.0-pl\n---------------------------------\n - Fix severe security vulnerability with guzzlehttp/psr7\n - Many mods for MODX 3\n - More reliable connection of Widget to default dashboard\n - Improved docs\n - Other bug fixes and improvements\n\nUpgradeMODX 2.1.5-pl\n---------------------------------\n - Fix critical bug with vendor path on some sites\n\nUpgradeMODX 2.1.4-pl\n---------------------------------\n - Fig bug with MODX 3 vendor directory\n - Show numbered alpha and beta versions in version list\n\nUpgradeMODX 2.1.3-pl\n---------------------------------\n - Unlock setup directory before running setup\n - Add acceptance tests\n - Fix typo in lexicon string\n - Add id attribute to checkboxes\n - Prevent JS error when MODX is up to date\n - Use local argument for cert path\n - Improve error messages\n - Add Russian translation\n - Improve docs\n\nUpgradeMODX 2.1.2-pl\n---------------------------------\n - Fix bug with getting latestVersion value\n - Only update versionlist when necessary\n - Eliminate unnecessary trip to GitHub\n - Provide workaround for versionlist issues\n - Add many unit tests\n - Get true cache path from CacheManager\n - Catch potential uncaught exception in copyFiles processor\n - Cache versionlist for better performance\n - Fix path bug in resolver\n - Better error reporting from GitHub\n - Add ugm_verbose setting for more detailed exception messages\n - Update Swedish translation\n\nUpgradeMODX 2.1.0-pl\n---------------------------------\n - Fix bug with inactive submit button\n - Add option to use UGM on multiple sites on same server\n\nUpgradeMODX 2.0.3-pl\n---------------------------------\n - Fix bug with possible 500 error in PHP 5\n - Fix bug with test for copying processors files\n - Update Unit Tests\n\nUpgradeMODX 2.0.2-pl\n---------------------------------\n - Tell Setup where the core is, so it doesn\'t ask!\n - Automatically select appropriate upgrade version\n  - - Automatically extend version list to include current version\n - Indicate current version in version list\n - Report progress during upgrade process\n - 3D animation for progress (except on f@$@|#% IE < Edge)\n - Use processors for each step to avoid timeouts\n - Operate entirely in the Manager until setup is launched\n - Add lexicon strings for all text\n - Restyle for Mobile\n - Change Ajax method to get to conform with the HTML 2.0 spec\n - Fix bug with missing versionlist error\n - Make sure downloaded file is closed\n - Get MODX files directly from AWS\n - Update credits\n - Other bug fixes and improvements\n\nUpgradeMODX 1.5.6-pl\n---------------------------------\n - Wrap rrmdir in if(function_exists)\n - Add warning not to skip .0 versions\n\nUpgradeMODX 1.5.5-pl\n---------------------------------\n - Fix issue with MODX logo (thanks to DigitalPenguin)\n - Move background image to local file\n\nUpgradeMODX 1.5.4-pl\n---------------------------------\n - Fix open_base_dir redirect issue (thanks to Jako)\n - Add Italian translation (thanks to FerX)\n - Update Swedish translation (thanks to Kristoffer Karlström)\n - Fix lexicon->load issue (thanks to sebastian-marinescu)\n - Hide inactive MODX version 2.5.3\n - Change name of temp directory to ugmtemp\n - Delete any created files if there is an error\n - Minor bug fixes and improvements\n\n\nUpgradeMODX 1.5.3-pl\n---------------------------------\n - Fix bug with strip_tags and failure to get versionList from GitHub\n - Remove unused argument from updateVersionListFile\n - Add error message on failure to get versionList from GitHub\n\nUpgradeMODX 1.5.2-pl\n---------------------------------\n - Fix problem with malformed URL (thanks to Jako)\n - Modifications for MODX Cloud and similar platforms\n\nUpgradeMODX 1.5.1-pl\n---------------------------------\n - Correct snippet tag in resource\n - Fix issue with open_basedir check (thanks to Jako)\n - Add Swedish translation (thanks to kristk)\n - Fix protocol for loading fonts and logo (thanks to inreti)\n - Add support for local certs for SSL_VERIFY_PEER\n - Fix bug with quit function\n  - Add github_username and github_token properties\n - Improve diagnostics\n\nUpgradeMODX 1.5.0-pl\n---------------------------------\n - Log upgrades to MODX Manager Actions log\n - Add snippet property to control cURL SSL_VERIFY_PEER\n\n\nUpgradeMODX 1.4.0-pl\n---------------------------------\n - Add forceFopen, githubTimeout, modxTimeout properties\n - Add attempts, and versionListPath properties\n - Improve error handling and diagnostics\n - Unit tests for all methods\n - Refactor for better dependency injection and reliability\n - Fix bug with missing version list\n\nUpgradeMODX 1.3.0-pl\n---------------------------------\n - Fix bug with blank screen when both cURL and allow_url_fopen are disabled\n - Fix bug in test for cURL\n - Refactor unZip code\n - Add forcePclZip property\n - Improve error handling\n\n\nUpgradeMODX 1.2.2-pl\n---------------------------------\n - Public Launch\n\n\nUpgradeMODX 1.2.1-rc\n---------------------------------\n - Fix issue with version list\n - Wrap class in if (class_exists)\n\n\nUpgradeMODX 1.2.0-rc\n---------------------------------\n - Use PclZip if ZipArchive is not available\n  - Improve reliability of ZipArchive extraction\n - Fix bug with sorting when plOnly is false\n - Fix bug with missing setup directory\n - Add set_time_limit(0) in loop\n - Fix spurious error in resolver\n - Form and doc updates\n\n\nUpgradeMODX 1.0.2-beta1\n---------------------------------\n - Fixed bug with earlier versions of PHP\n\nUpgradeMODX 1.0.0-beta1\n---------------------------------\n - Initial Version\";s:13:\"setup-options\";a:0:{}s:9:\"signature\";s:20:\"upgrademodx-2.3.1-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:48:\"/workspace/package/install/upgrademodx-2.3.1-pl/\";s:14:\"package_action\";i:1;}','UpgradeMODX','a:38:{s:2:\"id\";s:24:\"6250b17e31f62851b86d1a42\";s:7:\"package\";s:24:\"55dbeaa7dc532f077201d738\";s:12:\"display_name\";s:20:\"upgrademodx-2.3.1-pl\";s:4:\"name\";s:11:\"UpgradeMODX\";s:7:\"version\";s:5:\"2.3.1\";s:13:\"version_major\";s:1:\"2\";s:13:\"version_minor\";s:1:\"3\";s:13:\"version_patch\";s:1:\"1\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:6:\"bobray\";s:11:\"description\";s:1114:\"<p><b>Important: Always back up your site before upgrading.</b></p>\n\n<p>UpgradeMODX installs a dashboard widget that alerts you when there is an upgrade to \nMODX available -- and installs it for you!. </p>\n\n<p>When there is an upgrade available, UpgradeMODX will show an \"Upgrade MODX\" button and\na form containing MODX versions. The recommended version to upgrade to should be \nselected automatically.</p><p> After selecting a version and clicking on the submit button. \nUpgradeMODX will put all the new files in place and launch setup.</p>\n<p>When Setup is finished, you\'ll be back in the Manager using a new version.</p>\n\n<p>UpgradeMODX should work on any installation of MODX except the SDK version. \nThat includes versions with renamed and/or moved directories.</p>\n\n<p>The minimum version listed below is a guess, but for very old versions or MODX that do \nnot support widgets, UpgradeMODX will install an UpgradeMODX resource which you can view \nto run UpgradeMODX. Once you reach a version that supports widgets, you can reinstall \nUpgradeMODX and use its Dashboard widget to upgrade.</p>\n\n<p></p>\n<p></p>\";s:12:\"instructions\";s:142:\"<p>Install in Package Manager.</p><p>See the documentation at \n<a href=\"http://bobsguides.com/upgrade-modx-package.html\">Bob\'s Guides</a>.</p>\";s:9:\"changelog\";s:116:\"UpgradeMODX 2.3.1-pl\n\n - Don\'t show MODX 3 versions on MODX 2 sites unles ugm_show_modx3 system setting is changed\n \";s:9:\"createdon\";s:24:\"2022-04-08T22:04:46+0000\";s:9:\"createdby\";s:6:\"bobray\";s:8:\"editedon\";s:24:\"2022-05-16T11:18:14+0000\";s:10:\"releasedon\";s:24:\"2022-04-08T22:04:46+0000\";s:9:\"downloads\";s:5:\"94816\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:1:\"2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=625494c7cba50d341d79c4f2\";s:9:\"signature\";s:20:\"upgrademodx-2.3.1-pl\";s:11:\"supports_db\";s:12:\"mysql,sqlsrv\";s:16:\"minimum_supports\";s:1:\"2\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:0:\"\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"625494c7cba50d341d79c4f2\";s:7:\"version\";s:24:\"6250b17e31f62851b86d1a42\";s:8:\"filename\";s:34:\"upgrademodx-2.3.1-pl.transport.zip\";s:9:\"downloads\";s:4:\"2092\";s:6:\"lastip\";s:11:\"54.38.215.8\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=625494c7cba50d341d79c4f2\";}s:17:\"package-signature\";s:20:\"upgrademodx-2.3.1-pl\";s:10:\"categories\";s:36:\"administration,integrations,security\";s:4:\"tags\";s:7:\"upgrade\";}',2,3,1,'pl',0);
INSERT INTO `mrb_transport_packages` VALUES ('ckeditor-1.4.1-pl','2022-05-16 14:42:24','2022-05-16 11:42:39','2022-05-16 14:42:39',0,1,1,0,'ckeditor-1.4.1-pl.transport.zip',NULL,'a:8:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:279:\"--------------------\nExtra: CKEditor\n--------------------\nVersion: 1.2.0\nCreated: December 7th, 2014\nSince: December 5th, 2012\nAuthor: Danil Kostin <danya.postfactum@gmail.com>\nLicense: GNU GPLv2 (or later at your option)\n\nIntegrates CKEditor WYSYWYG Editor into MODx Revolution.\";s:9:\"changelog\";s:1882:\"Changelog for CKEditor integration into MODx Revolution.\n\nCKEditor 1.4.1\n====================================\n- Replaced MODX.action by string (MODX3 support)\n\nCKEditor 1.4.0\n====================================\n- Fixed Save shortcut command (Patrick Reisert @Boddlnagg)\n- Added Resource Editor Height option\n- Default skin is Moono-Lisa\n- CKEditor core is updated to 4.8.0\n\nCKEditor 1.3.0\n====================================\n- Add third-party components support (MODx.loadRTE()) (Romain @rtripault)\n- Add improved image plugin\n\nCKEditor 1.2.0\n====================================\n- Fixed MODx 2.3 compatibility\n- Added new settings (stylesSet, removePlugins, toolbarGroups, formatTags, nativeSpellchecker) (thanks to MokoJumbie and exside [Lukas Zahnd])\n- Addes plugins: SCAYT, QuickTable, AutoGrow (disabled by default)\n- Improved AutoCorrect Plugin (settings dialog, bugfixes, other improvements)\n- Fixed Ctrl+Z in Source mode\n- Simplified toolbar configuration (used less painful \"toolbarGroups\" option rather then \"toolbar\")\n\nCKEditor 1.1.1\n====================================\n- Fixed AjaxManager compatibility (tree drag\'drop bug)\n- Added de language (settings localization: miduku)\n- Added plugins: youtube, wordcount, autocorrect\n- Simplified drag\'n\'drop from tree (remove dnd context menu)\n- IE8 support\n\nCKEditor 1.1.0\n====================================\n- MODx file browser integration\n- richtext TV support\n- Custom Resource Classes (Articles for ex.) support\n- Improved drag\'d\'drop from trees (insert images directly from File Tree)\n- Fixed Ctrl+S shorcut\n- Extra plugins setting\n- Editor skin setting\n\nCKEditor 1.0.2\n====================================\n- Fixed blocking bug occured in Firefox\n\nCKEditor 1.0.1\n====================================\n- Fixed fatal error\n- Inherit height of textarea\n\nCKEditor 1.0.0\n====================================\n- Initial commit\";s:9:\"signature\";s:17:\"ckeditor-1.4.1-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:45:\"/workspace/package/install/ckeditor-1.4.1-pl/\";s:14:\"package_action\";i:1;}','CKEditor','a:38:{s:2:\"id\";s:24:\"626ff859554dae0d4524fbc2\";s:7:\"package\";s:24:\"50c06e7af245544310000044\";s:12:\"display_name\";s:17:\"ckeditor-1.4.1-pl\";s:4:\"name\";s:8:\"CKEditor\";s:7:\"version\";s:5:\"1.4.1\";s:13:\"version_major\";s:1:\"1\";s:13:\"version_minor\";s:1:\"4\";s:13:\"version_patch\";s:1:\"1\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:8:\"dramspro\";s:11:\"description\";s:192:\"This is release for MODX3 support whith dont break and still works in MODX2/\nProof of work, screenshots and reference for changes here:\nhttps://github.com/danyaPostfactum/modx-ckeditor/pull/39\";s:12:\"instructions\";s:169:\"<p>Install package, make sure `use_editor` is set to `true`, `wich_editor` is `CKEditor`</p><p>See ckeditor.com examples if you want to change toolbar configuration.</p>\";s:9:\"changelog\";s:54:\"CKEditor 1.4.1\nFixed js errors when installed on MODX3\";s:9:\"createdon\";s:24:\"2022-05-02T15:27:21+0000\";s:9:\"createdby\";s:8:\"dramspro\";s:8:\"editedon\";s:24:\"2022-05-16T11:21:09+0000\";s:10:\"releasedon\";s:24:\"2022-05-05T12:21:29+0000\";s:9:\"downloads\";s:5:\"74258\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:3:\"2.2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=626ff859554dae0d4524fbc3\";s:9:\"signature\";s:17:\"ckeditor-1.4.1-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:16:\"minimum_supports\";s:3:\"2.2\";s:9:\"breaks_at\";s:1:\"3\";s:10:\"screenshot\";s:73:\"http://modx.s3.amazonaws.com/extras/50c06e7af245544310000044/ckeditor.jpg\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"626ff859554dae0d4524fbc3\";s:7:\"version\";s:24:\"626ff859554dae0d4524fbc2\";s:8:\"filename\";s:31:\"ckeditor-1.4.1-pl.transport.zip\";s:9:\"downloads\";s:3:\"294\";s:6:\"lastip\";s:13:\"78.24.178.138\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=626ff859554dae0d4524fbc3\";}s:17:\"package-signature\";s:17:\"ckeditor-1.4.1-pl\";s:10:\"categories\";s:15:\"richtexteditors\";s:4:\"tags\";s:0:\"\";}',1,4,1,'pl',0),('formit-4.2.7-pl','2022-05-16 14:42:57','2022-05-16 11:43:03','2022-05-16 14:43:03',0,1,1,0,'formit-4.2.7-pl.transport.zip',NULL,'a:11:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:201:\"--------------------\nSnippet: FormIt\n--------------------\nAuthor: Sterc <modx@sterc.nl>\n\nA form processing Snippet for MODx Revolution.\n\nOfficial Documentation:\nhttps://docs.modx.com/extras/revo/formit\";s:9:\"changelog\";s:19299:\"Changelog for FormIt.\n\nFormIt 4.2.7\n====================================\n- Use server_offset_time for grid in manager (PR#219)\n- Fix fatal error when empty responce in cronjob (PR#230)\n- Add RU (PR#245) and IT (PR#257) translation of country list\n- Change stopforumspam API URL (PR#248)\n- Fix property for getTableName in resolver (PR#247)\n\nFormIt 4.2.6\n====================================\n- Add support for UTF-8 when exporting (PR#221)\n- Move limit from foreach to query in migration class (PR#236)\n- Remove unnecessary mail->reset from autoresponder hook (PR#240)\n- Add Ukrainian lexicon + some changes to RU and EN lexicons (PR#242)\n- Update Composer autoloader for newer Composer versions (PR#243)\n\nFormIt 4.2.5\n====================================\n- Added new properties to email hook (#229, thanks to @jako)\n- emailSelectTo, emailSelectToName, emailSelectField\n\nFormIt 4.2.4\n====================================\n- Fix export form select width (#218)\n- Fix limit of form filter (#206)\n- Fix path to clean processor for cronjob (#215, thanks to @bennyb)\n- Fix ability to export all forms (#210, thanks to @JoshuaLuckers)\n- Fix PHP notice \'Only variables should be assigned by reference\' in Hook.php (#212, thanks to @intersel)\n- Updated Russian translation (#208, thanks to @webinmd)\n\nFormIt 4.2.3\n====================================\n- FormIt 4.2.0 release bug - Fix migration of forms with encryption\n\nFormIt 4.2.2\n====================================\n- FormIt 4.2.0 release bug - Altering tables on update (#203)\n\nFormIt 4.2.1\n====================================\n- FormIt 4.2.0 release bug (#202)\n\nFormIt 4.2.0\n====================================\n- Bug on hasHook() fixed (#182, #181, #170, #193)\n- ExtJS refactored for faster and better UI/UX\n- IP number added to the grid (#194)\n- Better form view with textfields and textareas (#136)\n- Remove multiple forms (#143)\n- Search by IP (and context menu option to view all forms from 1 IP)\n- New permissions added\n- formit_encryptions to encrypt/decrypt forms\n- Context awereness, an user can only see the forms with the contexts that the user has access to.\n- Swedish translation updated\n- All other language files checked and filled with English strings\n- Formit deprecation notice in 2.7.0dev bug fixed (#190)\n\nFormIt 4.1.2\n====================================\n- Fix spam hook for better spam prevention thanks to Kristoffer Karlström\n- Fix FormItLoadSavedForm for encrypted forms\n\nFormIt 4.1.1\n====================================\n- Added new hook \"renderHooks\", which triggers just before rendering the form\n\nFormIt 4.1.0\n====================================\n- This release is made possible thanks to Bert Kooij / Census.nl. Thanks!\n- Added new button in Manager page for manually removing forms.\n- Added new system setting for the default amount of days.\n- Added cronjob task for automatically deletion of old forms.\n\nFormIt 4.0.1\n====================================\n- Add option to specify csv delimiter for form export\n- Add GDPR compliant attachment handling (#154) - Thanks to @wax100\n- Allow empty isDate validator (PR#164) - Thanks to JoshuaLuckers\n- Fix bug with multiple forms on one page (#160)\n- Fix modx->log calls in various classes (#161)\n- Fix setting redirectParams variable (#165)\n\nFormIt 4.0.0\n====================================\n- Move formit base classes to /src/ folder and add namespace\n- Update existing classes to extend new classes\n- Update all snippets to use modx getService\n- Move FormItAutoResponder and FormItSaveForm logic to classes\n- Add helper functions for all FormIt properties\n- Set defaultEngine to InnoDB in mysql schema\n- Fix PHP7 error in default email output (PR#156)\n- Updated German lexicons (PR#150)\n- Add \'Form\' column to form export (PR#149)\n\nFormIt 3.0.4\n====================================\n- Fix checkbox values not showing in email\n\nFormIt 3.0.3\n====================================\n- Fix FormItSaveForm to allow multiple fields with same fieldName\n- Add \'saveTmpFiles\' FormIt snippet property to enable/disable saving files to tmp directory\n- Remove list() function from formitsaveform snippet for better PHP version compatibility (#98)\n- Fix PHP7 by-reference errors (#98)\n- Replace ereg() functions with preg_match() for PHP compatibility (#98)\n- Increase precision for FormItForm \'ip\' field to allow for IPV6 addresses (#135)\n- Fix issue where in some cases fields are not correctly saved in FormItForm (#92)\n- Optimize FormItForm export class for better performance (#120)\n- Add \'attachFilesToEmail\' property to control if files are added as attachment to email (#122)\n\nFormIt 3.0.2\n====================================\n- Fix encryption in formitsaveform snippet to save correct encryption_type\n- Fix bug in forms grid when decrypting encrypted forms fail\n- Fix migration to check if decrypted data is correct\n\nFormIt 3.0.1\n====================================\n- Store file uploads in tmp folder to prevent file uploads getting lost in multistep forms\n- Add checks for OpenSSL in classes and encryption CMP tab\n- Add method_exists check to plugin to prevent errors when method not exists\n- Update context-menu in forms-encryption grid to show only encrypt or decrypt\n- Set placeholders for file upload $_FILES array\n- Add option to FormItCountryOptions snippet to limit country list to selected countries only (PR#123) - thanks to gadgetto\n\nFormIt 3.0.0\n====================================\n- PLEASE NOTE: THIS UPDATE CONTAINS A MIGRATION SCRIPT FOR ENCRYPTED FORMS - Read more about it at https://github.com/Sterc/FormIt\n- Mcrypt encryption/decryption methods replaced with openssl due to mcrypt being deprecated in PHP 7.1\n- Add default file-based chunks as objects\n- Add support for pdoTools getChunk method, thanks to soulcreate and bezumkin (PR#89)\n- Add French countries for FormItCountryOptions, thanks to beau-gosse (PR#109)\n- Add Dutch countries for FormItCountryOptions, thanks to visvoer (PR#110)\n- Add extjs stateful parameters to CMP tabs\n\nFormIt 2.2.11\n====================================\n- Added storeLocation property to FormIt and FormItRetriever. (issue #95, PR #105#106#107)\n- Changed default behaviour of emailReplyTo parameter to fallback to email field in form (issue #101)\n- Changed math hook to store values in session, preventing easy bypass of math hook (issue #64)\n- Add GPM config\n- Fix bug with multiple file upload (PR #104)\n- Add \'hash\' field to FormItSaveForm to allow updating of previously saved forms (PR #94)\n- Add FormItLoadSavedForm snippet to retrieve saved forms (PR #94)\n- Fix for export with datefilter (issue #96, PR #97)\n- Add fiarRequired property (PR#83)\n- Update resolver to check for current version to prevent errors on upgrade\n- Add system setting for form_encryptkey, to not rely on site_id (issue #68)\n- Fix saved forms export when using encrypted forms (issue #48)\n\nFormIt 2.2.10\n====================================\n- Merged PR#58: Added BOM for Excel to understand UTF-8 non-latin symbols properly. (thanks to govza)\n- Merged PR#73: JSON output options for errors and hooks\n- Merged PR#79: Create German lexicon for FormIt-CMP (thanks to sebastian-marinescu)\n\nFormIt 2.2.9\n====================================\n- Merging PR#74 from Jako which solves multiple issues.\n- Fix XSS vulnerabilities\n- Javascript code cleanup\n- Fix empty math operator after form submission #d782c29\n\nFormIt 2.2.8\n====================================\n- Fixed export limit and added form dropdown paging #60\n- Fixed typo property lexicons #57\n- Added templates path to config #63\n- Added loading lexicons in ficountryoptions class #21\n- Added ability to dynamically set formName by setting placeholder inside formName equal to an existing form field key #45\n\nFormIt 2.2.7\n====================================\n- Optimised export\n\nFormIt 2.2.6\n====================================\n- Fixed empty placeholder for file field in autoresponder\n\nFormIt 2.2.5\n====================================\n- Fixed creating table on update\n- Added new tab inside CMP for managing encryption\n- Added missing br on auto emailTpl\n\nFormIt 2.2.4\n====================================\n- Fixed bug inside FormItSaveForm and PR #43\n\nFormIt 2.2.3\n====================================\n- Added encryption to saved forms\n- Added formname to grid\n- Saved form is now returned from the hook\n- Export unlimited items\n- Add RU translation\n\nFormIt 2.2.2\n====================================\n- Added CMP for the saved forms\n- Fixed whitespace PR on required checkboxes\n\nFormIt 2.2.1\n====================================\n- Updated numbers generation for math captcha #5\n- German translation #10\n- Added missing formit.not_regexp lexicon #15\n- Specify explicitely return-path fixes #19 #20\n- fix addAttachment() typo #23\n- Fixed typo in adding of the attachments #24\n- Add the possibility of redirectTo=`formfield` #26\n- Added attachments for auto-reply and Added ability to use @CODE as tpl #29\n- Update snippet.formitisselected.php #12\n- Canadian options for FormitStateOptions\n\nFormIt 2.2.0\n====================================\n- [#8382] Prevent issue with checkboxes/radios causing text-parsing problems with required validator\n- Fixed issue with custom error message for vTextPasswordConfirm not respected\n- [#9457] Fixed issue with commas in values causing errors with FormItIsChecked & FormItIsSelected\n- [#9576] Add ability to translate country options\n- Add check for preHook errors before processing postHooks\n- Add option, defaulting true, to trim spaces from sides of values before validation\n- [#8785] Fix E_STRICT error in fiDictionary\n\nFormIt 2.1.2\n====================================\n- Various language updates\n- [#7250] Fix issue with 0 not passing :required filter\n\nFormIt 2.1.1\n====================================\n- [#8204] Fix issue with FormItAutoResponder and processing of MODX tags\n\nFormIt 2.1.0\n====================================\n- [#7620] Allow for MODX tags in email templates, as well as pass-through of snippet properties to tpl\n- [#7502] Add ability to find type of hook by using $hook->type\n- [#8151] More sanity checking for FormItAutoResponder and replyTo addresses\n- Fix useIsoCode issue in FormItCountryOptions\n- Update German translation\n- Enhance validation templating for validationErrorBulkTpl\n- Add &country option to FormItStateOptions to allow loading of non-US states (currently us/de)\n\nFormIt 2.0.3\n====================================\n- Update Czech translation\n- Fix issue with French accents in translation\n- [#6021] Refactor Russian reCaptcha translations\n- [#6618] Standardize XHTML in reCaptcha usage\n\nFormIt 2.0.2\n====================================\n- [#4864] Fix issue with isNumber not allowing blank fields\n- [#5404] Fix issues with checkboxes and array fields in FormItAutoResponder\n- [#5269] Fix issues with checkboxes in various forms in emails\n- [#5792] Update reCaptcha URLs\n\nFormIt 2.0.1\n====================================\n- [#5525] Add &allowFiles property, that when set to 0, prevents file submissions on form\n- [#5484] Fix issue with double validation error spans\n- Fix issue where config was not passed to hooks\n- Update German translation\n\nFormIt 2.0.0\n====================================\n- [#3514] Add ability to customize validator error messages per FormIt form and per field\n- [#4705] Add regexp validator\n- [#5454] Fix issue with customValidators property in 2.0.0-rc2\n- Major reworking of main FormIt script to be OOP\n- Add over 150 unit tests to prevent regression\n- [#5388], [#5240] Fix issue with FormItCountryOptions and &useIsoCode\n- Fix issue with FormItStateOptions and &useAbbr\n- [#5267] Fix issue with FormItRetriever and array fields\n\nFormIt 1.7.0\n====================================\n- Add ability to have \"Frequent Visitors\" optgroup in FormItCountryOptions, moving specified countries to the top of the list in an optgroup\n- Add missing property translations for FormItStateOptions snippet\n- Fix small issue with stored values after validation of fields\n- Add FormItStateOptions snippet for easy U.S. state dropdowns\n- Add FormItCountryOptions snippet for easy country dropdowns\n- [#5101] Fix issue with emailMultiSeparator and emailMultiWrapper default values\n- Fix issue with bracketed field names being added as extra fields post-validation with . prefix\n\nFormIt 1.6.0\n====================================\n- [#4708] Add support for bracketed fields, such as contact[name]\n- [#5038] Fix uninitialized variable warnings in reCaptcha service\n- [#4993] Add Italian translation and fix recaptcha links\n- Fix issue where fields could be removed via DOM from form and be bypassed\n- Add &emailMultiSeparator and &emailMultiWrapper for handling display of checkboxes/multi-selects in email hook\n\nFormIt 1.5.6\n====================================\n- [#4564] Fix redirectTo with non-web contexts\n\nFormIt 1.5.5\n====================================\n- [#4168] Add emailConvertNewlines property for handling newlines in HTML emails\n- [#4057] Prevent math hook from generating similar numbers\n- [#4302] Cleanups to FormItAutoResponder snippet\n- [#3991] Fix issue with checkbox values in emails\n\nFormIt 1.5.4\n====================================\n- Fix issue with math hook where error placeholders were incorrect\n- Fix issue where emailHtml property was not respected in email hook\n- Fix issue where hooks were not passed customProperties array\n- [#51] Allow blank fields to be passed with :email validator\n- [#55] Allow all fields to be accessed in custom validators\n\nFormIt 1.5.3\n====================================\n- [#40] Add ability to display all error messages in bulk at top, added validationErrorBulkTpl for templating each one\n- [#52] Add a general validation error message property, validationErrorMessage, that shows when validation fails\n- [#53] Fix bug that prevented recaptcha options from working\n- Add a generic validation error placeholder in FormIt to allow for general messages\n- [#50] Trim each hook specification in hooks calls\n- [#49] Ensure reCaptcha service instance is unique for each FormIt instance\n- [#47] Ensure email validator checks for empty string\n- [#42] Can now include field names in error strings via `field` placeholder\n- [#39] Fix issue with FormItIsChecked/Selected to prevent output from occurring if not checked\n- [#37] Fix allowTags validator to work, and work with parameters encapsulated by ^\n\nFormIt 1.5.2\n====================================\n- Fixed security vulnerability\n- Added math hook, allowing anti-spam math field measure\n- Added more debugging info to email hook\n\nFormIt 1.5.1\n====================================\n- Fixed issue where &store was not respecting values set in post-hooks\n- Redirect hook now redirects *after* all other hooks execute\n\nFormIt 1.5.0\n====================================\n- Fixed bug with redirectParams not parsing placeholders in the params\n- Added redirectParams property, which allows a JSON object of params to be passed when using redirect hook\n- Added spamCheckIp property, defaults to false, to check IP as well in spam hook\n- Fixed incorrect default param for fiarSender\n- Fixed error reporting for FormItAutoResponder\n- Added sanity checks to form attachments when dealing with missing names\n- Fixed invalid offset error in checkbox validation\n- Added recaptchaJS to allow for custom JS overriding of reCaptcha options var\n\nFormIt 1.4.1\n====================================\n- Added sanity check for emailHtml property on email hook\n- Added sanity check for replyto/cc/bcc emails on email hook\n- Added ability to change language via &language parameter\n\nFormIt 1.4.0\n====================================\n- Fixed bug with recaptcha and other hooks error display messages\n- Introduced &validate parameter for more secure validation parameters to prevent POST injection\n- Added FormItIsChecked and FormItIsSelected custom output filters for easier checkbox/radio/select handling of selected values\n- Added &placeholderPrefix for FormIt snippet, defaults to `fi.`\n\nFormIt 1.3.0\n====================================\n- Fixed issue with isNumber validator\n- Added FormItRetriever snippet to get data from a FormIt submission for thank you pages\n- Added extra API methods for custom hooks for easier data grabbing\n- Added FormItAutoResponder snippet to use as a custom hook for auto-responses\n- Added &successMessage and &successMessagePlaceholder properties for easier success message handling\n- Fixed ordering for &emailFrom property\n- Added width/height for reCaptcha, however, reCaptcha APIs prevent resizing via calls\n\nFormIt 1.2.1\n====================================\n- Added recaptchaTheme property, which allows theming of reCaptcha hook\n\nFormIt 1.2.0\n====================================\n- Added preHooks property to allow for custom snippets to pre-fill fields\n- Added clearFieldsOnSuccess property to clear fields after a successful form submission without a redirect\n- Allow placeholders of fields in all email properties\n- Added customValidators property to FormIt snippet to restrict custom validators to only specified validators to prevent brute force snippet loading\n- Added fiValidator::addError for easier error loading for custom validators\n- Added German translation\n\nFormIt 1.1.7\n====================================\n- Added bcc and cc properties for email hook\n\nFormIt 1.1.6\n====================================\n- i18n of Snippet properties\n- Added emailReplyToName and emailReplyTo properties for email hook\n- Removed SMTP settings as those are now in Revo\n- Fixed bug in html emails where linebreaks were being ignored\n- Added islowercase and isuppercase validators\n- Added multibyte support to validators\n\nFormIt 1.1.5\n====================================\n- Added Russian translation\n- Updated copyright information\n\nFormIt 1.1.4\n====================================\n- Fixed bug with isDate check\n- Migrated FormIt to Git\n- Fixed bug that caused validators to not fire\n- Fixed bug where custom validators were wonky, added \'errors\' references to custom hooks/validators\n- [#ADDON-147] Added support for validation and emailing of file fields\n- Added stripTags to all fields by default (unless \'allowTags\' hook is passed\') to prevent XSS\n- Added in missing settings\n- Added reCaptcha support via the recaptcha hook\n- Adjusted copyright information to reflect current year\n\nFormIt 1.0\n====================================\n- Fixed bug with emailFrom property getting overwritten\n- [#ADDON-122] Fixed incorrect message in spam lexicon item\n- Added \'spam\' hook that utilizes StopForumSpam spam filter. Will filter the fields in the property &spamEmailFields\n- Ensure hooks errors are set as placeholders\n- Aded fi.success placeholder to be set on a successful form submission if no redirect hook is specified\n- Added default to emailTpl property so that it is now no longer required. Will send out email with just field names and values.\n- Added Dutch translation\n- Added missing formit.contains lexicon entry\n- Fixed possible loophole with $this->fields and referencing in multiple hooks\n- Fixed bug on hooks due to !== and != difference\n- Added SMTP support to FormIt email hook\n- Fixed bug with emailFrom in email hook\n- Added emailUseFieldForSubject property to FormIt snippet\n- Fixed bug on email hook where if subject was passed through form, it wouldn\'t set it as email subject\n- Added changelog\n\";s:13:\"setup-options\";s:33:\"formit-4.2.7-pl/setup-options.php\";s:9:\"signature\";s:15:\"formit-4.2.7-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:43:\"/workspace/package/install/formit-4.2.7-pl/\";s:9:\"user_name\";s:0:\"\";s:10:\"user_email\";s:0:\"\";s:14:\"package_action\";i:1;}','FormIt','a:38:{s:2:\"id\";s:24:\"61a5b3b1c67f2f6c7b435ba2\";s:7:\"package\";s:24:\"4d556c62b2b083396d000b9c\";s:12:\"display_name\";s:15:\"formit-4.2.7-pl\";s:4:\"name\";s:6:\"FormIt\";s:7:\"version\";s:5:\"4.2.7\";s:13:\"version_major\";s:1:\"4\";s:13:\"version_minor\";s:1:\"2\";s:13:\"version_patch\";s:1:\"7\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:1:\"0\";s:6:\"author\";s:5:\"sterc\";s:11:\"description\";s:1367:\"<p>FormIt is a dynamic form processing Snippet for MODX Revolution. It handles form creation, submission, performing validation and followup actions like sending an email and auto replies. Key features:</p><p></p><ul><li>Automatic validation and custom validator options</li><li>Auto reply to visitor + email to owner(s)</li><li>Multiple attachments</li><li>Submitted forms can be automatically saved and encrypted in the Formit component</li><li>Submitted forms can be exported to CSV, based on filters</li><li>Redirect to thank-you pages for optimal tracking in your analytics software (e.g. Google Analytics funnels)</li><li>Add your own hooks as Snippets to handle forms dynamically</li><li>Spam protection</li><li>Dynamic country/state dropdown lists</li><li>GDPR compliant</li></ul><p></p>\n<p>Official documentation here: <a href=\"http://rtfm.modx.com/display/ADDON/FormIt\" style=\"line-height: 1.5;\">http://rtfm.modx.com/display/ADDON/FormIt</a></p>\n\n**Free Extra**  \nThis is a free extra and the code is publicly available for you to change. The extra is being actively maintained and you\'re free to put in pull requests which match our roadmap. Please create an issue if the pull request differs from the roadmap so we can make sure we\'re on the same page.\n\nNeed help? <a href=\"mailto:service@sterc.com\">Approach our support desk for paid premium support.</a>\";s:12:\"instructions\";s:508:\"<p>Install via Package Management.</p><p><b>Updating to 3.0?</b></p><p>We\'ve released FormIt 3.0 in order to avoid issues with Mcrypt in the near future, since it will be deprecated in PHP 7.2. Mcrypt has therefore been replaced by OpenSSL encryption.</p><p>After updating to 3.0.0, you should refresh the page and notice a red bar on the top of your manager. From there, you can initiate the migration process, which will decrypt your saved forms using Mcrypt and immediately encrypt them using OpenSSL.</p>\";s:9:\"changelog\";s:19298:\"Changelog for FormIt.\n\nFormIt 4.2.7\n====================================\n- Use server_offset_time for grid in manager (PR#219)\n- Fix fatal error when empty responce in cronjob (PR#230)\n- Add RU (PR#245) and IT (PR#257) translation of country list\n- Change stopforumspam API URL (PR#248)\n- Fix property for getTableName in resolver (PR#247)\n\nFormIt 4.2.6\n====================================\n- Add support for UTF-8 when exporting (PR#221)\n- Move limit from foreach to query in migration class (PR#236)\n- Remove unnecessary mail->reset from autoresponder hook (PR#240)\n- Add Ukrainian lexicon + some changes to RU and EN lexicons (PR#242)\n- Update Composer autoloader for newer Composer versions (PR#243)\n\nFormIt 4.2.5\n====================================\n- Added new properties to email hook (#229, thanks to @jako)\n- emailSelectTo, emailSelectToName, emailSelectField\n\nFormIt 4.2.4\n====================================\n- Fix export form select width (#218)\n- Fix limit of form filter (#206)\n- Fix path to clean processor for cronjob (#215, thanks to @bennyb)\n- Fix ability to export all forms (#210, thanks to @JoshuaLuckers)\n- Fix PHP notice \'Only variables should be assigned by reference\' in Hook.php (#212, thanks to @intersel)\n- Updated Russian translation (#208, thanks to @webinmd)\n\nFormIt 4.2.3\n====================================\n- FormIt 4.2.0 release bug - Fix migration of forms with encryption\n\nFormIt 4.2.2\n====================================\n- FormIt 4.2.0 release bug - Altering tables on update (#203)\n\nFormIt 4.2.1\n====================================\n- FormIt 4.2.0 release bug (#202)\n\nFormIt 4.2.0\n====================================\n- Bug on hasHook() fixed (#182, #181, #170, #193)\n- ExtJS refactored for faster and better UI/UX\n- IP number added to the grid (#194)\n- Better form view with textfields and textareas (#136)\n- Remove multiple forms (#143)\n- Search by IP (and context menu option to view all forms from 1 IP)\n- New permissions added\n- formit_encryptions to encrypt/decrypt forms\n- Context awereness, an user can only see the forms with the contexts that the user has access to.\n- Swedish translation updated\n- All other language files checked and filled with English strings\n- Formit deprecation notice in 2.7.0dev bug fixed (#190)\n\nFormIt 4.1.2\n====================================\n- Fix spam hook for better spam prevention thanks to Kristoffer Karlström\n- Fix FormItLoadSavedForm for encrypted forms\n\nFormIt 4.1.1\n====================================\n- Added new hook \"renderHooks\", which triggers just before rendering the form\n\nFormIt 4.1.0\n====================================\n- This release is made possible thanks to Bert Kooij / Census.nl. Thanks!\n- Added new button in Manager page for manually removing forms.\n- Added new system setting for the default amount of days.\n- Added cronjob task for automatically deletion of old forms.\n\nFormIt 4.0.1\n====================================\n- Add option to specify csv delimiter for form export\n- Add GDPR compliant attachment handling (#154) - Thanks to @wax100\n- Allow empty isDate validator (PR#164) - Thanks to JoshuaLuckers\n- Fix bug with multiple forms on one page (#160)\n- Fix modx->log calls in various classes (#161)\n- Fix setting redirectParams variable (#165)\n\nFormIt 4.0.0\n====================================\n- Move formit base classes to /src/ folder and add namespace\n- Update existing classes to extend new classes\n- Update all snippets to use modx getService\n- Move FormItAutoResponder and FormItSaveForm logic to classes\n- Add helper functions for all FormIt properties\n- Set defaultEngine to InnoDB in mysql schema\n- Fix PHP7 error in default email output (PR#156)\n- Updated German lexicons (PR#150)\n- Add \'Form\' column to form export (PR#149)\n\nFormIt 3.0.4\n====================================\n- Fix checkbox values not showing in email\n\nFormIt 3.0.3\n====================================\n- Fix FormItSaveForm to allow multiple fields with same fieldName\n- Add \'saveTmpFiles\' FormIt snippet property to enable/disable saving files to tmp directory\n- Remove list() function from formitsaveform snippet for better PHP version compatibility (#98)\n- Fix PHP7 by-reference errors (#98)\n- Replace ereg() functions with preg_match() for PHP compatibility (#98)\n- Increase precision for FormItForm \'ip\' field to allow for IPV6 addresses (#135)\n- Fix issue where in some cases fields are not correctly saved in FormItForm (#92)\n- Optimize FormItForm export class for better performance (#120)\n- Add \'attachFilesToEmail\' property to control if files are added as attachment to email (#122)\n\nFormIt 3.0.2\n====================================\n- Fix encryption in formitsaveform snippet to save correct encryption_type\n- Fix bug in forms grid when decrypting encrypted forms fail\n- Fix migration to check if decrypted data is correct\n\nFormIt 3.0.1\n====================================\n- Store file uploads in tmp folder to prevent file uploads getting lost in multistep forms\n- Add checks for OpenSSL in classes and encryption CMP tab\n- Add method_exists check to plugin to prevent errors when method not exists\n- Update context-menu in forms-encryption grid to show only encrypt or decrypt\n- Set placeholders for file upload $_FILES array\n- Add option to FormItCountryOptions snippet to limit country list to selected countries only (PR#123) - thanks to gadgetto\n\nFormIt 3.0.0\n====================================\n- PLEASE NOTE: THIS UPDATE CONTAINS A MIGRATION SCRIPT FOR ENCRYPTED FORMS - Read more about it at https://github.com/Sterc/FormIt\n- Mcrypt encryption/decryption methods replaced with openssl due to mcrypt being deprecated in PHP 7.1\n- Add default file-based chunks as objects\n- Add support for pdoTools getChunk method, thanks to soulcreate and bezumkin (PR#89)\n- Add French countries for FormItCountryOptions, thanks to beau-gosse (PR#109)\n- Add Dutch countries for FormItCountryOptions, thanks to visvoer (PR#110)\n- Add extjs stateful parameters to CMP tabs\n\nFormIt 2.2.11\n====================================\n- Added storeLocation property to FormIt and FormItRetriever. (issue #95, PR #105#106#107)\n- Changed default behaviour of emailReplyTo parameter to fallback to email field in form (issue #101)\n- Changed math hook to store values in session, preventing easy bypass of math hook (issue #64)\n- Add GPM config\n- Fix bug with multiple file upload (PR #104)\n- Add \'hash\' field to FormItSaveForm to allow updating of previously saved forms (PR #94)\n- Add FormItLoadSavedForm snippet to retrieve saved forms (PR #94)\n- Fix for export with datefilter (issue #96, PR #97)\n- Add fiarRequired property (PR#83)\n- Update resolver to check for current version to prevent errors on upgrade\n- Add system setting for form_encryptkey, to not rely on site_id (issue #68)\n- Fix saved forms export when using encrypted forms (issue #48)\n\nFormIt 2.2.10\n====================================\n- Merged PR#58: Added BOM for Excel to understand UTF-8 non-latin symbols properly. (thanks to govza)\n- Merged PR#73: JSON output options for errors and hooks\n- Merged PR#79: Create German lexicon for FormIt-CMP (thanks to sebastian-marinescu)\n\nFormIt 2.2.9\n====================================\n- Merging PR#74 from Jako which solves multiple issues.\n- Fix XSS vulnerabilities\n- Javascript code cleanup\n- Fix empty math operator after form submission #d782c29\n\nFormIt 2.2.8\n====================================\n- Fixed export limit and added form dropdown paging #60\n- Fixed typo property lexicons #57\n- Added templates path to config #63\n- Added loading lexicons in ficountryoptions class #21\n- Added ability to dynamically set formName by setting placeholder inside formName equal to an existing form field key #45\n\nFormIt 2.2.7\n====================================\n- Optimised export\n\nFormIt 2.2.6\n====================================\n- Fixed empty placeholder for file field in autoresponder\n\nFormIt 2.2.5\n====================================\n- Fixed creating table on update\n- Added new tab inside CMP for managing encryption\n- Added missing br on auto emailTpl\n\nFormIt 2.2.4\n====================================\n- Fixed bug inside FormItSaveForm and PR #43\n\nFormIt 2.2.3\n====================================\n- Added encryption to saved forms\n- Added formname to grid\n- Saved form is now returned from the hook\n- Export unlimited items\n- Add RU translation\n\nFormIt 2.2.2\n====================================\n- Added CMP for the saved forms\n- Fixed whitespace PR on required checkboxes\n\nFormIt 2.2.1\n====================================\n- Updated numbers generation for math captcha #5\n- German translation #10\n- Added missing formit.not_regexp lexicon #15\n- Specify explicitely return-path fixes #19 #20\n- fix addAttachment() typo #23\n- Fixed typo in adding of the attachments #24\n- Add the possibility of redirectTo=`formfield` #26\n- Added attachments for auto-reply and Added ability to use @CODE as tpl #29\n- Update snippet.formitisselected.php #12\n- Canadian options for FormitStateOptions\n\nFormIt 2.2.0\n====================================\n- [#8382] Prevent issue with checkboxes/radios causing text-parsing problems with required validator\n- Fixed issue with custom error message for vTextPasswordConfirm not respected\n- [#9457] Fixed issue with commas in values causing errors with FormItIsChecked & FormItIsSelected\n- [#9576] Add ability to translate country options\n- Add check for preHook errors before processing postHooks\n- Add option, defaulting true, to trim spaces from sides of values before validation\n- [#8785] Fix E_STRICT error in fiDictionary\n\nFormIt 2.1.2\n====================================\n- Various language updates\n- [#7250] Fix issue with 0 not passing :required filter\n\nFormIt 2.1.1\n====================================\n- [#8204] Fix issue with FormItAutoResponder and processing of MODX tags\n\nFormIt 2.1.0\n====================================\n- [#7620] Allow for MODX tags in email templates, as well as pass-through of snippet properties to tpl\n- [#7502] Add ability to find type of hook by using $hook->type\n- [#8151] More sanity checking for FormItAutoResponder and replyTo addresses\n- Fix useIsoCode issue in FormItCountryOptions\n- Update German translation\n- Enhance validation templating for validationErrorBulkTpl\n- Add &country option to FormItStateOptions to allow loading of non-US states (currently us/de)\n\nFormIt 2.0.3\n====================================\n- Update Czech translation\n- Fix issue with French accents in translation\n- [#6021] Refactor Russian reCaptcha translations\n- [#6618] Standardize XHTML in reCaptcha usage\n\nFormIt 2.0.2\n====================================\n- [#4864] Fix issue with isNumber not allowing blank fields\n- [#5404] Fix issues with checkboxes and array fields in FormItAutoResponder\n- [#5269] Fix issues with checkboxes in various forms in emails\n- [#5792] Update reCaptcha URLs\n\nFormIt 2.0.1\n====================================\n- [#5525] Add &allowFiles property, that when set to 0, prevents file submissions on form\n- [#5484] Fix issue with double validation error spans\n- Fix issue where config was not passed to hooks\n- Update German translation\n\nFormIt 2.0.0\n====================================\n- [#3514] Add ability to customize validator error messages per FormIt form and per field\n- [#4705] Add regexp validator\n- [#5454] Fix issue with customValidators property in 2.0.0-rc2\n- Major reworking of main FormIt script to be OOP\n- Add over 150 unit tests to prevent regression\n- [#5388], [#5240] Fix issue with FormItCountryOptions and &useIsoCode\n- Fix issue with FormItStateOptions and &useAbbr\n- [#5267] Fix issue with FormItRetriever and array fields\n\nFormIt 1.7.0\n====================================\n- Add ability to have \"Frequent Visitors\" optgroup in FormItCountryOptions, moving specified countries to the top of the list in an optgroup\n- Add missing property translations for FormItStateOptions snippet\n- Fix small issue with stored values after validation of fields\n- Add FormItStateOptions snippet for easy U.S. state dropdowns\n- Add FormItCountryOptions snippet for easy country dropdowns\n- [#5101] Fix issue with emailMultiSeparator and emailMultiWrapper default values\n- Fix issue with bracketed field names being added as extra fields post-validation with . prefix\n\nFormIt 1.6.0\n====================================\n- [#4708] Add support for bracketed fields, such as contact[name]\n- [#5038] Fix uninitialized variable warnings in reCaptcha service\n- [#4993] Add Italian translation and fix recaptcha links\n- Fix issue where fields could be removed via DOM from form and be bypassed\n- Add &emailMultiSeparator and &emailMultiWrapper for handling display of checkboxes/multi-selects in email hook\n\nFormIt 1.5.6\n====================================\n- [#4564] Fix redirectTo with non-web contexts\n\nFormIt 1.5.5\n====================================\n- [#4168] Add emailConvertNewlines property for handling newlines in HTML emails\n- [#4057] Prevent math hook from generating similar numbers\n- [#4302] Cleanups to FormItAutoResponder snippet\n- [#3991] Fix issue with checkbox values in emails\n\nFormIt 1.5.4\n====================================\n- Fix issue with math hook where error placeholders were incorrect\n- Fix issue where emailHtml property was not respected in email hook\n- Fix issue where hooks were not passed customProperties array\n- [#51] Allow blank fields to be passed with :email validator\n- [#55] Allow all fields to be accessed in custom validators\n\nFormIt 1.5.3\n====================================\n- [#40] Add ability to display all error messages in bulk at top, added validationErrorBulkTpl for templating each one\n- [#52] Add a general validation error message property, validationErrorMessage, that shows when validation fails\n- [#53] Fix bug that prevented recaptcha options from working\n- Add a generic validation error placeholder in FormIt to allow for general messages\n- [#50] Trim each hook specification in hooks calls\n- [#49] Ensure reCaptcha service instance is unique for each FormIt instance\n- [#47] Ensure email validator checks for empty string\n- [#42] Can now include field names in error strings via `field` placeholder\n- [#39] Fix issue with FormItIsChecked/Selected to prevent output from occurring if not checked\n- [#37] Fix allowTags validator to work, and work with parameters encapsulated by ^\n\nFormIt 1.5.2\n====================================\n- Fixed security vulnerability\n- Added math hook, allowing anti-spam math field measure\n- Added more debugging info to email hook\n\nFormIt 1.5.1\n====================================\n- Fixed issue where &store was not respecting values set in post-hooks\n- Redirect hook now redirects *after* all other hooks execute\n\nFormIt 1.5.0\n====================================\n- Fixed bug with redirectParams not parsing placeholders in the params\n- Added redirectParams property, which allows a JSON object of params to be passed when using redirect hook\n- Added spamCheckIp property, defaults to false, to check IP as well in spam hook\n- Fixed incorrect default param for fiarSender\n- Fixed error reporting for FormItAutoResponder\n- Added sanity checks to form attachments when dealing with missing names\n- Fixed invalid offset error in checkbox validation\n- Added recaptchaJS to allow for custom JS overriding of reCaptcha options var\n\nFormIt 1.4.1\n====================================\n- Added sanity check for emailHtml property on email hook\n- Added sanity check for replyto/cc/bcc emails on email hook\n- Added ability to change language via &language parameter\n\nFormIt 1.4.0\n====================================\n- Fixed bug with recaptcha and other hooks error display messages\n- Introduced &validate parameter for more secure validation parameters to prevent POST injection\n- Added FormItIsChecked and FormItIsSelected custom output filters for easier checkbox/radio/select handling of selected values\n- Added &placeholderPrefix for FormIt snippet, defaults to `fi.`\n\nFormIt 1.3.0\n====================================\n- Fixed issue with isNumber validator\n- Added FormItRetriever snippet to get data from a FormIt submission for thank you pages\n- Added extra API methods for custom hooks for easier data grabbing\n- Added FormItAutoResponder snippet to use as a custom hook for auto-responses\n- Added &successMessage and &successMessagePlaceholder properties for easier success message handling\n- Fixed ordering for &emailFrom property\n- Added width/height for reCaptcha, however, reCaptcha APIs prevent resizing via calls\n\nFormIt 1.2.1\n====================================\n- Added recaptchaTheme property, which allows theming of reCaptcha hook\n\nFormIt 1.2.0\n====================================\n- Added preHooks property to allow for custom snippets to pre-fill fields\n- Added clearFieldsOnSuccess property to clear fields after a successful form submission without a redirect\n- Allow placeholders of fields in all email properties\n- Added customValidators property to FormIt snippet to restrict custom validators to only specified validators to prevent brute force snippet loading\n- Added fiValidator::addError for easier error loading for custom validators\n- Added German translation\n\nFormIt 1.1.7\n====================================\n- Added bcc and cc properties for email hook\n\nFormIt 1.1.6\n====================================\n- i18n of Snippet properties\n- Added emailReplyToName and emailReplyTo properties for email hook\n- Removed SMTP settings as those are now in Revo\n- Fixed bug in html emails where linebreaks were being ignored\n- Added islowercase and isuppercase validators\n- Added multibyte support to validators\n\nFormIt 1.1.5\n====================================\n- Added Russian translation\n- Updated copyright information\n\nFormIt 1.1.4\n====================================\n- Fixed bug with isDate check\n- Migrated FormIt to Git\n- Fixed bug that caused validators to not fire\n- Fixed bug where custom validators were wonky, added \'errors\' references to custom hooks/validators\n- [#ADDON-147] Added support for validation and emailing of file fields\n- Added stripTags to all fields by default (unless \'allowTags\' hook is passed\') to prevent XSS\n- Added in missing settings\n- Added reCaptcha support via the recaptcha hook\n- Adjusted copyright information to reflect current year\n\nFormIt 1.0\n====================================\n- Fixed bug with emailFrom property getting overwritten\n- [#ADDON-122] Fixed incorrect message in spam lexicon item\n- Added \'spam\' hook that utilizes StopForumSpam spam filter. Will filter the fields in the property &spamEmailFields\n- Ensure hooks errors are set as placeholders\n- Aded fi.success placeholder to be set on a successful form submission if no redirect hook is specified\n- Added default to emailTpl property so that it is now no longer required. Will send out email with just field names and values.\n- Added Dutch translation\n- Added missing formit.contains lexicon entry\n- Fixed possible loophole with $this->fields and referencing in multiple hooks\n- Fixed bug on hooks due to !== and != difference\n- Added SMTP support to FormIt email hook\n- Fixed bug with emailFrom in email hook\n- Added emailUseFieldForSubject property to FormIt snippet\n- Fixed bug on email hook where if subject was passed through form, it wouldn\'t set it as email subject\n- Added changelog\";s:9:\"createdon\";s:24:\"2021-11-30T05:16:33+0000\";s:9:\"createdby\";s:5:\"sterc\";s:8:\"editedon\";s:24:\"2022-05-16T11:33:25+0000\";s:10:\"releasedon\";s:24:\"2021-11-30T05:16:33+0000\";s:9:\"downloads\";s:6:\"539551\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:4:\"true\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:1:\"2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=61a5b3b1c67f2f6c7b435ba3\";s:9:\"signature\";s:15:\"formit-4.2.7-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:16:\"minimum_supports\";s:1:\"2\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:77:\"http://modx.s3.amazonaws.com/extras/4d556c62b2b083396d000b9c/ss-formit-01.png\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"61a5b3b1c67f2f6c7b435ba3\";s:7:\"version\";s:24:\"61a5b3b1c67f2f6c7b435ba2\";s:8:\"filename\";s:29:\"formit-4.2.7-pl.transport.zip\";s:9:\"downloads\";s:5:\"13001\";s:6:\"lastip\";s:12:\"92.53.96.104\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=61a5b3b1c67f2f6c7b435ba3\";}s:17:\"package-signature\";s:15:\"formit-4.2.7-pl\";s:10:\"categories\";s:5:\"forms\";s:4:\"tags\";s:0:\"\";}',4,2,7,'pl',0),('migx-3.0.0-alpha5','2022-05-16 14:43:19','2022-05-16 11:43:24','2022-05-16 14:43:24',0,1,1,0,'migx-3.0.0-alpha5.transport.zip',NULL,'a:8:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:1392:\"--------------------\nMIGX\n--------------------\nVersion: 2.1.0\nAuthor: Bruno Perner <b.perner@gmx.de>\n--------------------\n\n* MIGX (multiItemsGridTv for modx) is a custom-tv-input-type for adding multiple items into one TV-value and a snippet for listing this items on your frontend.\n* It has a configurable grid and a configurable tabbed editor-window to add and edit items.\n* Each item can have multiple fields. For each field you can use another tv-input-type.\n\nFeel free to suggest ideas/improvements/bugs on GitHub:\nhttp://github.com/Bruno17/multiItemsGridTV/issues\n\nInstallation:\n\ninstall by package-management.\nCreate a new menu:\nSystem -> Actions \n\nActions-tree:\nmigx -> right-click -> create Acton here\ncontroller: index\nnamespace: migx\nlanguage-topics: migx:default,file\n\nmenu-tree:\nComponents -> right-click -> place action here\nlexicon-key: migx\naction: migx - index\nparameters: &configs=migxconfigs||packagemanager||setup\n\nclear cache\ngo to components -> migx -> setup-tab -> setup\n\nIf you are upgrading from MIGX - versions before 2.0\ngo to tab upgrade. click upgrade.\nThis will add a new autoincrementing field MIGX_id to all your MIGX-TV-items\nThe getImageList-snippet needs this field to work correctly.\n\n\nAllways after upgrading MIGX of any Version:\ngo to components -> migx -> setup-tab -> setup\n\nthis will upgrade the migx-configs-table and add new fields, if necessary.\n\n\n\";s:9:\"changelog\";s:11763:\"Changelog for MIGX.\n\nMIGX 2.13.0\n==============\nadd snippet migxGetObject and property toPlaceholders\nadd property createChunk to create a chunk with all possible placeholders\nFix imageupload on PHP7 due to stray break statement\nFix for missing custom prefix in some packagemanager tasks\nUpdated image paths to use dynamic assets path\nFix the export if a join setting exist\nFinnish Translation\nadd userid to migxResourceMediapath snippet\nremove duplicate sort scriptProperty in export.php\n[getlist.php] add getcustomconfigs - hook, groupby, selectfields, specialfields\nparse MODX-tags in field-configs\npackagemanager fix new folder permission\nUse a textarea instead of an input in MIGX TV\nReduce indexed varchar fields for utf8mb4 support in mysql\nfix duplicate entries in csv-export\nAdd CSV Import functionality\nImprove CSV Export functionality\nadd toJson property to migxLoopCollection\nFix transparency in .png in renderimage column renderer\nOptimize loadfromxource functionality, especially for MIGX within MIGXdb\ndeep nested saving when nested windows are open and saving without closing the window\nexport/import single MIGX - items\n\nMIGX 2.12.0\n==============\nselect db-fields from defined class and its joins for formtabs and columns\nadd categories and a category-filter to MIGX Configs\nmultiple grouping-levels for &groupingField\nhooksnippet getformnames\nadd snippet migxAutoPublish for publishing by Cronjobs\nadd beforesave - hook to update-processor\nallow string in where-property\nadd a default schema-template, used at create package\nand some bugfixes\n\nMIGX 2.11.0\n==============\ngroupingfield, preparesnippet, _total, _count, improve @CODE\nhooksnippet beforecreateform\n\nMIGX 2.10.0\n==============\nhooksnippet getcustomconfigs for importcsvmigx\nsupport layout-rows/columns in formtabs\ncontextmenu \'flat formtabs\'\nmultiupload to db, resizeOnUpload - plugin\n[packagemanager] Add Extension Package - feature\nrespect joinalias in export.php and handlepositionselector.php\npossible to use TV-value in migxresourcemediapath - snippet\n[getImageList] inherit_children_tvname\nMIGXdb add item before/after\n\nMIGX 2.9.7\n==============\nadd emtpyTpl\nfix some MIGX-grid width - issues\nimport csv to MIGX\n\nMIGX 2.9.6\n==============\nhooksnippet getcustomconfigs for export-processor\nfix missing formtabs after saving\n\nMIGX 2.9.5\n==============\ncolumn-actionbuttons also for MIGX\nexport/import MIGX-items from/into MIGX-TV\nget tinymcewrapper working\nmore config-options for combo-filter\nFix and simplify Redactor implementation to use MODx.loadRTE()\n\nMIGX 2.9.4\n==============\n[migxResourcemediapath] add context_key as path option\nbutton for \'alter fields from schema\'\nfix MIGX-grid width\ncustom grid for MIGX-TV\nrespect context-default-media-source - setting\n\nMIGX 2.9.3\n==============\nbasic support for new TinyMCE RTE\nfix assetsUrl/connectorUrl - settings\nMIGX-TV MODX multifile-uploader/autocreate items  \nMIGX-TV configurable contextmenues\n\nMIGX 2.9.2\n==============\nsome smaller fixes\n\nMIGX 2.9.1\n==============\nadd hook-snippet setting\nsome handleRelated - update - functions\ndestroy updatewindow on close\n\nMIGX 2.9\n==============\n[migxLoopCollection] allow use of foreign database\nSottwell\'s improvements on migxresourcemediapath\nnew snippet: migxGetCollectionTree\naccess to foreign database from default processors\nimprovements on multiple formtabs\nmake inline-editing for MIGX - grid possible\noption to add MIGX-items directly without modal\nlistbox-cell-editor\nmovetotop,movetobottom - buttons for MIGX-grid\ncell-editing for MIgXdb - grids\noption to add MIGXdb-items directly without modal\n[getImageList] &inheritFrom - inherit MIGX-items from parents or other resources\nsome migxredactor - fixes \n\nMIGX 2.8.1\n==============\nlets disable the \'Add Item\' - button\nnew configs gridperpage and sortconfig\nwrapperTpl for getImageList and migxLoopCollection\n\nMIGX 2.8.0\n==============\nresolve tables on install\nrender cross, also when empty string\nreusable activaterelations - processors\n[migxLoopCollection] tpl_nN\n[#154] clean TV-value, if no MIGX-items \nadditional db-storage of formtabs and fields\nget menue working in MODX 2.3\nimprove description_is_code \n\n\nMIGX 2.6.8\n==============\nsome other small fixes\nrestrictive condition by processed MIGX-tags for formfields\nFilter-Button for Reset all filters to default-value\nextend date-filter\nmake cmp main caption translatable \nMigx::prepareJoins - optional rightjoin \n\nMIGX 2.6.7\n==============\nadd date - filter \nadd handlepositionselector - processor \nadd snippet exportmigx2db\n\nMIGX 2.6.6\n==============\nfixes only\n\nMIGX 2.6.5\n==============\nfixes only\n\nMIGX 2.6.4\n==============\n[redactor-field] get and use file-properties from a redactor-inputTV\nadd renderImageFromHtml - renderer\n\nMIGX 2.6.3\n==============\nconfigurable redactor-field with configs-configuration, make redactor work in MIGXdb - CMP\n\nMIGX 2.6.2\n==============\nfix issue with imported configs-field, if not an array \n\nMIGX 2.6.1\n==============\nMake Formfields translatable\n\nMIGX 2.6\n==============\n[getImageList] output inner arrays as json-string\nadded polish translation\n[getImageList] splits, build summaries\n make grid-columns translatable, let user add custom-lexicons from custom php-config-files \n\n\nMIGX 2.5.11\n==============\nadd simple MIGXdb - validation (only required for now)\nsome fixes\n\n\nMIGX 2.5.9\n==============\nlet us create new indexes, with altered field-def from schema \noptimize input-option-values-handling, see:http://forums.modx.com/thread/79757/sortable-editable-list-of-checkboxes?page=4#dis-post-483240\n\n\nMIGX 2.5.8\n\n==============\nAdded \'showScreenshot\' (big image in popup) \nAdded template-field for direct template-input for renderChunk\nAdded position - selector for new MIGX - items\nFix for not removed rte-editors when using formswitcher\nsend current store-params to iframe-window\n\n\nMIGX 2.5.6\n\n==============\n\nAdd support for the modmore.com Redactor editor \nsome work on multiuploader for MIGXdb\nmore eNotice - fixes\n\n\nMIGX 2.5.2\n\n==============\nread input-options into MIGX-TV\nrespect filter in default - export.php\nfix for empty value in TV - configs not loading renderers etc.\nfix changed processaction-param after export2csv \nstopEvent() by onClick - event\n\nMIGX 2.5.1\n\n==============\nfix bug with renderChunk - renderer\n\nMIGX 2.5\n\n==============\nget different rtes working - support for tinymce, ckeditor \nsome settings for MIGXfe\ncs - lexicons, \nsome eNotice - fixes\nfix with to big integers on TV-id (set phptype to string)\nlimit MIGX-record-count\n\n\nMIGX 2.4.2\n\n==============\ncolumnButtons for the migx - grid \nlittle form-layout-mods\nadded the option to have the first formtab outside the other tabs above of them.\n\nadded the option to use the TV-description-field as parsed code-areas in the formtabs, modx-tags are parsed there - \nsnippets, chunks, output-filters can be used there. All fields of the record can be used as placeholders.\n\nmigxupdate for MIGXfe\ndefault-values for MIGXdb-filters\nupdate co_id in iframe-window\nadd a searchbox to MIGX-Configurator\nread configs directly from exported configs-files from custom-packages - directory by using configname:packagename - configs\n\n\nMIGX 2.4.1\n\n==============\nsome new snippets:\ngetDayliMIGXrecord\nmigxgetrelations\n\nadded beta treecombo-filter-option for example to filter resources in MIGXdb by resourcetree\nadd window-title configuration, make window-caption dynamic (its possible to use placeholders now)\nhide tabs in form, when only one tab\nadded selectposition - renderer\n\n\nMIGX 2.4.0\n\n==============\nnew renderer - switchStatusOptions\nnew renderer - renderChunk\ngetImageList - added \'contains\' and \'snippet\' - where-filters\nadd duplicate-contextmenue to MIGXdb \nnew property for getImageList: &reverse\ngive TVs in each CMP-tab a unique id\nrefresh grid after closing iframe-window\nadded tpl_n{n} tplFirst tplLast tpl_n tpl_oneresult properties to getImageList\nexport jsonarray-fields as separate fields in csv-export\nalias, breadcrumb and ultimateparent for migxREsourceMediaPath\nAdded TV - description - field to configuration\n\n\nMIGX 2.3.1\n\n==============\nsome eNotice - error - fixes\nadd type - configuration to gridcolumns, now its possible to sort also numeric on the MIGX - grid: see https://github.com/Bruno17/MIGX/issues/41\n\nMIGX 2.3.0\n\n==============\nadd multifile - uploader, upload to MIGX - mediasource\nadd load from mediasource - button to MIGX\nadd migxResourcePath - snippet\nadd iframe - support - its now possible to create chunks with snippet-calls and show the result in an iframe-window. used by multifile-uploader.\n\n\nMIGX 2.2.3\n\n==============\nconfirmation before overriding schema-files\nsome additions for childresources-management by MIGXdb\nswitch between multiple forms - configurations\nadd renderDate - renderer , thanks to Jako\nadditional send all store-baseParams when opening the form-window. This way we can have different forms depending on filters for example.\nadd parent-property for dynamic filter-comboboxes\nadd getliste-where for default getlist-processor\nexport formtabs as clean json in editraw-mode\n\n\nMIGX 2.2.2\n\n==============\nadd migxLoopCollection-snippet\nmove prepareJoins into a migx-method\nconfirmation before remove db-record, getcombo did not use idfield \nallow empty prefix \nadd possibility to use tables without \'deleted\' - field and default-getlist-processor\nfix Call-time pass-by-reference errors\nget tinyMCE to work on richtext-TV-inputs in MIGXdb - CMPs \nfix prefix not sended to writeSchema\ngrid add cls \'main-wrapper\' to give it a bit padding, thanks to jako\n\n\nMIGX 2.2.0\n\n==============\n\nexport/import configuration-objects as json to/from files in custom-package-directories \nnew configs: getlist - defaultsort, joins, gridload_mode (by button, auto) \ngrid-smarty-template now can be also in custom-package-directories\nreworked handling of joined objects in default update-php \nadd connected_object_id baseparam to migx-grid\nadded snippet migxLoopCollection\n\n\nMIGX 2.1.1\n\n==============\n\n  fix for migx-snippet not working with multiple calls on one page\n  resource_id as script-property for getlist-processor when used with migx-snippet\n\nMIGX 2.1.0\n\n==============\n\n  add &sort to the getImageList - snippet\n  add new snippet \'migx\' to get items from db-tables, can use the same configurations and getList - processors as the MIGXdb - manager\n  make it possible to have config-files for grids and processors in another package-folder for easier packaging together custom - packages\n  more MIGXdb - configurations\n\n\nMIGX 2.0.1\n\n==============\n\n  more E_NOTICE - Error - fixes\n  Fix Missing Add - Item - Replacement - String \n\nMIGX 2.0.0\n\n==============\n\n- pl\n\n  fix for Revo 2.2.2\n  fix some E_NOTICE - errors\n\n- new in beta5\n\n  Configure multiple CMP - tabs\n  packagemanager ported to extjs - tab\n  added MIGX-setup/upgrade - tab\n  added configurable text and combo - filterboxes\n\n- new in beta3\n\n  This is a preview-version of MIGXdb\n  MIGXdb can now also be used as configurable CMP\n  MIGX - configurator for tabs, columns, MIGXdb-TV and MIGXdb-CMP\n  Package-manager, create and edit schemas and package-tables\n\n- new:\n  better compatibility with revo 2.2\n  working with mediasources\n  introduced MIGXdb\n\n\nMIGX 1.2.0\n==============\n- new:\n  merge scriptProperties to Placeholders \n  basic compatibility for modx 2.2 \n  autoinc-field: MIGX_id\n  autoResourceFolders - functionality, autoCreate directory for each resource\n  \n  \n- fixed:\n  url-TV support\n  context-based base_path issues\n  remove remaining []\n  remove Tiny-instances when switching form\n  enter on textarea closes window\n  fireResourceFormChange for drag,remove,duplicate \n\nMIGX 1.1.0\n==============\n- new:\n  &docidVarKey\n  &processTVs\n  \n- fixed:\n  context-filepath-issue\n\nMIGX 1.0.0\n==============\n- Initial release.\";s:9:\"signature\";s:17:\"migx-3.0.0-alpha5\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:45:\"/workspace/package/install/migx-3.0.0-alpha5/\";s:14:\"package_action\";i:1;}','MIGX','a:38:{s:2:\"id\";s:24:\"625c4b0eb2fbc9264e2a5032\";s:7:\"package\";s:24:\"4db018def24554690c000005\";s:12:\"display_name\";s:17:\"migx-3.0.0-alpha5\";s:4:\"name\";s:4:\"MIGX\";s:7:\"version\";s:5:\"3.0.0\";s:13:\"version_major\";s:1:\"3\";s:13:\"version_minor\";s:1:\"0\";s:13:\"version_patch\";s:1:\"0\";s:7:\"release\";s:6:\"alpha5\";s:8:\"vrelease\";s:5:\"alpha\";s:14:\"vrelease_index\";s:1:\"5\";s:6:\"author\";s:7:\"bruno17\";s:11:\"description\";s:672:\"<p>MIGX (multiItemsGridTv for modx) is a custom-tv-input-type for adding multiple items into one TV-value and a snippet for listing this items on your frontend.</p><p>It has a cofigurable grid and a configurable tabbed editor-window to add and edit items.</p><p>Each item can have multiple fields. For each field you can use another tv-input-type.</p><p>MIGXdb can manage (resource-related) custom-db-table-items in a TV and can help to create CMPs for custom-db-tables</p><p>See the official documentation here: <a href=\"http://rtfm.modx.com/display/addon/MIGX\" style=\"color: rgb(15, 112, 150); \" title=\"\" target=\"\">http://rtfm.modx.com/display/addon/MIGX</a></p><p></p>\";s:12:\"instructions\";s:5844:\"<p></p><p style=\"margin: 10px 0px 20px; padding: 0px; border-width: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-color: transparent; line-height: 1.4;\">Installation:Install via Package Management.</p><p style=\"margin: 10px 0px 20px; padding: 0px; border-width: 0px; outline-width: 0px; font-size: 13px; vertical-align: baseline; background-color: transparent; line-height: 1.4;\">For MIGX and MIGXdb - Configuration - Management:</p><p style=\"margin-top: 10px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; line-height: 1.4; background-position: initial initial; background-repeat: initial initial; \">Create a new menu:System -> Actions Actions-tree:migx -> right-click -> create Acton herecontroller: indexnamespace: migxlanguage-topics: migx:default,filemenu-tree:Components -> right-click -> place action herelexicon-key: migxaction: migx - indexparameters: &configs=migxconfigs||packagemanager||setupclear cachego to components -> migx -> setup-tab -> setupIf you are upgrading from MIGX - versions before 2.0go to tab upgrade. click upgrade.This will add a new autoincrementing field MIGX_id to all your MIGX-TV-itemsThe getImageList-snippet needs this field to work correctly.</p><p style=\"margin-top: 10px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; line-height: 1.4; background-position: initial initial; background-repeat: initial initial; \"><b style=\"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; \">Note:</b> Make sure to remove older versions of multiItemsGridTv and the multiitemsgridTv-namespace, if you had them tried from Github.</p><p style=\"margin-top: 10px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; line-height: 1.4; background-position: initial initial; background-repeat: initial initial; \"><b style=\"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; \">Note</b>: Input Options for the MIGX only work for Revolution 2.1.0-rc2 and later.</p><p style=\"margin-top: 10px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; line-height: 1.4; background-position: initial initial; background-repeat: initial initial; \"></p><p style=\"margin-top: 10px; margin-right: 0px; margin-bottom: 20px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; line-height: 1.4; background-position: initial initial; background-repeat: initial initial; \"></p>\";s:9:\"changelog\";s:1194:\"MIGX 3.0.0\n============\nBasic Compatibility for MODX 3\n\n\nMIGX 2.13.0\n==============\n\nadd snippet migxGetObject and property toPlaceholders\n\nadd property createChunk to create a chunk with all possible placeholders\n\nFix imageupload on PHP7 due to stray break statement\n\nFix for missing custom prefix in some packagemanager tasks\n\nUpdated image paths to use dynamic assets path\n\nFix the export if a join setting exist\n\nFinnish Translation\n\nadd userid to migxResourceMediapath snippet\n\nremove duplicate sort scriptProperty in export.php\n\n[getlist.php] add getcustomconfigs - hook, groupby, selectfields, specialfields\n\nparse MODX-tags in field-configs\n\npackagemanager fix new folder permission\n\nUse a textarea instead of an input in MIGX TV\n\nReduce indexed varchar fields for utf8mb4 support in mysql\n\nfix duplicate entries in csv-export\n\nAdd CSV Import functionality\n\nImprove CSV Export functionality\n\nadd toJson property to migxLoopCollection\n\nFix transparency in .png in renderimage column renderer\n\nOptimize loadfromxource functionality, especially for MIGX within MIGXdb\n\ndeep nested saving when nested windows are open and saving without closing the window\n\nexport/import single MIGX - items\";s:9:\"createdon\";s:24:\"2022-04-17T17:14:54+0000\";s:9:\"createdby\";s:7:\"bruno17\";s:8:\"editedon\";s:24:\"2022-05-16T11:27:21+0000\";s:10:\"releasedon\";s:24:\"2022-04-17T17:14:54+0000\";s:9:\"downloads\";s:6:\"249764\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:3:\"2.2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=625c4b0eb2fbc9264e2a5033\";s:9:\"signature\";s:17:\"migx-3.0.0-alpha5\";s:11:\"supports_db\";s:5:\"mysql\";s:16:\"minimum_supports\";s:3:\"2.2\";s:9:\"breaks_at\";s:1:\"3\";s:10:\"screenshot\";s:70:\"http://modx.s3.amazonaws.com/extras/4db018def24554690c000005/migx1.JPG\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"625c4b0eb2fbc9264e2a5033\";s:7:\"version\";s:24:\"625c4b0eb2fbc9264e2a5032\";s:8:\"filename\";s:31:\"migx-3.0.0-alpha5.transport.zip\";s:9:\"downloads\";s:4:\"2400\";s:6:\"lastip\";s:13:\"80.237.133.69\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=625c4b0eb2fbc9264e2a5033\";}s:17:\"package-signature\";s:17:\"migx-3.0.0-alpha5\";s:10:\"categories\";s:15:\"content,gallery\";s:4:\"tags\";s:46:\"migx,multiitems,multitv,migxdb,CMP,MIGX,MIGXdb\";}',3,0,0,'alpha',5),('ajaxform-1.2.2-pl','2022-06-15 15:35:57','2022-06-15 12:36:02','2022-06-15 15:36:02',0,1,2,0,'ajaxform-1.2.2-pl.transport.zip',NULL,'a:8:{s:9:\"changelog\";s:2848:\"1.2.2-pl\n==============\n- Fixed JS error `undefined is not an object (evaluating \'$submitter.length\')`\n\n1.2.1-pl\n==============\n- Fixed JS error `Cannot read properties of undefined (reading \'defaults\')`\n\n1.2.0-pl\n==============\n- Added Ukrainian lexicons\n- Added `clearFieldsOnSuccess` snippet parameter\n- Added work with disabled sessions for anonymous users\n- Fixed adding the value of the button you clicked to submit the form to the submitted data\n- Fixed: `document.write` has been replaced by `document.body.appendChild`\n- Fixed: cut `type=\"text/javascript\"` from the `<script>` tag\n\n1.1.9-pl\n==============\n- [#40] Improved javascript initialization of a form.\n\n1.1.8-pl\n==============\n- Updated jGrowl to version 1.4.5.\n\n1.1.7-pl\n==============\n- Fixed possible blind SQL injection in action file.\n\n1.1.6-pl\n==============\n- [#33] Improved the processing of javascript errors.\n\n1.1.5-pl\n==============\n- [#30] Improved support of ReCaptcha.\n- PSR-2.\n- Default chunk optimized for Twitter Bootstrap 3.\n\n1.1.4-pl\n==============\n- [#27] Support of single quotes in attributes of form.\n- Case-insensitive check of attributes of form.\n\n1.1.3-pl\n==============\n- Improved validation of files.\n\n1.1.2-pl\n==============\n- Compatibility with FormIt ReCaptcha.\n- Small code format.\n\n1.1.1-pl\n==============\n- Improved checking of availability of pdoTools.\n\n1.1.0-pl\n==============\n- Improved registration of frontend javascript.\n- Added parameter &formSelector for specifying name of CSS class of form.\n- Added parameter &objectName for specifying name of javascript object to initialize.\n\n1.0.7-pl\n==============\n- Added loading source resource to modX::resource in action.php.\n\n1.0.6-pl\n==============\n- [#15] Fixed work in different contexts.\n\n1.0.5-pl\n==============\n- Remove error class from fields on before form submit.\n\n1.0.4-pl\n==============\n- Added checking of global js var \"afValidated\" before form submit.\n\n1.0.3-pl\n==============\n- [#8] Improved regular expression.\n- Improved compatibility with parameter \"submitVar\" in snippet FormIt.\n\n1.0.2-pl\n==============\n- Added jQuery event \"af_complete\" on form submit.\n- [#4] Ability to use @INLINE chunk in parameter &form, if you have pdoTools installed.\n- [#3] Ability to set placeholders in form by specifying them into script parameters.\n- [#2] Script will add class \"error\" to elements with \".error_[name_of_field]\" elements in form.\n\n1.0.1-pl\n==============\n- Possibly fix for Error 500 on some hosts.\n\n1.0.0-pl\n==============\n- Call end snippet on page load for preparation of form. Now you can use hook \"math\".\n\n1.0.0-rc\n==============\n- Force attribute \"method=post\" to form.\n- Added support for sending form without javascript.\n\n1.0.0-beta1\n==============\n- Improved adding class \"ajax_form\" to form.\n- Improved snippet parameters.\n\n1.0.0-beta0\n==============\n- Initial release.\n\";s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:636:\"--------------------\nAjaxForm\n--------------------\nAuthor: Vasiliy Naumkin <bezumkin@yandex.ru>\n--------------------\n\nSimple component for MODX Revolution, that allows you to send any form through ajax.\n\n\nQuick start\n1. Create new chunk with name \"myForm\".\n2. Add form into that chunk.\n3. Call AjaxForm at any page [[!AjaxForm?form=`myForm`&snippet=`FormIt`]]\n\nYou can specify any parameters for end snippet:\n[[!AjaxForm?\n	&form=`myForm`\n	&snippet=`FormIt`\n	&hooks=`email`\n	&emailto=`info@mysite.com`\n	&etc=`...`\n]]\n\n--------------------\nFeel free to suggest ideas/improvements/bugs on GitHub:\nhttp://github.com/bezumkin/AjaxForm/issues\";s:9:\"signature\";s:17:\"ajaxform-1.2.2-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:45:\"/workspace/package/install/ajaxform-1.2.2-pl/\";s:14:\"package_action\";i:1;}','AjaxForm','a:35:{s:2:\"id\";s:2:\"40\";s:10:\"repository\";s:1:\"1\";s:4:\"name\";s:8:\"AjaxForm\";s:9:\"createdby\";s:3:\"687\";s:9:\"createdon\";s:19:\"2013-11-03 16:39:59\";s:8:\"editedon\";s:19:\"0000-00-00 00:00:00\";s:7:\"license\";s:5:\"GPLv2\";s:10:\"screenshot\";s:0:\"\";s:9:\"downloads\";s:5:\"17868\";s:8:\"approved\";s:1:\"1\";s:6:\"active\";s:1:\"1\";s:7:\"package\";s:2:\"40\";s:7:\"version\";s:5:\"1.2.2\";s:13:\"version_major\";s:1:\"1\";s:13:\"version_minor\";s:1:\"2\";s:13:\"version_patch\";s:1:\"2\";s:7:\"release\";s:2:\"pl\";s:13:\"release_index\";s:0:\"\";s:9:\"signature\";s:17:\"ajaxform-1.2.2-pl\";s:12:\"instructions\";s:0:\"\";s:9:\"changelog\";s:3763:\"1.2.2-pl<br />\n==============<br />\n- Fixed JS error &#96;undefined is not an object (evaluating &#039;$submitter.length&#039;)&#96;<br />\n<br />\n1.2.1-pl<br />\n==============<br />\n- Fixed JS error &#96;Cannot read properties of undefined (reading &#039;defaults&#039;)&#96;<br />\n<br />\n1.2.0-pl<br />\n==============<br />\n- Added Ukrainian lexicons<br />\n- Added &#96;clearFieldsOnSuccess&#96; snippet parameter<br />\n- Added work with disabled sessions for anonymous users<br />\n- Fixed adding the value of the button you clicked to submit the form to the submitted data<br />\n- Fixed: &#96;document.write&#96; has been replaced by &#96;document.body.appendChild&#96;<br />\n- Fixed: cut &#96;type=&quot;text/javascript&quot;&#96; from the &#96;&#96; tag<br />\n<br />\n1.1.9-pl<br />\n==============<br />\n- &#91;#40&#93; Improved javascript initialization of a form.<br />\n<br />\n1.1.8-pl<br />\n==============<br />\n- Updated jGrowl to version 1.4.5.<br />\n<br />\n1.1.7-pl<br />\n==============<br />\n- Fixed possible blind SQL injection in action file.<br />\n<br />\n1.1.6-pl<br />\n==============<br />\n- &#91;#33&#93; Improved the processing of javascript errors.<br />\n<br />\n1.1.5-pl<br />\n==============<br />\n- &#91;#30&#93; Improved support of ReCaptcha.<br />\n- PSR-2.<br />\n- Default chunk optimized for Twitter Bootstrap 3.<br />\n<br />\n1.1.4-pl<br />\n==============<br />\n- &#91;#27&#93; Support of single quotes in attributes of form.<br />\n- Case-insensitive check of attributes of form.<br />\n<br />\n1.1.3-pl<br />\n==============<br />\n- Improved validation of files.<br />\n<br />\n1.1.2-pl<br />\n==============<br />\n- Compatibility with FormIt ReCaptcha.<br />\n- Small code format.<br />\n<br />\n1.1.1-pl<br />\n==============<br />\n- Improved checking of availability of pdoTools.<br />\n<br />\n1.1.0-pl<br />\n==============<br />\n- Improved registration of frontend javascript.<br />\n- Added parameter &amp;formSelector for specifying name of CSS class of form.<br />\n- Added parameter &amp;objectName for specifying name of javascript object to initialize.<br />\n<br />\n1.0.7-pl<br />\n==============<br />\n- Added loading source resource to modX::resource in action.php.<br />\n<br />\n1.0.6-pl<br />\n==============<br />\n- &#91;#15&#93; Fixed work in different contexts.<br />\n<br />\n1.0.5-pl<br />\n==============<br />\n- Remove error class from fields on before form submit.<br />\n<br />\n1.0.4-pl<br />\n==============<br />\n- Added checking of global js var &quot;afValidated&quot; before form submit.<br />\n<br />\n1.0.3-pl<br />\n==============<br />\n- &#91;#8&#93; Improved regular expression.<br />\n- Improved compatibility with parameter &quot;submitVar&quot; in snippet FormIt.<br />\n<br />\n1.0.2-pl<br />\n==============<br />\n- Added jQuery event &quot;af_complete&quot; on form submit.<br />\n- &#91;#4&#93; Ability to use @INLINE chunk in parameter &amp;form, if you have pdoTools installed.<br />\n- &#91;#3&#93; Ability to set placeholders in form by specifying them into script parameters.<br />\n- &#91;#2&#93; Script will add class &quot;error&quot; to elements with &quot;.error_&#91;name_of_field&#93;&quot; elements in form.<br />\n<br />\n1.0.1-pl<br />\n==============<br />\n- Possibly fix for Error 500 on some hosts.<br />\n<br />\n1.0.0-pl<br />\n==============<br />\n- Call end snippet on page load for preparation of form. Now you can use hook &quot;math&quot;.<br />\n<br />\n1.0.0-rc<br />\n==============<br />\n- Force attribute &quot;method=post&quot; to form.<br />\n- Added support for sending form without javascript.<br />\n<br />\n1.0.0-beta1<br />\n==============<br />\n- Improved adding class &quot;ajax_form&quot; to form.<br />\n- Improved snippet parameters.<br />\n<br />\n1.0.0-beta0<br />\n==============<br />\n- Initial release.\";s:10:\"releasedby\";s:3:\"687\";s:10:\"releasedon\";s:19:\"2021-10-17 07:00:01\";s:16:\"minimum_supports\";s:3:\"2.2\";s:8:\"supports\";s:0:\"\";s:11:\"minimum_php\";s:0:\"\";s:10:\"deprecated\";s:1:\"0\";s:10:\"version_id\";s:4:\"4916\";s:6:\"author\";s:10:\"Павел\";s:11:\"description\";s:130:\"Отправка форм через Ajax. Использует FormIt, но можно указать и свой сниппет.\";s:5:\"price\";s:1:\"0\";s:12:\"display_name\";s:17:\"ajaxform-1.2.2-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:8:\"location\";s:154:\"https://modstore.pro/extras/package/40?version_id=4916&username=sergeev-ne%40yandex.ru&api_key=038d9eef33aac349754024fed3f502d1&http_host=kuzovremont23.ru\";s:4:\"file\";a:2:{s:8:\"location\";s:154:\"https://modstore.pro/extras/package/40?version_id=4916&username=sergeev-ne%40yandex.ru&api_key=038d9eef33aac349754024fed3f502d1&http_host=kuzovremont23.ru\";s:9:\"transport\";s:4:\"true\";}}',1,2,2,'pl',0),('autoredirector-1.0.3-rc','2022-06-15 15:36:14','2022-06-15 12:36:18','2022-06-15 15:36:18',0,1,2,0,'autoredirector-1.0.3-rc.transport.zip',NULL,'a:10:{s:9:\"changelog\";s:958:\"Changelog for autoRedirector.\n\n1.0.3\n==============\n- Add clearing GET-parameters\n- Change getCollection for getIterator\n\n1.0.2\n==============\n- Fix old menu item\n\n1.0.1\n==============\n- Removed modAction error\n\n1.0.0\n==============\n- UX improvements\n\n0.1.0\n==============\n- Fix work with cyrillic urls\n\n0.0.9\n==============\n- Fix work with different objectTypes of resources\n\n0.0.8\n==============\n- Fix empty id:IN when resource is not container\n\n0.0.7\n==============\n- Correct russian lexicon\n\n0.0.6\n==============\n- Added multiselect and multiremove for rules\n\n0.0.5\n==============\n- Property \'old_uri\' setings anyway (even on created res)\n\n0.0.4\n==============\n- Fixed selecting child resources, when context_key != \'web\'\n\n0.0.3\n==============\n- Fixed selecting child resources on OnBeforeDocFormSave and OnDocFormSave\n\n0.0.2\n==============\n- Changed event, when start redirecting from OnHandleRequest to PageNotFound\n\n0.0.1\n==============\n- First beta.\n\";s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:177:\"--------------------\nautoRedirector\n--------------------\nAuthor: Ilya Utkin <ilyautkin@mail.ru>\n--------------------\n\nTracking changes in the urls and adding rules for redirect\n\";s:6:\"chunks\";a:0:{}s:13:\"setup-options\";s:41:\"autoredirector-1.0.3-rc/setup-options.php\";s:9:\"signature\";s:23:\"autoredirector-1.0.3-rc\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:51:\"/workspace/package/install/autoredirector-1.0.3-rc/\";s:14:\"package_action\";i:1;}','autoRedirector','a:35:{s:2:\"id\";s:2:\"47\";s:10:\"repository\";s:1:\"1\";s:4:\"name\";s:14:\"autoRedirector\";s:9:\"createdby\";s:3:\"295\";s:9:\"createdon\";s:19:\"2014-02-18 16:12:55\";s:8:\"editedon\";s:19:\"0000-00-00 00:00:00\";s:7:\"license\";s:5:\"GPLv2\";s:10:\"screenshot\";s:0:\"\";s:9:\"downloads\";s:4:\"5359\";s:8:\"approved\";s:1:\"1\";s:6:\"active\";s:1:\"1\";s:7:\"package\";s:2:\"47\";s:7:\"version\";s:5:\"1.0.3\";s:13:\"version_major\";s:1:\"1\";s:13:\"version_minor\";s:1:\"0\";s:13:\"version_patch\";s:1:\"3\";s:7:\"release\";s:2:\"rc\";s:13:\"release_index\";s:0:\"\";s:9:\"signature\";s:23:\"autoredirector-1.0.3-rc\";s:12:\"instructions\";s:0:\"\";s:9:\"changelog\";s:1319:\"Changelog for autoRedirector.<br />\n<br />\n1.0.3<br />\n==============<br />\n- Add clearing GET-parameters<br />\n- Change getCollection for getIterator<br />\n<br />\n1.0.2<br />\n==============<br />\n- Fix old menu item<br />\n<br />\n1.0.1<br />\n==============<br />\n- Removed modAction error<br />\n<br />\n1.0.0<br />\n==============<br />\n- UX improvements<br />\n<br />\n0.1.0<br />\n==============<br />\n- Fix work with cyrillic urls<br />\n<br />\n0.0.9<br />\n==============<br />\n- Fix work with different objectTypes of resources<br />\n<br />\n0.0.8<br />\n==============<br />\n- Fix empty id:IN when resource is not container<br />\n<br />\n0.0.7<br />\n==============<br />\n- Correct russian lexicon<br />\n<br />\n0.0.6<br />\n==============<br />\n- Added multiselect and multiremove for rules<br />\n<br />\n0.0.5<br />\n==============<br />\n- Property &#039;old_uri&#039; setings anyway (even on created res)<br />\n<br />\n0.0.4<br />\n==============<br />\n- Fixed selecting child resources, when context_key != &#039;web&#039;<br />\n<br />\n0.0.3<br />\n==============<br />\n- Fixed selecting child resources on OnBeforeDocFormSave and OnDocFormSave<br />\n<br />\n0.0.2<br />\n==============<br />\n- Changed event, when start redirecting from OnHandleRequest to PageNotFound<br />\n<br />\n0.0.1<br />\n==============<br />\n- First beta.\";s:10:\"releasedby\";s:3:\"295\";s:10:\"releasedon\";s:19:\"2021-12-20 16:34:08\";s:16:\"minimum_supports\";s:3:\"2.2\";s:8:\"supports\";s:0:\"\";s:11:\"minimum_php\";s:0:\"\";s:10:\"deprecated\";s:1:\"0\";s:10:\"version_id\";s:4:\"4973\";s:6:\"author\";s:19:\"Илья Уткин\";s:11:\"description\";s:167:\"Дополнение, которое позволит вам не беспокоиться о том, что иногда адреса страниц меняются.\";s:5:\"price\";s:1:\"0\";s:12:\"display_name\";s:23:\"autoredirector-1.0.3-rc\";s:11:\"supports_db\";s:5:\"mysql\";s:8:\"location\";s:154:\"https://modstore.pro/extras/package/47?version_id=4973&username=sergeev-ne%40yandex.ru&api_key=038d9eef33aac349754024fed3f502d1&http_host=kuzovremont23.ru\";s:4:\"file\";a:2:{s:8:\"location\";s:154:\"https://modstore.pro/extras/package/47?version_id=4973&username=sergeev-ne%40yandex.ru&api_key=038d9eef33aac349754024fed3f502d1&http_host=kuzovremont23.ru\";s:9:\"transport\";s:4:\"true\";}}',1,0,3,'rc',0),('canonical-3.0.1-pl','2022-06-15 15:36:31','2022-06-15 12:36:36','2022-06-15 15:36:36',0,1,1,0,'canonical-3.0.1-pl.transport.zip',NULL,'a:9:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:933:\"Canonical Extra for MODX Revolution\n=======================================\n\nAuthor: Bob Ray (https://bobsguides.com)\n\nDocumentation: (https://bobsguides.com/canonical-tutorial.html)\n\nBugs and requests: (https://github.com/BobRay/Canonical/issues)\n\nQuestions about using Canonical: (https://community.modx.com)\n\nAs of Version 3.0.0-pl, Canonical puts a canonical tag on every page by default, as recommended by SEO experts and reportedly confirmed by Google.\n\nCanonical creates an automatic canonical tag for Symlinks in MODX Revolution, to prevent search engine penalties for duplicate content.\n\nInstall with Package Manager and place this tag in the <head> section of all templates (the exclamation point is important):\n\n    [[!Canonical]]\n\nIf you don\'t want a tag on every page, change the `canonical_always` System Setting value to `No`.\n\nSee the documentation at https://bobsguides.com/canonical-tutorial.html for more details.\n\";s:9:\"changelog\";s:324:\"Changelog for Canonical\n\nCanonical 3.0.1-pl\n---------------------------------\n - Updates for MODX 3\n - Option to put canonical tag on all pages\n - Updates to documentation\n\nCanonical 2.0.0-pl\n---------------------------------\n - Execute only for Symlinks\n\nCanonical 1.0.0\n---------------------------------\n - Initial Version\";s:13:\"setup-options\";a:0:{}s:9:\"signature\";s:18:\"canonical-3.0.1-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:46:\"/workspace/package/install/canonical-3.0.1-pl/\";s:14:\"package_action\";i:1;}','Canonical','a:38:{s:2:\"id\";s:24:\"62a7c6fecb51b973e80c2d22\";s:7:\"package\";s:24:\"4d556cd5b2b083396d000e49\";s:12:\"display_name\";s:18:\"canonical-3.0.1-pl\";s:4:\"name\";s:9:\"Canonical\";s:7:\"version\";s:5:\"3.0.1\";s:13:\"version_major\";s:1:\"3\";s:13:\"version_minor\";s:1:\"0\";s:13:\"version_patch\";s:1:\"1\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:6:\"bobray\";s:11:\"description\";s:162:\"<p>The Canonical snippet puts a canonical link tag in the head section of your HTML. New option to put a canonical tag on all pages. Fully MODX 3 compatible. </p>\";s:12:\"instructions\";s:212:\"<p>Install with Package Manager and put the following tag in the  section of all templates:</p><p></p><p>See the docs at <a href=\"http://bobsguides.com/canonical-snippet.html\">Bob\'s Guides</a>.</p><p></p>\n<p></p>\";s:9:\"changelog\";s:146:\"Canonical 3.0.1-pl\n---------------------------------\n - Updates for MODX 3\n - Option to put canonical tag on all pages\n - Updates to documentation\";s:9:\"createdon\";s:24:\"2022-06-13T23:23:42+0000\";s:9:\"createdby\";s:6:\"bobray\";s:8:\"editedon\";s:24:\"2022-06-15T12:22:27+0000\";s:10:\"releasedon\";s:24:\"2022-06-13T23:23:42+0000\";s:9:\"downloads\";s:4:\"5469\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:1:\"2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=62a7c6fecb51b973e80c2d23\";s:9:\"signature\";s:18:\"canonical-3.0.1-pl\";s:11:\"supports_db\";s:12:\"mysql,sqlsrv\";s:16:\"minimum_supports\";s:1:\"2\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:0:\"\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"62a7c6fecb51b973e80c2d23\";s:7:\"version\";s:24:\"62a7c6fecb51b973e80c2d22\";s:8:\"filename\";s:32:\"canonical-3.0.1-pl.transport.zip\";s:9:\"downloads\";s:2:\"21\";s:6:\"lastip\";s:14:\"37.140.192.143\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=62a7c6fecb51b973e80c2d23\";}s:17:\"package-signature\";s:18:\"canonical-3.0.1-pl\";s:10:\"categories\";s:9:\"utilities\";s:4:\"tags\";s:22:\"html,canonical.symlink\";}',3,0,1,'pl',0),('clientconfig-2.3.1-pl','2022-06-15 15:36:51','2022-06-15 12:37:02','2022-06-15 15:37:02',0,1,1,0,'clientconfig-2.3.1-pl.transport.zip',NULL,'a:10:{s:7:\"license\";s:1109:\"The MIT License (MIT)\n\nCopyright (c) 2016 Mark Hamstra Web Development <hello@markhamstra.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n\";s:6:\"readme\";s:853:\"-------------------------\nClientConfig\n-------------------------\nAuthor: Mark Hamstra\nContact: mark@modmore.com\n-------------------------\n\nClientConfig is the by product of a workshop at MODXpo Europe 2012,\nthe \"Developing Extras in MODX\" one. See the session page at modxpo.eu\nhttp://modxpo.eu/schedule/sessions/developing-extras-for-modx-hands-on\nfor more information and footage of the workshop.\n\nClientConfig gives your client a user-friendly interface for making site\nwide changes, while you as the administrator set up the different options\navailable to the end-user.\n\nPossible uses include:\n- Regularly update a slogan or tag-line in header or footer\n- Change call-to-action button colors based on the season\n- Keep contact details updated in one central location\n- Update the email-address a form sends notifications to.\n\nLicensed under the MIT.\";s:9:\"changelog\";s:6778:\"ClientConfig 2.3.1-pl\n---------------------\nReleased on 2022-06-13\n\n- Fix \"Choose Context\" combobox not loading in MODX 3.x [#193]  \n- Fix double asterisks being displayed on required fields in MODX 3.x [#189]\n- Fix admin grids not resizing when browser is resized [#194]\n\nClientConfig 2.3.0-pl\n---------------------\nReleased on 2019-10-24\n\n- Add icon to the menu item (when moved to the top navigation) [#175]\n- Make placeholders available for inherited fenom templates [#173, #174]\n- Make textarea fields bigger and automatically growing with the content [#172]\n- Allow a hash in the url containing the ID of a group to automatically open to that tab [#169]\n- Add a line/divider field type to create simple sections [#149]\n- Add a code field type (requires Ace editor) for things like custom CSS or other markup [#144]\n- Add an email field type which validates the value to be an email address [#65]\n- Include OnHandleRequest plugin event (alongside OnMODXInit), to make ClientConfig play nicer with various context routing and other solutions that don\'t use OnMODXInit [#140]\n- Add separate \"Save\" and \"Save and close\" buttons to the setting window [#135]\n\nClientConfig 2.2.0-pl\n---------------------\nReleased on 2019-08-19\n\n- Fix media source path being included for empty values [#152]\n- When context values are empty, it will now fall back to the global value\n\nClientConfig 2.1.0-pl\n---------------------\nReleased on 2018-12-05\n\n- Update menu to no longer rely on modAction, instead using namespace routing [#158, #139]\n- Fix image/file fields not refreshing when switching context [#147, #155]\n- Adjust plugin to accept both OnMODXInit and OnHandleRequest so you can change the event it runs on, if needed [#140]\n- Prevent events (i.e., priority) from being overwritten on upgrade [#148]\n\nClientConfig 2.0.0-pl\n---------------------\nReleased on 2018-06-26\n\n- Don\'t add _duplicate to the key when duplicating a setting [#142]\n- Updated German [#141], Russian [#145] and Dutch translations\n\nClientConfig 2.0.0-rc1\n----------------------\nReleased on 2017-10-04\n\n- ClientConfig can now (optionally) manage settings for different contexts [#4/#112]\n- Media fields (image/file) now prefix the media source url [#124]\n- Allow snippet/chunk tags in options for the dropdown field [#104]\n- Updated minimum requirements to PHP 5.5.0 and MODX 2.5.2.\n- Added separate clientconfig.categories lexicon for the vertical tabs interface [#91]\n\nClientConfig 1.4.2-pl\n---------------------\nReleased on 2017-07-22\n\n- Restore PHP 5.3 compatibility in creating settings. Note: next release will require 5.5+!\n- Fix issue saving settings on certain environments due to missing value for source [#129]\n- Fix incorrect header/container alignment in both manager pages [#128]\n- Fix (unused) namespace assets path (on new installs) [#126]\n\nClientConfig 1.4.1-pl\n---------------------\nReleased on 2017-02-02\n\n- Fix bug where the new source dropdown does not appear for image field types\n\nClientConfig 1.4.0-pl\n---------------------\nReleased on 2017-01-31\n\n- Fix loading of TinyMCE RTE, causing it to be initialised without configuration [#122]\n- Add ClientConfig_ConfigChange event to be able of hooking into configuration changes [#117]\n- Change plugin event from OnHandleRequest to OnMODXInit [#87, #109, #115]\n- Enable inline editing in the admin component [#94, #95, #114]\n- Fix field-required errors not being shown by adding a popup\n- Accept 0 as valid required value on the number input [#119]\n- Add a Password input type [#105]\n- Add a File input type [#36]\n- Don\'t show \"Error adding field\" errors during installation/upgrade [#92]\n- Fix loading RTE if the field key contains a dot [#89]\n- Add CMD/CTRL + S shortcut for saving the configuration [#80]\n- Preserve linebreaks when editing a setting in the admin section by using a textarea for the value [#69]\n- Relicense under the MIT license instead of GPL [#67]\n- Allow specifying a media source for the image input type [#66]\n\nClientConfig 1.3.2-pl\n---------------------\nReleased on 2015-12-09\n\n- Update French translation\n- Make sure image field uses the MODX default media source\n- Respect manager_date_format and manager_time_format settings\n\nClientConfig 1.3.1-pl\n---------------------\nReleased on 2014-07-20\n\n- Update Dutch translation\n- More weird border fixes\n- Minor fix to when borders are added, specifically for 2.2.\n\nClientConfig 1.3.0-pl\n---------------------\nReleased on 2014-07-19\n\n- #27 Ability to import/export groups and settings\n- #16 Auto-select first group when adding a setting\n- #15 Force admins to create a group before creating a setting, as settings need groups\n- #76 Fix issue where unchecking a checkbox would fail if the setting was required\n- #78 Make the is_required column show Yes/No instead of true/false\n- #60 Get rid of an extra border\n- #75 Update help link to point to modmore.com\n\nClientConfig 1.2.1-pl\n---------------------\nReleased on 2014-01-07\n\n- #57 Add Google Font input type (Thanks @garryn)\n- #63 Fix issue loading more than one rich text field\n\nClientConfig 1.2.0-pl\n---------------------\nReleased on 2013-08-16\n\n- #38 Add setting (vertical_tabs) to allow stacking groups vertically instead of horizontal tabs\n- #46 Add ability to duplicate a setting\n- #45 Show field options field when editing a select box setting.\n- #54 Add Rich Text input type.\n- Improved width consistency of input items.\n- #37 Added input type Image (thanks COEX!)\n- #3 Fix/add colorpicker input type (thanks COEX!)\n\nClientConfig 1.1.2-pl\n---------------------\nReleased on 2013-03-07\n\n- Add/update translations: Russian (thx @Alroniks!), German (thx @enigmatic-user!), Swedish (thx @fractalwolfe!) and Dutch.\n- #47 Show field descriptions under the fields. (Thanks @fractalwolfe!)\n- #40 Add placeholder tooltips with the  for admins. (Thanks @fractalwolfe!)\n\nClientConfig 1.1.1-pl\n---------------------\nReleased on 2012-12-31\n\n- #35 Don\'t strip out tags when saving values (relies on allow_tags_in_post=true in mgr context).\n- #39 Increase database field max sizes for longer descriptions and values.\n- #33 Make sure to show message when no tabs are to be shown.\n- #34 Prevent E_WARNING when there are no settings configured.\n\nClientConfig 1.1.0-pl\n---------------------\nReleased on 2012-12-16\n\n- #26 Add ability to manually sort Settings within a Group\n- #25 Add ability to manually sort Groups\n- #21 Add Filter on Group for settings.\n- #24 Remember last visited tab in both admin and client view.\n- #22 Add \"Help!\" button on Admin panel linking to RTFM instructions.\n- Improve checking if key exists on updating a setting.\n- #30 Fix bug with incorrectly checking cgSetting.is_required checkbox\n- Make controller a tad more portable.\n\nClientConfig 1.0.0-pl\n---------------------\nReleased on 2012-12-09\n\nFirst release\n\";s:13:\"setup-options\";s:39:\"clientconfig-2.3.1-pl/setup-options.php\";s:9:\"signature\";s:21:\"clientconfig-2.3.1-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:49:\"/workspace/package/install/clientconfig-2.3.1-pl/\";s:26:\"clientconfig_context_aware\";s:1:\"0\";s:14:\"package_action\";i:1;}','ClientConfig','a:38:{s:2:\"id\";s:24:\"62a8d34f1a814e6ac832bba2\";s:7:\"package\";s:24:\"50c3f87ef245542fc1000033\";s:12:\"display_name\";s:21:\"clientconfig-2.3.1-pl\";s:4:\"name\";s:12:\"ClientConfig\";s:7:\"version\";s:5:\"2.3.1\";s:13:\"version_major\";s:1:\"2\";s:13:\"version_minor\";s:1:\"3\";s:13:\"version_patch\";s:1:\"1\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:5:\"markh\";s:11:\"description\";s:824:\"ClientConfig gives your client a user-friendly interface for making site wide changes, while you as the administrator set up the different options available to the end-user.\n\n**New in ClientConfig 2.0: <a href=\"https://www.modmore.com/blog/2017/clientconfig-2-context-settings/\">context-aware settings</a>!**\n\nPossible uses include:\n\n- Regularly update a slogan or tag-line in header or footer\n- Change call-to-action button colors based on the season\n- Keep contact details updated in one central location\n- Update the email-address a form sends notifications to.\n- Manage theme/style settings\n\n<a href=\"https://github.com/modmore/ClientConfig\">Please report bugs and request features on Github</a>. Happy with ClientConfig? <a href=\"https://modmore.com/extras/clientconfig/donate/\">Support open source with a donation</a>.\";s:12:\"instructions\";s:537:\"<p>To install, simply grab the package through package manager and install it. Navigate to the component in the components directory, hit the admin button in the top right, and start configuring settings for your clients to maintain. </p><p>You can use the values from the settings by using either the system setting tag syntax , or by using $modx->getOption(\'key\') in code. </p><p>For further information, <a href=\"https://docs.modmore.com/en/Open_Source/ClientConfig/index.html\" title=\"\" target=\"\">refer to the documentation</a>.</p>\";s:9:\"changelog\";s:230:\"Released on 2022-06-13\n\n- Fix \"Choose Context\" combobox not loading in MODX 3.x [#193]  \n- Fix double asterisks being displayed on required fields in MODX 3.x [#189]\n- Fix admin grids not resizing when browser is resized [#194]\n- \";s:9:\"createdon\";s:24:\"2022-06-14T18:28:31+0000\";s:9:\"createdby\";s:5:\"markh\";s:8:\"editedon\";s:24:\"2022-06-15T12:26:01+0000\";s:10:\"releasedon\";s:24:\"2022-06-14T18:28:31+0000\";s:9:\"downloads\";s:5:\"82649\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:3:\"MIT\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:3:\"2.7\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=62a8d34f1a814e6ac832bba3\";s:9:\"signature\";s:21:\"clientconfig-2.3.1-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:16:\"minimum_supports\";s:3:\"2.7\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:77:\"http://modx.s3.amazonaws.com/extras/50c3f87ef245542fc1000033/clientconfig.jpg\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"62a8d34f1a814e6ac832bba3\";s:7:\"version\";s:24:\"62a8d34f1a814e6ac832bba2\";s:8:\"filename\";s:35:\"clientconfig-2.3.1-pl.transport.zip\";s:9:\"downloads\";s:3:\"116\";s:6:\"lastip\";s:13:\"5.101.157.208\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=62a8d34f1a814e6ac832bba3\";}s:17:\"package-signature\";s:21:\"clientconfig-2.3.1-pl\";s:10:\"categories\";s:61:\"administration,administration,personalization,personalization\";s:4:\"tags\";s:30:\"setting,settings,configuration\";}',2,3,1,'pl',0),('pdotools-2.13.2-pl','2022-06-15 15:37:14','2022-06-15 12:37:21','2022-06-15 15:37:21',0,1,2,0,'pdotools-2.13.2-pl.transport.zip',NULL,'a:8:{s:9:\"changelog\";s:29764:\"Changelog for pdoTools.\r\n\r\n2.13.2-pl (02.09.2021)\r\n==============\r\n- Fixed some snippets.\r\n\r\n2.13.1-pl (01.09.2021)\r\n==============\r\n- Installed composer packages.\r\n\r\n2.13.0-pl (01.09.2021)\r\n==============\r\n- Some security fixes.\r\n- The \"setOption\" modifier is marked as deprecated.\r\n- The snippet parameters \"tplPath\" and \"elementsPath\" are marked as deprecated.\r\n- Added the ability for snippets to return an array of raw data (it is necessary when using the Fenom template engine).\r\n- The settings \"parser_class\" and \"parser_class_path\" will be registered in the core namespace.\r\n- Update the ajax connector.\r\n\r\n2.12.10 pl\r\n==============\r\n- [#308] [pdoPage] Fixed the type of snippet property \"field\"\r\n\r\n2.12.9 pl\r\n==============\r\n- [Fenom] Update to version 2.12.0\r\n\r\n2.12.8 pl\r\n==============\r\n- [pdoPage] Fix reflected XSS in generated meta links\r\n\r\n2.12.7 pl\r\n==============\r\n- Make pdoTools canonical url work with Babel #304\r\n\r\n2.12.6 pl\r\n==============\r\n- [pdoPage] Reverted back #287\r\n\r\n2.12.5 pl\r\n==============\r\n- [Fenom] Added caching dinamic properties to prevent speed degradation.\r\n\r\n2.12.4 pl\r\n==============\r\n- [#290] Improved running snippet via @FILE binding.\r\n- [#296] Fix adding quotes to numeric values.\r\n- [#297] Make cross context weblink url possible.\r\n- [#274] [Fenom] User, resource and context properties are now dinamic.\r\n- [#287] [pdoPage] Remove prev & next meta tags\r\n- [#294] [#298] Improved pdopage.js and updated minified js files\r\n\r\n2.12.3 pl\r\n==============\r\n- Fixed E_NOTICE introduced in #285.\r\n\r\n2.12.2 pl\r\n==============\r\n- Updated chunks for Bootstrap 4.\r\n\r\n2.12.1 pl\r\n==============\r\n- [pdoMenu] Reverted back #283 and fixed docs for &tplCategoryFolder.\r\n- [#284] [Fenom] Fixed properties of $_modx->context variable.\r\n- [#275] [Fenom] Added \"reset\" and \"end\" modifiers.\r\n\r\n2.12.0 pl\r\n==============\r\n- [Fenom] More security fixes from Sergey Shlokov.\r\n- [#278] [pdoPage] Fixed caching.\r\n- [pdoPage] Show internal log on &showLog=`1`.\r\n- [#283] [pdoMenu] Fixed use of &tplCategoryFolder according to docs.\r\n- [#281] [pdoTools] Fixed load of models from case sensitive paths.\r\n- [#277] [pdoCrumbs] Ability to specify &customParents.\r\n- [#265] [pdoFetch] Fixed return of \"Array\" on SQL errors.\r\n\r\n2.11.3 pl\r\n==============\r\n- Added French lexicon entries.\r\n\r\n2.11.2 pl\r\n==============\r\n- Fix detection of element names starting with a number.\r\n\r\n2.11.1 pl\r\n==============\r\n- Faster processing of static files.\r\n\r\n2.11.0 pl\r\n==============\r\n- [pdoFetch] Added \"setTotal\" option to enable calculating all rows (\"SQL_CALC_FOUND_ROWS\"), which will also result in the \"totalVar\" placeholder is being set.\r\n- [pdoFetch] Option \"setTotal\" disabled by default.\r\n- [pdoPage] Forces \"setTotal\" to provide pagination.\r\n\r\n2.10.6 pl\r\n==============\r\n- Improved German lexicons.\r\n\r\n2.10.5 pl\r\n==============\r\n- [pdoTools] Ability to return array from \"prepareSnippet\" for more performance.\r\n- [FenomX] Fixed method \"getStore\".\r\n\r\n2.10.4 pl\r\n==============\r\n- [Fenom] Do not output raw tags if there was a compile errors.\r\n- [#266] [pdoMenu] Fixed the setting of \"here\" and \"self\" classes.\r\n- [#261] [Fenom] Fixed unexpected behavior of the fenom tag \"ignore\".\r\n\r\n2.10.3 pl\r\n==============\r\n- Improved compatibility with PHP 7.2\r\n- [pdoFetch] Ability to use arrays in \"&sortby\".\r\n\r\n2.10.2 pl\r\n==============\r\n- [Fenom] Improved processing of caching snippets inside uncached.\r\n\r\n2.10.1 pl\r\n==============\r\n- [#256] [Fenom] Fixed bug with caching of scripts and styles.\r\n- [pdoPage] \"&setMeta\" now works when \"&cache=`1`\".\r\n- [Fenom] Improved regular expression to detect Fenom syntax.\r\n\r\n2.10.0 pl\r\n==============\r\n- [#259] [pdoFetch] Fixed error when passed pure SQL into \"having\" parameter.\r\n- [#258] [pdoPage] Canonical urls always must be \"full\".\r\n- [#245] [pdoMenu] Ability to use conditional tpls instead of regular \"tpl\".\r\n- [#121] [pdoMenu] Improved work of specified chunks with weblinks.\r\n\r\n2.9.3 pl\r\n==============\r\n- [#255] [Fenom] New system setting \"pdotools_fenom_save_on_errors\" to save code on compilation errors in the cache directory for later debugging.\r\n\r\n2.9.2 pl\r\n==============\r\n- [pdoParser] Proper traversal trough arrays fields of resources in fast tags.\r\n\r\n2.9.1 pl\r\n==============\r\n- [Fenom] Updated to version 2.11.8.\r\n\r\n2.9.0 pl\r\n==============\r\n- [pdoPage] Improved \"&pageLinkScheme\" logic.\r\n- [#249] A little improvement for resource modifier.\r\n- [#251] [pdoFetch] More compatibility with PHP 7.1.\r\n- [#253] [pdoPage] Fixing a missing pagination in Ajax mode.\r\n- [#254] [Fenom] Options of json modifiers must check version of PHP to proper work.\r\n\r\n2.8.6 pl\r\n==============\r\n- [pdoArchive] Ability to specify fields with regular dates in the \"&dateField\" parameter.\r\n- [Fenom] Added all options to json modifiers.\r\n\r\n2.8.5 pl\r\n==============\r\n- [#248] [pdoPage] Fixed E_WARNING with array values in GET parameters.\r\n\r\n2.8.4 pl\r\n==============\r\n- Ability to use file elements in core path outside base path.\r\n- Fixed bug with the caching of elements.\r\n\r\n2.8.3 pl\r\n==============\r\n- [Fenom] Fixed rare bug with the caching of scripts and styles that was registered via Fenom.\r\n- [pdoPage] Fixed the \"?page=1\" in the url when ajaxMode is enabled.\r\n- [pdoPage] Snippet will register \"canonical\" link if \"&setMeta\" is enabled.\r\n- [pdoPage] Fix processing of request with rawurldecode on some servers.\r\n- [pdoTools] Added passing of \"scriptProperties\" values into a \"&prepareSnippet\".\r\n\r\n2.8.2 pl\r\n==============\r\n- [pdoMenu] Fixed the checking of permissions for containers.\r\n- [pdoPage] Added the ability to run files as &element.\r\n- [pdoTools] The method runSnippet will return boolean false if snippet was not found.\r\n- [Fenom] Fixed the possible bugs of caching of scripts and styles.\r\n\r\n2.8.1 pl\r\n==============\r\n- [#244] Fixed possible duplicate of a container in the jquery.pdopage.js.\r\n- Added fallback class for the enable modParser.\r\n\r\n2.8.0 pl\r\n==============\r\n- Ability to use an arrays in the parameters of the snippets.\r\n- Replaced modX::toJSON and modX::fromJSON to native php functions.\r\n\r\n2.7.5 pl\r\n==============\r\n- Fenom is now managed via composer.\r\n- [Fenom] Modifier \"resource\" no longer checks fields of resources in their schema.\r\n- [Fenom] Modifier \"strrev\" now can work with arrays.\r\n- [Fenom] Improved modifier \"ismember\".\r\n\r\n2.7.4 pl\r\n==============\r\n- [#242] Added jquery.pdopage.js plugin and minified versions.\r\n- [#241] [Fenom] Improved the retrieving of TVs for a current resource.\r\n- [pdoFetch] Restored the checking of possible SQL injections in the &sortby with xPDO 2.5.1.\r\n\r\n2.7.3 pl\r\n==============\r\n- Improved compatibility with MODX 2.5.2.\r\n\r\n2.7.2 pl\r\n==============\r\n- [pdoFetch] Some security improvements.\r\n\r\n2.7.1 pl\r\n==============\r\n- Some security improvements in the connector.php.\r\n- Fixed bug with registering scripts in styles via Fenom introduced in version 2.7.0.\r\n\r\n2.7.0 pl\r\n==============\r\n- [Fenom] Updated to the version 2.11.4.\r\n- [Fenom] Fixed resource cache for scripts and styles registered by Fenom.\r\n- [Fenom] Added rand() and number_format() to an allowed PHP functions.\r\n- [Fenom] New output filter \"number\" (or \"number_format\").\r\n\r\n2.6.5 pl\r\n==============\r\n- Fixed undeclared variable (PHP 7.1)\r\n\r\n2.6.4 pl\r\n==============\r\n- Added escaping of a MODX tags that being processed in the &prepareSnippet.\r\n- [#239] Improved work of the &decodeJSON option.\r\n\r\n2.6.3 pl\r\n==============\r\n- Fixed possible E_NOTICE on line 305 pdofetch.class.php.\r\n- Fixed possible E_NOTICE when \"snippet\" and \"chunk\" Fenom modifiers was called.\r\n\r\n2.6.2 pl\r\n==============\r\n- Fixed possible E_NOTICE on line 1317 pdotools.class.php.\r\n\r\n2.6.1 pl\r\n==============\r\n- Improved compatibility with PHP 5.3.\r\n\r\n2.6.0 pl\r\n==============\r\n- [Fenom] The ability to extend Fenom via system event \"pdoToolsOnFenomInit\".\r\n\r\n2.5.6 pl\r\n==============\r\n- [pdoFetch] Ability to join TVs not only to the query main class.\r\n\r\n2.5.5 pl\r\n==============\r\n- Fixed parse of INLINE chunks with \"@\" symbols.\r\n\r\n2.5.4 pl\r\n==============\r\n- [#224] Added microMODX::cleanAlias().\r\n- [#226] [Fenom] Added \"declension\" modifier.\r\n\r\n2.5.3 pl\r\n==============\r\n- [#221] Fixed typo in month name.\r\n- [Fenom] Fixed path to compile dir.\r\n\r\n2.5.2 pl\r\n==============\r\n- [#220] Cache code of snippet with respect to property set.\r\n\r\n2.5.1 pl\r\n==============\r\n- Fixed cache of snippets in pdoTools::runSnippet().\r\n\r\n2.5.0 pl\r\n==============\r\n- Improved support of debugParser.\r\n- [#209] Improved loading of the models.\r\n- [Fenom] New modifiers: \"snippet\" and \"chunk\".\r\n- [Fenom] New elements provider: \"file\".\r\n- New method pdoTools::runSnippet().\r\n\r\n2.4.0 pl\r\n==============\r\n- Added snippet pdoArchive.\r\n- [pdoResources] Faster processing of additional snippet parameters to placeholders.\r\n- [#123] [pdoMenu] Fixed bug with &displayStart and unpublished root nodes.\r\n- [#207] [pdoMenu] Fixed &webLinkClass option.\r\n- [#193] [pdoNeighbors] Added parameter &wrapIfEmpty.\r\n- [#203] [Fenom] Added more PCRE modifiers.\r\n\r\n2.3.5 pl\r\n==============\r\n- [pdoFetch] Added escaping of columns names in query.\r\n\r\n2.3.4 pl\r\n==============\r\n- [#200] [pdoFetch] Fixed &sortbyTV with dot in name.\r\n\r\n2.3.3 pl\r\n==============\r\n- Added system plugin for \"autoload\" of main classes with respect to their paths in system settings.\r\n\r\n2.3.2 pl\r\n==============\r\n- [#196] [pdoPage] Added workaround to support ClientConfig tags in ajax mode.\r\n- [Fenom] Added general MODX output filters as Fenom modifiers.\r\n- [Fenom] Implemented autoload of modifiers from snippets.\r\n- [Fenom] Removed system setting \"pdotools_fenom_modifiers\".\r\n\r\n2.3.1 pl\r\n==============\r\n- [pdoSitemap] Lightning fast work chunks processing with &scheme=`uri`.\r\n- [Fenom] Improved check of syntax before processing.\r\n\r\n2.3.0 pl\r\n==============\r\n- Removed shortcuts from system core.\r\n- PSR-2.\r\n- [Fenom] Added default modifiers: \"url\" and \"lexicon\".\r\n- [pdoCrumbs] Changed default chunks to ul -> li.\r\n- [#190] [pdoSitemap] Changed date format to ISO 8601.\r\n\r\n2.2.8 pl\r\n==============\r\n- [Fenom] Use modResource::getContent() method to get content of current resource in {$_modx->resource}.\r\n\r\n2.2.7 pl\r\n==============\r\n- [pdoPage] Ability to get access to a javascript configs from 3rd party scripts.\r\n\r\n2.2.6 pl\r\n==============\r\n- [#184] [Fenom] Updated to version 2.8.2.\r\n\r\n2.2.5 pl\r\n==============\r\n- [#182] [pdoTitle] Added passing a parameters into nested pdoCrumbs.\r\n- [pdoSitemap] Added processing of MODX tags if needed.\r\n- Added method pdoTools::makeUrl().\r\n- [#181] New url schema type - \"uri\".\r\n\r\n2.2.4 pl\r\n==============\r\n- [Fenom] Fixed speed issues when MODX snippets are run as Fenom modifiers.\r\n- [pdoUsers] Fixed overwrite modUser.id by modUserProfile.id.\r\n\r\n2.2.3 pl\r\n==============\r\n- [pdoPage] Fixed processing of uncached conditions in chunks when ajax mode is enabled.\r\n\r\n2.2.2 pl\r\n==============\r\n- [pdoPage] Added new parameter &pageLinkScheme.\r\n\r\n2.2.1 pl\r\n==============\r\n- [#155] [pdoPage] Added new parameter &ajaxHistory.\r\n- [pdoPage] Added connector for requests in ajax mode.\r\n\r\n2.2.0 pl\r\n==============\r\n- [#175] [pdoFetch] Ability to specify sequence of table joins.\r\n- [#174] [Fenom] Ability to add Fenom modifiers into pdoParser.\r\n\r\n2.1.21 pl\r\n==============\r\n- [#175] [pdoFetch] Ability to specify sequence of table joins.\r\n- [#176] [pdoUsers] Fixed &toPlaceholders with &returnIds.\r\n\r\n2.1.20 pl\r\n==============\r\n- [pdoSitemap] Fixed default &cacheKey.\r\n\r\n2.1.19 pl\r\n==============\r\n- [Fenom] Disabled $options in cacheManager::set() due to security reasons.\r\n\r\n2.1.18 pl\r\n==============\r\n- [Fenom] Fixed ability to access to the modX object from {$_modx} variable.\r\n- [Fenom] Improved method {$_modx->runProcessor()}.\r\n\r\n2.1.17 pl\r\n==============\r\n- [Fenom] Added {$_modx->getResource($id, $options)}.\r\n- [Fenom] Added {$_modx->getResources($where, $options)}.\r\n- [Fenom] Improved support of debugParser.\r\n\r\n2.1.16 pl\r\n==============\r\n- [Fenom] Added {$_modx->isMember($groups, $matchAll)}.\r\n- [Fenom] Added {$_modx->getPlaceholders()}.\r\n\r\n2.1.15 pl\r\n==============\r\n- [pdoPage] Added parameter &strictMode.\r\n\r\n2.1.14 pl\r\n==============\r\n- [pdoSitemap] Added options for cache snippets results.\r\n- [pdoSitemap] Cache enabled by default.\r\n\r\n2.1.13 pl\r\n==============\r\n- [#163] Fixed ignoring of &idx in pdoResources and pdoUsers.\r\n\r\n2.1.12 pl\r\n==============\r\n- [pdoPage] [#161] Fixed support of arrays in hash when &ajaxMode is enabled.\r\n\r\n2.1.11 pl\r\n==============\r\n- [#150] [Fenom] Fixed processing of TVs values in a {$_modx->resource}.\r\n- [#147] [pdoSitemap] Fixed possible duplicates in sitemap.\r\n- [pdoPage] Support of arrays in hash when &ajaxMode is enabled.\r\n\r\n2.1.10 pl\r\n==============\r\n- [#157] [Fenom] Fixed pre-processing of Fenom tags in extending templates and chunks.\r\n- [#145] [pdoPage] Rolled back #81 due to issues with complicate forms.\r\n\r\n2.1.9 pl\r\n==============\r\n- [#144] [pdoParser] Leave unprocessed FastField tags so other components could parse them.\r\n- [pdoFetch] Updated syntax for \"SET SQL_BIG_SELECTS = 1\".\r\n\r\n2.1.8 pl\r\n==============\r\n- [Fenom] Ability to use id of chunks and templates in {include} and {extends}.\r\n- [Fenom] Added support of debugParser.\r\n- [Fenom] Added {$_modx->getChildIds()} and {$_modx->getParentIds()}.\r\n\r\n2.1.7 pl\r\n==============\r\n- Fixed work with integer values from system setting \"link_tag_scheme\".\r\n\r\n2.1.6 pl\r\n==============\r\n- [Fenom] Updated to version 2.8.0.\r\n- [Fenom] Improved check of syntax to process content of chunks.\r\n- [pdoParser] Fixed E_WARNING on line 50 introduced in previous version.\r\n\r\n2.1.5 pl\r\n==============\r\n- [Fenom] Fixed register of scripts and styles by cached snippets.\r\n\r\n2.1.4 pl\r\n==============\r\n- [Fenom] Fixed TVs in {$_modx->resource}\r\n- [Fenom] Added new method {$_modx->getInfo()}\r\n\r\n2.1.3 pl\r\n==============\r\n- Improved work of system setting \"pdotools_fenom_php\".\r\n\r\n2.1.2 pl\r\n==============\r\n- [Fenom] Replaced {$_modx->placeholders} to functions.\r\n\r\n2.1.1 pl\r\n==============\r\n- pdoParser enabled by default.\r\n- [Fenom] Fixed return content in {$_modx->getChunk}.\r\n- [Fenom] Added cache for snippets called through {$_modx->runSnippet}.\r\n- [pdoTools] Added processing of property sets for chunks.\r\n- [pdoResources] Set additionalPlaceholders in &tplWrapper\r\n\r\n2.1.0 pl\r\n==============\r\n- [Fenom] Updated Fenom to version 2.7.1.\r\n- [Fenom] Added safe system variable {$_modx}.\r\n- [Fenom] Added MODX template provider for chunks and templates.\r\n\r\n2.0.5 pl\r\n==============\r\n- [#132] Fixed possible E_WARNING on empty chunks.\r\n- [#122] Ability to use 3rd party pdoPage and pdoMenu classes.\r\n- [#118] [pdoPage] Fixed parameter &offset.\r\n- [pdoPage] Fixed default CSS classes in \"empty\" chunks.\r\n\r\n2.0.4 pl\r\n==============\r\n- Fixed processing of \"pdotools_fenom_cache\" system setting.\r\n\r\n2.0.3 pl\r\n==============\r\n- [#125] [pdoTitle] Fixed parameter &id.\r\n\r\n2.0.2 pl\r\n==============\r\n- Improved processing of @FILE binding.\r\n\r\n2.0.1 pl\r\n==============\r\n- Fixed possible E_WARNING on line 319 and 349 of pdoTools class.\r\n- Disabled system option \"pdotools_fenom_modx\" by default due to security issues.\r\n\r\n2.0.0 pl\r\n==============\r\n- New system settings to control the Fenom.\r\n- Ability to enable caching of Fenom compiled chunks.\r\n- Improved handling of parameter \"cache_key\".\r\n- [pdoMenu] Improved work when &cache is enabled.\r\n\r\n2.0.0 rc2\r\n==============\r\n- Compiled Fenom templates cached to RAM instead of HDD.\r\n- Removed plugin pdoTools.\r\n\r\n2.0.0 rc1\r\n==============\r\n- Added Fenom template engine.\r\n- Fenom enabled by default.\r\n- pdoParser uses Fenom to process pages.\r\n\r\n1.11.2 pl\r\n==============\r\n- [#116] [pdoTitle] Disabled &register_js by default.\r\n\r\n1.11.1 pl\r\n==============\r\n- [pdoSitemap] Fixed default url scheme after last update.\r\n\r\n1.11.0 pl1\r\n==============\r\n- [pdoTitle] Added new snippet.\r\n- [pdoPage] Added support of snippet pdoTitle when &ajaxMode is enabled.\r\n- [pdoPage] Prevent overwriting of scripts and styles of nested &element by default parameters.\r\n- [pdoPage] Added triggering javascript event \"pdopage_load\".\r\n\r\n1.10.2 pl1\r\n==============\r\n- [#112] Parameter &scheme was set to system default in all snippets.\r\n- [#111] [pdoPage] Added ability to set \"prev\" & \"next\" meta tags.\r\n- [#107] [pdoNeighbors] Added ability to specify &parents for work.\r\n- [#106] [pdoMenu] Fixed \"hereClass\" and \"selfClass\" enabled &useWeblinkUrl parameter.\r\n- [#104] [pdoMenu] Snippet now using \"pagetitle\" for link titles if \"titleOfLinks\" is empty.\r\n\r\n1.10.1 pl\r\n==============\r\n- [#108] [pdoFetch] Fixed E_ERROR when using &sortbyTV.\r\n- [pdoFetch] Added new parameter &sortbyTVType.\r\n- [pdoFetch] If &sortdirTV is not set it will be equal to &sortdir.\r\n\r\n1.10.0 pl\r\n==============\r\n- [pdoMenu] Returned and fixed parameter &showDeleted.\r\n- [pdoPage] Improved default javascript.\r\n- [pdoPage] Fixed overwriting &frontend_js and &frontend_css parameters when &ajax is disabled.\r\n- [pdoFetch] Ability to specify functions in select fields.\r\n- [pdoTools] Ability to use compound quick placeholders.\r\n\r\n1.10.0 beta4\r\n==============\r\n- [pdoPage] Ajax pagination out from the box.\r\n- [pdoFetch] Improved log of getCollection.\r\n- [pdoTools] Added tplOperator \"contains\".\r\n\r\n1.9.7 pl\r\n==============\r\n- [#99] [pdoFetch] Fixed returning of primary key in \"ids\" mode.\r\n- [#97] [pdoTools] Fixed default tplPath for @FILE chunks.\r\n- [#85] [pdoFetch] Added function getChildIds().\r\n- [pdoFetch] Disabled \"total\" placeholder for &return=`ids`.\r\n\r\n1.9.6 pl2\r\n==============\r\n- [pdoFetch] Fixed exclusion of field \"id\" in custom classes.\r\n- [pdoMenu] Improved parameter &countChildren.\r\n- [#100] [pdoMenu] Removed parameter &showDeleted because it not working.\r\n\r\n1.9.6 rc\r\n==============\r\n- Added execution of SQL_BIG_SELECTS = 1 before query.\r\n- [pdoPage] Added parameter &ajax for supporting of ajax requests.\r\n\r\n1.9.5 pl1\r\n==============\r\n- Rolled back #72 due to issues in pdoMenu.\r\n\r\n1.9.5 pl\r\n==============\r\n- Added ability to return JSON or serialized string from pdoFetch::run().\r\n- [#83] [pdoMenu] Added level placeholder to outer templates.\r\n- [#82] [pdoFetch] Added support for complex &where parameter.\r\n- [#81] [pdoPage] Improved handling of arrays in url.\r\n- [#77] Fixed making of url for modWebLink to another context.\r\n- [#72] [pdoTools] Fixed order for children of excluded parents in buildTree.\r\n- [#60] [pdoMenu] Fixed parameter &tplCategoryFolder.\r\n- [#57] [pdoMenu] Improved placeholder [[+children]].\r\n- [#57] [pdoMenu] Added parameter &countChildren.\r\n\r\n1.9.4 pl1\r\n==============\r\n- [#78] [pdoNeighbors] Added parameter &loop=`1` for looping links.\r\n- [pdoSitemap] Fixed possible E_FATAL php-apc.\r\n\r\n1.9.3 pl1\r\n==============\r\n- [pdoTools] Ability to specify value for empty quick placeholders.\r\n- [pdoTools] Ability to use INLINE snippets and filters.\r\n- [pdoFetch] Improved loading of 3rd party models.\r\n- [pdoPage] Fixed E_WARNING when &limit=`0`.\r\n\r\n1.9.2 pl2\r\n==============\r\n- [#56] [pdoParser] Fixed wrong links processing.\r\n- [#53] Improved loading of classes.\r\n- [pdoField] Rolled back to original logic of \"top\" and \"topLevel\" parameters due to issues.\r\n- [pdoField] Added parameter \"ultimate\" to emulate logic of UltimateParent.\r\n\r\n1.9.1 pl6\r\n==============\r\n- [pdoFetch] Adding alias of main class of query to \"sortby\" if no alias exists.\r\n- [pdoFetch] Improved selecting of all fields of class with specified alias.\r\n- [pdoField] Parameter \"topLevel\" works exactly as in UltimateParent.\r\n- [pdoField] Parameter \"top\" without \"topLevel\" returns parent on \"top\" level.\r\n\r\n1.9.1 pl\r\n==============\r\n- [#47] [pdoMenu] Fixed processing &tplOuter when output is empty.\r\n- [#46] [pdoParser] Fixed processing of TVs with dots in name.\r\n- [#44] [pdoMenu] Improved handling of Wayfinder parameters \"includeDocs\" and \"excludeDocs\".\r\n- [#37] [pdoField] get the default, only if the field was empty.\r\n- [#34] Fixed processing of \"modSymLink\" documents.\r\n- [#32] Improved cache methods.\r\n- [#26] Replaced FIND_IN_SET() to FIELD().\r\n- [pdoFetch] Ability to work with objects, that has multiple primary keys.\r\n- [pdoPage] New parameter &cacheAnonymous.\r\n- [pdoMenu] New parameter &cacheAnonymous.\r\n- Added aliases for sort query in order of specified &resources: \"ids\" or \"resources\".\r\n- Removed unnecessary query in pdoFetch::getCollection().\r\n- Improved pdoFetch::getCollection().\r\n- Renamed pdoFetch::getObject() to getArray(). Now it uses getCollection for retrieve results.\r\n- pdoTools::setCache() now returns cacheKey.\r\n- pdoFetch::getObject() is now alias of pdoFetch::getArray().\r\n\r\n1.9.0 pl2\r\n==============\r\n- [pdoMenu] Chunks of parents and categories are now depends on the descendants and ignores parameter isfolder.\r\n- [pdoNeighbors] Speed improvements.\r\n- [#27] Ability to specify custom pdoFetch and pdoTools classes through FQN system settings.\r\n- [pdoParser] Handles TVs in resource tags.\r\n- [pdoParser] Handles output filters.\r\n- [pdoFetch] Improved method \"addTVFilters\", that used by \"tvFilters\" parameter in pdoResources.\r\n- [pdoSitemap] Pass the whole row so we can use more columns.\r\n\r\n1.9.0 rc\r\n==============\r\n- Improved method pdoTools::getChunk().\r\n- Improved method pdoTools::parseChunk().\r\n- Improved method pdoTools::fastProcess().\r\n- Improved method pdoTools::makePlaceholders().\r\n- Accelerated snippet pdoNeighbors.\r\n- Fixed bug in pdoUsers when usersgroups was specified by names.\r\n- getObject and getCollection() runs in separate instance.\r\n- Added pdoParser with FastField tags.\r\n- [pdoPage] Changed default value of parameter \"totalVar\" due to issues.\r\n- [#24] Fixed prepareTVs and empty tvPrefix.\r\n- [#23] [pdoResources] Ability to return ids to placeholder.\r\n- Fixed warning when getObject returns false.\r\n- Fixed placeholders prefix in recursive makePlaceholders.\r\n\r\n1.8.9 pl4\r\n==============\r\n- Added german lexicon.\r\n- [#20] Ability to specify not JSON string in &where=``.\r\n- [pdoPage] Added parameter \"pageCountVar\" for specifying name of variable with number of pages.\r\n- [pdoPage] Support Bootstrap3.\r\n- [pdoField] Ability to specify class for fetching field.\r\n- Improved joining of tables in pdoFetch.\r\n- Added preparing and processing TVs in getObject and getCollection methods.\r\n- Improved load of 3rd party models.\r\n\r\n1.8.8 pl2\r\n==============\r\n- Rewrited cache of snippets \"pdoMenu\" and \"pdoPage\".\r\n- New methods pdoTools::getCache() and pdoTools::setCache().\r\n- [pdoMenu] Fixed parameter \"tplParentRowActive\".\r\n- [#18] Fixed \"idx\" in pdoTools::defineChunk().\r\n\r\n1.8.7 pl\r\n==============\r\n- Added boolean parameter \"decodeJSON\" to specify whether or not decode JSON in results rows.\r\n- Removed default \"sortby\" and \"sortdir\" from class pdoFetch for better work of getCollection() method.\r\n\r\n1.8.6 pl2\r\n==============\r\n- Fixed possibly E_NOTICE when site has no extension packages installed.\r\n- [#17] [pdoMenu] Added placeholder [[+wf.menutitle]].\r\n- [#16] [pdoMenu] Disabled status verification of specified parents.\r\n- [#13] [pdoMenu] Improved work with root of multiple contexts.\r\n- [pdoMenu] Fixed bug when specified parent has only the one child.\r\n- [pdoResources] Added parameter \"&useWeblink\" and placeholder \"[[+link]]\". It is disabled by default.\r\n\r\n1.8.5 pl\r\n==============\r\n- [#15] [pdoPage] Improved generation of links to pages.\r\n- [pdoMenu] Improved processing of classes \"modSymlink\" and \"modWeblink\".\r\n- [pdoBreadcrumbs] Improved processing of classes \"modSymlink\" and \"modWeblink\". Added parameter \"&useWeblink\".\r\n- [pdoNeighbors] Added parameter \"&useWeblink\" and placeholder \"[[+link]]\".\r\n- [pdoSitemap] Added parameter \"&useWeblink\" and proper processing of classes \"modSymlink\" and \"modWeblink\".\r\n\r\n1.8.4 pl\r\n==============\r\n- [pdoCrumbs] Added ability to specify the crumbs root (defaulting to site_start)\r\n- [pdoCrumbs] Added ability to specify class_key (ie. to generate crumbs only for derivative classes)\r\n- More accuracy when try to decode json in fetch results.\r\n\r\n1.8.3 pl3\r\n==============\r\n- Improved preparation of template variables.\r\n- Improved transfer of additional parameters from snippet to results.\r\n- [pdoMenu] Added lexicon entries for parameters.\r\n- [pdoMenu] Allow to specify \"limit\" and \"offset\".\r\n- [#12] Added parameter \"toPlaceholder\".\r\n- Increased accuracy of timings log.\r\n\r\n1.8.1 pl2\r\n==============\r\n- Accelerated method pdoTools::getChunk().\r\n- Added snippet pdoMenu.\r\n- Added support for tags [^qt^] and [^q^].\r\n\r\n1.8.0 pl\r\n==============\r\n- [#10] [pdoPage] Added placeholder \"page\".\r\n- [#9] [pdoPage] Added placeholder \"pageCount\".\r\n- [#8] Improved support of big numbers when sorting by TVs.\r\n- Fixed work of pdoPage when it called multiple times on page.\r\n- Fixed mistype in pdoFetch::getCollection().\r\n\r\n1.8.0 rc5\r\n==============\r\n- Added processing of JSON fields. For example, you can use [[+extended.keyname]] in chunks of pdoUsers.\r\n- pdoTools was removed from system extension packages, but you can still use \"$modx->getService(\'pdoFetch\');\".\r\n- Fixed getting chunk without any parameters.\r\n- Added snippet pdoPage.\r\n\r\n1.8.0 beta1\r\n==============\r\n- Improved handling of \"default_text\" parameter in TVs.\r\n- Fixed and improved method pdoTools::buildTree().\r\n- The logic of build the conditions of the query moved into new method pdoFetch::additionalConditions().\r\n- Improved method pdoFetch::addSelects().\r\n- Improved method pdoFetch::addSort().\r\n- Improved some snippets in accordance to new abilities of pdoFetch: pdoResources, pdoNeighbors and pdoSitemap.\r\n\r\n1.7.4 pl\r\n==============\r\n- [#7] [pdoSitemap] Fixed hidden parameters \"&sortBy\" and \"&sortDir\" that used for compatibility with GoogleSiteMap.\r\n\r\n1.7.3 pl1\r\n==============\r\n- [pdoCrumbs] Fixed possible E_NOTICE on line 157.\r\n- [pdoCrumbs] Fixed generation of link to site start in relative mode.\r\n- [#6] pdoCrumbs and pdoNeighbors are now uses \"menutitle\" by default. If it is empty, will be used \"pagetitle\".\r\n\r\n1.7.2 pl1\r\n==============\r\n- [pdoField] Added new parameters: \"default=``\" and \"&field=``\".\r\n- [pdoField] Improved logic of \"&top=``\" and \"&topLevel=``\".\r\n- Added 2 new methods: pdoFetch::getObject() and pdoFetch::getCollection().\r\n- Ability to send arrays into common config parameters. JSON is still supported.\r\n- Improved select of default values in TVs.\r\n\r\n1.7.1 pl\r\n==============\r\n- [pdoCrumbs] Fixed work with \"modSymLink\" and \"modWebLink\" resources.\r\n\r\n1.7.0 pl1\r\n==============\r\n- New snippet pdoCrumbs.\r\n- New snippet pdoField.\r\n- New snippet pdoSitemap.\r\n- New snippet pdoNeighbors.\r\n- Ability to specify snippet for preparation of fetched rows by parameter \"&prepareSnippet=``\".\r\n- Added method pdoTools::checkPermissions() for checking user privileges to view the results.\r\n- Added @TEMPLATE binding. You can use name or id of any template. If empty - will use template of each row.\r\n- [pdoResources] Improved parameter \"&context\".\r\n- [pdoResources] Script properties are now passed to chunks. You can send any placeholders to it.\r\n\r\n1.6.0 pl1\r\n==============\r\n- Fixed compatibility issues in PHP < 5.3.\r\n\r\n1.6.0 pl\r\n==============\r\n- Added parameter \"&loadModels\" for comma-separated list of 3rd party components that needed for query.\r\n- Added parameters \"&prepareTVs\" and \"&processTVs\".\r\n- Added parameters \"&tvFilters\", \"&tvFiltersAndDelimiter\" and \"&tvFiltersAndDelimiter\".\r\n- Added support of parameters \"&sortbyTV\" and \"&sortdirTV\" for compatibility with getResources.\r\n- Added ability to use @INLINE and @FILE bindings in all template parameters.\r\n- Removed method pdoTools::getPlaceholders.\r\n\r\n1.5.0 pl2\r\n==============\r\n- Fixed sort of decimals in TVs.\r\n\r\n1.5.0 pl1\r\n==============\r\n- Added processing of simple [[~id]] placeholders in fastMode.\r\n- Added support of default value for TVs.\r\n- Improved sort by TVs of types \"number\" and \"date\".\r\n\r\n1.5.0 rc\r\n==============\r\n- [pdoUsers] Added new snippet \"pdoUsers\".\r\n- [pdoResources] Fixed \"toSeparatePlaceholders\".\r\n- [pdoResources] Parameter \"parents\" now supports dash prefix for excluding resources from query by parent.\r\n- [pdoResources] Fixed issue when snippet runs multiple times at one page.\r\n\r\n1.4.1 pl1\r\n==============\r\n- Improved \"context\" processing.\r\n- Fixed \"idx\" when multiple snippets called at one page.\r\n- Fixed default sortby when joined tables exists.\r\n\r\n1.4.1 beta3\r\n==============\r\n- Added parameters \"tplCondition\", \"tplOperator\" and \"conditionalTpls\".\r\n- Added parameter \"select\" for specifying needed columns of selected tables. Can be a JSON string with array.\r\n- Added parameter \"toSeparatePlaceholders\".\r\n- Improved \"pdoResources\" snippet.\r\n\r\n1.4.0 beta1\r\n==============\r\n- Ability to specify JSON string in \"sortby\", for example \"&sortby=`{\"pagetitle\":\"asc\",\"createdon\":\"desc\"}`\"\r\n- Added automatic replacement of tvs in \"where\" and \"having\" parameters.\r\n- Added automatic replacement of tvs in \"sortby\" parameter.\r\n- Removed example snippet\r\n- Added snippet \"pdoResources\", that could replace \"getResources\".\r\n- Added method pdoTools::defineChunk() for chunk of given idx.\r\n- Added \"memory usage\" in log.\r\n\r\n1.3.0\r\n==============\r\n- Improved placeholders processing when fastMode is enabled.\r\n- Added support of \"having\" conditions.\r\n\r\n1.2.1\r\n==============\r\n- Fixed not working \"includeTVs\" when \"leftJoin\" is empty.\r\n\r\n1.2.0\r\n==============\r\n- Native render of quick placeholders, such as \"<!--pdotools_introtext <blockquote>[[+introtext]]</blockquote>-->\".\r\n- Added joining of TVs in pdoFetch. Use parameter \"includeTVs\" with comma-separated list of template variables.\r\n- Added method pdoFetch::setConfig() for proper setting options when you run multiple pdoTools snippets at the one page.\r\n- Method pdoTools::makeArray is now recursive, for processing a multidimensional arrays of values.\r\n\r\n1.1.0\r\n==============\r\n- Improved getChunk function.\r\n\r\n1.0.1\r\n==============\r\n- Fixed setting total in \"chunks\" mode.\r\n- Improved displaying \"where\" condition in log.\r\n\r\n1.0.0\r\n==============\r\n- Initial release.\";s:7:\"license\";s:15504:\"GNU GENERAL PUBLIC LICENSE\r\n   Version 2, June 1991\r\n--------------------------\r\n\r\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\r\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r\n\r\nEveryone is permitted to copy and distribute verbatim copies\r\nof this license document, but changing it is not allowed.\r\n\r\nPreamble\r\n--------\r\n\r\n  The licenses for most software are designed to take away your\r\nfreedom to share and change it.  By contrast, the GNU General Public\r\nLicense is intended to guarantee your freedom to share and change free\r\nsoftware--to make sure the software is free for all its users.  This\r\nGeneral Public License applies to most of the Free Software\r\nFoundation\'s software and to any other program whose authors commit to\r\nusing it.  (Some other Free Software Foundation software is covered by\r\nthe GNU Library General Public License instead.)  You can apply it to\r\nyour programs, too.\r\n\r\n  When we speak of free software, we are referring to freedom, not\r\nprice.  Our General Public Licenses are designed to make sure that you\r\nhave the freedom to distribute copies of free software (and charge for\r\nthis service if you wish), that you receive source code or can get it\r\nif you want it, that you can change the software or use pieces of it\r\nin new free programs; and that you know you can do these things.\r\n\r\n  To protect your rights, we need to make restrictions that forbid\r\nanyone to deny you these rights or to ask you to surrender the rights.\r\nThese restrictions translate to certain responsibilities for you if you\r\ndistribute copies of the software, or if you modify it.\r\n\r\n  For example, if you distribute copies of such a program, whether\r\ngratis or for a fee, you must give the recipients all the rights that\r\nyou have.  You must make sure that they, too, receive or can get the\r\nsource code.  And you must show them these terms so they know their\r\nrights.\r\n\r\n  We protect your rights with two steps: (1) copyright the software, and\r\n(2) offer you this license which gives you legal permission to copy,\r\ndistribute and/or modify the software.\r\n\r\n  Also, for each author\'s protection and ours, we want to make certain\r\nthat everyone understands that there is no warranty for this free\r\nsoftware.  If the software is modified by someone else and passed on, we\r\nwant its recipients to know that what they have is not the original, so\r\nthat any problems introduced by others will not reflect on the original\r\nauthors\' reputations.\r\n\r\n  Finally, any free program is threatened constantly by software\r\npatents.  We wish to avoid the danger that redistributors of a free\r\nprogram will individually obtain patent licenses, in effect making the\r\nprogram proprietary.  To prevent this, we have made it clear that any\r\npatent must be licensed for everyone\'s free use or not licensed at all.\r\n\r\n  The precise terms and conditions for copying, distribution and\r\nmodification follow.\r\n\r\n\r\nGNU GENERAL PUBLIC LICENSE\r\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\r\n---------------------------------------------------------------\r\n\r\n  0. This License applies to any program or other work which contains\r\na notice placed by the copyright holder saying it may be distributed\r\nunder the terms of this General Public License.  The \"Program\", below,\r\nrefers to any such program or work, and a \"work based on the Program\"\r\nmeans either the Program or any derivative work under copyright law:\r\nthat is to say, a work containing the Program or a portion of it,\r\neither verbatim or with modifications and/or translated into another\r\nlanguage.  (Hereinafter, translation is included without limitation in\r\nthe term \"modification\".)  Each licensee is addressed as \"you\".\r\n\r\nActivities other than copying, distribution and modification are not\r\ncovered by this License; they are outside its scope.  The act of\r\nrunning the Program is not restricted, and the output from the Program\r\nis covered only if its contents constitute a work based on the\r\nProgram (independent of having been made by running the Program).\r\nWhether that is true depends on what the Program does.\r\n\r\n  1. You may copy and distribute verbatim copies of the Program\'s\r\nsource code as you receive it, in any medium, provided that you\r\nconspicuously and appropriately publish on each copy an appropriate\r\ncopyright notice and disclaimer of warranty; keep intact all the\r\nnotices that refer to this License and to the absence of any warranty;\r\nand give any other recipients of the Program a copy of this License\r\nalong with the Program.\r\n\r\nYou may charge a fee for the physical act of transferring a copy, and\r\nyou may at your option offer warranty protection in exchange for a fee.\r\n\r\n  2. You may modify your copy or copies of the Program or any portion\r\nof it, thus forming a work based on the Program, and copy and\r\ndistribute such modifications or work under the terms of Section 1\r\nabove, provided that you also meet all of these conditions:\r\n\r\n    a) You must cause the modified files to carry prominent notices\r\n    stating that you changed the files and the date of any change.\r\n\r\n    b) You must cause any work that you distribute or publish, that in\r\n    whole or in part contains or is derived from the Program or any\r\n    part thereof, to be licensed as a whole at no charge to all third\r\n    parties under the terms of this License.\r\n\r\n    c) If the modified program normally reads commands interactively\r\n    when run, you must cause it, when started running for such\r\n    interactive use in the most ordinary way, to print or display an\r\n    announcement including an appropriate copyright notice and a\r\n    notice that there is no warranty (or else, saying that you provide\r\n    a warranty) and that users may redistribute the program under\r\n    these conditions, and telling the user how to view a copy of this\r\n    License.  (Exception: if the Program itself is interactive but\r\n    does not normally print such an announcement, your work based on\r\n    the Program is not required to print an announcement.)\r\n\r\nThese requirements apply to the modified work as a whole.  If\r\nidentifiable sections of that work are not derived from the Program,\r\nand can be reasonably considered independent and separate works in\r\nthemselves, then this License, and its terms, do not apply to those\r\nsections when you distribute them as separate works.  But when you\r\ndistribute the same sections as part of a whole which is a work based\r\non the Program, the distribution of the whole must be on the terms of\r\nthis License, whose permissions for other licensees extend to the\r\nentire whole, and thus to each and every part regardless of who wrote it.\r\n\r\nThus, it is not the intent of this section to claim rights or contest\r\nyour rights to work written entirely by you; rather, the intent is to\r\nexercise the right to control the distribution of derivative or\r\ncollective works based on the Program.\r\n\r\nIn addition, mere aggregation of another work not based on the Program\r\nwith the Program (or with a work based on the Program) on a volume of\r\na storage or distribution medium does not bring the other work under\r\nthe scope of this License.\r\n\r\n  3. You may copy and distribute the Program (or a work based on it,\r\nunder Section 2) in object code or executable form under the terms of\r\nSections 1 and 2 above provided that you also do one of the following:\r\n\r\n    a) Accompany it with the complete corresponding machine-readable\r\n    source code, which must be distributed under the terms of Sections\r\n    1 and 2 above on a medium customarily used for software interchange; or,\r\n\r\n    b) Accompany it with a written offer, valid for at least three\r\n    years, to give any third party, for a charge no more than your\r\n    cost of physically performing source distribution, a complete\r\n    machine-readable copy of the corresponding source code, to be\r\n    distributed under the terms of Sections 1 and 2 above on a medium\r\n    customarily used for software interchange; or,\r\n\r\n    c) Accompany it with the information you received as to the offer\r\n    to distribute corresponding source code.  (This alternative is\r\n    allowed only for noncommercial distribution and only if you\r\n    received the program in object code or executable form with such\r\n    an offer, in accord with Subsection b above.)\r\n\r\nThe source code for a work means the preferred form of the work for\r\nmaking modifications to it.  For an executable work, complete source\r\ncode means all the source code for all modules it contains, plus any\r\nassociated interface definition files, plus the scripts used to\r\ncontrol compilation and installation of the executable.  However, as a\r\nspecial exception, the source code distributed need not include\r\nanything that is normally distributed (in either source or binary\r\nform) with the major components (compiler, kernel, and so on) of the\r\noperating system on which the executable runs, unless that component\r\nitself accompanies the executable.\r\n\r\nIf distribution of executable or object code is made by offering\r\naccess to copy from a designated place, then offering equivalent\r\naccess to copy the source code from the same place counts as\r\ndistribution of the source code, even though third parties are not\r\ncompelled to copy the source along with the object code.\r\n\r\n  4. You may not copy, modify, sublicense, or distribute the Program\r\nexcept as expressly provided under this License.  Any attempt\r\notherwise to copy, modify, sublicense or distribute the Program is\r\nvoid, and will automatically terminate your rights under this License.\r\nHowever, parties who have received copies, or rights, from you under\r\nthis License will not have their licenses terminated so long as such\r\nparties remain in full compliance.\r\n\r\n  5. You are not required to accept this License, since you have not\r\nsigned it.  However, nothing else grants you permission to modify or\r\ndistribute the Program or its derivative works.  These actions are\r\nprohibited by law if you do not accept this License.  Therefore, by\r\nmodifying or distributing the Program (or any work based on the\r\nProgram), you indicate your acceptance of this License to do so, and\r\nall its terms and conditions for copying, distributing or modifying\r\nthe Program or works based on it.\r\n\r\n  6. Each time you redistribute the Program (or any work based on the\r\nProgram), the recipient automatically receives a license from the\r\noriginal licensor to copy, distribute or modify the Program subject to\r\nthese terms and conditions.  You may not impose any further\r\nrestrictions on the recipients\' exercise of the rights granted herein.\r\nYou are not responsible for enforcing compliance by third parties to\r\nthis License.\r\n\r\n  7. If, as a consequence of a court judgment or allegation of patent\r\ninfringement or for any other reason (not limited to patent issues),\r\nconditions are imposed on you (whether by court order, agreement or\r\notherwise) that contradict the conditions of this License, they do not\r\nexcuse you from the conditions of this License.  If you cannot\r\ndistribute so as to satisfy simultaneously your obligations under this\r\nLicense and any other pertinent obligations, then as a consequence you\r\nmay not distribute the Program at all.  For example, if a patent\r\nlicense would not permit royalty-free redistribution of the Program by\r\nall those who receive copies directly or indirectly through you, then\r\nthe only way you could satisfy both it and this License would be to\r\nrefrain entirely from distribution of the Program.\r\n\r\nIf any portion of this section is held invalid or unenforceable under\r\nany particular circumstance, the balance of the section is intended to\r\napply and the section as a whole is intended to apply in other\r\ncircumstances.\r\n\r\nIt is not the purpose of this section to induce you to infringe any\r\npatents or other property right claims or to contest validity of any\r\nsuch claims; this section has the sole purpose of protecting the\r\nintegrity of the free software distribution system, which is\r\nimplemented by public license practices.  Many people have made\r\ngenerous contributions to the wide range of software distributed\r\nthrough that system in reliance on consistent application of that\r\nsystem; it is up to the author/donor to decide if he or she is willing\r\nto distribute software through any other system and a licensee cannot\r\nimpose that choice.\r\n\r\nThis section is intended to make thoroughly clear what is believed to\r\nbe a consequence of the rest of this License.\r\n\r\n  8. If the distribution and/or use of the Program is restricted in\r\ncertain countries either by patents or by copyrighted interfaces, the\r\noriginal copyright holder who places the Program under this License\r\nmay add an explicit geographical distribution limitation excluding\r\nthose countries, so that distribution is permitted only in or among\r\ncountries not thus excluded.  In such case, this License incorporates\r\nthe limitation as if written in the body of this License.\r\n\r\n  9. The Free Software Foundation may publish revised and/or new versions\r\nof the General Public License from time to time.  Such new versions will\r\nbe similar in spirit to the present version, but may differ in detail to\r\naddress new problems or concerns.\r\n\r\nEach version is given a distinguishing version number.  If the Program\r\nspecifies a version number of this License which applies to it and \"any\r\nlater version\", you have the option of following the terms and conditions\r\neither of that version or of any later version published by the Free\r\nSoftware Foundation.  If the Program does not specify a version number of\r\nthis License, you may choose any version ever published by the Free Software\r\nFoundation.\r\n\r\n  10. If you wish to incorporate parts of the Program into other free\r\nprograms whose distribution conditions are different, write to the author\r\nto ask for permission.  For software which is copyrighted by the Free\r\nSoftware Foundation, write to the Free Software Foundation; we sometimes\r\nmake exceptions for this.  Our decision will be guided by the two goals\r\nof preserving the free status of all derivatives of our free software and\r\nof promoting the sharing and reuse of software generally.\r\n\r\nNO WARRANTY\r\n-----------\r\n\r\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\r\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\r\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\r\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\r\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\r\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\r\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\r\nREPAIR OR CORRECTION.\r\n\r\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\r\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\r\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\r\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\r\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\r\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\r\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\r\nPOSSIBILITY OF SUCH DAMAGES.\r\n\r\n---------------------------\r\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:666:\"--------------------\r\npdoTools\r\n--------------------\r\nAuthor: Vasiliy Naumkin <bezumkin@yandex.ru>\r\n--------------------\r\n\r\nSmall library for creating fast snippets for MODX Revolution that works through PDO.\r\n\r\nRequired by Tickets and miniShop2.\r\n\r\nMain features\r\n- Builds queries with xPDO.\r\n- Retrieve results with PDO.\r\n- Improved pdoTools::getChunk() function, that processing placeholders faster, than original modX::getChunk().\r\n\r\npdoTools snippets will work so faster, than more fields you will retrieve from database at one query.\r\n\r\n--------------------\r\nFeel free to suggest ideas/improvements/bugs on GitHub:\r\nhttp://github.com/bezumkin/pdoTools/issues\r\n\";s:9:\"signature\";s:18:\"pdotools-2.13.2-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:46:\"/workspace/package/install/pdotools-2.13.2-pl/\";s:14:\"package_action\";i:1;}','pdoTools','a:35:{s:2:\"id\";s:1:\"6\";s:10:\"repository\";s:1:\"1\";s:4:\"name\";s:8:\"pdoTools\";s:9:\"createdby\";s:3:\"121\";s:9:\"createdon\";s:19:\"2013-05-14 17:36:22\";s:8:\"editedon\";s:19:\"0000-00-00 00:00:00\";s:7:\"license\";s:5:\"GPLv2\";s:10:\"screenshot\";s:0:\"\";s:9:\"downloads\";s:5:\"52260\";s:8:\"approved\";s:1:\"1\";s:6:\"active\";s:1:\"1\";s:7:\"package\";s:1:\"6\";s:7:\"version\";s:6:\"2.13.2\";s:13:\"version_major\";s:1:\"2\";s:13:\"version_minor\";s:2:\"13\";s:13:\"version_patch\";s:1:\"2\";s:7:\"release\";s:2:\"pl\";s:13:\"release_index\";s:0:\"\";s:9:\"signature\";s:18:\"pdotools-2.13.2-pl\";s:12:\"instructions\";s:0:\"\";s:9:\"changelog\";s:39213:\"Changelog for pdoTools.<br />\n<br />\n2.13.2-pl (02.09.2021)<br />\n==============<br />\n- Fixed some snippets.<br />\n<br />\n2.13.1-pl (01.09.2021)<br />\n==============<br />\n- Installed composer packages.<br />\n<br />\n2.13.0-pl (01.09.2021)<br />\n==============<br />\n- Some security fixes.<br />\n- The &quot;setOption&quot; modifier is marked as deprecated.<br />\n- The snippet parameters &quot;tplPath&quot; and &quot;elementsPath&quot; are marked as deprecated.<br />\n- Added the ability for snippets to return an array of raw data (it is necessary when using the Fenom template engine).<br />\n- The settings &quot;parser_class&quot; and &quot;parser_class_path&quot; will be registered in the core namespace.<br />\n- Update the ajax connector.<br />\n<br />\n2.12.10 pl<br />\n==============<br />\n- &#91;#308&#93; &#91;pdoPage&#93; Fixed the type of snippet property &quot;field&quot;<br />\n<br />\n2.12.9 pl<br />\n==============<br />\n- &#91;Fenom&#93; Update to version 2.12.0<br />\n<br />\n2.12.8 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Fix reflected XSS in generated meta links<br />\n<br />\n2.12.7 pl<br />\n==============<br />\n- Make pdoTools canonical url work with Babel #304<br />\n<br />\n2.12.6 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Reverted back #287<br />\n<br />\n2.12.5 pl<br />\n==============<br />\n- &#91;Fenom&#93; Added caching dinamic properties to prevent speed degradation.<br />\n<br />\n2.12.4 pl<br />\n==============<br />\n- &#91;#290&#93; Improved running snippet via @FILE binding.<br />\n- &#91;#296&#93; Fix adding quotes to numeric values.<br />\n- &#91;#297&#93; Make cross context weblink url possible.<br />\n- &#91;#274&#93; &#91;Fenom&#93; User, resource and context properties are now dinamic.<br />\n- &#91;#287&#93; &#91;pdoPage&#93; Remove prev &amp; next meta tags<br />\n- &#91;#294&#93; &#91;#298&#93; Improved pdopage.js and updated minified js files<br />\n<br />\n2.12.3 pl<br />\n==============<br />\n- Fixed E_NOTICE introduced in #285.<br />\n<br />\n2.12.2 pl<br />\n==============<br />\n- Updated chunks for Bootstrap 4.<br />\n<br />\n2.12.1 pl<br />\n==============<br />\n- &#91;pdoMenu&#93; Reverted back #283 and fixed docs for &amp;tplCategoryFolder.<br />\n- &#91;#284&#93; &#91;Fenom&#93; Fixed properties of $_modx-&gt;context variable.<br />\n- &#91;#275&#93; &#91;Fenom&#93; Added &quot;reset&quot; and &quot;end&quot; modifiers.<br />\n<br />\n2.12.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; More security fixes from Sergey Shlokov.<br />\n- &#91;#278&#93; &#91;pdoPage&#93; Fixed caching.<br />\n- &#91;pdoPage&#93; Show internal log on &amp;showLog=&#96;1&#96;.<br />\n- &#91;#283&#93; &#91;pdoMenu&#93; Fixed use of &amp;tplCategoryFolder according to docs.<br />\n- &#91;#281&#93; &#91;pdoTools&#93; Fixed load of models from case sensitive paths.<br />\n- &#91;#277&#93; &#91;pdoCrumbs&#93; Ability to specify &amp;customParents.<br />\n- &#91;#265&#93; &#91;pdoFetch&#93; Fixed return of &quot;Array&quot; on SQL errors.<br />\n<br />\n2.11.3 pl<br />\n==============<br />\n- Added French lexicon entries.<br />\n<br />\n2.11.2 pl<br />\n==============<br />\n- Fix detection of element names starting with a number.<br />\n<br />\n2.11.1 pl<br />\n==============<br />\n- Faster processing of static files.<br />\n<br />\n2.11.0 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Added &quot;setTotal&quot; option to enable calculating all rows (&quot;SQL_CALC_FOUND_ROWS&quot;), which will also result in the &quot;totalVar&quot; placeholder is being set.<br />\n- &#91;pdoFetch&#93; Option &quot;setTotal&quot; disabled by default.<br />\n- &#91;pdoPage&#93; Forces &quot;setTotal&quot; to provide pagination.<br />\n<br />\n2.10.6 pl<br />\n==============<br />\n- Improved German lexicons.<br />\n<br />\n2.10.5 pl<br />\n==============<br />\n- &#91;pdoTools&#93; Ability to return array from &quot;prepareSnippet&quot; for more performance.<br />\n- &#91;FenomX&#93; Fixed method &quot;getStore&quot;.<br />\n<br />\n2.10.4 pl<br />\n==============<br />\n- &#91;Fenom&#93; Do not output raw tags if there was a compile errors.<br />\n- &#91;#266&#93; &#91;pdoMenu&#93; Fixed the setting of &quot;here&quot; and &quot;self&quot; classes.<br />\n- &#91;#261&#93; &#91;Fenom&#93; Fixed unexpected behavior of the fenom tag &quot;ignore&quot;.<br />\n<br />\n2.10.3 pl<br />\n==============<br />\n- Improved compatibility with PHP 7.2<br />\n- &#91;pdoFetch&#93; Ability to use arrays in &quot;&amp;sortby&quot;.<br />\n<br />\n2.10.2 pl<br />\n==============<br />\n- &#91;Fenom&#93; Improved processing of caching snippets inside uncached.<br />\n<br />\n2.10.1 pl<br />\n==============<br />\n- &#91;#256&#93; &#91;Fenom&#93; Fixed bug with caching of scripts and styles.<br />\n- &#91;pdoPage&#93; &quot;&amp;setMeta&quot; now works when &quot;&amp;cache=&#96;1&#96;&quot;.<br />\n- &#91;Fenom&#93; Improved regular expression to detect Fenom syntax.<br />\n<br />\n2.10.0 pl<br />\n==============<br />\n- &#91;#259&#93; &#91;pdoFetch&#93; Fixed error when passed pure SQL into &quot;having&quot; parameter.<br />\n- &#91;#258&#93; &#91;pdoPage&#93; Canonical urls always must be &quot;full&quot;.<br />\n- &#91;#245&#93; &#91;pdoMenu&#93; Ability to use conditional tpls instead of regular &quot;tpl&quot;.<br />\n- &#91;#121&#93; &#91;pdoMenu&#93; Improved work of specified chunks with weblinks.<br />\n<br />\n2.9.3 pl<br />\n==============<br />\n- &#91;#255&#93; &#91;Fenom&#93; New system setting &quot;pdotools_fenom_save_on_errors&quot; to save code on compilation errors in the cache directory for later debugging.<br />\n<br />\n2.9.2 pl<br />\n==============<br />\n- &#91;pdoParser&#93; Proper traversal trough arrays fields of resources in fast tags.<br />\n<br />\n2.9.1 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated to version 2.11.8.<br />\n<br />\n2.9.0 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Improved &quot;&amp;pageLinkScheme&quot; logic.<br />\n- &#91;#249&#93; A little improvement for resource modifier.<br />\n- &#91;#251&#93; &#91;pdoFetch&#93; More compatibility with PHP 7.1.<br />\n- &#91;#253&#93; &#91;pdoPage&#93; Fixing a missing pagination in Ajax mode.<br />\n- &#91;#254&#93; &#91;Fenom&#93; Options of json modifiers must check version of PHP to proper work.<br />\n<br />\n2.8.6 pl<br />\n==============<br />\n- &#91;pdoArchive&#93; Ability to specify fields with regular dates in the &quot;&amp;dateField&quot; parameter.<br />\n- &#91;Fenom&#93; Added all options to json modifiers.<br />\n<br />\n2.8.5 pl<br />\n==============<br />\n- &#91;#248&#93; &#91;pdoPage&#93; Fixed E_WARNING with array values in GET parameters.<br />\n<br />\n2.8.4 pl<br />\n==============<br />\n- Ability to use file elements in core path outside base path.<br />\n- Fixed bug with the caching of elements.<br />\n<br />\n2.8.3 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed rare bug with the caching of scripts and styles that was registered via Fenom.<br />\n- &#91;pdoPage&#93; Fixed the &quot;?page=1&quot; in the url when ajaxMode is enabled.<br />\n- &#91;pdoPage&#93; Snippet will register &quot;canonical&quot; link if &quot;&amp;setMeta&quot; is enabled.<br />\n- &#91;pdoPage&#93; Fix processing of request with rawurldecode on some servers.<br />\n- &#91;pdoTools&#93; Added passing of &quot;scriptProperties&quot; values into a &quot;&amp;prepareSnippet&quot;.<br />\n<br />\n2.8.2 pl<br />\n==============<br />\n- &#91;pdoMenu&#93; Fixed the checking of permissions for containers.<br />\n- &#91;pdoPage&#93; Added the ability to run files as &amp;element.<br />\n- &#91;pdoTools&#93; The method runSnippet will return boolean false if snippet was not found.<br />\n- &#91;Fenom&#93; Fixed the possible bugs of caching of scripts and styles.<br />\n<br />\n2.8.1 pl<br />\n==============<br />\n- &#91;#244&#93; Fixed possible duplicate of a container in the jquery.pdopage.js.<br />\n- Added fallback class for the enable modParser.<br />\n<br />\n2.8.0 pl<br />\n==============<br />\n- Ability to use an arrays in the parameters of the snippets.<br />\n- Replaced modX::toJSON and modX::fromJSON to native php functions.<br />\n<br />\n2.7.5 pl<br />\n==============<br />\n- Fenom is now managed via composer.<br />\n- &#91;Fenom&#93; Modifier &quot;resource&quot; no longer checks fields of resources in their schema.<br />\n- &#91;Fenom&#93; Modifier &quot;strrev&quot; now can work with arrays.<br />\n- &#91;Fenom&#93; Improved modifier &quot;ismember&quot;.<br />\n<br />\n2.7.4 pl<br />\n==============<br />\n- &#91;#242&#93; Added jquery.pdopage.js plugin and minified versions.<br />\n- &#91;#241&#93; &#91;Fenom&#93; Improved the retrieving of TVs for a current resource.<br />\n- &#91;pdoFetch&#93; Restored the checking of possible SQL injections in the &amp;sortby with xPDO 2.5.1.<br />\n<br />\n2.7.3 pl<br />\n==============<br />\n- Improved compatibility with MODX 2.5.2.<br />\n<br />\n2.7.2 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Some security improvements.<br />\n<br />\n2.7.1 pl<br />\n==============<br />\n- Some security improvements in the connector.php.<br />\n- Fixed bug with registering scripts in styles via Fenom introduced in version 2.7.0.<br />\n<br />\n2.7.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated to the version 2.11.4.<br />\n- &#91;Fenom&#93; Fixed resource cache for scripts and styles registered by Fenom.<br />\n- &#91;Fenom&#93; Added rand() and number_format() to an allowed PHP functions.<br />\n- &#91;Fenom&#93; New output filter &quot;number&quot; (or &quot;number_format&quot;).<br />\n<br />\n2.6.5 pl<br />\n==============<br />\n- Fixed undeclared variable (PHP 7.1)<br />\n<br />\n2.6.4 pl<br />\n==============<br />\n- Added escaping of a MODX tags that being processed in the &amp;prepareSnippet.<br />\n- &#91;#239&#93; Improved work of the &amp;decodeJSON option.<br />\n<br />\n2.6.3 pl<br />\n==============<br />\n- Fixed possible E_NOTICE on line 305 pdofetch.class.php.<br />\n- Fixed possible E_NOTICE when &quot;snippet&quot; and &quot;chunk&quot; Fenom modifiers was called.<br />\n<br />\n2.6.2 pl<br />\n==============<br />\n- Fixed possible E_NOTICE on line 1317 pdotools.class.php.<br />\n<br />\n2.6.1 pl<br />\n==============<br />\n- Improved compatibility with PHP 5.3.<br />\n<br />\n2.6.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; The ability to extend Fenom via system event &quot;pdoToolsOnFenomInit&quot;.<br />\n<br />\n2.5.6 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Ability to join TVs not only to the query main class.<br />\n<br />\n2.5.5 pl<br />\n==============<br />\n- Fixed parse of INLINE chunks with &quot;@&quot; symbols.<br />\n<br />\n2.5.4 pl<br />\n==============<br />\n- &#91;#224&#93; Added microMODX::cleanAlias().<br />\n- &#91;#226&#93; &#91;Fenom&#93; Added &quot;declension&quot; modifier.<br />\n<br />\n2.5.3 pl<br />\n==============<br />\n- &#91;#221&#93; Fixed typo in month name.<br />\n- &#91;Fenom&#93; Fixed path to compile dir.<br />\n<br />\n2.5.2 pl<br />\n==============<br />\n- &#91;#220&#93; Cache code of snippet with respect to property set.<br />\n<br />\n2.5.1 pl<br />\n==============<br />\n- Fixed cache of snippets in pdoTools::runSnippet().<br />\n<br />\n2.5.0 pl<br />\n==============<br />\n- Improved support of debugParser.<br />\n- &#91;#209&#93; Improved loading of the models.<br />\n- &#91;Fenom&#93; New modifiers: &quot;snippet&quot; and &quot;chunk&quot;.<br />\n- &#91;Fenom&#93; New elements provider: &quot;file&quot;.<br />\n- New method pdoTools::runSnippet().<br />\n<br />\n2.4.0 pl<br />\n==============<br />\n- Added snippet pdoArchive.<br />\n- &#91;pdoResources&#93; Faster processing of additional snippet parameters to placeholders.<br />\n- &#91;#123&#93; &#91;pdoMenu&#93; Fixed bug with &amp;displayStart and unpublished root nodes.<br />\n- &#91;#207&#93; &#91;pdoMenu&#93; Fixed &amp;webLinkClass option.<br />\n- &#91;#193&#93; &#91;pdoNeighbors&#93; Added parameter &amp;wrapIfEmpty.<br />\n- &#91;#203&#93; &#91;Fenom&#93; Added more PCRE modifiers.<br />\n<br />\n2.3.5 pl<br />\n==============<br />\n- &#91;pdoFetch&#93; Added escaping of columns names in query.<br />\n<br />\n2.3.4 pl<br />\n==============<br />\n- &#91;#200&#93; &#91;pdoFetch&#93; Fixed &amp;sortbyTV with dot in name.<br />\n<br />\n2.3.3 pl<br />\n==============<br />\n- Added system plugin for &quot;autoload&quot; of main classes with respect to their paths in system settings.<br />\n<br />\n2.3.2 pl<br />\n==============<br />\n- &#91;#196&#93; &#91;pdoPage&#93; Added workaround to support ClientConfig tags in ajax mode.<br />\n- &#91;Fenom&#93; Added general MODX output filters as Fenom modifiers.<br />\n- &#91;Fenom&#93; Implemented autoload of modifiers from snippets.<br />\n- &#91;Fenom&#93; Removed system setting &quot;pdotools_fenom_modifiers&quot;.<br />\n<br />\n2.3.1 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Lightning fast work chunks processing with &amp;scheme=&#96;uri&#96;.<br />\n- &#91;Fenom&#93; Improved check of syntax before processing.<br />\n<br />\n2.3.0 pl<br />\n==============<br />\n- Removed shortcuts from system core.<br />\n- PSR-2.<br />\n- &#91;Fenom&#93; Added default modifiers: &quot;url&quot; and &quot;lexicon&quot;.<br />\n- &#91;pdoCrumbs&#93; Changed default chunks to ul -&gt; li.<br />\n- &#91;#190&#93; &#91;pdoSitemap&#93; Changed date format to ISO 8601.<br />\n<br />\n2.2.8 pl<br />\n==============<br />\n- &#91;Fenom&#93; Use modResource::getContent() method to get content of current resource in &#123;$_modx-&gt;resource&#125;.<br />\n<br />\n2.2.7 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Ability to get access to a javascript configs from 3rd party scripts.<br />\n<br />\n2.2.6 pl<br />\n==============<br />\n- &#91;#184&#93; &#91;Fenom&#93; Updated to version 2.8.2.<br />\n<br />\n2.2.5 pl<br />\n==============<br />\n- &#91;#182&#93; &#91;pdoTitle&#93; Added passing a parameters into nested pdoCrumbs.<br />\n- &#91;pdoSitemap&#93; Added processing of MODX tags if needed.<br />\n- Added method pdoTools::makeUrl().<br />\n- &#91;#181&#93; New url schema type - &quot;uri&quot;.<br />\n<br />\n2.2.4 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed speed issues when MODX snippets are run as Fenom modifiers.<br />\n- &#91;pdoUsers&#93; Fixed overwrite modUser.id by modUserProfile.id.<br />\n<br />\n2.2.3 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Fixed processing of uncached conditions in chunks when ajax mode is enabled.<br />\n<br />\n2.2.2 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Added new parameter &amp;pageLinkScheme.<br />\n<br />\n2.2.1 pl<br />\n==============<br />\n- &#91;#155&#93; &#91;pdoPage&#93; Added new parameter &amp;ajaxHistory.<br />\n- &#91;pdoPage&#93; Added connector for requests in ajax mode.<br />\n<br />\n2.2.0 pl<br />\n==============<br />\n- &#91;#175&#93; &#91;pdoFetch&#93; Ability to specify sequence of table joins.<br />\n- &#91;#174&#93; &#91;Fenom&#93; Ability to add Fenom modifiers into pdoParser.<br />\n<br />\n2.1.21 pl<br />\n==============<br />\n- &#91;#175&#93; &#91;pdoFetch&#93; Ability to specify sequence of table joins.<br />\n- &#91;#176&#93; &#91;pdoUsers&#93; Fixed &amp;toPlaceholders with &amp;returnIds.<br />\n<br />\n2.1.20 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Fixed default &amp;cacheKey.<br />\n<br />\n2.1.19 pl<br />\n==============<br />\n- &#91;Fenom&#93; Disabled $options in cacheManager::set() due to security reasons.<br />\n<br />\n2.1.18 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed ability to access to the modX object from &#123;$_modx&#125; variable.<br />\n- &#91;Fenom&#93; Improved method &#123;$_modx-&gt;runProcessor()&#125;.<br />\n<br />\n2.1.17 pl<br />\n==============<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getResource($id, $options)&#125;.<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getResources($where, $options)&#125;.<br />\n- &#91;Fenom&#93; Improved support of debugParser.<br />\n<br />\n2.1.16 pl<br />\n==============<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;isMember($groups, $matchAll)&#125;.<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getPlaceholders()&#125;.<br />\n<br />\n2.1.15 pl<br />\n==============<br />\n- &#91;pdoPage&#93; Added parameter &amp;strictMode.<br />\n<br />\n2.1.14 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Added options for cache snippets results.<br />\n- &#91;pdoSitemap&#93; Cache enabled by default.<br />\n<br />\n2.1.13 pl<br />\n==============<br />\n- &#91;#163&#93; Fixed ignoring of &amp;idx in pdoResources and pdoUsers.<br />\n<br />\n2.1.12 pl<br />\n==============<br />\n- &#91;pdoPage&#93; &#91;#161&#93; Fixed support of arrays in hash when &amp;ajaxMode is enabled.<br />\n<br />\n2.1.11 pl<br />\n==============<br />\n- &#91;#150&#93; &#91;Fenom&#93; Fixed processing of TVs values in a &#123;$_modx-&gt;resource&#125;.<br />\n- &#91;#147&#93; &#91;pdoSitemap&#93; Fixed possible duplicates in sitemap.<br />\n- &#91;pdoPage&#93; Support of arrays in hash when &amp;ajaxMode is enabled.<br />\n<br />\n2.1.10 pl<br />\n==============<br />\n- &#91;#157&#93; &#91;Fenom&#93; Fixed pre-processing of Fenom tags in extending templates and chunks.<br />\n- &#91;#145&#93; &#91;pdoPage&#93; Rolled back #81 due to issues with complicate forms.<br />\n<br />\n2.1.9 pl<br />\n==============<br />\n- &#91;#144&#93; &#91;pdoParser&#93; Leave unprocessed FastField tags so other components could parse them.<br />\n- &#91;pdoFetch&#93; Updated syntax for &quot;SET SQL_BIG_SELECTS = 1&quot;.<br />\n<br />\n2.1.8 pl<br />\n==============<br />\n- &#91;Fenom&#93; Ability to use id of chunks and templates in &#123;include&#125; and &#123;extends&#125;.<br />\n- &#91;Fenom&#93; Added support of debugParser.<br />\n- &#91;Fenom&#93; Added &#123;$_modx-&gt;getChildIds()&#125; and &#123;$_modx-&gt;getParentIds()&#125;.<br />\n<br />\n2.1.7 pl<br />\n==============<br />\n- Fixed work with integer values from system setting &quot;link_tag_scheme&quot;.<br />\n<br />\n2.1.6 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated to version 2.8.0.<br />\n- &#91;Fenom&#93; Improved check of syntax to process content of chunks.<br />\n- &#91;pdoParser&#93; Fixed E_WARNING on line 50 introduced in previous version.<br />\n<br />\n2.1.5 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed register of scripts and styles by cached snippets.<br />\n<br />\n2.1.4 pl<br />\n==============<br />\n- &#91;Fenom&#93; Fixed TVs in &#123;$_modx-&gt;resource&#125;<br />\n- &#91;Fenom&#93; Added new method &#123;$_modx-&gt;getInfo()&#125;<br />\n<br />\n2.1.3 pl<br />\n==============<br />\n- Improved work of system setting &quot;pdotools_fenom_php&quot;.<br />\n<br />\n2.1.2 pl<br />\n==============<br />\n- &#91;Fenom&#93; Replaced &#123;$_modx-&gt;placeholders&#125; to functions.<br />\n<br />\n2.1.1 pl<br />\n==============<br />\n- pdoParser enabled by default.<br />\n- &#91;Fenom&#93; Fixed return content in &#123;$_modx-&gt;getChunk&#125;.<br />\n- &#91;Fenom&#93; Added cache for snippets called through &#123;$_modx-&gt;runSnippet&#125;.<br />\n- &#91;pdoTools&#93; Added processing of property sets for chunks.<br />\n- &#91;pdoResources&#93; Set additionalPlaceholders in &amp;tplWrapper<br />\n<br />\n2.1.0 pl<br />\n==============<br />\n- &#91;Fenom&#93; Updated Fenom to version 2.7.1.<br />\n- &#91;Fenom&#93; Added safe system variable &#123;$_modx&#125;.<br />\n- &#91;Fenom&#93; Added MODX template provider for chunks and templates.<br />\n<br />\n2.0.5 pl<br />\n==============<br />\n- &#91;#132&#93; Fixed possible E_WARNING on empty chunks.<br />\n- &#91;#122&#93; Ability to use 3rd party pdoPage and pdoMenu classes.<br />\n- &#91;#118&#93; &#91;pdoPage&#93; Fixed parameter &amp;offset.<br />\n- &#91;pdoPage&#93; Fixed default CSS classes in &quot;empty&quot; chunks.<br />\n<br />\n2.0.4 pl<br />\n==============<br />\n- Fixed processing of &quot;pdotools_fenom_cache&quot; system setting.<br />\n<br />\n2.0.3 pl<br />\n==============<br />\n- &#91;#125&#93; &#91;pdoTitle&#93; Fixed parameter &amp;id.<br />\n<br />\n2.0.2 pl<br />\n==============<br />\n- Improved processing of @FILE binding.<br />\n<br />\n2.0.1 pl<br />\n==============<br />\n- Fixed possible E_WARNING on line 319 and 349 of pdoTools class.<br />\n- Disabled system option &quot;pdotools_fenom_modx&quot; by default due to security issues.<br />\n<br />\n2.0.0 pl<br />\n==============<br />\n- New system settings to control the Fenom.<br />\n- Ability to enable caching of Fenom compiled chunks.<br />\n- Improved handling of parameter &quot;cache_key&quot;.<br />\n- &#91;pdoMenu&#93; Improved work when &amp;cache is enabled.<br />\n<br />\n2.0.0 rc2<br />\n==============<br />\n- Compiled Fenom templates cached to RAM instead of HDD.<br />\n- Removed plugin pdoTools.<br />\n<br />\n2.0.0 rc1<br />\n==============<br />\n- Added Fenom template engine.<br />\n- Fenom enabled by default.<br />\n- pdoParser uses Fenom to process pages.<br />\n<br />\n1.11.2 pl<br />\n==============<br />\n- &#91;#116&#93; &#91;pdoTitle&#93; Disabled &amp;register_js by default.<br />\n<br />\n1.11.1 pl<br />\n==============<br />\n- &#91;pdoSitemap&#93; Fixed default url scheme after last update.<br />\n<br />\n1.11.0 pl1<br />\n==============<br />\n- &#91;pdoTitle&#93; Added new snippet.<br />\n- &#91;pdoPage&#93; Added support of snippet pdoTitle when &amp;ajaxMode is enabled.<br />\n- &#91;pdoPage&#93; Prevent overwriting of scripts and styles of nested &amp;element by default parameters.<br />\n- &#91;pdoPage&#93; Added triggering javascript event &quot;pdopage_load&quot;.<br />\n<br />\n1.10.2 pl1<br />\n==============<br />\n- &#91;#112&#93; Parameter &amp;scheme was set to system default in all snippets.<br />\n- &#91;#111&#93; &#91;pdoPage&#93; Added ability to set &quot;prev&quot; &amp; &quot;next&quot; meta tags.<br />\n- &#91;#107&#93; &#91;pdoNeighbors&#93; Added ability to specify &amp;parents for work.<br />\n- &#91;#106&#93; &#91;pdoMenu&#93; Fixed &quot;hereClass&quot; and &quot;selfClass&quot; enabled &amp;useWeblinkUrl parameter.<br />\n- &#91;#104&#93; &#91;pdoMenu&#93; Snippet now using &quot;pagetitle&quot; for link titles if &quot;titleOfLinks&quot; is empty.<br />\n<br />\n1.10.1 pl<br />\n==============<br />\n- &#91;#108&#93; &#91;pdoFetch&#93; Fixed E_ERROR when using &amp;sortbyTV.<br />\n- &#91;pdoFetch&#93; Added new parameter &amp;sortbyTVType.<br />\n- &#91;pdoFetch&#93; If &amp;sortdirTV is not set it will be equal to &amp;sortdir.<br />\n<br />\n1.10.0 pl<br />\n==============<br />\n- &#91;pdoMenu&#93; Returned and fixed parameter &amp;showDeleted.<br />\n- &#91;pdoPage&#93; Improved default javascript.<br />\n- &#91;pdoPage&#93; Fixed overwriting &amp;frontend_js and &amp;frontend_css parameters when &amp;ajax is disabled.<br />\n- &#91;pdoFetch&#93; Ability to specify functions in select fields.<br />\n- &#91;pdoTools&#93; Ability to use compound quick placeholders.<br />\n<br />\n1.10.0 beta4<br />\n==============<br />\n- &#91;pdoPage&#93; Ajax pagination out from the box.<br />\n- &#91;pdoFetch&#93; Improved log of getCollection.<br />\n- &#91;pdoTools&#93; Added tplOperator &quot;contains&quot;.<br />\n<br />\n1.9.7 pl<br />\n==============<br />\n- &#91;#99&#93; &#91;pdoFetch&#93; Fixed returning of primary key in &quot;ids&quot; mode.<br />\n- &#91;#97&#93; &#91;pdoTools&#93; Fixed default tplPath for @FILE chunks.<br />\n- &#91;#85&#93; &#91;pdoFetch&#93; Added function getChildIds().<br />\n- &#91;pdoFetch&#93; Disabled &quot;total&quot; placeholder for &amp;return=&#96;ids&#96;.<br />\n<br />\n1.9.6 pl2<br />\n==============<br />\n- &#91;pdoFetch&#93; Fixed exclusion of field &quot;id&quot; in custom classes.<br />\n- &#91;pdoMenu&#93; Improved parameter &amp;countChildren.<br />\n- &#91;#100&#93; &#91;pdoMenu&#93; Removed parameter &amp;showDeleted because it not working.<br />\n<br />\n1.9.6 rc<br />\n==============<br />\n- Added execution of SQL_BIG_SELECTS = 1 before query.<br />\n- &#91;pdoPage&#93; Added parameter &amp;ajax for supporting of ajax requests.<br />\n<br />\n1.9.5 pl1<br />\n==============<br />\n- Rolled back #72 due to issues in pdoMenu.<br />\n<br />\n1.9.5 pl<br />\n==============<br />\n- Added ability to return JSON or serialized string from pdoFetch::run().<br />\n- &#91;#83&#93; &#91;pdoMenu&#93; Added level placeholder to outer templates.<br />\n- &#91;#82&#93; &#91;pdoFetch&#93; Added support for complex &amp;where parameter.<br />\n- &#91;#81&#93; &#91;pdoPage&#93; Improved handling of arrays in url.<br />\n- &#91;#77&#93; Fixed making of url for modWebLink to another context.<br />\n- &#91;#72&#93; &#91;pdoTools&#93; Fixed order for children of excluded parents in buildTree.<br />\n- &#91;#60&#93; &#91;pdoMenu&#93; Fixed parameter &amp;tplCategoryFolder.<br />\n- &#91;#57&#93; &#91;pdoMenu&#93; Improved placeholder &#91;&#91;+children&#93;&#93;.<br />\n- &#91;#57&#93; &#91;pdoMenu&#93; Added parameter &amp;countChildren.<br />\n<br />\n1.9.4 pl1<br />\n==============<br />\n- &#91;#78&#93; &#91;pdoNeighbors&#93; Added parameter &amp;loop=&#96;1&#96; for looping links.<br />\n- &#91;pdoSitemap&#93; Fixed possible E_FATAL php-apc.<br />\n<br />\n1.9.3 pl1<br />\n==============<br />\n- &#91;pdoTools&#93; Ability to specify value for empty quick placeholders.<br />\n- &#91;pdoTools&#93; Ability to use INLINE snippets and filters.<br />\n- &#91;pdoFetch&#93; Improved loading of 3rd party models.<br />\n- &#91;pdoPage&#93; Fixed E_WARNING when &amp;limit=&#96;0&#96;.<br />\n<br />\n1.9.2 pl2<br />\n==============<br />\n- &#91;#56&#93; &#91;pdoParser&#93; Fixed wrong links processing.<br />\n- &#91;#53&#93; Improved loading of classes.<br />\n- &#91;pdoField&#93; Rolled back to original logic of &quot;top&quot; and &quot;topLevel&quot; parameters due to issues.<br />\n- &#91;pdoField&#93; Added parameter &quot;ultimate&quot; to emulate logic of UltimateParent.<br />\n<br />\n1.9.1 pl6<br />\n==============<br />\n- &#91;pdoFetch&#93; Adding alias of main class of query to &quot;sortby&quot; if no alias exists.<br />\n- &#91;pdoFetch&#93; Improved selecting of all fields of class with specified alias.<br />\n- &#91;pdoField&#93; Parameter &quot;topLevel&quot; works exactly as in UltimateParent.<br />\n- &#91;pdoField&#93; Parameter &quot;top&quot; without &quot;topLevel&quot; returns parent on &quot;top&quot; level.<br />\n<br />\n1.9.1 pl<br />\n==============<br />\n- &#91;#47&#93; &#91;pdoMenu&#93; Fixed processing &amp;tplOuter when output is empty.<br />\n- &#91;#46&#93; &#91;pdoParser&#93; Fixed processing of TVs with dots in name.<br />\n- &#91;#44&#93; &#91;pdoMenu&#93; Improved handling of Wayfinder parameters &quot;includeDocs&quot; and &quot;excludeDocs&quot;.<br />\n- &#91;#37&#93; &#91;pdoField&#93; get the default, only if the field was empty.<br />\n- &#91;#34&#93; Fixed processing of &quot;modSymLink&quot; documents.<br />\n- &#91;#32&#93; Improved cache methods.<br />\n- &#91;#26&#93; Replaced FIND_IN_SET() to FIELD().<br />\n- &#91;pdoFetch&#93; Ability to work with objects, that has multiple primary keys.<br />\n- &#91;pdoPage&#93; New parameter &amp;cacheAnonymous.<br />\n- &#91;pdoMenu&#93; New parameter &amp;cacheAnonymous.<br />\n- Added aliases for sort query in order of specified &amp;resources: &quot;ids&quot; or &quot;resources&quot;.<br />\n- Removed unnecessary query in pdoFetch::getCollection().<br />\n- Improved pdoFetch::getCollection().<br />\n- Renamed pdoFetch::getObject() to getArray(). Now it uses getCollection for retrieve results.<br />\n- pdoTools::setCache() now returns cacheKey.<br />\n- pdoFetch::getObject() is now alias of pdoFetch::getArray().<br />\n<br />\n1.9.0 pl2<br />\n==============<br />\n- &#91;pdoMenu&#93; Chunks of parents and categories are now depends on the descendants and ignores parameter isfolder.<br />\n- &#91;pdoNeighbors&#93; Speed improvements.<br />\n- &#91;#27&#93; Ability to specify custom pdoFetch and pdoTools classes through FQN system settings.<br />\n- &#91;pdoParser&#93; Handles TVs in resource tags.<br />\n- &#91;pdoParser&#93; Handles output filters.<br />\n- &#91;pdoFetch&#93; Improved method &quot;addTVFilters&quot;, that used by &quot;tvFilters&quot; parameter in pdoResources.<br />\n- &#91;pdoSitemap&#93; Pass the whole row so we can use more columns.<br />\n<br />\n1.9.0 rc<br />\n==============<br />\n- Improved method pdoTools::getChunk().<br />\n- Improved method pdoTools::parseChunk().<br />\n- Improved method pdoTools::fastProcess().<br />\n- Improved method pdoTools::makePlaceholders().<br />\n- Accelerated snippet pdoNeighbors.<br />\n- Fixed bug in pdoUsers when usersgroups was specified by names.<br />\n- getObject and getCollection() runs in separate instance.<br />\n- Added pdoParser with FastField tags.<br />\n- &#91;pdoPage&#93; Changed default value of parameter &quot;totalVar&quot; due to issues.<br />\n- &#91;#24&#93; Fixed prepareTVs and empty tvPrefix.<br />\n- &#91;#23&#93; &#91;pdoResources&#93; Ability to return ids to placeholder.<br />\n- Fixed warning when getObject returns false.<br />\n- Fixed placeholders prefix in recursive makePlaceholders.<br />\n<br />\n1.8.9 pl4<br />\n==============<br />\n- Added german lexicon.<br />\n- &#91;#20&#93; Ability to specify not JSON string in &amp;where=&#96;&#96;.<br />\n- &#91;pdoPage&#93; Added parameter &quot;pageCountVar&quot; for specifying name of variable with number of pages.<br />\n- &#91;pdoPage&#93; Support Bootstrap3.<br />\n- &#91;pdoField&#93; Ability to specify class for fetching field.<br />\n- Improved joining of tables in pdoFetch.<br />\n- Added preparing and processing TVs in getObject and getCollection methods.<br />\n- Improved load of 3rd party models.<br />\n<br />\n1.8.8 pl2<br />\n==============<br />\n- Rewrited cache of snippets &quot;pdoMenu&quot; and &quot;pdoPage&quot;.<br />\n- New methods pdoTools::getCache() and pdoTools::setCache().<br />\n- &#91;pdoMenu&#93; Fixed parameter &quot;tplParentRowActive&quot;.<br />\n- &#91;#18&#93; Fixed &quot;idx&quot; in pdoTools::defineChunk().<br />\n<br />\n1.8.7 pl<br />\n==============<br />\n- Added boolean parameter &quot;decodeJSON&quot; to specify whether or not decode JSON in results rows.<br />\n- Removed default &quot;sortby&quot; and &quot;sortdir&quot; from class pdoFetch for better work of getCollection() method.<br />\n<br />\n1.8.6 pl2<br />\n==============<br />\n- Fixed possibly E_NOTICE when site has no extension packages installed.<br />\n- &#91;#17&#93; &#91;pdoMenu&#93; Added placeholder &#91;&#91;+wf.menutitle&#93;&#93;.<br />\n- &#91;#16&#93; &#91;pdoMenu&#93; Disabled status verification of specified parents.<br />\n- &#91;#13&#93; &#91;pdoMenu&#93; Improved work with root of multiple contexts.<br />\n- &#91;pdoMenu&#93; Fixed bug when specified parent has only the one child.<br />\n- &#91;pdoResources&#93; Added parameter &quot;&amp;useWeblink&quot; and placeholder &quot;&#91;&#91;+link&#93;&#93;&quot;. It is disabled by default.<br />\n<br />\n1.8.5 pl<br />\n==============<br />\n- &#91;#15&#93; &#91;pdoPage&#93; Improved generation of links to pages.<br />\n- &#91;pdoMenu&#93; Improved processing of classes &quot;modSymlink&quot; and &quot;modWeblink&quot;.<br />\n- &#91;pdoBreadcrumbs&#93; Improved processing of classes &quot;modSymlink&quot; and &quot;modWeblink&quot;. Added parameter &quot;&amp;useWeblink&quot;.<br />\n- &#91;pdoNeighbors&#93; Added parameter &quot;&amp;useWeblink&quot; and placeholder &quot;&#91;&#91;+link&#93;&#93;&quot;.<br />\n- &#91;pdoSitemap&#93; Added parameter &quot;&amp;useWeblink&quot; and proper processing of classes &quot;modSymlink&quot; and &quot;modWeblink&quot;.<br />\n<br />\n1.8.4 pl<br />\n==============<br />\n- &#91;pdoCrumbs&#93; Added ability to specify the crumbs root (defaulting to site_start)<br />\n- &#91;pdoCrumbs&#93; Added ability to specify class_key (ie. to generate crumbs only for derivative classes)<br />\n- More accuracy when try to decode json in fetch results.<br />\n<br />\n1.8.3 pl3<br />\n==============<br />\n- Improved preparation of template variables.<br />\n- Improved transfer of additional parameters from snippet to results.<br />\n- &#91;pdoMenu&#93; Added lexicon entries for parameters.<br />\n- &#91;pdoMenu&#93; Allow to specify &quot;limit&quot; and &quot;offset&quot;.<br />\n- &#91;#12&#93; Added parameter &quot;toPlaceholder&quot;.<br />\n- Increased accuracy of timings log.<br />\n<br />\n1.8.1 pl2<br />\n==============<br />\n- Accelerated method pdoTools::getChunk().<br />\n- Added snippet pdoMenu.<br />\n- Added support for tags &#91;^qt^&#93; and &#91;^q^&#93;.<br />\n<br />\n1.8.0 pl<br />\n==============<br />\n- &#91;#10&#93; &#91;pdoPage&#93; Added placeholder &quot;page&quot;.<br />\n- &#91;#9&#93; &#91;pdoPage&#93; Added placeholder &quot;pageCount&quot;.<br />\n- &#91;#8&#93; Improved support of big numbers when sorting by TVs.<br />\n- Fixed work of pdoPage when it called multiple times on page.<br />\n- Fixed mistype in pdoFetch::getCollection().<br />\n<br />\n1.8.0 rc5<br />\n==============<br />\n- Added processing of JSON fields. For example, you can use &#91;&#91;+extended.keyname&#93;&#93; in chunks of pdoUsers.<br />\n- pdoTools was removed from system extension packages, but you can still use &quot;$modx-&gt;getService(&#039;pdoFetch&#039;);&quot;.<br />\n- Fixed getting chunk without any parameters.<br />\n- Added snippet pdoPage.<br />\n<br />\n1.8.0 beta1<br />\n==============<br />\n- Improved handling of &quot;default_text&quot; parameter in TVs.<br />\n- Fixed and improved method pdoTools::buildTree().<br />\n- The logic of build the conditions of the query moved into new method pdoFetch::additionalConditions().<br />\n- Improved method pdoFetch::addSelects().<br />\n- Improved method pdoFetch::addSort().<br />\n- Improved some snippets in accordance to new abilities of pdoFetch: pdoResources, pdoNeighbors and pdoSitemap.<br />\n<br />\n1.7.4 pl<br />\n==============<br />\n- &#91;#7&#93; &#91;pdoSitemap&#93; Fixed hidden parameters &quot;&amp;sortBy&quot; and &quot;&amp;sortDir&quot; that used for compatibility with GoogleSiteMap.<br />\n<br />\n1.7.3 pl1<br />\n==============<br />\n- &#91;pdoCrumbs&#93; Fixed possible E_NOTICE on line 157.<br />\n- &#91;pdoCrumbs&#93; Fixed generation of link to site start in relative mode.<br />\n- &#91;#6&#93; pdoCrumbs and pdoNeighbors are now uses &quot;menutitle&quot; by default. If it is empty, will be used &quot;pagetitle&quot;.<br />\n<br />\n1.7.2 pl1<br />\n==============<br />\n- &#91;pdoField&#93; Added new parameters: &quot;default=&#96;&#96;&quot; and &quot;&amp;field=&#96;&#96;&quot;.<br />\n- &#91;pdoField&#93; Improved logic of &quot;&amp;top=&#96;&#96;&quot; and &quot;&amp;topLevel=&#96;&#96;&quot;.<br />\n- Added 2 new methods: pdoFetch::getObject() and pdoFetch::getCollection().<br />\n- Ability to send arrays into common config parameters. JSON is still supported.<br />\n- Improved select of default values in TVs.<br />\n<br />\n1.7.1 pl<br />\n==============<br />\n- &#91;pdoCrumbs&#93; Fixed work with &quot;modSymLink&quot; and &quot;modWebLink&quot; resources.<br />\n<br />\n1.7.0 pl1<br />\n==============<br />\n- New snippet pdoCrumbs.<br />\n- New snippet pdoField.<br />\n- New snippet pdoSitemap.<br />\n- New snippet pdoNeighbors.<br />\n- Ability to specify snippet for preparation of fetched rows by parameter &quot;&amp;prepareSnippet=&#96;&#96;&quot;.<br />\n- Added method pdoTools::checkPermissions() for checking user privileges to view the results.<br />\n- Added @TEMPLATE binding. You can use name or id of any template. If empty - will use template of each row.<br />\n- &#91;pdoResources&#93; Improved parameter &quot;&amp;context&quot;.<br />\n- &#91;pdoResources&#93; Script properties are now passed to chunks. You can send any placeholders to it.<br />\n<br />\n1.6.0 pl1<br />\n==============<br />\n- Fixed compatibility issues in PHP &lt; 5.3.<br />\n<br />\n1.6.0 pl<br />\n==============<br />\n- Added parameter &quot;&amp;loadModels&quot; for comma-separated list of 3rd party components that needed for query.<br />\n- Added parameters &quot;&amp;prepareTVs&quot; and &quot;&amp;processTVs&quot;.<br />\n- Added parameters &quot;&amp;tvFilters&quot;, &quot;&amp;tvFiltersAndDelimiter&quot; and &quot;&amp;tvFiltersAndDelimiter&quot;.<br />\n- Added support of parameters &quot;&amp;sortbyTV&quot; and &quot;&amp;sortdirTV&quot; for compatibility with getResources.<br />\n- Added ability to use @INLINE and @FILE bindings in all template parameters.<br />\n- Removed method pdoTools::getPlaceholders.<br />\n<br />\n1.5.0 pl2<br />\n==============<br />\n- Fixed sort of decimals in TVs.<br />\n<br />\n1.5.0 pl1<br />\n==============<br />\n- Added processing of simple &#91;&#91;~id&#93;&#93; placeholders in fastMode.<br />\n- Added support of default value for TVs.<br />\n- Improved sort by TVs of types &quot;number&quot; and &quot;date&quot;.<br />\n<br />\n1.5.0 rc<br />\n==============<br />\n- &#91;pdoUsers&#93; Added new snippet &quot;pdoUsers&quot;.<br />\n- &#91;pdoResources&#93; Fixed &quot;toSeparatePlaceholders&quot;.<br />\n- &#91;pdoResources&#93; Parameter &quot;parents&quot; now supports dash prefix for excluding resources from query by parent.<br />\n- &#91;pdoResources&#93; Fixed issue when snippet runs multiple times at one page.<br />\n<br />\n1.4.1 pl1<br />\n==============<br />\n- Improved &quot;context&quot; processing.<br />\n- Fixed &quot;idx&quot; when multiple snippets called at one page.<br />\n- Fixed default sortby when joined tables exists.<br />\n<br />\n1.4.1 beta3<br />\n==============<br />\n- Added parameters &quot;tplCondition&quot;, &quot;tplOperator&quot; and &quot;conditionalTpls&quot;.<br />\n- Added parameter &quot;select&quot; for specifying needed columns of selected tables. Can be a JSON string with array.<br />\n- Added parameter &quot;toSeparatePlaceholders&quot;.<br />\n- Improved &quot;pdoResources&quot; snippet.<br />\n<br />\n1.4.0 beta1<br />\n==============<br />\n- Ability to specify JSON string in &quot;sortby&quot;, for example &quot;&amp;sortby=&#96;&#123;&quot;pagetitle&quot;:&quot;asc&quot;,&quot;createdon&quot;:&quot;desc&quot;&#125;&#96;&quot;<br />\n- Added automatic replacement of tvs in &quot;where&quot; and &quot;having&quot; parameters.<br />\n- Added automatic replacement of tvs in &quot;sortby&quot; parameter.<br />\n- Removed example snippet<br />\n- Added snippet &quot;pdoResources&quot;, that could replace &quot;getResources&quot;.<br />\n- Added method pdoTools::defineChunk() for chunk of given idx.<br />\n- Added &quot;memory usage&quot; in log.<br />\n<br />\n1.3.0<br />\n==============<br />\n- Improved placeholders processing when fastMode is enabled.<br />\n- Added support of &quot;having&quot; conditions.<br />\n<br />\n1.2.1<br />\n==============<br />\n- Fixed not working &quot;includeTVs&quot; when &quot;leftJoin&quot; is empty.<br />\n<br />\n1.2.0<br />\n==============<br />\n- Native render of quick placeholders, such as &quot;&quot;.<br />\n- Added joining of TVs in pdoFetch. Use parameter &quot;includeTVs&quot; with comma-separated list of template variables.<br />\n- Added method pdoFetch::setConfig() for proper setting options when you run multiple pdoTools snippets at the one page.<br />\n- Method pdoTools::makeArray is now recursive, for processing a multidimensional arrays of values.<br />\n<br />\n1.1.0<br />\n==============<br />\n- Improved getChunk function.<br />\n<br />\n1.0.1<br />\n==============<br />\n- Fixed setting total in &quot;chunks&quot; mode.<br />\n- Improved displaying &quot;where&quot; condition in log.<br />\n<br />\n1.0.0<br />\n==============<br />\n- Initial release.\";s:10:\"releasedby\";s:3:\"121\";s:10:\"releasedon\";s:19:\"2021-09-02 07:10:10\";s:16:\"minimum_supports\";s:3:\"2.3\";s:8:\"supports\";s:0:\"\";s:11:\"minimum_php\";s:3:\"5.6\";s:10:\"deprecated\";s:1:\"0\";s:10:\"version_id\";s:4:\"4875\";s:6:\"author\";s:25:\"Сергей Шлоков\";s:11:\"description\";s:85:\"Быстрая выборка страниц и пользователей сайта\";s:5:\"price\";s:1:\"0\";s:12:\"display_name\";s:18:\"pdotools-2.13.2-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:8:\"location\";s:153:\"https://modstore.pro/extras/package/6?version_id=4875&username=sergeev-ne%40yandex.ru&api_key=038d9eef33aac349754024fed3f502d1&http_host=kuzovremont23.ru\";s:4:\"file\";a:2:{s:8:\"location\";s:153:\"https://modstore.pro/extras/package/6?version_id=4875&username=sergeev-ne%40yandex.ru&api_key=038d9eef33aac349754024fed3f502d1&http_host=kuzovremont23.ru\";s:9:\"transport\";s:4:\"true\";}}',2,13,2,'pl',0),('upgrademodx-2.3.2-pl','2022-06-15 15:38:15','2022-06-15 12:38:37','2022-06-15 15:38:37',0,1,1,0,'upgrademodx-2.3.2-pl.transport.zip',NULL,'a:9:{s:7:\"license\";s:15218:\"GNU GENERAL PUBLIC LICENSE\n   Version 2, June 1991\n--------------------------\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n--------\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation\'s software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author\'s protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors\' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone\'s free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\nGNU GENERAL PUBLIC LICENSE\nTERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n---------------------------------------------------------------\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program\'s\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients\' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\nNO WARRANTY\n-----------\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n---------------------------\nEND OF TERMS AND CONDITIONS\";s:6:\"readme\";s:997:\"\nUpgradeMODX\n\n\nAuthor: Bob Ray <https://bobsguides.com>\nCopyright 2015-2021 Bob Ray\n\nOfficial Documentation: https://bobsguides.com/upgrade-modx-package.html\n\nBugs and Feature Requests: https://github.com:BobRay/UpgradeMODX\n\nQuestions: https://forums.modx.com\n\nCreated by MyComponent\n\nOnce the package is installed, you should see the widget in the default dashboard. When an upgrade is available, you will see an Upgrade MODX button in the widget. To upgrade your site, just click on it (but back up the site first). For details on configuring UpgradeMODX, see the documentation link above.\n\nAlways back up your files and database tables before upgrading.\n\nThis package was inspired by the work of a number of people and I have borrowed some of their code. Dmytro Lukianenko (dmi3yy) is the original author of the MODX install script. Susan Sottwell, Sharapov, Bumkaka, Inreti, Zaigham Rana, frischnetz, and AgelxNash, also contributed and I\'d like to thank all of them for laying the groundwork.\";s:9:\"changelog\";s:5857:\"Changelog for UpgradeMODX\n\nUpgradeMODX 2.3.2-pl\n---------------------------------\n - Fix critical bug with GuzzleHttp version mismatch\n - Don\'t show Upgrade available on up-to-date MODX 2 sites unless ugm_show_modx3 System Setting is set to Yes\n\nUpgradeMODX 2.3.1-pl\n---------------------------------\n - Hide MODX 3 versions on MODX 2 sites unless ugm_show_modx3 System Setting is changed\n\nUpgradeMODX 2.3.0-pl\n---------------------------------\n - Fix severe security vulnerability with guzzlehttp/psr7\n - Many mods for MODX 3\n - More reliable connection of Widget to default dashboard\n - Improved docs\n - Other bug fixes and improvements\n\nUpgradeMODX 2.1.5-pl\n---------------------------------\n - Fix critical bug with vendor path on some sites\n\nUpgradeMODX 2.1.4-pl\n---------------------------------\n - Fig bug with MODX 3 vendor directory\n - Show numbered alpha and beta versions in version list\n\nUpgradeMODX 2.1.3-pl\n---------------------------------\n - Unlock setup directory before running setup\n - Add acceptance tests\n - Fix typo in lexicon string\n - Add id attribute to checkboxes\n - Prevent JS error when MODX is up to date\n - Use local argument for cert path\n - Improve error messages\n - Add Russian translation\n - Improve docs\n\nUpgradeMODX 2.1.2-pl\n---------------------------------\n - Fix bug with getting latestVersion value\n - Only update versionlist when necessary\n - Eliminate unnecessary trip to GitHub\n - Provide workaround for versionlist issues\n - Add many unit tests\n - Get true cache path from CacheManager\n - Catch potential uncaught exception in copyFiles processor\n - Cache versionlist for better performance\n - Fix path bug in resolver\n - Better error reporting from GitHub\n - Add ugm_verbose setting for more detailed exception messages\n - Update Swedish translation\n\nUpgradeMODX 2.1.0-pl\n---------------------------------\n - Fix bug with inactive submit button\n - Add option to use UGM on multiple sites on same server\n\nUpgradeMODX 2.0.3-pl\n---------------------------------\n - Fix bug with possible 500 error in PHP 5\n - Fix bug with test for copying processors files\n - Update Unit Tests\n\nUpgradeMODX 2.0.2-pl\n---------------------------------\n - Tell Setup where the core is, so it doesn\'t ask!\n - Automatically select appropriate upgrade version\n  - - Automatically extend version list to include current version\n - Indicate current version in version list\n - Report progress during upgrade process\n - 3D animation for progress (except on f@$@|#% IE < Edge)\n - Use processors for each step to avoid timeouts\n - Operate entirely in the Manager until setup is launched\n - Add lexicon strings for all text\n - Restyle for Mobile\n - Change Ajax method to get to conform with the HTML 2.0 spec\n - Fix bug with missing versionlist error\n - Make sure downloaded file is closed\n - Get MODX files directly from AWS\n - Update credits\n - Other bug fixes and improvements\n\nUpgradeMODX 1.5.6-pl\n---------------------------------\n - Wrap rrmdir in if(function_exists)\n - Add warning not to skip .0 versions\n\nUpgradeMODX 1.5.5-pl\n---------------------------------\n - Fix issue with MODX logo (thanks to DigitalPenguin)\n - Move background image to local file\n\nUpgradeMODX 1.5.4-pl\n---------------------------------\n - Fix open_base_dir redirect issue (thanks to Jako)\n - Add Italian translation (thanks to FerX)\n - Update Swedish translation (thanks to Kristoffer Karlström)\n - Fix lexicon->load issue (thanks to sebastian-marinescu)\n - Hide inactive MODX version 2.5.3\n - Change name of temp directory to ugmtemp\n - Delete any created files if there is an error\n - Minor bug fixes and improvements\n\n\nUpgradeMODX 1.5.3-pl\n---------------------------------\n - Fix bug with strip_tags and failure to get versionList from GitHub\n - Remove unused argument from updateVersionListFile\n - Add error message on failure to get versionList from GitHub\n\nUpgradeMODX 1.5.2-pl\n---------------------------------\n - Fix problem with malformed URL (thanks to Jako)\n - Modifications for MODX Cloud and similar platforms\n\nUpgradeMODX 1.5.1-pl\n---------------------------------\n - Correct snippet tag in resource\n - Fix issue with open_basedir check (thanks to Jako)\n - Add Swedish translation (thanks to kristk)\n - Fix protocol for loading fonts and logo (thanks to inreti)\n - Add support for local certs for SSL_VERIFY_PEER\n - Fix bug with quit function\n  - Add github_username and github_token properties\n - Improve diagnostics\n\nUpgradeMODX 1.5.0-pl\n---------------------------------\n - Log upgrades to MODX Manager Actions log\n - Add snippet property to control cURL SSL_VERIFY_PEER\n\n\nUpgradeMODX 1.4.0-pl\n---------------------------------\n - Add forceFopen, githubTimeout, modxTimeout properties\n - Add attempts, and versionListPath properties\n - Improve error handling and diagnostics\n - Unit tests for all methods\n - Refactor for better dependency injection and reliability\n - Fix bug with missing version list\n\nUpgradeMODX 1.3.0-pl\n---------------------------------\n - Fix bug with blank screen when both cURL and allow_url_fopen are disabled\n - Fix bug in test for cURL\n - Refactor unZip code\n - Add forcePclZip property\n - Improve error handling\n\n\nUpgradeMODX 1.2.2-pl\n---------------------------------\n - Public Launch\n\n\nUpgradeMODX 1.2.1-rc\n---------------------------------\n - Fix issue with version list\n - Wrap class in if (class_exists)\n\n\nUpgradeMODX 1.2.0-rc\n---------------------------------\n - Use PclZip if ZipArchive is not available\n  - Improve reliability of ZipArchive extraction\n - Fix bug with sorting when plOnly is false\n - Fix bug with missing setup directory\n - Add set_time_limit(0) in loop\n - Fix spurious error in resolver\n - Form and doc updates\n\n\nUpgradeMODX 1.0.2-beta1\n---------------------------------\n - Fixed bug with earlier versions of PHP\n\nUpgradeMODX 1.0.0-beta1\n---------------------------------\n - Initial Version\";s:13:\"setup-options\";a:0:{}s:9:\"signature\";s:20:\"upgrademodx-2.3.2-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:48:\"/workspace/package/install/upgrademodx-2.3.2-pl/\";s:14:\"package_action\";i:1;}','UpgradeMODX','a:38:{s:2:\"id\";s:24:\"62893b14ee822a417918c4a2\";s:7:\"package\";s:24:\"55dbeaa7dc532f077201d738\";s:12:\"display_name\";s:20:\"upgrademodx-2.3.2-pl\";s:4:\"name\";s:11:\"UpgradeMODX\";s:7:\"version\";s:5:\"2.3.2\";s:13:\"version_major\";s:1:\"2\";s:13:\"version_minor\";s:1:\"3\";s:13:\"version_patch\";s:1:\"2\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:6:\"bobray\";s:11:\"description\";s:1114:\"<p><b>Important: Always back up your site before upgrading.</b></p>\n\n<p>UpgradeMODX installs a dashboard widget that alerts you when there is an upgrade to \nMODX available -- and installs it for you!. </p>\n\n<p>When there is an upgrade available, UpgradeMODX will show an \"Upgrade MODX\" button and\na form containing MODX versions. The recommended version to upgrade to should be \nselected automatically.</p><p> After selecting a version and clicking on the submit button. \nUpgradeMODX will put all the new files in place and launch setup.</p>\n<p>When Setup is finished, you\'ll be back in the Manager using a new version.</p>\n\n<p>UpgradeMODX should work on any installation of MODX except the SDK version. \nThat includes versions with renamed and/or moved directories.</p>\n\n<p>The minimum version listed below is a guess, but for very old versions or MODX that do \nnot support widgets, UpgradeMODX will install an UpgradeMODX resource which you can view \nto run UpgradeMODX. Once you reach a version that supports widgets, you can reinstall \nUpgradeMODX and use its Dashboard widget to upgrade.</p>\n\n<p></p>\n<p></p>\";s:12:\"instructions\";s:142:\"<p>Install in Package Manager.</p><p>See the documentation at \n<a href=\"http://bobsguides.com/upgrade-modx-package.html\">Bob\'s Guides</a>.</p>\";s:9:\"changelog\";s:217:\"UpgradeMODX 2.3.2-pl\n---------------------------------\n - Fix critical bug with GuzzleHttp version mismatch\n - Don\'t show Upgrade available on up-to-date MODX 2 sites unless ugm_show_modx3 System Setting is set to Yes\";s:9:\"createdon\";s:24:\"2022-05-21T19:18:44+0000\";s:9:\"createdby\";s:6:\"bobray\";s:8:\"editedon\";s:24:\"2022-06-15T12:25:25+0000\";s:10:\"releasedon\";s:24:\"2022-05-21T19:18:44+0000\";s:9:\"downloads\";s:5:\"96917\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:5:\"GPLv2\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:1:\"2\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=62893b14ee822a417918c4a3\";s:9:\"signature\";s:20:\"upgrademodx-2.3.2-pl\";s:11:\"supports_db\";s:12:\"mysql,sqlsrv\";s:16:\"minimum_supports\";s:1:\"2\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:0:\"\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"62893b14ee822a417918c4a3\";s:7:\"version\";s:24:\"62893b14ee822a417918c4a2\";s:8:\"filename\";s:34:\"upgrademodx-2.3.2-pl.transport.zip\";s:9:\"downloads\";s:4:\"1597\";s:6:\"lastip\";s:14:\"37.140.192.143\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=62893b14ee822a417918c4a3\";}s:17:\"package-signature\";s:20:\"upgrademodx-2.3.2-pl\";s:10:\"categories\";s:36:\"administration,integrations,security\";s:4:\"tags\";s:7:\"upgrade\";}',2,3,2,'pl',0),('clientconfig-2.3.3-pl','2022-12-04 21:32:45','2022-12-04 18:32:52','2022-12-04 21:32:52',0,1,1,0,'clientconfig-2.3.3-pl.transport.zip',NULL,'a:11:{s:7:\"license\";s:1109:\"The MIT License (MIT)\n\nCopyright (c) 2016 Mark Hamstra Web Development <hello@markhamstra.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n\";s:6:\"readme\";s:853:\"-------------------------\nClientConfig\n-------------------------\nAuthor: Mark Hamstra\nContact: mark@modmore.com\n-------------------------\n\nClientConfig is the by product of a workshop at MODXpo Europe 2012,\nthe \"Developing Extras in MODX\" one. See the session page at modxpo.eu\nhttp://modxpo.eu/schedule/sessions/developing-extras-for-modx-hands-on\nfor more information and footage of the workshop.\n\nClientConfig gives your client a user-friendly interface for making site\nwide changes, while you as the administrator set up the different options\navailable to the end-user.\n\nPossible uses include:\n- Regularly update a slogan or tag-line in header or footer\n- Change call-to-action button colors based on the season\n- Keep contact details updated in one central location\n- Update the email-address a form sends notifications to.\n\nLicensed under the MIT.\";s:9:\"changelog\";s:7472:\"ClientConfig 2.3.3-pl\n---------------------\nReleased on 2022-09-17\n\n- Guard against pdoToolsOnFenomInit event from triggering more than once causing a fatal loop [#198]\n- Fix contexts dropdown not displaying in the same order as the resource tree. Now sorts by rank rather than key. [1eceff9]\n- Add tooltips showing placeholder syntax to image and file settings. [#183]\n- Fix context aware mode being disabled when upgrading remotely. [#177]\n\nClientConfig 2.3.2-pl\n---------------------\nReleased on 2022-07-15\n\n- Fix strict type check in plugin for MODX 3.x [#195]\n- Lower priority of onHandleRequest event on install so context mode works reliably out of the box with routing plugins. [#196]\n\nClientConfig 2.3.1-pl\n---------------------\nReleased on 2022-06-13\n\n- Fix \"Choose Context\" combobox not loading in MODX 3.x [#193]  \n- Fix double asterisks being displayed on required fields in MODX 3.x [#189]\n- Fix admin grids not resizing when browser is resized [#194]\n\nClientConfig 2.3.0-pl\n---------------------\nReleased on 2019-10-24\n\n- Add icon to the menu item (when moved to the top navigation) [#175]\n- Make placeholders available for inherited fenom templates [#173, #174]\n- Make textarea fields bigger and automatically growing with the content [#172]\n- Allow a hash in the url containing the ID of a group to automatically open to that tab [#169]\n- Add a line/divider field type to create simple sections [#149]\n- Add a code field type (requires Ace editor) for things like custom CSS or other markup [#144]\n- Add an email field type which validates the value to be an email address [#65]\n- Include OnHandleRequest plugin event (alongside OnMODXInit), to make ClientConfig play nicer with various context routing and other solutions that don\'t use OnMODXInit [#140]\n- Add separate \"Save\" and \"Save and close\" buttons to the setting window [#135]\n\nClientConfig 2.2.0-pl\n---------------------\nReleased on 2019-08-19\n\n- Fix media source path being included for empty values [#152]\n- When context values are empty, it will now fall back to the global value\n\nClientConfig 2.1.0-pl\n---------------------\nReleased on 2018-12-05\n\n- Update menu to no longer rely on modAction, instead using namespace routing [#158, #139]\n- Fix image/file fields not refreshing when switching context [#147, #155]\n- Adjust plugin to accept both OnMODXInit and OnHandleRequest so you can change the event it runs on, if needed [#140]\n- Prevent events (i.e., priority) from being overwritten on upgrade [#148]\n\nClientConfig 2.0.0-pl\n---------------------\nReleased on 2018-06-26\n\n- Don\'t add _duplicate to the key when duplicating a setting [#142]\n- Updated German [#141], Russian [#145] and Dutch translations\n\nClientConfig 2.0.0-rc1\n----------------------\nReleased on 2017-10-04\n\n- ClientConfig can now (optionally) manage settings for different contexts [#4/#112]\n- Media fields (image/file) now prefix the media source url [#124]\n- Allow snippet/chunk tags in options for the dropdown field [#104]\n- Updated minimum requirements to PHP 5.5.0 and MODX 2.5.2.\n- Added separate clientconfig.categories lexicon for the vertical tabs interface [#91]\n\nClientConfig 1.4.2-pl\n---------------------\nReleased on 2017-07-22\n\n- Restore PHP 5.3 compatibility in creating settings. Note: next release will require 5.5+!\n- Fix issue saving settings on certain environments due to missing value for source [#129]\n- Fix incorrect header/container alignment in both manager pages [#128]\n- Fix (unused) namespace assets path (on new installs) [#126]\n\nClientConfig 1.4.1-pl\n---------------------\nReleased on 2017-02-02\n\n- Fix bug where the new source dropdown does not appear for image field types\n\nClientConfig 1.4.0-pl\n---------------------\nReleased on 2017-01-31\n\n- Fix loading of TinyMCE RTE, causing it to be initialised without configuration [#122]\n- Add ClientConfig_ConfigChange event to be able of hooking into configuration changes [#117]\n- Change plugin event from OnHandleRequest to OnMODXInit [#87, #109, #115]\n- Enable inline editing in the admin component [#94, #95, #114]\n- Fix field-required errors not being shown by adding a popup\n- Accept 0 as valid required value on the number input [#119]\n- Add a Password input type [#105]\n- Add a File input type [#36]\n- Don\'t show \"Error adding field\" errors during installation/upgrade [#92]\n- Fix loading RTE if the field key contains a dot [#89]\n- Add CMD/CTRL + S shortcut for saving the configuration [#80]\n- Preserve linebreaks when editing a setting in the admin section by using a textarea for the value [#69]\n- Relicense under the MIT license instead of GPL [#67]\n- Allow specifying a media source for the image input type [#66]\n\nClientConfig 1.3.2-pl\n---------------------\nReleased on 2015-12-09\n\n- Update French translation\n- Make sure image field uses the MODX default media source\n- Respect manager_date_format and manager_time_format settings\n\nClientConfig 1.3.1-pl\n---------------------\nReleased on 2014-07-20\n\n- Update Dutch translation\n- More weird border fixes\n- Minor fix to when borders are added, specifically for 2.2.\n\nClientConfig 1.3.0-pl\n---------------------\nReleased on 2014-07-19\n\n- #27 Ability to import/export groups and settings\n- #16 Auto-select first group when adding a setting\n- #15 Force admins to create a group before creating a setting, as settings need groups\n- #76 Fix issue where unchecking a checkbox would fail if the setting was required\n- #78 Make the is_required column show Yes/No instead of true/false\n- #60 Get rid of an extra border\n- #75 Update help link to point to modmore.com\n\nClientConfig 1.2.1-pl\n---------------------\nReleased on 2014-01-07\n\n- #57 Add Google Font input type (Thanks @garryn)\n- #63 Fix issue loading more than one rich text field\n\nClientConfig 1.2.0-pl\n---------------------\nReleased on 2013-08-16\n\n- #38 Add setting (vertical_tabs) to allow stacking groups vertically instead of horizontal tabs\n- #46 Add ability to duplicate a setting\n- #45 Show field options field when editing a select box setting.\n- #54 Add Rich Text input type.\n- Improved width consistency of input items.\n- #37 Added input type Image (thanks COEX!)\n- #3 Fix/add colorpicker input type (thanks COEX!)\n\nClientConfig 1.1.2-pl\n---------------------\nReleased on 2013-03-07\n\n- Add/update translations: Russian (thx @Alroniks!), German (thx @enigmatic-user!), Swedish (thx @fractalwolfe!) and Dutch.\n- #47 Show field descriptions under the fields. (Thanks @fractalwolfe!)\n- #40 Add placeholder tooltips with the  for admins. (Thanks @fractalwolfe!)\n\nClientConfig 1.1.1-pl\n---------------------\nReleased on 2012-12-31\n\n- #35 Don\'t strip out tags when saving values (relies on allow_tags_in_post=true in mgr context).\n- #39 Increase database field max sizes for longer descriptions and values.\n- #33 Make sure to show message when no tabs are to be shown.\n- #34 Prevent E_WARNING when there are no settings configured.\n\nClientConfig 1.1.0-pl\n---------------------\nReleased on 2012-12-16\n\n- #26 Add ability to manually sort Settings within a Group\n- #25 Add ability to manually sort Groups\n- #21 Add Filter on Group for settings.\n- #24 Remember last visited tab in both admin and client view.\n- #22 Add \"Help!\" button on Admin panel linking to RTFM instructions.\n- Improve checking if key exists on updating a setting.\n- #30 Fix bug with incorrectly checking cgSetting.is_required checkbox\n- Make controller a tad more portable.\n\nClientConfig 1.0.0-pl\n---------------------\nReleased on 2012-12-09\n\nFirst release\n\";s:13:\"setup-options\";s:39:\"clientconfig-2.3.3-pl/setup-options.php\";s:9:\"signature\";s:21:\"clientconfig-2.3.3-pl\";s:6:\"action\";s:26:\"workspace/packages/install\";s:8:\"register\";s:3:\"mgr\";s:5:\"topic\";s:49:\"/workspace/package/install/clientconfig-2.3.3-pl/\";s:26:\"clientconfig_setup_options\";s:1:\"1\";s:26:\"clientconfig_context_aware\";s:1:\"0\";s:14:\"package_action\";i:1;}','ClientConfig','a:38:{s:2:\"id\";s:24:\"6325b6beaa9e9575865bcea2\";s:7:\"package\";s:24:\"50c3f87ef245542fc1000033\";s:12:\"display_name\";s:21:\"clientconfig-2.3.3-pl\";s:4:\"name\";s:12:\"ClientConfig\";s:7:\"version\";s:5:\"2.3.3\";s:13:\"version_major\";s:1:\"2\";s:13:\"version_minor\";s:1:\"3\";s:13:\"version_patch\";s:1:\"3\";s:7:\"release\";s:2:\"pl\";s:8:\"vrelease\";s:2:\"pl\";s:14:\"vrelease_index\";s:0:\"\";s:6:\"author\";s:5:\"markh\";s:11:\"description\";s:824:\"ClientConfig gives your client a user-friendly interface for making site wide changes, while you as the administrator set up the different options available to the end-user.\n\n**New in ClientConfig 2.0: <a href=\"https://www.modmore.com/blog/2017/clientconfig-2-context-settings/\">context-aware settings</a>!**\n\nPossible uses include:\n\n- Regularly update a slogan or tag-line in header or footer\n- Change call-to-action button colors based on the season\n- Keep contact details updated in one central location\n- Update the email-address a form sends notifications to.\n- Manage theme/style settings\n\n<a href=\"https://github.com/modmore/ClientConfig\">Please report bugs and request features on Github</a>. Happy with ClientConfig? <a href=\"https://modmore.com/extras/clientconfig/donate/\">Support open source with a donation</a>.\";s:12:\"instructions\";s:537:\"<p>To install, simply grab the package through package manager and install it. Navigate to the component in the components directory, hit the admin button in the top right, and start configuring settings for your clients to maintain. </p><p>You can use the values from the settings by using either the system setting tag syntax , or by using $modx->getOption(\'key\') in code. </p><p>For further information, <a href=\"https://docs.modmore.com/en/Open_Source/ClientConfig/index.html\" title=\"\" target=\"\">refer to the documentation</a>.</p>\";s:9:\"changelog\";s:398:\"Released on 2022-09-17\n\n- Guard against pdoToolsOnFenomInit event from triggering more than once causing a fatal loop [#198]\n- Fix contexts dropdown not displaying in the same order as the resource tree. Now sorts by rank rather than key. [1eceff9]\n- Add tooltips showing placeholder syntax to image and file settings. [#183]\n- Fix context aware mode being disabled when upgrading remotely. [#177]\n\";s:9:\"createdon\";s:24:\"2022-09-17T11:59:58+0000\";s:9:\"createdby\";s:5:\"markh\";s:8:\"editedon\";s:24:\"2022-12-04T18:26:28+0000\";s:10:\"releasedon\";s:24:\"2022-09-17T11:59:58+0000\";s:9:\"downloads\";s:5:\"90555\";s:8:\"approved\";s:4:\"true\";s:7:\"audited\";s:5:\"false\";s:8:\"featured\";s:5:\"false\";s:10:\"deprecated\";s:5:\"false\";s:7:\"license\";s:3:\"MIT\";s:7:\"smf_url\";s:0:\"\";s:10:\"repository\";s:24:\"4d4c3fa6b2b0830da9000001\";s:8:\"supports\";s:3:\"2.7\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=6325b6bfaa9e9575865bcea3\";s:9:\"signature\";s:21:\"clientconfig-2.3.3-pl\";s:11:\"supports_db\";s:5:\"mysql\";s:16:\"minimum_supports\";s:3:\"2.7\";s:9:\"breaks_at\";s:8:\"10000000\";s:10:\"screenshot\";s:77:\"http://modx.s3.amazonaws.com/extras/50c3f87ef245542fc1000033/clientconfig.jpg\";s:4:\"file\";a:7:{s:2:\"id\";s:24:\"6325b6bfaa9e9575865bcea3\";s:7:\"version\";s:24:\"6325b6beaa9e9575865bcea2\";s:8:\"filename\";s:35:\"clientconfig-2.3.3-pl.transport.zip\";s:9:\"downloads\";s:4:\"2619\";s:6:\"lastip\";s:12:\"144.76.2.101\";s:9:\"transport\";s:4:\"true\";s:8:\"location\";s:61:\"https://modx.com/extras/download/?id=6325b6bfaa9e9575865bcea3\";}s:17:\"package-signature\";s:21:\"clientconfig-2.3.3-pl\";s:10:\"categories\";s:61:\"administration,administration,personalization,personalization\";s:4:\"tags\";s:30:\"setting,settings,configuration\";}',2,3,3,'pl',0),