The changes could be tracked on: https://sourceforge.net/p/apc-aa/svn/commit_browser https://sourceforge.net/p/apc-aa/svn/HEAD/log/ https://sourceforge.net/p/apc-aa/svn/feed --- Older changes are listed also here: ----- 20-01-16 - optimized SQL query for remote items search like in query (honzam) {ids:{_#SLICE_ID}:d-status_code.....@27803bcb3e04af9fe56a4420aa3a8b35/relation........-=-1} - better js detection in {require:myscript.js?v=5} - .js with ?parameters is detected well 20-01-14 - new {sortable}, {sortable:#mytable}, {sortable:table.sortable} (default) (honzam) makes the specified table sortable. Good to add also short css rules - see cdn.jsdelivr.net/gh/honzito/plain.sortable/sortable.css - new experimental {datatable::} - creates Datatable form tables matching the (.datatable) by default (see datatables.net) {datatable}, {datatable:#mytable}, {datatable:.datatable:{ paging:false, info:false }} 20-01-06 - better pagacache cron cleanup process - no old records remain, now 20-01-02 - new possibility to specify label for {formsaver::Fill by} - prefixes the searches (honzam) buttons with the label (HTML could be used) - new '410 Gone' status code for {header} - {header:410} 19-12-30 - new {formsaver[:]} - creates
with clickable options corresponding to previously (honzam) filled form values by the user. Max 5 saved searches are stored (using localStore) {formsaver} - whole form is saved (the one in which is the {formsaver}) {formsaver:.my_subform} - only the subform is saved - fix - {math..} now handles Division by zero Err - allow require ggogle fonts: {require:["//fonts.googleapis.com/css?family=Open+Sans#:400,600&subset=latin-ext"]} 19-12-27 - {ids} now can be returned as JSON, if "json" is specified as delimiter (honzam) - nicer output of AA Finder - better view help text and example on Admin -> View - removed unused functions 19-12-19 - improved {foreach} - it can use named variables as well as multidimensional loops: (honzam) named variables (alias _#x reflects the key name "x" in JSON: {foreach:{"x":["val1","val2","val3"]}: * _#x :json:
} multilevel foreach is easier with named variables: {foreach:{"x":["X1","X2","X3"]}:{( {foreach:{"y":["Y1","Y2"]}: * _#x, _#y :json:
} )}:json:} even easier way to write multilevel foreach (_#loop0 _#loop1, ... as default aliases, or _#x, _y, ... if you use named variables): {foreach:[["X1","X2","X3"],["Y1","Y2"]]: * _#loop0, _#loop1:json:
} {foreach:{"x":["X1","X2","X3"],"y":["Y1","Y2"],"zet":["ZET1","ZET2"]}: _#x - _#y - _#zet:json:, } 19-12-17 - fixed hash generator for identifiers - now we use only safe a-zA-Z0-9 characers (honzam) 19-12-13 - improved "Insert as new" - the seo is now regenerated form alias is the seo is duplicated (honzam) 19-12-11 - session lifetime and auth lifetime set to 1 day by default (honzam) (we are also trying to set session.gc_maxlifetime to 86400 in php.ini to make us sure the garbage collector of PHP do not delete it) 19-12-09 - fixed {manager} when sometimes the wrong generated hash lead to JS error 19-12-04 - the Seo field (with SEO Name insert function) is filled with unique value, when user (honzam) hits "Insert as new" in inputform - {seoname:name:all} counts at least with current slice if the slice is not part of any site module 19-12-03 - fixed new view in Admin Views (honzam) - fixed file upload - form multipart - on inputform - removed unused functions - fixed checkbox in the inputform - fixed bug with empty multi-selectbox in inputform - fixed file upload validation when the file upload field is required 19-12-02 - fixed new view in Admin Views (honzam) - fixed bug with pre-fill fields - fixed bug with validation empty fields - old type of JS validation removed form inputform - HTML5 validation should be enough 19-11-29 - better page scroller in AA Item Manager (Thanks to Sarka Vasku) (honzam) - fixed translation button of multilanguage textarea 19-11-26 - better AA logging in log table (AA -> Log) (honzam) - more login entries (ITEM_NEW, ITEM_UPD, all events with item is logged, now) - more information about context of the operation (IP, script) - moving items between bins uses standard storeItem function (with logging, ...) and not special code - do not log validate problem for hidden fields from item table - fixed php bug in {recompute} - version bump of js files to be reloaded from server 19-11-25 - new possibility to display Date Widget as HTML5 input type=date - just (honzam) place 2 in "Date-time input type" Parameter in Date widget setting - min and max widget parameters in this case could be used as year (2019), month (2019-03) or day (2019-03-16) - ugly arrows (>>) used in AA interface replaced by real html arrows - improved Two Boxes Widget - better js - improved Related Item Window - the size could grow a bit if the widget is already filled - the password Rehashing to stronger password is logged to the AA Log - fixed password store function - fixed bug in File Widget 19-11-22 - fixed new widgets on AA Item Edit - mainly multiple checkboxes, ... (honzam) - better type checks in the code 19-11-21 - Admin -> View Edit now shows the hint for {view... command including the d-... conditions. (honzam) - Admin -> Item Set now uses short d-.. conditions as default (instead of long conds[value]=... format) - page scroller in AA user interface now displays the number of found items even if there is only one page - code editor now added to Admin -> Javascript for field - validation of new item now switched to LOG by default (as it was month ago) - better constant group name check - only alphanum characters allowed - the items from Slice marked as deleted is not shown in Site Module - fixed problem with {var} used in {item:...:{(...some text {var:x}...)}} - now the {var:x} is actualized when changed, even if we display the same item - img.php now works with https - fixed upload in CKEditor - some zids methods are with fluent API, now (returns $this, so you can change it $zid->clear()->add(..)) 19-11-11 - fixed constant setting (honzam) - added note to RSS feeds, that the mapping is URL dependent, so it is not good idea to change the url of the feed - a bit improved html code for input field and textarea - usage of fluent programming interface for AA_Content and AA_Object 19-11-05 - fixed language setting - setlocale() added to all utf8 languages in order {order:...:locale} works well (honzam) - the default DB_COLLATION is preset to correct utf8mb4_***_ci version of utf 19-10-30 - [+] and [-] images in {toggle...} are surrounded by span.aa-img-plus or span.aa-img-minus so we can (honzam) redefine then using CSS before/after - in {ajax} the whole content works as button by default. Now you can redefine it using _#AA_AJAX_ alias like: The text which works with value - http:// replaced by https:// in comments and help texts 19-10-18 - New possibility to call Google Translate and directly translate (honzam) the Textarea Widgets which uses different languages - new {inputonly} command - the same as {input}, but do not contain Labels and hints Used also for Itemedit in AA - AA form validation was rewritten in order we can better use new XxxWidget widgets in the AA inputform - Views in Slice Admin now uses more universal Manager approach - new possibility to move views between slice - Manager Widget fixed, when displayed in many instances on the same page (used sessions, more complete hashes) - fixed Tags widget - now could be used in {ajax} displayed widgets (the required scripts and CSS are loaded automatically) - better requires control - now we are able to control the requires during AJAX calls (so {ajax} widgets are able to load its JS and CSS) - quicker AA\Cache\PageCache - better values for DB keys, quicker invalidation (grouped for more slices) - The functions for inserting Item Fields to the DB was rewritten to classes (which also allows better validation functions) - Links Module converted to ManagerActions and secured (better parameter checks, better SQL calls) - better zids filtering - better zids consistence - optimized manageractions code 19-10-01 - new possibility to redefine just selected variables in the query string by {go:xqs_=} (honzam) like: {go:xqs_year=2019&xqs_type=enviro} ==> example.org/...?year=2019&type=enviro&some_other_params_from_old_url 19-09-13 - fixed problem with "Reset Password" - the recovery e-mail was written to wrong address (honzam) 19-09-11 - Widget is possible to use with {ajax} and {live} - not only in AA interface (honzam) - {htmlajaxtoggle} now allows switch between two content - the primary and the one generated by the ajax call. In previous version expects the initial content is empty. The change is backward compatible. - fixed {protectmail} - the script for generate protectmail is removed after execution, because when the content is redisplayed again (by {htmlajaxtoggle} for example, the script is executed again, which leads to wrong content - fixed {text2html} and {field2html} - now correctly works with UTF strings - jQuery updated from v 3.3.1 to 3.4.1 - select2 is now preferred in version 4.x over 3.x 19-08-28 - {qs} is now able to access the variables sent as application/json request body (used by JS APIs) (jirkar) (we count with the request body in caching system in this case) (honzam) - improved input validation - items with invalid values are not stored in the database - password field now works correctly even if validation (for password length) is not set in field setting - password field in the form now should not be autofilled - new link "Log" in Planned task manager to see results of the task in the log - new _#PWD_URLP - Password change url parameter - alias for URL parameter used for password change link in _#PWD_LINK (you can use it, if you want to use your own url for it) - fixed {jwtdecode} for some Apache instalations - fixed onSuccess function call in AA_Ajax() - fixed return values of {changepwdsendmail} - fixed ANONYMOUS_EDIT_CRON - "Only by Planned tasks (cron-toexecute)" permissions for cron task 19-08-06 - new Manager input widget - it allows manage Items from remote slice, when the remote (honzam) item points to editted item. It the same as we can achieve with {manager}. It works also in AA admin interface, where was problem with Add Item operation (the ID of new item is not knows). Solved by artificial "connector ID". Best for galleries and other tabular data which is multivalue and different for each item. - New search field in AA user interface - right top - which searches the AA the same way as you do in AA -> Find. It is shown just to Superadmins. - The information about Item deletion is written to the log, now. - fixed logout - the logout on admin pages works now (there was cases when the logout page was cached and so the logout failed) - Links to history records for items/views/... now contain count of history records. The link is displayed only if there are some history records. - New permission for "Anonymous item update" - "Only by Planned task (cron-toexecute)". Allows update items by Planned tasks. - Better debug messages. Debug output could be started in AA Admin interface in Item Manager left menu, again. - Database structure updated - The enumeration/constant fields in all tables converted to varbinary instead of encodig-specific varchar/char (and other small improvements) - fix site module administration code - the unused spots are correctly removed from database - removed unused configuration options and css - fixed AA_Message box in AA admin interface - fixed Date widget when used in {ajax} - setting empty date now works - improved metabases Insert functions which validates values automaticaly - better working with utf strings - mainly substrings, ... - improved AA internal character encoding setting - encoding set also for utf mb_* functions - database operations rewritten to more safe form - better handling of Err messages inside AA code 19-07-25 - fixed Invalid SQL: INSERT INTO `hit_long_id` problem with too long data record 19-07-24 - diff of database structure in "Update database structure" optimize task is nicer (honzam) - better AA Finder - now is possible to - replace text with empty or shorter string - search for shorter strings 19-07-18 - fix {shorten} - now works correctly with utf8 encoding (honzam) 19-07-09 - SEO field now can have multivalue when using SEO Name insert function (honzam) - new possibility to get charset of the slice - {modulefield:2e637469436961532d65732e332e446a:charset} - improved {math} - more "strange" expressions are accepted - Improved history - more links to history versions in AA admin interface - history is now stored also for fields, users, slice, spot ... - better history design - fixed implementation of "!=" and "<>"" operator in conditions ({view}, {ids}, ...) - hitcounter now writes info about page generation time and caching into the log for future statistics - new NamedInterface for better internal AA API on components naming - changes monitor moved to separate file/namespace - toexecute now uses new LaterInterface for cleaner internal AA API - css improvements - images as data/base64, UI improvement - improved user management UX - standard widgets used - improved internal Javascripts - removed eval() calls - removed old tricks with selectbox widths - removed unused files (old unused CSS) 19-06-18 - AA_Message() - better CSS - inner div are not scrambled (honzam) 19-06-17 - protecting of domain by specify request frequency moved to more genaral AbsractGrabber class (honzam) 19-06-14 - fixed bug with session (honzam) 19-06-11 - new SOAP grabber implementing SOAP interface (honzam) - XML grabber now - allows load data by POST request - works with namespaced XML files (the best approach is to use useFakeNamespaces() to convert res:result to res_result) - have domain protection, so the request for one domain is not more otfen than 2 seconds (by default) - new AA\IO\Importer which allows to create scheduled task from the import 19-06-06 - site chache now caches desktop / mobile / tablet separatelly (honzam) (you can have the different content on the same url switched by {detect} condition in the sitemodule, for example) - Rich Text Editor fileupload now works outside the AA Admin interface (in sitemodule) (honzam) did not work on Safari 12.1 19-06-04 - fixed syntax Error in JS AA__SiteUpdatePart causing the Dropzone for image upload (honzam) did not work on Safari 12.1 19-05-29 - new parameter expression in {sortstring:[:[:]]} (honzam) which allows to use other expression for tree ordering, than the default short ID (which is OK for discussions, .. but maybe not for the use cases, where one want to move items in tree) 19-05-28 - fixed error in {sessurl} (honzam) 19-05-27 - fixed problem with Authentication. User was able to login into sitemodule (honzam) with Reader slice not belonginig to this site - {updateitem:...} now works also in view.php and AA admin interface - the item updated must be from slice of the view or current slice - some messages with alerst are translateable, now ("E-mail unsubscribed",...) 19-05-16 - sessions in AA improved - used more secure settings, removed old unused directions (honzam) - used fully qualified class names for namespaced classes - cookies are set as secure (and samesit=lax) for https pages 19-05-10 - fixed problem (fatal error) with RSS feeding 19-05-02 - fixed bug in central (bug introduced with refactoring last week) 19-04-30 - tag widget now allows two more options (honzam) - disable_new - disallow to add new items to related slice - max_values - allows to limit maximum number of options (even 1) - tag widget moved to select2 v4 library - fix error when updated User Group with MariaDB 10.3 - fixed namespace paths to Saver and Grabber 19-04-29 - html code for {rotator} improved a bit (honzam) - fixed AA -> User Group - assigning users to group work with LDAP again 19-04-25 - new operator BITSET for bitwise AND - test if the bit(s) are set - goot for bitfields (honzam) {item:{ids:{_#SLICE_ID}:d-highlight.......-BITSET-4}:_#HEADLINE:
} - third bit of highlight field must be set (val & 4 == 4) {item:{ids:{_#SLICE_ID}:d-highlight.......-BITSET-6}:_#HEADLINE:
} - second and third bit of highlight field must be set (val & 6 == 6) - fix Two boxes widget - wrong constants - broken after previous commit 19-04-23 - fix {manager} - do not show all items when no item is edited (adding item) (honzam) - {header} now removes newlines, so the code could be more readable - new parameter for {facebook::} - when is "+share", then the FB button will contain Like + Share button - new libraries select2@3 and select2@4 added for {require:} - new {changepwdsendmail:::} sends mail to the user identified by username and readerslice to allow password change. Return 1 if mail is sent, anything else in case of error - new {detect} - Detects mobile/tablet/desktop (and print one of the mentioned keywords) - site module now removes initial and ending newlines from the page output, so the page begins with usefull content - The transformation "Divide the text to multiple values" now allows multiline delimiters - Page is not cached when Authorization header is changed - Grabbers and Savers moved form global AA_Grabber_* namespace to its own AA\IO\Grabber, AA\IO\Saver - new searchfileds class to manipulate slice/view condition fields. It will be used for view filtering on remote fields (headline........@relation.......1) 19-04-04 - fix optimize.php script which time to time calls OPTIMIZE on database tables (honzam) (it wasn't executed in php >=5.3. It is also called on all tables, now) 19-03-28 - {math} allows also bitwise operators & and | (honzam) 19-02-18 - fixed {newitem} when used with {var} and {define} - {define}s are not cleaned after Item Insert 19-02-15 - better generated SeoName - trim multiple dots as well as dots at the end and start 19-02-08 - better {shorten:...} behavior - better strips tags, when the text is shorten (honzam) - new possible {headers:CSP:param} - Content-Security-Policy: {headers:CSP-RO:param} - Content-Security-Policy-Report-Only: {headers:RT:param} - Report-To: {headers:NEL:param} - NEL: {headers:Xss:param} - X-Xss-Protection: example of usage using report-uri.com: {header:CSP-RO:{- default-src 'self' https://myexamplesite.ecn.cz; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.jsdelivr.net https://unpkg.com/; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://unpkg.com/; font-src 'self' https://fonts.gstatic.com; img-src 'self' https://myexamplesite.ecn.cz/ https://*.tile.openstreetmap.org https://unpkg.com/; form-action 'self'; frame-ancestors 'self'; report-uri https://myexample.report-uri.com/r/d/csp/reportOnly}} {header:RT:{- {"group":"myexamplegroup","max_age":31536000,"endpoints":[{"url":"https://myexample.report-uri.com/a/d/g"}],"include_subdomains":true}}} {header:NEL:{- {"report_to":"myexamplegroup","max_age":31536000,"include_subdomains":true}}} {header:XSS:{- 1; mode=block; report=https://example.report-uri.com/r/d/xss/enforce}} - fixed file upload for {manager:..} - now works also on pages with parameter in url - fixed problem with {recount} called from computed field - the cached old content of the item is invalidated before counting' include/item_content.php CHANGES 19-02-06 - substrings now counts with different encodings (honzam) 19-02-05 - better item filtering for "<>" conditions - now works well also with multivalues (honzam) - added new "is not" ("<>") operator in Admin searchbar. 19-02-04 - "AA -> Scheduled tasks" now allows to run individual task (honzam) - the user interface for "AA -> Scheduled tasks" is the same as for "Slice Admin -> Task Manager" - fixed problem with hit...........xx fields - it did not count hits after last update 19-01-30 - new {formantispam} command -generates html code ( which protects (honzam) the form from spammers by easy trick (the generated code could be changed in future) - input type for "Unique email" changed to - fixed Tags widget - now works again - fixed crypt functions, when the password is longer than 32 characters 19-01-30 - {editable:...} text editor now asks user, when (s)he wants to leave the page without saving changes (honzam) 19-01-29 - fix - parameter for {htmltoggle::::[:][:]} (honzam) now works also in jQuery version of the aajslib 19-01-28 - new JSON Web Token stateless authentication possibility using {jwtencode} and {jwtdecode} (honzam) - new {jwtencode:::[:[:]]} - Generates JWT (JSON Web Token) for user identified by and . The validity is checked in {jwtdecode} using secret-key and optional - add-validity - aditional check - alias or aa code evaluated for the user. When user then access the AA with token, the evaluated text for the user must be the same for success login - could be used for invalidating of the token. Let's create end_date........ field with _#EXITTIME alias passed as $add_validity. Then with user logout we just update the end_date........ field of the user - works only for Readermanagement users usage: {jwtencode:secret-key:{qss:email}:{qss:password}:3600:_#EXITTIME} - new {jwtdecode:[:]} - checks the validity of the JWS token in Authorization header an if OK, returns user id of authenticated user is the additional check which allows invalidate older tokens - see {jwtencode:...} Note: Appache webserver sometimes do not pass the Authorization header. The solution could be in adding FcgidPassHeader Authorization in Apache configuration (for Apache/mod_fcgid) - new \Firebase\JWT\JWT library (used for JWT parsing) 19-01-23 - new {field2html:} - converts the content of the field to html better (honzam) than standard {text............} comand would do (makes html links from urls...). 19-01-22 - manager now allows to create items by upload file to slice (allows drag&drop) (honzam) - {input::} as well as {edit::} now works with CKEditor (Rich Edit Text Area widget) 19-01-17 - fixed problem with Reader slice password rehashing from 19-01-15 (honzam) - fixed site module login - removed duplicated login process on the page - allow dot in the seoname - hitcounter now uses newer approach to write the result to hit_x... fields 19-01-16 - new parameter in (honzam) {manager::::[:[:[:[:]]]]} which allows you to specify code for edit - like _#EDIT_ITM. Displays _#EDIT_ITM for item defined in {qss:{qss:aaedit}}. Two related buttons are added in - E for Edit, - B for Back 19-01-15 - Reader slice password now allows to authenticate with old sha1 hash. This could be used (honzam) for imported user database which uses this algorithm to authenticate. The hash is automatically updated to newer one upon user login - the LDAP permission system now stores passwords crypted with sha512 19-01-07 - sitemodule Aliases edit now uses Codemirror editor (and possibly all Object edited in AA) (honzam) - improved HTML code -
replaced with style="text-align: center;" - improved function PHPDoc 19-01-02 - new {iftype:teststring:test:ok:...:else} Tests type of the string (honzam) test could be longid or shortid at this moment example: {iftype:{qs:id}:longid:_#1:shortid:warning - use long id:parameter is not id} - better JS code for {tooltip} - the tippy library is loaded at the bottom of the page - widgets Select and Multiselect on Inputform accepts "values array" setting (constants defined by string (json) and not constants or slice) 18-12-28 - "AA -> Finder" now allows to search and replace by multiline string (honzam) - fixed {ajax:...} - the shown values respects plaintext/html setting, so newlines are displayed correctly - fix for private/public caching 18-12-21 - new implementation of {encrypt} and {decrypt}. It now uses libsodium, if available (php 7.2) (honzam) or openssl (php 7.1). Old mcrypt based solution is no longer supported by PHP devs. Unfortunately, the algorithms are not compatible, so you will be able to decrypt previously encrypted string only in PHP<7.2. {encrypt} in php 7.1 will produce result, which will be compatible in 7.1, 7.2, ... - the AJAX calls (in {manager}...) now displays popup message, on error. - cache header now uses Cache-Control private for pages with logged user, which should be better for cacheability on proxy - AA Admin interface now also displays debuggung statistic with added url parameter ?debug=255 18-12-11 - search fields in Item Manager serachbox is restricted to first 8 fields in the remotes slice. (honzam) - "all fields" search in remote slices is allowed - new {xid:} expression, which returns the last item id in path, which is in the slice_id 18-12-06 - fixed problem with non html e-mail with non utf-8 encoding - the mail is no longer empty 18-12-05 - fixed bug in text e-mails, which was truncated after dot on empty line (honzam) - fixed list of search field in Item Manager Searchbar - fixed unique check in filler.php - better database handling in Alerts 18-12-03 - new expression {specialstring:BOM} - prints 3-byte symbol BOM used as identifier (honzam) at the beginning of utf-8 file on some systems - new parameters time and crc for {fileinfo::crc} - returns timestamp of last modification of the file or crc32 respectively - the buttons Add, Add Mutual and Backward in Related item selection window is now correctly translated 18-11-22 - fixed bug in sending alerts - the # was added befor all : characters like https#://... (honzam) - fixed "Recompute field" transformation in Item manager's "Modify content..." action 18-11-21 - {menu} expression now matches as class="active" the last presented active menu item, even if this item is not (honzam) {xid} - the last one in the url - the menuentry then remains active for example in detail of article not presented in the menu. The exact match with the real last itenm id is marked as class=xidmatch 18-11-20 - searchbar in Item Manager now allows to search in related fields (honzam) 1) the ones, where any of the current fields points to 2) the ones which points to current slice from any other slice 18-11-19 - fixed operator selection in view setting (honzam) - fixed typo 18-11-13 - fixed problem with user login - password was corrupted by feeding action (honzam) performed wrongly based on wrong relation table record. To fix it you need to run: AA -> Optimize -> Relation table duplicate records -> Repair - improved {mail} function - AA removes the end-line whitespaces in the generated plain-text version of e-mail (which broke responsivity in some templates in some email clients - Zurb/Thunderbird...) - small fixes, removed unnecessary functions and function parameters - functions have better phpDoc 18-11-07 - all AA admin pages converted to AA_Adminpageutil aproach (honzam) - better implementation of AA admin menu - AA UI improved - removed old links to documentation - fixed multiple chckboxes weidget, when diplayes through {live} or {ajax} - the deselecting by click on the tag now works as expected - better html entities escaping for display in HTML - fix - sitemodule marked as deleted now do not show any output 18-10-29 - improved Field Edit page - htmleditor used for textareas, ... (honzam) - added new PSR-4 compatible autoloader by composer 18-10-26 - fixed functionality of aliases in fields defined by slice 18-10-25 - now you can install AA with composer: composer create-project apc/actionapps -s dev - new PSR-4 compatible autoloader - started moving classes to separate files in new /src directory and namespaces compatible with PSR-4 specification - slice Admin -> Fields improved - checks for duplicated aliases - Analyze now allows to optimize some aliases for speed - change some occurrences of f_h/f_t to f_1 - Analyze highlightes empty fields and the fields with only single value - the fields defined by slice now supports aliases If you want to create alias for the field, then define _#FLD_ANxx for alias name and _#FLD_AVxx for alias params (f_t function is used) example: you can use _#MY_LINK_ for the field if you in the slice containing the field definitions for the slice set _#FLD_AN_1 = MY_LINK_ and _#FLD_AV_1 to _#SOME_LNK - better constants selectbox in Slice Admin -> Fields -> Edit - fixed Central and updated Copy slice to AA_Adminpageutil class - widget File is now prepared for multiple file upload (not yet enabled) - files manipulation library updated to last version - deleted slices moved to the end of slice selection selectbox and marked with xxx 18-10-03 - fixed problem with module switching (sometimes wrong module menu was loaded (honzam) (slice menu for site module, ...), mainly with opened more than one browser window) - fixed problem with Alerts switching when wrong alerts module was loaded into tabledit - fixed validation of unique field (mail) in filler.php - fixed polls module delete - fixed some SQL for MariaBD 10.3 strict sql-mode - fixed problem with broken "Settings" link when no "Slice field" is defined in the slice - polyfill for window.console used for debug info is no longer applied (browsers already support console for some time) 18-09-27 - {live} and {ajax} widget for Two Boxes input type now uses 1-column multiple checkbox form (honzam) - fixed css for aa-toolbox 18-09-26 - new {siteitem:[:]} - Translates seo in current site module to item (honzam) and prints fulltext of the item, or specified text for the item {siteitem:about-us} - prints fulltext but {siteitem:about-us:} - prints empty string {siteitem:about-us:

_#HEADLINE

} - headline of about-us item in current site module - searches only current (approved) items of current site - only the first item with the same seo is evaluated 18-09-25 - new http headers available for {header} - {header:css} for text/css, plain, js, html, bin, gif, png, jpg, ico (honzam) - anonym wizard for form no longer use use_post2shtml - shtml are not used in most cases now, so no need for it 18-09-21 - better behavior of required Date Input widget - the year selectbor is not prefilled and is required, now (honzam) - fixed Slice Admin - "Show content of pending items" - now it is possible to check this option - fixed inner links in AA admin interface - AA admin interface - Object Edit uses jQuery version of aajslib 18-09-20 - fixed bug wher sitemoduel have in User login databases set "first User Management slice" (honzam) - now it works really with the first listed, not random 18-08-23 - updated database structure (mostly change form VARCHAR to VARBINARY for raw content) (honzam) - fixed bug in slice deletion button - fix - INSERT queries are checked for consistency with database 18-08-22 - the debug output with ?debug=128 ($debug&128 bit set) now shows duplicated queries and longest queries (honzam) - fixed user add SQL for MariaBD 10.3 strict sql-mode 18-08-16 - new js library leaflet.js added for {reguire:leaflet@1} (honzam) - fix - better checks for view id if the view is displayed - fixed link to chart.js library for {reguire:chartjs@2} - the debug output with ?debug=128 ($debug&128 bit set) now shows whole queries 18-08-15 - fixed CSS for AA_Message() 18-08-14 - fixed SQL for MariaBD 10.3 strict sql-mode (honzam) Database inserts (item table, log, ...) now checks database schema in AA_Metabase and converts the inserted data accordingly - data type (int, ..) as well as text length, which is truncated by AA, not MariaBD - fix - better return addres after itemedit 18-08-13 - fixed SQL for MariaBD 10.3 strict sql-mode 18-08-09 - View's vid now could use non numeric identifiers - like: photo_list and then use it instead of numeric vid (honzam) like: {view:photo_list:...} or ..?vid=photo_list... The named vid is searched only in current sitemodule's slices. It allows us to use the same name of view for different sites, so it is the way, how to write "copyable" and installable slices/sites - new "Accept site module paging - {xpage}" listing view option - if checked, no need to pass page-{xpage} param to the view - {live:}, {edit:} and {editfull} now allows redefine widget the same way, as {axaj:} like: {live::number..........:::sel:{"const_arr":{"0":"no","1":"yes"}}} 18-08-08 - all system JS/CSS libs used in {require:} updated to last versions (honzam) - added jquery-ui to available libs by {require:jquery-ui} command - textareas with CodeMirror (syntax highlight code editor) now adapts its size to its content. It is as big as required. Also problem with searching in code editor is fixed. - new helpbox on available {require:} libraries is presented on Site Admin page - more checks for item id validity when storing item in the database 18-07-16 - the translation expression now can use parameters _#1, _#2, ... - {tr:found _#1 items:5} (honzam) - fixed new bug in slice unique validation - better parsing ids passed to {item:} - better email charset 18-06-29 - fixed validation error for email unique value, when invoked from (honzam) {newitem:...} in sitemodule - fixed bad include of site module legacy_util.php 18-06-28 - new {sitespot:8} syntax, which includes html code of the site's spot with specified ID (8 in our case) (honzam) (allowed only in site module spots) - {generate:} now works also on site's Login Page - better help text for directly specified constants in Radio, Multiple Checkboxes,... widgets - fixed "v0" constants bug - v0 is no longer presented, when no constants selected in Field setting - admin pages which uses tableedit have bigger textareas - better parsing of SEO router path 18-06-21 - fixed AA Item Manager left menu when displayed from bookmarks - no empty numbered rows (honzam) - fixed parsing of AA_SEO_Router site module url 18-06-18 - fixed AA_AjaxSendForm, so the result text is displayed for {form:...} 18-06-14 - fixed aajslib.php vs aajslib.php - both are in SVN and the same. (honzam) - the AA scripts loaded by {generate:HEAD} uses version, so we know the last version is always loaded - fixed Multiple Fext Field widget - rewritten to plain JS, so no additional library is required - fixed HTML / Plain text formater switch for translated textareas widget (textarea with Allow translation) - AA are now more strict about Required field, so checkboxes marked as Required must be filled (=checked) - new AA -> Optimize test "List Checkbox fields marked as required" which list all potential problem field if you accidentally set required on checkbox field in the history. - added year in alerts statistics 18-06-13 - fixed CKEditor - some plugins was not updated (scyat spellchecker, ...), path to editor better computed 18-06-12 - sitemodule now is able to omit language, so the pages /en/about is the same as /about (honzam) - you have to specify the "Languages on website" setting in Sitemodule admin - the first language is the default one) - AA is able to handle RESTful interface - you can use {server:REQUEST_METHOD} to get GET, POST, PUT, DELETE,... - the sitemodule cache counts with REQUEST_METHOD - there are new headers for status codes {header:200}, ... - 200: HTTP/1.1 200 OK - 201: HTTP/1.1 201 Created - 304: HTTP/1.1 304 Not Modified - 400: HTTP/1.1 400 Bad Request - 401: HTTP/1.1 401 Unauthorized - 404: HTTP/1.0 404 Not Found - 409: HTTP/1.1 409 Conflict - improved CKEditor settings and include scripts - write_mail.php - the form for writing mail to reders is updated to use AA_Adminpageutil and CKEditor 18-06-05 - The value-tags displayed above Multiple checkbox widget now could be switched on and off by mouse click, as (honzam) expected - site spot edit in AA uses Code Editor - legacy functions of site module are moved to separate file legacy_util.php - returned AA_Config object to aajslib-jquery.php, since it could be used in some external apps. The newer aajslib-jquery.min.js do not provide it, however. Use AA_GetConf('path') and AA_GetConf('loader'), instead - fixed group permission settings - the It wasn't possible to assign slice to Reader Set - fix - image upload in CKEditor works again 18-06-04 - change field ID now allows field numbers up to 9999 (honzam) - fixed bug - the view wasn't possible to delete in View Admin 18-05-29 - do not show html / plain text switch for ajax and live widgets (honzam) - quickfix of plaintext/HTML + Editor link broken with last commit 18-05-28 - Multiple checkbox switched to newer form code (honzam) - Textarea with translations uses the new form code as well, which fixes the problem with Plain text / HTML and CKeditor 18-05-24 - Textarea and Text Field moved back to use older codepath (new one needs to rewrite JS triggers (SetValue()...) (honzam) - AA javascript libraries are compressed, the JS code inside optimized a bit. - AA JS Triggers moved to its class - HTML / Plain text Formatters are generalized to its own class - PNG files are optimized for size - fixed central/setcookie.php for crossdomain auth - icons in admin-ecn.css inserted directly inside .css file - no external images needed 18-05-02 - initial implementation of "Permission alias" site-module setting (honzam) You can define the alias, which will be checked for all the displayed {xid} (=pages). If the value will be word "Valid", then the page will be shown. Otherwise the loginform will be shown. Of course, you do not need to use this feature and do it older way - directly in the tree of sitemodule. 18-04-30 - textarea and text inputs moved to AA_Widget_* approach for itemedit (honzam) - jQuery updated to last stable v3.3.1 18-04-26 - CKEditor updated to 4.9.2 - there was some security problems in CKEditor (honzam) - removed unnecessary session parameters to functions - better function documentation in the code 18-04-25 - fixed bug in CSV import preview - slice->fields was null 18-04-24 - new Google Map Locator help page - allows you to find latitude/ longitude of the place 18-04-23 - (several) Admin page moved to modern AA_Adminpageutil (honzam) - aajslib-jquery rewritten to use only Javascript - not php config settings. It is now better cacheable and we provide also minified version aajslib-jquery.min.js - the textareas with ACE code editor moved to CodeMirror editor in Slice Admin - textarea and Richtexteditor area use standard widgets - not old formutil's code 18-03-28 - {go} now filter out all err=1 and logout=1 internal AA parameters from resulting url (honzam) - fixed problem with encoding in previously changed Slice Admin - Fulltext 18-03-27 - Slice Admin - Fulltext is rewritten to use newer AA_Adminpage approach, which (honzam) simplifies and unifies the AA admin interface. - Slice Admin - Fulltext uses Codemirror editor, now (seems better for AA than ACE) - finished move of global instance of pagecache to AA::Pagecache() approach - fixed Slice Admin -> Change field ID (there was bug after refactoring) 18-03-23 - AA admin interface switched to HTML5 (just header...) (honzam) - fixed problem with Slice owner field on Slice Admin page (now displayed correctly) - code cleanup - more documentation of functions, ... - better language handling - safer javascipt usage - removed some eval()' 18-03-18 - new {html2text:} function which removes html tags (honzam) - pagecache global instance moved to AA::Pagecache() - code cleanup - better use of singleton (chained method call) - unified return types of some functions 18-03-15 - many files are now autoloaded (honzam) -code cleanup - removed closing php tag - removed unused variables and classes - fixed function name cases - removed wrong css attributes - converted some queries safer DB_AA::select() - removed short php start tags - fixed constants names... - better parametter examples in wizard - removed old, unused files - no longer needed 18-03-05 - new {twitter} Tweet share button. It requires {generate:HEAD} (honzam) in the sitemodule to load scripts - new possibility to use inline expressions in {item} - just like {item:6625:{(some text {headline........}...etc.)}} - reworked Parameter Wizard for Input Types - the parameters are now grabbed directly form Widgets - Tags input type now uses Widgets for all - live, ajax as well as itemedit - better warning Change Slice Id in Optimize actions - better check for site module consistency - starting spot found 18-02-28 - fix of {pager} problem - even better 18-02-27 - removed old and unused test.php scripts with possible security risks 18-02-24 - new possibility to get data form current item (honzam) {xid:[:[::]]} - now you can specify EN or FR instead of : which sets correct english SI or european SI formats - just like {math:478778:1:.: } or {math:478778:1:,: } - new possibility to add Google Analytics code automaticaly - just fill the "Google analytics tracking id" in site setting and use {generate:HEAD} and {generate:FOOT} in yor sitemodule code - new "Show Datastructure Documentation" possibility on AA -> Slice Export page which prints table with fields setting - new possibility to specify Code to show in "Info text - output" input type - new possibility to specify maxlength of Text Input - fix default values for fields filled by aa[] type of form - switched form tooltipjs to tippy library for {tooltip:...} - it has better setting and do not require jQuery - fixed problem with parsing {xflag}, {xlang}, {xpage} and pager - better contentcache for internal caching -fix for php 7.2 (AA not yet tested in PHP 7.2) 17-12-14 - removed live_checkbox.php - no longer used - we use {live} widgets (honzam) for all Live Checkbox - even f_k, now (which do not use live_checkbox.php) 17-12-11 - fixed multiple text field live widget - allows delete of last text, now (honzam) - another fixes for php 7.1 - fixed last bits - RSS feeds, Alerts, {dictionary:...} - fix site module for old sites, which was based on private control file but derived for AA_Router_Seo - {xseo1}... is emptyf for root /, which is correct, fot "{xseo1} 17-11-23 - replaced old $sess->url() with better StataUrl() (honzam) - removing session $sess variable, where not necessary - fixed view caching, when no related slice is found (so the cache for the view wasn't invalidated on site change) 17-11-20 - new css/aa-system.css - all system and widgets css - mostly autoloaded (honzam) 17-11-08 - fixed {generate:HEAD} when working with different versions of libs (honzam) on the page (mainly for jslib) 17-11-07 - AA now works well with PHP 7.1 (honzam) - new {range} - returns human readable ranges {range:2008-2009-2010-2011} - 2008-2011 {range:1-4-5-6} - 1, 4-6 {range:{@year............:-}} {range:_#this} - {mail:...} now supports attachments: {mail:1:test@ecn.cz:test mail:{view:24}:utf-8:actionapps@ecn.cz:::::["https#://test.org/img1.png","https#://test.org/img2.png"]} {mail:1:test@ecn.cz:test mail:Hi, I am body of mail:utf-8:actionapps@ecn.cz:::::{@file............:json}} - new {lang} - better than {xlang} - returns always valid lang code - not only in sitemodule - new {tooltip:myinfoicon:My tip
tip text} which creates popup tooltip. All the JS libraries are automaticaly loaded. You must be using {generate:HEAD} and {generate:FOOT} in your site module! We may replace the JS by another one with the same functionality in the future, so do not count on the exact library in the code. The {tooltip} code will remain functional, however. - better AA finder - first searchfield looks for all - items, slices... 17-11-07 - new Code editor widget - HTML with syntax highlight using CodeMirror (honzam) js library - new {updateitem:[:::::...]} - updates item fields It works only on slices where "Allow anonymous editing of items" is set to "All items", right now. The plan is to work with field permissions in future. {updateitem:c239cb267837a25b4efb5892ca4f4324:headline........:test item:category........:["enviro","social"]} - c239cb267837a25b4efb5892ca4f4324 is ID of the updated item. The values could be single (for headline........), or multiple - written in JSON format. If you want to update the item conditionaly just do not fill in cases you do not want update. Returns if updated, nothing if item is not updated' include/grabber.class.php - new {editfull:} - the same as {edit} but also with labels - many {aa commands} registers its used libraries in order {generate:HEAD} and {generate:FOOT} can include the libs automaticaly, when used in sitemodule - new parameter to {item::::::} which allows to use data from other bins than ACTIVE - the format is dash separated bins: ACTIVE-HOLDING-TRASH - added codemirror and ACE JS libraries (experimentaly - ACE will be probably removed) - better Bulk email sending. Now AA can send email to much more users (>1000), because we using ToExecute queue not only for sending emails, but also for its generation - fix AA for PHP 7.1 - experimental syntax highlight for Admin->Fulltext using Codemirror - experimental syntax highlight for aliases in Admin->Field - Edit using ACE editor (will be replaced by Codemirror, probably) - Anonymous form wizard uses {generate:HEAD} and {generate:FOOT}. However, still uses older filler approach with v... variables and not aa[][].... It is on TODO - js prepared for automatical item inline editig using sitemodule, {partdiv} and AA_Toolbox - fixed HTML code for Admin->Task Manager - fixed broken Slice Import - removed MAX_RELATED_COUNT - improved a bit HTML and CSS of admin pages - widget generator for fields use common functions internaly - fixed problem with module deletion when some of the tables do not exists - more informations on Admin-> User Profile settings - fixed object edit - there is no more missing column - views no longer displays expired items when no "Show content of expired items" in slice is set - cleanup - using more vanilla JS instead of prototype.js - small changes and typos 17-09-12 - new operators for conditions - CONTAIN and BEGIN which are like LIKE (honzam) and RLIKE, but better - characters -*?_%'\ are treated as normal characters so you can search for them. It do not allow OR, AND, NOT. - even better fix of previous fix of numeric queries (floats allowed) 17-09-10 - fixed previous fix with numeric searches - now we count with all (honzam) cases (some numeric searches was broken from last update 17-09-08) 17-09-08 - fixed problem of creation of new AA system user when Readers uses (honzam) numeric usernames - fixed "Export to file" in AA UI - the column names was not shown in some cases and encodings - fixed CSS in AA - aa-system.css was not loaded in the AA UI 17-08-15 - fixed bug with assigning user to empty group (honzam) - optimaization - module property obtained by right method with checking for valid module - fixed AA_DB::sql making WHERE - NULL values are OK, now 17-08-02 - fixed validation bug, so dates now could be older than 1970 again (honzam) - added fontawesome 4.7 for {require:css-fontawesome} - improved {expandable:} - shorted text is clickable - AA UI - longer field for Field Name in Admin -> Fields 17-05-26 - the all_fields constant could be used also in conditions with (honzam) relations: d-all_fields@relation........-LIKE-mystring which searches all fields in the item related through relation........ field - new {tableexport:.xlsexportable} which creates "Export to XLSX" button on the table specified by selector. All the JS libraries are automaticaly loaded. You must using {generate:HEAD} and {generate:FOOT} in your site module, of course. We may replace the JS by another with the same functionality in the future, so do not count on the exact library in the code. The {tableexport} code will remain functional, however. - new parameters and for {sort:[:[:[:[:[:]]]]} so you are able to limit number of results directly in sort and also add some text, if the number of results is higher, than limit. The text is added just like the last item, so it is also delimited by delimiter - css styles in {require} now also supports SRI hashes (integrity=...) - {require} now better detects CSS vs JS includes, so the you can use something like xxx.css?v=22 for CSS in {require} - {require} now could work with alternative scripts, so if you use {editable} for example, which will include ckeditor scripts in the page and also aajslib. If aa-jslib@1 (the prototype.js based one) is already required by {require:aa-jslib@1}, then it do not include the default (latest) version (aa-jslib@2) - the one using jQuery - new exprimental {require:vue-test} used for vue.js debugging (probably will be switched to another dev/production switch in future) - aajslib.php used internaly instead of php3 one - aajslib.php (which should be the same) - dirname(__FILE__) replaced by quicker __DIR__ variable 17-05-16 - {editable} now automaticaly include all the scripts needed for CKeditor (honzam) if you place {generate:HEAD} in the and {generate:FOOT} just before the of the sitemodule HTML code - {require:} now allows custom .css and .js, just like: {require:/css/my.css} or {require:https#://cdn.jsdelivr.net/js-xlsx/0.9.12/xlsx.min.js} {require} also allows to multirequire in one command: {require:["vue@2","aa-jslib@1"]} - textareas in object editor (site aliases editor,...) is bigger, if already contain longer text - irregular alerts now can be invoked by slice editor (not only superadmin) - {manager} now works with jquery version of aajslib-jquery.js 17-05-10 - new Slice Admin -> History manager - allows to return back the user (honzam) changes in items - new "User login databases" site setting - perm_mode: 1 - first Reader Management slice listed in Uses slices (encouraged option) - only the people from this slice is allowed to login to public pages 2 - all Reader Management slices listed in Uses slices 3 - AA + all Reader Management slices in AA (old - default option) - AA Finder - when searched by Search and Replace the link to item edit is shown - new {generate:HEAD} and {generate:FOOT} commands, which works together with {require::}. Generate commands should be places in sitemodule - HEAD in header, FOOT before tag. In the HEAD and FOOT then AA dynamicaly generates all JS libraries, CSS and scripts needed for current page - {require:[:]} - dynamicaly adds the js to the page (to {generate:HEAD}) and runs (on DOMContentLoaded) the script placed in {generate:FOOT}. So if you place both {generate:..} commands to sitemodule, you can place for example following command to any place in the page (even the for just one item): {require:lightgallery:{- lightGallery(document.getElementById("userform"), { "selector": ".lightgallery" });}} this command adds lightgallery.js lib to the head and runs the command on document load. {require} also manages dependencies, so it includes also css (if needed) and for example jquery (if needed). Currently supported scripts are - lightgallery - latest version of lightgallery.js library - lightgallery@1, - latest version of lightgallery.js library from 1.x.x row - jquery - latest version of jquery.js library - jquery@3 - latest version of jquery.js library from 3.x.x row The scripts we will update to latest versions. The libraries are now hardcoded in stringexpand.php. They are loaded from cdn.jsdelivr.net CDN, right now and uses SRI (integrity) attribute, so it is safe to load it this way. - new {header:json}, {header:csv}, {header:utf-8}, {header:filename:} HTTP headers options available - view now supports "Show content of expired items" slice setting - the SQL queries uses more readable notation of packed ids 0xe345ea564b whereever possible - item SQL search in AA now uses INNER JOIN instead of LEFT JOIN, where it is safe (which should be quicker) - fix for Chrome 57 which do not allow to send HTML in POST request sometimes (ERR_BLOCKED_BY_XSS_AUDITOR) - better debug output - f_* functions are watched as well - improved czech translation of manager - old prototip.js library used with prototype.js is updated from 1.1.0 to last version 2.2.5. But I would recommend to use more modern jQuery with other tooltip solution 17-05-10 - new type of Alerts type "irregular" - best for irregular Newsletters. (honzam) You will probably call it by Button in admin interface - the newsletter is then send to all Readers with confirmed e-mail and howoften field set to "irregular". The button could be set as: if (confirm('Send?')) { AA_Response('Alertitem', { "item_id":"{id..............}", "collection_id":"sQjwa"}, function(responseText) { alert('sent mails'+responseText); });} or for testing: if (confirm('Send test?')) { AA_Response('Alertitem', { "item_id":"{id..............}", "collection_id":"sQjwa", "test_email":"test@actionapps.org"}, function(responseText) { alert('sent mails'+responseText); } );} - views of any type uses the same universal caching code, now - dirname(__FILE__) replaced by quicker __DIR__ variable - fixes in polls module - fixed language encoding - the SQL queries uses more readable notation of packed ids 0xe345ea564b... 17-03-27 - unalias refactoring - now it is cleaner and more extensible: (honzam) AA_Stringexpand::unalias -> AA::Stringexpander()->unalias - new {manager} parameter which edit features presented 'N' - new 'D' - delete '-' - no manage (just view) default is all possible {manager::::[:[:[:]]]} - better {ajax} default display - slice.php no longer displays items in holding bin or trash - fix for PHP 5.3 17-03-16 - new "im" option in (honzam) {img:_#this:w=168&h=127&zc=1:im:_#HEADLINE:width=168 height=127} which do not checks exact image size (so it is a much quicker) - fixed err_url for public page login (it was used even if login was OK in some cases) - {ajax:..} widget improved - better default size and autofocus - CKEditor (HTMLarea) better title atribute - better and quicker item deletion (removed tracks also from hit archive, ...) 17-02-07 - more accurate slice delele (honzam) - added placeholder text as help for AA search - fix for setup - do not check active_sessions table, which is no longer necessary - small change do not use global $sess for session if not necessary - the config.php file is now on ignore list in SVN in order it could be ignored during comits and diffs. As the base of config.php you can use newely created config.php.default 17-02-03 - {ajax} widgets are now rendered above the the document, so it looks (honzam) like dialog window and do not change ocuppied space. It looks way better, now - item search in AA admin interface searches not only for item ID, but - it can find ID in the string (like url, ...) - it searches for multiple id in the string - it searches also for exact match of any seo string - better default field setting for the fields defined by slice - fix the AA to still work with PHP 5.3 - fix for new {userinfo::logintime} - unified MySQL access to db_mysql using mysqli approach - cleaned javascripts from old code (Netscape 4 support,...) - fixed bug in site creation array() error - storing items is cleaner - no longer uses global varset and itemvarset variables 17-01-29 - new {userinfo::logintime} and {userinfo::logintimes} (honzam) function - displays timestamp of last login (for logintime) or dash separated list of last login times of the user specified by his ID You can display the times for example by: {foreach:{userinfo:{user:id}:logintimes}:{(
{date:j.n.y H#:i:_#1} )} } - {protectmail:[:]} no longer uses deprecated document.write() function, so it do not block page rendering - {math:..} accepts numbers in scientific notation - 2.15E10 - fixed {text2html:...} - better url parsing - you can use _#loop alias as reference to {foreach:..} loop variable: {foreach:val1-val2:

_#loop

:-:
} so it do not colide with _#1 in other expressions: {foreach:2011-2012:{(_#loop)}} 16-12-29 - new possibility to sort items in view by alias instead of fields, (honzam) but it could be very slow (computed for all the possible items in the view), so use fields sorting whereever possible - new "Show content of pending items" option - it is useful for the cases, you want to see prepared item before the publication - fixed problem with lost login session but username did not expire - optimized permission queries - do not ask for non defined groups - better parsing of queries with dash or apostrophe - fixed character conversion when source or destination encoding is not specified - optimized SQL query to get multiple items - fixed database access problem for mailman group sync 16-12-27 - Slice defined fields now finished and works. You can assign special (honzam) slice (Slice Admin -> Slice -> Fields defined by another slice) to any other slice, where you specify the fields for the slice. Instead of defining the fields on Slice Admin -> Fields, you will define it as items in special slice. The priority of the fields is then defined by _#FLD_PRI_ alias, name by _#FLD_NAME, helptext by _#FLD_HELP, default value by _#FLD_DEFA, required/not required by _#FLD_REQ_, widget type by _#FLD_TYPE and _#FLD_PARM, validator by _#FLD_VALI, insert function by _#FLD_INS_, show/not show by _#FLD_SHOW and text stored/numeric by _#FLD_STOR. With this feature it is possible to let user to create public forms with its own fioelds just by let him insert the item to special "fields" slice - new {colonescape:val1} - escapes colon as internaly used in AA. It is special case function - more internal one: {colonescape:_#this} - 16:45 --> 16#:45 - fixed poblem with lost login session after 3 hours - fixed toexecute cron tasks. now runs smoother (do not run infinitely) - fixed view.php to work with wrong slice ids again (it skips wrong slice ids) - fixed - debug url param now works for cron.php in php >5.3 - fixed problem of filler - undefined query() for special cases 16-11-21 - new parameter in {redirect:[:]} - default is 301 (honzam) (Moved Permanently); - {rotator} better switches between pictures (for both - onclick and onmouseover - optimize AA to run behind a proxy - better validation - validators are unified and uses the same code for all codepaths - optimized for speed 16-11-21 - new (experimental - so the code could be changed) (honzam) {manager::::[:[:]]} - quite powerfull for managing of related items. Works great for manging the related item to the edited one - my_item <-- photos, where photos have relation........ field which points to item. Then you can manage the photos using {manager:45d43f4d567dd8a9f459aa51576a6ce2:relation........:{id..............}:_#ROW_EDIT}. The _#ROW_EDIT is then code in photos slice to be displayed for each photo - could contain {live} edits, ... It allows you also to add new photo with instant redraw. - any site module page is able to serve aa[..].. requests for item insert/update. If called by AJAX, then only the changed part of the page should be refreshed (now works in new {manager:...} block). - new {inintersect::::::...:} - equivalent to: {ifset:{intersect:SetMember1-SetMember2-SetMember3:SetMember2-SetMember4}:..} - example: {ifintersect:{_#P_RIGHTS}:{_#MY_ROLES}:Access granted:Access denied} - new possibility to block editing of {ajax::} commands by deffining AA_FLAG_NOEDIT variable {define:AA_FLAG_NOEDIT:1}. If you set the AA_FLAG_NOEDIT before the {ajax} is called, then the ajax editing is disabled for the rest of the page - the are now displayed with bertter default width (based on min, max and size values) - better support of {editable} editing with multiple languages - the value for translated {editable} is stored just to current language - better save-icon placing in {live::} - quicker SQL for {ids:....} where limit is applied - we use LIMIT in SQL there - fixed problem with short time of needed relogin - beter long_id validity check - is_numeric check replaced by more accurate ctype_digit check - fix for backward compatibility with PHP 5.3 - better tmp filenames generation - removed old AA_Modules interface in favor of AA_Module 16-11-02 - password generation as well as password check now uses standard php (honzam) functions for php>=5.5 - the salt for password is generated in more secure way even for php<5.5 - the sql_update.php is more secure (all above fixes are based on Gert Steenssens's security observations. Thanks Gert.) - the expiration time of the session now respects AA_LOGIN_TIMEOUT or is 200 minutes as was previously (gc_maxlifetime increased, so it do not expire after 40 minutes) - doc and demo directories of the phpThumb library is not necessary to have in our repository - deleted (could be possible security risk) 16-10-28 - new {xajax} variable in Sitemodule, which is = 1 if the site module (honzam) is called as ajax call. Now you can switch site module tree by this variable. Sometimes you need to call some view as ajax call. You can do that by calling /apc-aa/view.php, but in this case you lost {xlang} and other site module variuables. Now you can for example create slice with such views as items and call them by ajax as /en/page-with-view - better page caching - now we use Etag and Last-Modified headers and if the content is not modified, we are sendning 304 Not modified header. It saves bandwith mainly when used with reverse proxies. - better support for inline editing with CKEditor - save script now in aajslib - better handling of logins - better handling of aliases - now we have one code path for handling them - form.php now respects slice encoding - code clean-up - discussion.php is now cahced the same way as view or site 16-10-14 - cleaned a bit sess/auth system - no active_state database table in (honzam) use, so removed related code - older Slice settings moved to its own section on Admin -> Slice page - new "Show content of expired items" option on slice setting page AA now trying to prevent displaying data from expired/trashed items, even if you have item id. Sometimes you want to show such items - for expired events in slice of events, for example. In such case just check checkbox on Admin -> Slice. Generaly we do not want to show data from not active items, however - fulltext settings is not mandatory, now 16-10-05 - THIS VERSION IS USED ON PRODUCTION SERVER AGAIN (honzam) - all parts of AA moved to AA_Session, which is based on $_SESSION of php5. The main change is, that external AA login to pages uses the same credentials and AA_Auth so only one login is needed for public pages as well as AA. If you need seperated logins, open anonymous window in browser - new recompute field transform function (for bulk item change), which just recomputes selected field - new {edit:{_#ITEM_ID_}:headline........} - Allows on-line editing of field content - {edit:{_#ITEM_ID_}:headline........:::{"name":"Project name","input_help":"fill in the project name","row_count":"10"}} - new placeholder parameter to {editable:::} - new posibility to mix old v303136.. type of item form with the newer approach with aa[u..][], so we will be able to use widgets on old itemedit. That means that we no longer need to have two versions of the same widget in formutil.php and widget.class.php It will be used mainly for new widgets like Related Item Manager - much better debug=255 output - displays summary for each function as well as call tree. The value 255 is binary filter where each bit represents specific debugtime output - removed debugtimes url option - use debug=2 or debug=4 or debug=255.. The number behaves as bit-field, where you can show only specific part of debug messages. If you want all messages and times, use =255 - initial commit of Related Item Manager input type - modern version of Related Item Window - conversion of encodings moved to much! quicker iconv PHP function and other speed optimalization based on new debugtime possibilities - new possibility to search and replace through all AA database in AA menu. Will you be carefull, OK? - fixed conversion utf-8 to ascii for cz lang - fixed sitemodule caching: pages are not cached when user is logged in - fixed filebrowser of CKEditor integration with new sessions - fix problem with early debug call - better working with https sites - database calls are unified (or at least more unified) - last classes are moved to __construct required by PHP7 - fixed database problem when upgrade Links module in some cases - updated textDiff to last version 16-10-04 - allow specify "-- any text field --" as condition for view.php (honzam) - new {livesearch:[:[:]]} Displays live search (search field and the list of matching articles) on html page. Requires jQuery and aajslib-jquery.php. Usage: {livesearch:3650} {livesearch:3650:search...:DoNotDisplayAnythingByDefault} {livesearch:3650&cmd[3650]=c-1-%22AA_LS_QUERY%22-2-publications:search for pubs...} - just view ID or whole view parameters. If whole parameters used, then you have to use AA_LS_QUERY constant on the place, where you want to put search phrase - placeholder text to search field - the phrase to search if the search field is empty. It is not necessary to fill it, if you want to see first the results by defaut. You can put there some nonsence value, if you want to see the item list empty by default - allow subscript and superscript buttons in CKEditor - fixed http / https validation for input type url - fixed link to alert modules from AA admin left menu - new debug function warn which logs program backtrack (for AA programmers) - jquery updated to 3.1.1 16-08-22 - CKeditor upgraded to 4.5.10 (honzam) - allowed justify, undo - content filter is turn off - fix page scroller in slice.php to not use sessions Sessions in slice.php is not working when called as SSI (PHP5 style sessions do not allow to use sessions in SSI directly). The sessions in slice.php is not needed for most of the sites. The slice.php is no longer used for new sites (modern sites are built with site.php in AA), so we will try to not write special workaround for the slice.php sites which using sessions. But if you need it, just let us know. - better sizing of {ajax:...} widgets - fixed parsing of multiline {alias:...} - fixed character encoding for cached view.php - fixed problem with apostrophs in Related Item Window input type - use system tmp directory for phpThumb cache - site module webs work behind proxy - jQuery updated from 3.0.0 to 3.1.0 16-06-30 - THIS VERSION IS USED ON PRODUCTION SERVER AGAIN (honzam) - new experimental feature to allow "Fields defined by items" in slice - you can use special slice for additional fields definition. There is slice option, where you can write IDs of items, which defines the fields, or better something like {ids:ac4940d37d6601ce969dc9a7e41826fc}. Could be used for data slice, which stores values for user created forms. - new possibility for item delimiter - jsonasoc. It creates JSON asociative array (object) using -> operator - just like: {item:{@relation........:-}:_#KEY_____->_#VALUE___:jsonasoc} It could be used for creation of JSON properties for {input} widget properties, for example - profile links in slice permission settings now displays number of added rules for that profile (if any) - fix AJAX calls, buggy links, filler, redirection - all broken with switch to new php5+ session management - fixed validators and right input types (size/maxlength) for widgets - speedup of admin pages rendering by: - async + defer cached javascript load - removal of document.write() for cached js - fixed sitemodule behavior for domain.org/?... links 16-06-19 - new possibility to extend sitemodule usage by redirecting all (honzam) request to AA (excluding existing files like img, css), so you can set the Appache like: RewriteEngine on RewriteRule ^$ /apc-aa/modules/site/site.php [L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ /apc-aa/modules/site/site.php [L,QSA] The requests for non existing files and dirs are redirected to AA, so there we can handle NotFound page, as well as sitemap.xml, robots.txt etc. in future. There are three importatnt settings in the sitemodule for this: "Page not Found (404)", "Languages on website" and "URL". All should be filled if you want to use upper method. Url allows AA to find the sitemodule to be called, Languages shoud list all the languages used in the sitemodue, and 404 defines the reaction to "Not Found" item. - new sitemodule options: - Languages on website - list of used languages (see above) - Page not Found (404) - how to handle Not found page (see above) - HTML code for "Page not Found" - used in conjunstion with 404 - sitemap.xml alias - not implemented, yet - Permission alias - not implemented, yet - HTML code for "Login page" - not implemented, yet - new {rotator} possibility to display switching dots or headlines using last parameterli_code: {rotator:{ids:fee40b67dfd922cebb39bb3d2060f5c3:::::4}:_#ARTICLEO::::o} - new {jsonasoc:key1:val1:key2:val2:...} which creates JSON object - improved JSON calls - better conversion to utf8 - new possibility to display hit statistic not only for "days", "months", "years", but also for "dayhours", "weeks" and "weekdays": {hitcounter:weeks:24457-24474} - new typesize parameter: {fileinfo:{file............}:typesize} - returns   [TXT, 3kB] - new {internal:class_name:params} - internal AA possibility, how to inject text form internal class to Manager item view (like in Planned Task for sheduled time). It returns output of class->internal_expand() method. - better https support - the scripts, ... are called through https, wherever possible - CKEditor now uses filemanager for images and files - fixed bug in Related Item Window input type - editing of newly added related items works - easier duplicate of the field in the same slice - (this) slice is on the top of the list - No need to add current AA in the central if we want to copy the slice/site there. The copy to the same AA is now much quicker. The Ids of the slices/sites/alerts are changed, now, during the copy, so new slices will not share the same Id with the source. - new Never default value for Date field - Never, i.e. maximum date - new possibility of slice - Automatic field creation - If checked, slice allows storing values to text....* field, even if the appropriate text....* is not defined in the slice. The field will be created using field text............ as template. - a bit improved input types - added