From 8ba7d438980c4ed08a3afac60995db4e532faa05 Mon Sep 17 00:00:00 2001 From: Neo <321592+Neo-Desktop@users.noreply.github.com> Date: Fri, 19 Dec 2025 16:00:35 -0800 Subject: [PATCH] Version 4.7.0 --- Credits.txt | 18 +- admin/convertutf8/system/Convert/Convert.php | 2 +- admin/convertutf8/system/Db/Db.php | 2 +- admin/install/eula.txt | 2 +- admin/install/html/forms/number.phtml | 2 +- admin/install/html/forms/text.phtml | 2 +- .../install/html/global/globalTemplate.phtml | 4 + admin/install/lang.php | 1 + admin/upgrade/extract.php | 213 +- admin/upgrade/html/forms/number.phtml | 2 +- admin/upgrade/html/forms/text.phtml | 2 +- applications/blog/Application.php | 14 +- applications/blog/api/comments.php | 65 +- applications/blog/api/entries.php | 10 +- applications/blog/data/javascript.xml | 8 +- applications/blog/data/lang.xml | 5 +- applications/blog/data/theme.xml | 24 +- applications/blog/data/versions.json | 77 +- .../extensions/core/EditorLocations/Blogs.php | 28 + .../core/EditorLocations/Entries.php | 24 + .../blog/modules/front/blogs/browse.php | 8 +- .../blog/modules/front/blogs/entry.php | 17 +- .../blog/modules/front/blogs/view.php | 18 +- applications/blog/setup/upg_106108/data.json | 24 + applications/blog/setup/upg_106109/data.json | 24 + applications/blog/setup/upg_106110/data.json | 24 + applications/blog/setup/upg_106111/data.json | 24 + applications/blog/setup/upg_106112/data.json | 24 + applications/blog/setup/upg_106113/data.json | 24 + applications/blog/setup/upg_106113/lang.json | 14 + applications/blog/setup/upg_106113/theme.json | 19 + applications/blog/setup/upg_106114/data.json | 24 + applications/blog/setup/upg_106115/data.json | 24 + applications/blog/setup/upg_106116/data.json | 24 + applications/blog/setup/upg_106117/data.json | 24 + applications/blog/setup/upg_106118/data.json | 24 + applications/blog/setup/upg_106119/data.json | 24 + applications/blog/setup/upg_106120/data.json | 24 + applications/blog/setup/upg_106121/data.json | 24 + applications/blog/setup/upg_106122/data.json | 24 + applications/blog/setup/upg_106123/data.json | 24 + .../blog/setup/upg_106123/emailTemplates.json | 8 + .../blog/setup/upg_106123/javascript.json | 22 + applications/blog/setup/upg_106123/theme.json | 63 + applications/blog/setup/upg_106125/data.json | 24 + .../blog/setup/upg_106125/emailTemplates.json | 8 + .../blog/setup/upg_106125/javascript.json | 16 + applications/blog/setup/upg_106125/theme.json | 62 + applications/blog/setup/upg_106126/data.json | 24 + .../blog/setup/upg_106126/emailTemplates.json | 8 + .../blog/setup/upg_106126/javascript.json | 16 + applications/blog/setup/upg_106126/theme.json | 62 + applications/blog/setup/upg_106127/data.json | 24 + applications/blog/setup/upg_106128/data.json | 24 + applications/blog/setup/upg_106128/theme.json | 19 + applications/blog/setup/upg_106129/data.json | 24 + applications/blog/setup/upg_106130/data.json | 24 + applications/blog/setup/upg_106131/data.json | 24 + applications/blog/setup/upg_106132/data.json | 24 + applications/blog/setup/upg_106133/data.json | 24 + applications/blog/setup/upg_106134/data.json | 24 + applications/blog/setup/upg_106135/data.json | 24 + applications/blog/setup/upg_106136/data.json | 24 + applications/blog/setup/upg_106137/data.json | 24 + applications/blog/setup/upg_106138/data.json | 24 + applications/blog/setup/upg_106138/theme.json | 19 + applications/blog/setup/upg_106139/data.json | 24 + applications/blog/setup/upg_106140/data.json | 24 + applications/blog/setup/upg_106141/data.json | 24 + applications/blog/setup/upg_106142/data.json | 24 + applications/blog/setup/upg_106143/data.json | 24 + applications/blog/setup/upg_106144/data.json | 24 + applications/blog/setup/upg_106144/lang.json | 14 + applications/blog/setup/upg_106144/theme.json | 20 + applications/blog/setup/upg_106145/data.json | 24 + applications/blog/setup/upg_106146/data.json | 24 + applications/blog/setup/upg_106147/data.json | 24 + applications/blog/setup/upg_106148/data.json | 24 + applications/blog/setup/upg_106149/data.json | 24 + applications/blog/setup/upg_106149/lang.json | 14 + applications/blog/setup/upg_106150/data.json | 24 + applications/blog/setup/upg_106151/data.json | 24 + applications/blog/setup/upg_106152/data.json | 24 + applications/blog/setup/upg_106153/data.json | 24 + applications/blog/setup/upg_106154/data.json | 24 + applications/blog/setup/upg_106155/data.json | 24 + applications/blog/setup/upg_106156/data.json | 24 + applications/blog/setup/upg_106157/data.json | 24 + applications/blog/setup/upg_106158/data.json | 24 + applications/blog/setup/upg_106159/data.json | 24 + applications/blog/setup/upg_106160/data.json | 24 + applications/blog/setup/upg_106161/data.json | 24 + applications/blog/setup/upg_106162/data.json | 24 + applications/blog/setup/upg_106163/data.json | 24 + applications/blog/setup/upg_106164/data.json | 24 + applications/blog/setup/upg_106165/data.json | 24 + applications/blog/setup/upg_106166/data.json | 24 + applications/blog/setup/upg_106167/data.json | 24 + applications/blog/setup/upg_106168/data.json | 24 + applications/blog/setup/upg_107000/data.json | 24 + applications/blog/setup/upg_107001/data.json | 24 + applications/blog/setup/upg_107002/data.json | 24 + applications/blog/setup/upg_107002/theme.json | 19 + applications/blog/setup/upg_107003/data.json | 24 + applications/blog/setup/upg_107004/data.json | 24 + applications/blog/setup/upg_107005/data.json | 24 + applications/blog/setup/upg_107006/data.json | 24 + applications/blog/setup/upg_107007/data.json | 24 + applications/blog/setup/upg_107008/data.json | 24 + applications/blog/setup/upg_107009/data.json | 24 + applications/blog/setup/upg_107010/data.json | 24 + applications/blog/setup/upg_107011/data.json | 24 + applications/blog/setup/upg_107012/data.json | 24 + applications/blog/setup/upg_107013/data.json | 24 + applications/blog/setup/upg_107014/data.json | 24 + applications/blog/sources/Blog/Blog.php | 47 +- .../blog/sources/Category/Category.php | 10 + applications/blog/sources/Entry/Comment.php | 5 + applications/blog/sources/Entry/Entry.php | 12 +- applications/calendar/Application.php | 18 +- applications/calendar/api/comments.php | 66 +- applications/calendar/api/events.php | 12 +- applications/calendar/api/reviews.php | 65 +- applications/calendar/data/acpmenu.json | 9 + .../calendar/data/acprestrictions.json | 5 + applications/calendar/data/build.xml | 2 +- applications/calendar/data/javascript.xml | 14 +- applications/calendar/data/lang.xml | 11 +- applications/calendar/data/modules.json | 6 +- applications/calendar/data/theme.xml | 32 +- applications/calendar/data/versions.json | 77 +- .../core/AchievementAction/Rsvp.php | 13 +- .../core/EditorLocations/Calendar.php | 31 + .../calendar/modules/admin/stats/rsvp.php | 67 + .../calendar/modules/front/calendar/event.php | 8 + .../modules/front/calendar/submit.php | 12 +- .../calendar/modules/front/calendar/view.php | 35 +- .../calendar/setup/upg_106108/data.json | 24 + .../calendar/setup/upg_106109/data.json | 24 + .../calendar/setup/upg_106110/data.json | 24 + .../calendar/setup/upg_106111/data.json | 24 + .../calendar/setup/upg_106112/data.json | 24 + .../calendar/setup/upg_106113/data.json | 24 + .../calendar/setup/upg_106114/data.json | 24 + .../calendar/setup/upg_106115/data.json | 24 + .../calendar/setup/upg_106116/data.json | 24 + .../calendar/setup/upg_106117/data.json | 24 + .../calendar/setup/upg_106118/data.json | 24 + .../calendar/setup/upg_106119/data.json | 24 + .../calendar/setup/upg_106120/data.json | 24 + .../calendar/setup/upg_106121/data.json | 24 + .../calendar/setup/upg_106122/data.json | 24 + .../calendar/setup/upg_106123/data.json | 24 + .../setup/upg_106123/emailTemplates.json | 10 + .../calendar/setup/upg_106123/javascript.json | 25 + .../calendar/setup/upg_106123/theme.json | 66 + .../calendar/setup/upg_106125/data.json | 24 + .../setup/upg_106125/emailTemplates.json | 10 + .../calendar/setup/upg_106125/javascript.json | 19 + .../calendar/setup/upg_106125/theme.json | 65 + .../calendar/setup/upg_106126/data.json | 24 + .../setup/upg_106126/emailTemplates.json | 10 + .../calendar/setup/upg_106126/javascript.json | 19 + .../calendar/setup/upg_106126/theme.json | 65 + .../calendar/setup/upg_106127/data.json | 24 + .../calendar/setup/upg_106128/data.json | 24 + .../calendar/setup/upg_106128/theme.json | 19 + .../calendar/setup/upg_106129/data.json | 24 + .../calendar/setup/upg_106130/data.json | 24 + .../calendar/setup/upg_106131/data.json | 24 + .../calendar/setup/upg_106132/data.json | 24 + .../calendar/setup/upg_106133/data.json | 24 + .../calendar/setup/upg_106134/data.json | 24 + .../calendar/setup/upg_106135/data.json | 24 + .../calendar/setup/upg_106136/data.json | 24 + .../calendar/setup/upg_106137/data.json | 24 + .../calendar/setup/upg_106138/data.json | 24 + .../calendar/setup/upg_106138/lang.json | 20 + .../calendar/setup/upg_106138/modules.json | 9 + .../calendar/setup/upg_106139/data.json | 24 + .../calendar/setup/upg_106140/data.json | 24 + .../calendar/setup/upg_106141/data.json | 24 + .../calendar/setup/upg_106142/data.json | 24 + .../calendar/setup/upg_106143/data.json | 24 + .../calendar/setup/upg_106144/data.json | 24 + .../calendar/setup/upg_106144/theme.json | 19 + .../calendar/setup/upg_106145/data.json | 24 + .../calendar/setup/upg_106146/data.json | 24 + .../calendar/setup/upg_106147/data.json | 24 + .../calendar/setup/upg_106148/data.json | 24 + .../calendar/setup/upg_106149/data.json | 24 + .../calendar/setup/upg_106149/lang.json | 15 + .../calendar/setup/upg_106149/theme.json | 20 + .../calendar/setup/upg_106150/data.json | 24 + .../calendar/setup/upg_106151/data.json | 24 + .../calendar/setup/upg_106152/data.json | 24 + .../calendar/setup/upg_106153/data.json | 24 + .../calendar/setup/upg_106154/data.json | 24 + .../calendar/setup/upg_106155/data.json | 24 + .../calendar/setup/upg_106156/data.json | 24 + .../calendar/setup/upg_106157/data.json | 24 + .../calendar/setup/upg_106158/data.json | 24 + .../calendar/setup/upg_106159/data.json | 24 + .../calendar/setup/upg_106160/data.json | 24 + .../calendar/setup/upg_106161/data.json | 24 + .../calendar/setup/upg_106161/theme.json | 19 + .../calendar/setup/upg_106162/data.json | 24 + .../calendar/setup/upg_106163/data.json | 24 + .../calendar/setup/upg_106164/data.json | 24 + .../calendar/setup/upg_106165/data.json | 24 + .../calendar/setup/upg_106166/data.json | 24 + .../calendar/setup/upg_106167/data.json | 24 + .../calendar/setup/upg_106168/data.json | 24 + .../calendar/setup/upg_106168/theme.json | 19 + .../calendar/setup/upg_107000/data.json | 24 + .../calendar/setup/upg_107001/data.json | 24 + .../calendar/setup/upg_107002/data.json | 24 + .../calendar/setup/upg_107003/data.json | 24 + .../calendar/setup/upg_107004/data.json | 24 + .../calendar/setup/upg_107005/data.json | 24 + .../calendar/setup/upg_107006/data.json | 24 + .../calendar/setup/upg_107007/data.json | 24 + .../calendar/setup/upg_107008/data.json | 24 + .../calendar/setup/upg_107009/data.json | 24 + .../calendar/setup/upg_107010/data.json | 24 + .../calendar/setup/upg_107011/data.json | 24 + .../calendar/setup/upg_107012/data.json | 24 + .../calendar/setup/upg_107013/data.json | 24 + .../calendar/setup/upg_107014/data.json | 24 + .../calendar/sources/Calendar/Calendar.php | 11 +- .../calendar/sources/Event/Comment.php | 5 + applications/calendar/sources/Event/Event.php | 373 ++- .../calendar/sources/Event/Review.php | 5 + .../calendar/sources/Icalendar/ICSParser.php | 1 + applications/calendar/sources/Venue/Venue.php | 5 + applications/cms/Application.php | 6 +- applications/cms/api/comments.php | 116 +- applications/cms/api/records.php | 268 +- applications/cms/api/reviews.php | 126 +- applications/cms/data/acprestrictions.json | 3 +- applications/cms/data/cms_theme.xml | 8 +- applications/cms/data/javascript.xml | 148 +- applications/cms/data/lang.xml | 10 +- applications/cms/data/schema.json | 12 + applications/cms/data/theme.xml | 101 +- applications/cms/data/versions.json | 77 +- .../core/EditorLocations/Records.php | 31 + .../extensions/core/Queue/MoveComments.php | 24 +- .../core/Queue/MoveSingleRecord.php | 2 +- .../core/Queue/ResyncTopicContent.php | 2 +- applications/cms/hooks/Lang.php | 4 +- applications/cms/hooks/Post.php | 5 +- .../cms/interface/external/external.js | 2 +- .../cms/interface/external/external.php | 16 +- .../modules/admin/databases/categories.php | 2 + .../cms/modules/admin/databases/databases.php | 12 +- .../cms/modules/admin/databases/fields.php | 3 +- .../cms/modules/admin/databases/records.php | 10 +- applications/cms/modules/admin/pages/ajax.php | 16 +- .../cms/modules/admin/pages/blocks.php | 19 +- .../cms/modules/admin/pages/media.php | 2 +- .../cms/modules/admin/pages/pages.php | 2 +- .../cms/modules/admin/pages/templates.php | 18 +- .../cms/modules/front/database/ajax.php | 2 +- .../cms/modules/front/database/category.php | 42 +- .../cms/modules/front/database/topic.php | 22 +- .../cms/modules/front/pages/builder.php | 122 - applications/cms/setup/upg_106108/data.json | 24 + applications/cms/setup/upg_106109/data.json | 24 + applications/cms/setup/upg_106110/data.json | 24 + applications/cms/setup/upg_106110/theme.json | 20 + applications/cms/setup/upg_106111/data.json | 24 + applications/cms/setup/upg_106112/data.json | 24 + applications/cms/setup/upg_106113/data.json | 24 + applications/cms/setup/upg_106114/data.json | 24 + applications/cms/setup/upg_106115/data.json | 24 + applications/cms/setup/upg_106116/data.json | 24 + applications/cms/setup/upg_106117/data.json | 24 + applications/cms/setup/upg_106118/data.json | 24 + applications/cms/setup/upg_106119/data.json | 24 + applications/cms/setup/upg_106120/data.json | 24 + applications/cms/setup/upg_106121/data.json | 24 + applications/cms/setup/upg_106122/data.json | 24 + applications/cms/setup/upg_106123/data.json | 24 + .../cms/setup/upg_106123/emailTemplates.json | 8 + .../cms/setup/upg_106123/javascript.json | 39 + applications/cms/setup/upg_106123/theme.json | 77 + applications/cms/setup/upg_106125/data.json | 24 + .../cms/setup/upg_106125/emailTemplates.json | 8 + .../cms/setup/upg_106125/javascript.json | 27 + applications/cms/setup/upg_106125/theme.json | 68 + applications/cms/setup/upg_106126/data.json | 24 + .../cms/setup/upg_106126/emailTemplates.json | 8 + .../cms/setup/upg_106126/javascript.json | 27 + applications/cms/setup/upg_106126/theme.json | 68 + applications/cms/setup/upg_106127/data.json | 24 + applications/cms/setup/upg_106128/data.json | 24 + applications/cms/setup/upg_106128/theme.json | 28 + applications/cms/setup/upg_106129/data.json | 24 + applications/cms/setup/upg_106130/data.json | 24 + applications/cms/setup/upg_106131/data.json | 24 + applications/cms/setup/upg_106132/data.json | 24 + applications/cms/setup/upg_106133/data.json | 24 + applications/cms/setup/upg_106134/data.json | 24 + applications/cms/setup/upg_106134/theme.json | 19 + applications/cms/setup/upg_106135/data.json | 24 + applications/cms/setup/upg_106136/data.json | 24 + applications/cms/setup/upg_106137/data.json | 24 + applications/cms/setup/upg_106138/data.json | 24 + .../cms/setup/upg_106138/javascript.json | 14 + applications/cms/setup/upg_106138/lang.json | 14 + applications/cms/setup/upg_106138/theme.json | 19 + applications/cms/setup/upg_106139/data.json | 24 + applications/cms/setup/upg_106140/data.json | 24 + applications/cms/setup/upg_106141/data.json | 24 + applications/cms/setup/upg_106142/data.json | 24 + applications/cms/setup/upg_106143/data.json | 24 + applications/cms/setup/upg_106144/data.json | 24 + applications/cms/setup/upg_106145/data.json | 24 + applications/cms/setup/upg_106146/data.json | 24 + applications/cms/setup/upg_106147/data.json | 24 + applications/cms/setup/upg_106148/data.json | 24 + applications/cms/setup/upg_106149/data.json | 24 + .../cms/setup/upg_106149/javascript.json | 16 + applications/cms/setup/upg_106149/theme.json | 21 + applications/cms/setup/upg_106150/data.json | 24 + applications/cms/setup/upg_106151/data.json | 24 + applications/cms/setup/upg_106152/data.json | 24 + applications/cms/setup/upg_106153/data.json | 24 + applications/cms/setup/upg_106154/data.json | 24 + applications/cms/setup/upg_106155/data.json | 24 + applications/cms/setup/upg_106156/data.json | 24 + applications/cms/setup/upg_106156/lang.json | 14 + applications/cms/setup/upg_106157/data.json | 24 + applications/cms/setup/upg_106158/data.json | 24 + applications/cms/setup/upg_106159/data.json | 24 + applications/cms/setup/upg_106160/data.json | 24 + applications/cms/setup/upg_106161/data.json | 24 + .../cms/setup/upg_106161/javascript.json | 14 + applications/cms/setup/upg_106161/theme.json | 19 + applications/cms/setup/upg_106162/data.json | 24 + applications/cms/setup/upg_106163/data.json | 24 + applications/cms/setup/upg_106164/data.json | 24 + applications/cms/setup/upg_106165/data.json | 24 + applications/cms/setup/upg_106166/data.json | 24 + applications/cms/setup/upg_106167/data.json | 24 + applications/cms/setup/upg_106168/data.json | 24 + applications/cms/setup/upg_106168/lang.json | 16 + applications/cms/setup/upg_106168/theme.json | 19 + applications/cms/setup/upg_107000/data.json | 24 + .../cms/setup/upg_107000/queries.json | 20 + applications/cms/setup/upg_107001/data.json | 24 + applications/cms/setup/upg_107002/data.json | 24 + applications/cms/setup/upg_107002/lang.json | 14 + applications/cms/setup/upg_107003/data.json | 24 + applications/cms/setup/upg_107004/data.json | 24 + applications/cms/setup/upg_107004/theme.json | 19 + applications/cms/setup/upg_107005/data.json | 24 + applications/cms/setup/upg_107006/data.json | 24 + applications/cms/setup/upg_107007/data.json | 24 + applications/cms/setup/upg_107008/data.json | 24 + applications/cms/setup/upg_107009/data.json | 24 + .../cms/setup/upg_107009/javascript.json | 14 + applications/cms/setup/upg_107009/theme.json | 19 + applications/cms/setup/upg_107010/data.json | 24 + applications/cms/setup/upg_107011/data.json | 24 + applications/cms/setup/upg_107012/data.json | 24 + applications/cms/setup/upg_107013/data.json | 24 + applications/cms/setup/upg_107014/data.json | 24 + applications/cms/sources/Blocks/Block.php | 12 +- .../cms/sources/Categories/Categories.php | 67 +- .../cms/sources/Databases/Databases.php | 30 + .../cms/sources/Databases/Dispatcher.php | 34 + applications/cms/sources/Fields/Fields.php | 49 +- applications/cms/sources/Pages/Page.php | 38 +- applications/cms/sources/Records/Comment.php | 15 + .../cms/sources/Records/CommentTopicSync.php | 5 +- applications/cms/sources/Records/Records.php | 193 +- applications/cms/sources/Records/Review.php | 10 +- .../cms/sources/Templates/Templates.php | 5 +- applications/cms/widgets/Database.php | 2 +- applications/cms/widgets/DatabaseFilters.php | 2 + applications/convert/data/extensions.json | 19 +- applications/convert/data/javascript.xml | 4 +- applications/convert/data/lang.xml | 3 +- applications/convert/data/theme.xml | 2 +- applications/convert/data/versions.json | 77 +- .../core/Queue/RebuildProfilePhotos.php | 121 + applications/convert/hooks/LegacyParser.php | 2 +- .../convert/modules/admin/manage/create.php | 4 +- .../convert/setup/upg_106108/data.json | 24 + .../convert/setup/upg_106109/data.json | 24 + .../convert/setup/upg_106110/data.json | 24 + .../convert/setup/upg_106111/data.json | 24 + .../convert/setup/upg_106112/data.json | 24 + .../convert/setup/upg_106113/data.json | 24 + .../convert/setup/upg_106114/data.json | 24 + .../convert/setup/upg_106115/data.json | 24 + .../convert/setup/upg_106116/data.json | 24 + .../convert/setup/upg_106117/data.json | 24 + .../convert/setup/upg_106118/data.json | 24 + .../convert/setup/upg_106119/data.json | 24 + .../convert/setup/upg_106120/data.json | 24 + .../convert/setup/upg_106121/data.json | 24 + .../convert/setup/upg_106122/data.json | 24 + .../convert/setup/upg_106123/data.json | 24 + .../convert/setup/upg_106123/javascript.json | 20 + .../convert/setup/upg_106123/theme.json | 23 + .../convert/setup/upg_106125/data.json | 24 + .../convert/setup/upg_106125/theme.json | 23 + .../convert/setup/upg_106126/data.json | 24 + .../convert/setup/upg_106126/theme.json | 23 + .../convert/setup/upg_106127/data.json | 24 + .../convert/setup/upg_106128/data.json | 24 + .../convert/setup/upg_106129/data.json | 24 + .../convert/setup/upg_106130/data.json | 24 + .../convert/setup/upg_106131/data.json | 24 + .../convert/setup/upg_106132/data.json | 24 + .../convert/setup/upg_106133/data.json | 24 + .../convert/setup/upg_106134/data.json | 24 + .../convert/setup/upg_106134/theme.json | 19 + .../convert/setup/upg_106135/data.json | 24 + .../convert/setup/upg_106136/data.json | 24 + .../convert/setup/upg_106137/data.json | 24 + .../convert/setup/upg_106138/data.json | 24 + .../convert/setup/upg_106139/data.json | 24 + .../convert/setup/upg_106140/data.json | 24 + .../convert/setup/upg_106141/data.json | 24 + .../convert/setup/upg_106142/data.json | 24 + .../convert/setup/upg_106143/data.json | 24 + .../convert/setup/upg_106144/data.json | 24 + .../convert/setup/upg_106145/data.json | 24 + .../convert/setup/upg_106146/data.json | 24 + .../convert/setup/upg_106147/data.json | 24 + .../convert/setup/upg_106148/data.json | 24 + .../convert/setup/upg_106149/data.json | 24 + .../convert/setup/upg_106150/data.json | 24 + .../convert/setup/upg_106151/data.json | 24 + .../convert/setup/upg_106152/data.json | 24 + .../convert/setup/upg_106153/data.json | 24 + .../convert/setup/upg_106154/data.json | 24 + .../convert/setup/upg_106155/data.json | 24 + .../convert/setup/upg_106156/data.json | 24 + .../convert/setup/upg_106157/data.json | 24 + .../convert/setup/upg_106158/data.json | 24 + .../convert/setup/upg_106159/data.json | 24 + .../convert/setup/upg_106160/data.json | 24 + .../convert/setup/upg_106161/data.json | 24 + .../convert/setup/upg_106161/lang.json | 14 + .../convert/setup/upg_106162/data.json | 24 + .../convert/setup/upg_106163/data.json | 24 + .../convert/setup/upg_106164/data.json | 24 + .../convert/setup/upg_106165/data.json | 24 + .../convert/setup/upg_106166/data.json | 24 + .../convert/setup/upg_106167/data.json | 24 + .../convert/setup/upg_106167/theme.json | 19 + .../convert/setup/upg_106168/data.json | 24 + .../convert/setup/upg_106168/theme.json | 19 + .../convert/setup/upg_107000/data.json | 24 + .../convert/setup/upg_107001/data.json | 24 + .../convert/setup/upg_107002/data.json | 24 + .../convert/setup/upg_107003/data.json | 24 + .../convert/setup/upg_107004/data.json | 24 + .../convert/setup/upg_107005/data.json | 24 + .../convert/setup/upg_107006/data.json | 24 + .../convert/setup/upg_107007/data.json | 24 + .../convert/setup/upg_107008/data.json | 24 + .../convert/setup/upg_107009/data.json | 24 + .../convert/setup/upg_107010/data.json | 24 + .../convert/setup/upg_107011/data.json | 24 + .../convert/setup/upg_107012/data.json | 24 + .../convert/setup/upg_107013/data.json | 24 + .../convert/setup/upg_107014/data.json | 24 + applications/convert/sources/App.php | 22 +- applications/convert/sources/Library/Core.php | 84 +- .../convert/sources/Library/Downloads.php | 44 +- .../convert/sources/Library/Forums.php | 2 +- .../convert/sources/Library/Gallery.php | 5 +- applications/convert/sources/Software.php | 2 + .../sources/Software/Blog/Vbulletin.php | 1 + .../sources/Software/Cms/Vbulletin.php | 2 + .../sources/Software/Cms/Wordpress.php | 1 + .../convert/sources/Software/Cms/Xenforo.php | 2 +- .../sources/Software/Cms/Xenfororm.php | 2 +- .../Software/Core/Expressionengine.php | 1 + .../Software/Core/Invisioncommunity.php | 20 +- .../convert/sources/Software/Core/Mybb.php | 1 + .../sources/Software/Core/Photopost.php | 1 + .../convert/sources/Software/Core/Phpbb.php | 3 +- .../convert/sources/Software/Core/Smf.php | 1 + .../sources/Software/Core/UBBthreads.php | 1 + .../convert/sources/Software/Core/Vanilla.php | 1 + .../sources/Software/Core/Vbulletin.php | 128 +- .../sources/Software/Core/Vbulletin5.php | 14 +- .../convert/sources/Software/Core/Woltlab.php | 1 + .../convert/sources/Software/Core/Wpforo.php | 3 +- .../convert/sources/Software/Core/Xenforo.php | 85 +- .../Software/Downloads/Invisioncommunity.php | 529 ++++ .../sources/Software/Downloads/Xenforo.php | 4 +- .../Software/Forums/Invisioncommunity.php | 14 +- .../convert/sources/Software/Forums/Mybb.php | 16 +- .../sources/Software/Forums/Vanilla.php | 1 + .../sources/Software/Forums/Vbulletin.php | 2 + .../sources/Software/Forums/Vbulletin5.php | 324 ++- .../sources/Software/Forums/Woltlab.php | 1 + .../sources/Software/Forums/Wpforo.php | 1 + .../sources/Software/Forums/Xenforo.php | 8 +- .../sources/Software/Gallery/Coppermine.php | 3 +- .../Software/Gallery/Invisioncommunity.php | 585 ++++ .../sources/Software/Gallery/Xenforo.php | 5 +- applications/core/Application.php | 187 +- applications/core/api/GraphQL/Mutation.php | 2 - .../core/api/GraphQL/Mutations/SessionEnd.php | 102 - .../api/GraphQL/Mutations/SessionStart.php | 116 - .../core/api/GraphQL/Queries/MobileMenu.php | 81 - applications/core/api/GraphQL/Query.php | 1 - .../core/api/GraphQL/TypeRegistry.php | 9 - .../core/api/GraphQL/Types/MemberType.php | 2 +- .../core/api/GraphQL/Types/MobileMenuType.php | 81 - .../GraphQL/Types/NotificationTypeType.php | 2 +- .../api/GraphQL/Types/PollQuestionType.php | 1 - .../core/api/GraphQL/Types/SettingsType.php | 16 - .../core/api/GraphQL/Types/StatsType.php | 6 +- applications/core/api/clubs.php | 19 +- applications/core/api/groups.php | 6 + applications/core/api/hello.php | 2 +- applications/core/api/members.php | 20 +- applications/core/api/webhooks.php | 2 +- applications/core/data/achievements/rules.xml | 2 +- applications/core/data/acpmenu.json | 96 +- applications/core/data/acprestrictions.json | 53 +- applications/core/data/acpsearch.json | 289 +- applications/core/data/build.xml | 91 +- applications/core/data/defaults/Upgrade.txt | 2 +- .../defaults/extensions/AchievementAction.txt | 27 +- .../extensions/CommunityEnhancements.txt | 2 +- .../data/defaults/extensions/GroupForm.txt | 13 +- .../extensions/MemberRestrictions.txt | 3 +- .../defaults/extensions/MobileNavigation.txt | 98 - .../data/defaults/extensions/SearchIndex.txt | 38 + applications/core/data/emails.xml | 275 +- applications/core/data/extensions.json | 22 +- applications/core/data/furl.json | 12 + applications/core/data/javascript.xml | 2219 +++++++++++---- applications/core/data/lang.xml | 1051 ++++---- applications/core/data/modules.json | 14 +- applications/core/data/requirements.json | 4 +- applications/core/data/schema.json | 976 +++++-- applications/core/data/settings.json | 240 +- applications/core/data/tasks.json | 2 +- applications/core/data/theme.xml | 2371 +++++++++++++---- applications/core/data/versions.json | 77 +- applications/core/data/widgets.json | 172 +- .../core/AchievementAction/Comment.php | 48 +- .../AchievementAction/ContentPromotion.php | 34 +- .../AchievementAction/FollowContentItem.php | 11 +- .../core/AchievementAction/FollowMember.php | 11 +- .../core/AchievementAction/FollowNode.php | 2 +- .../core/AchievementAction/JoinClub.php | 13 +- .../core/AchievementAction/NewContentItem.php | 5 + .../core/AchievementAction/Reaction.php | 95 +- .../core/AchievementAction/Review.php | 13 +- .../AchievementAction/SessionStartDaily.php | 3 +- .../core/AchievementAction/VotePoll.php | 14 +- .../core/AdminNotifications/Bulletin.php | 15 +- .../AdminNotifications/ConfigurationError.php | 4 + .../core/AdminNotifications/NewVersion.php | 16 + .../CommunityEnhancements/GoogleAnalytics.php | 127 + .../GoogleTagManager.php | 133 + .../core/CommunityEnhancements/IndexNow.php | 79 + .../core/CommunityEnhancements/Matomo.php | 127 + .../core/CommunityEnhancements/Viglink.php | 65 +- .../core/CommunityEnhancements/Zapier.php | 22 +- .../extensions/core/ContentRouter/Status.php | 2 +- .../extensions/core/EditorLocations/Admin.php | 4 + .../extensions/core/EditorLocations/Alert.php | 208 ++ .../core/EditorLocations/Members.php | 31 + .../extensions/core/FileStorage/Ranks.php | 120 + .../extensions/core/FileStorage/Reaction.php | 2 +- .../extensions/core/GroupForm/Content.php | 4 + .../core/GroupForm/GroupSettings.php | 19 +- .../extensions/core/IpAddresses/Content.php | 27 +- .../BasicInformation.php | 16 + .../core/MemberACPProfileBlocks/OAuth.php | 8 - .../core/MemberACPProfileBlocks/Points.php | 14 +- .../core/MemberACPProfileBlocks/Referrals.php | 5 + .../core/MemberFilter/Achievements.php | 362 +++ .../extensions/core/MemberFilter/Banned.php | 116 + .../extensions/core/MemberFilter/Content.php | 6 +- .../extensions/core/MemberFilter/Group.php | 2 +- .../extensions/core/MemberFilter/Joined.php | 6 +- .../extensions/core/MemberFilter/Lastpost.php | 6 +- .../core/MemberFilter/Lastvisit.php | 6 +- .../core/MemberFilter/ProfileFields.php | 10 +- .../core/MemberFilter/Reputation.php | 6 +- .../extensions/core/MemberFilter/Spammer.php | 87 + .../extensions/core/MemberFilter/Staff.php | 2 +- .../core/MemberFilter/Validating.php | 105 + .../extensions/core/MemberHistory/Core.php | 23 +- .../core/MemberRestrictions/Content.php | 7 +- .../core/MemberRestrictions/Statuses.php | 5 +- .../core/MemberRestrictions/Tags.php | 7 +- .../extensions/core/MemberSync/System.php | 38 +- .../core/MobileNavigation/CustomItem.php | 157 -- .../core/extensions/core/ModCp/Alerts.php | 217 ++ .../core/extensions/core/ModCp/Content.php | 1 + .../core/ModeratorPermissions/Content.php | 3 +- .../core/Notifications/Achievements.php | 51 +- .../extensions/core/Notifications/Content.php | 7 +- .../core/Notifications/Messenger.php | 2 +- .../core/Notifications/Moderation.php | 2 +- .../extensions/core/Notifications/MyStuff.php | 13 +- .../OverviewStatistics/DeletedContent.php | 77 + .../core/OverviewStatistics/ProfileFields.php | 2 +- .../core/ProfileSteps/ProfileFields.php | 3 +- .../core/extensions/core/Queue/Bulkmail.php | 11 +- .../core/Queue/DeleteOrMoveContent.php | 11 +- .../core/extensions/core/Queue/Follow.php | 5 + .../core/extensions/core/Queue/IndexNow.php | 80 + .../extensions/core/Queue/MemberContent.php | 52 +- .../core/Queue/RebuildAchievements.php | 2 +- .../core/Queue/RebuildSearchIndex.php | 15 + .../extensions/core/Sitemap/Applications.php | 82 - .../core/extensions/core/Sitemap/Content.php | 6 + .../core/extensions/core/Sitemap/Profiles.php | 199 -- .../interface/ckeditor/ckeditor/CHANGES.md | 212 +- .../interface/ckeditor/ckeditor/LICENSE.md | 7 +- .../interface/ckeditor/ckeditor/SECURITY.md | 10 + .../ckeditor/ckeditor/adapters/jquery.js | 8 +- .../ckeditor/bender-runner.config.json | 16 + .../ckeditor/ckeditor/build-config.js | 4 +- .../interface/ckeditor/ckeditor/ckeditor.js | 1903 ++++++------- .../interface/ckeditor/ckeditor/config.js | 2 +- .../interface/ckeditor/ckeditor/contents.css | 2 +- .../ckeditor/lang/_translationstatus.txt | 2 +- .../interface/ckeditor/ckeditor/lang/af.js | 4 +- .../interface/ckeditor/ckeditor/lang/ar.js | 4 +- .../interface/ckeditor/ckeditor/lang/az.js | 4 +- .../interface/ckeditor/ckeditor/lang/bg.js | 4 +- .../interface/ckeditor/ckeditor/lang/bn.js | 4 +- .../interface/ckeditor/ckeditor/lang/bs.js | 4 +- .../interface/ckeditor/ckeditor/lang/ca.js | 4 +- .../interface/ckeditor/ckeditor/lang/cs.js | 4 +- .../interface/ckeditor/ckeditor/lang/cy.js | 4 +- .../interface/ckeditor/ckeditor/lang/da.js | 4 +- .../interface/ckeditor/ckeditor/lang/de-ch.js | 4 +- .../interface/ckeditor/ckeditor/lang/de.js | 4 +- .../interface/ckeditor/ckeditor/lang/el.js | 4 +- .../interface/ckeditor/ckeditor/lang/en-au.js | 4 +- .../interface/ckeditor/ckeditor/lang/en-ca.js | 4 +- .../interface/ckeditor/ckeditor/lang/en-gb.js | 4 +- .../interface/ckeditor/ckeditor/lang/en.js | 4 +- .../interface/ckeditor/ckeditor/lang/eo.js | 4 +- .../interface/ckeditor/ckeditor/lang/es-mx.js | 4 +- .../interface/ckeditor/ckeditor/lang/es.js | 4 +- .../interface/ckeditor/ckeditor/lang/et.js | 4 +- .../interface/ckeditor/ckeditor/lang/eu.js | 4 +- .../interface/ckeditor/ckeditor/lang/fa.js | 4 +- .../interface/ckeditor/ckeditor/lang/fi.js | 4 +- .../interface/ckeditor/ckeditor/lang/fo.js | 4 +- .../interface/ckeditor/ckeditor/lang/fr-ca.js | 4 +- .../interface/ckeditor/ckeditor/lang/fr.js | 4 +- .../interface/ckeditor/ckeditor/lang/gl.js | 4 +- .../interface/ckeditor/ckeditor/lang/gu.js | 4 +- .../interface/ckeditor/ckeditor/lang/he.js | 4 +- .../interface/ckeditor/ckeditor/lang/hi.js | 4 +- .../interface/ckeditor/ckeditor/lang/hr.js | 4 +- .../interface/ckeditor/ckeditor/lang/hu.js | 4 +- .../interface/ckeditor/ckeditor/lang/id.js | 4 +- .../interface/ckeditor/ckeditor/lang/is.js | 4 +- .../interface/ckeditor/ckeditor/lang/it.js | 4 +- .../interface/ckeditor/ckeditor/lang/ja.js | 4 +- .../interface/ckeditor/ckeditor/lang/ka.js | 4 +- .../interface/ckeditor/ckeditor/lang/km.js | 4 +- .../interface/ckeditor/ckeditor/lang/ko.js | 4 +- .../interface/ckeditor/ckeditor/lang/ku.js | 4 +- .../interface/ckeditor/ckeditor/lang/lt.js | 4 +- .../interface/ckeditor/ckeditor/lang/lv.js | 4 +- .../interface/ckeditor/ckeditor/lang/mk.js | 4 +- .../interface/ckeditor/ckeditor/lang/mn.js | 4 +- .../interface/ckeditor/ckeditor/lang/ms.js | 4 +- .../interface/ckeditor/ckeditor/lang/nb.js | 4 +- .../interface/ckeditor/ckeditor/lang/nl.js | 4 +- .../interface/ckeditor/ckeditor/lang/no.js | 4 +- .../interface/ckeditor/ckeditor/lang/oc.js | 4 +- .../interface/ckeditor/ckeditor/lang/pl.js | 4 +- .../interface/ckeditor/ckeditor/lang/pt-br.js | 4 +- .../interface/ckeditor/ckeditor/lang/pt.js | 4 +- .../interface/ckeditor/ckeditor/lang/ro.js | 4 +- .../interface/ckeditor/ckeditor/lang/ru.js | 4 +- .../interface/ckeditor/ckeditor/lang/si.js | 4 +- .../interface/ckeditor/ckeditor/lang/sk.js | 4 +- .../interface/ckeditor/ckeditor/lang/sl.js | 4 +- .../interface/ckeditor/ckeditor/lang/sq.js | 4 +- .../ckeditor/ckeditor/lang/sr-latn.js | 4 +- .../interface/ckeditor/ckeditor/lang/sr.js | 4 +- .../interface/ckeditor/ckeditor/lang/sv.js | 4 +- .../interface/ckeditor/ckeditor/lang/th.js | 4 +- .../interface/ckeditor/ckeditor/lang/tr.js | 4 +- .../interface/ckeditor/ckeditor/lang/tt.js | 4 +- .../interface/ckeditor/ckeditor/lang/ug.js | 4 +- .../interface/ckeditor/ckeditor/lang/uk.js | 4 +- .../interface/ckeditor/ckeditor/lang/vi.js | 4 +- .../interface/ckeditor/ckeditor/lang/zh-cn.js | 4 +- .../interface/ckeditor/ckeditor/lang/zh.js | 4 +- .../plugins/clipboard/dialogs/paste.js | 2 +- .../colordialog/dialogs/colordialog.css | 2 +- .../colordialog/dialogs/colordialog.js | 2 +- .../plugins/dialog/dialogDefinition.js | 2 +- .../ckeditor/ckeditor/plugins/icons.png | Bin 6832 -> 7086 bytes .../ckeditor/ckeditor/plugins/icons_hidpi.png | Bin 20211 -> 20982 bytes .../ckeditor/plugins/ipspaste/plugin.js | 18 +- .../ckeditor/plugins/ipsquote/plugin.js | 16 +- .../ipsstockreplies/icons/hidpi}/index.html | 0 .../icons/hidpi/ipsstockreplies.png | Bin 0 -> 1053 bytes .../plugins/ipsstockreplies/icons}/index.html | 0 .../ipsstockreplies/icons/ipsstockreplies.png | Bin 0 -> 442 bytes .../plugins/ipsstockreplies}/index.html | 0 .../plugins/ipsstockreplies/plugin.js | 2 + .../ckeditor/ckeditor/skins/ips/editor.css | 2 +- .../ckeditor/skins/ips/editor_gecko.css | 2 +- .../ckeditor/ckeditor/skins/ips/editor_ie.css | 2 +- .../ckeditor/skins/ips/editor_ie7.css | 2 +- .../ckeditor/skins/ips/editor_ie8.css | 2 +- .../ckeditor/skins/ips/editor_iequirks.css | 2 +- .../ckeditor/ckeditor/skins/ips/icons.png | Bin 6832 -> 7086 bytes .../ckeditor/skins/ips/icons_hidpi.png | Bin 20211 -> 20982 bytes .../ckeditor/ckeditor/skins/moono/dialog.css | 4 +- .../ckeditor/skins/moono/dialog_ie.css | 4 +- .../ckeditor/skins/moono/dialog_ie7.css | 4 +- .../ckeditor/skins/moono/dialog_ie8.css | 4 +- .../ckeditor/skins/moono/dialog_iequirks.css | 4 +- .../ckeditor/ckeditor/skins/moono/editor.css | 4 +- .../ckeditor/skins/moono/editor_gecko.css | 4 +- .../ckeditor/skins/moono/editor_ie.css | 4 +- .../ckeditor/skins/moono/editor_ie7.css | 4 +- .../ckeditor/skins/moono/editor_ie8.css | 4 +- .../ckeditor/skins/moono/editor_iequirks.css | 4 +- .../ckeditor/ckeditor/skins/moono/icons.png | Bin 9161 -> 9404 bytes .../ckeditor/skins/moono/icons_hidpi.png | Bin 27516 -> 28220 bytes .../ckeditor/ckeditor/skins/moono/readme.md | 2 +- .../interface/ckeditor/ckeditor/styles.js | 2 +- applications/core/interface/cloud/sync.php | 2 +- applications/core/interface/email/clock.png | Bin 0 -> 4214 bytes .../core/interface/email/comment_alt.png | Bin 0 -> 4173 bytes applications/core/interface/email/tada.png | Bin 0 -> 10826 bytes applications/core/interface/email/trophy.png | Bin 0 -> 9365 bytes .../core/interface/jquery/jquery-ui.js | 8 +- .../interface/jquery/jquery.nestedSortable.js | 8 +- .../core/interface/js/serviceWorker.js | 219 +- .../core/interface/plupload/Moxie.swf | Bin 27517 -> 27640 bytes .../core/interface/plupload/i18n/de.js | 2 +- .../core/interface/plupload/i18n/lv.js | 2 +- .../core/interface/plupload/i18n/ru.js | 2 +- .../jquery.plupload.queue.js | 4 +- .../jquery.plupload.queue.min.js | 2 +- .../css/jquery.ui.plupload.css | 34 +- .../jquery.ui.plupload/img/index.html | 0 .../plupload/jquery.ui.plupload/index.html | 0 .../jquery.ui.plupload/jquery.ui.plupload.js | 9 +- .../jquery.ui.plupload.min.js | 2 +- applications/core/interface/plupload/moxie.js | 885 +++--- .../core/interface/plupload/moxie.min.js | 13 +- .../core/interface/plupload/plupload.dev.js | 129 +- .../interface/plupload/plupload.full.min.js | 27 +- .../core/interface/plupload/plupload.min.js | 6 +- .../core/interface/spectrum/spectrum.css | 2 +- .../core/interface/spectrum/spectrum.js | 2 +- applications/core/interface/task/task.php | 2 +- applications/core/interface/task/web.php | 2 +- .../modules/admin/achievements/badges.php | 40 +- .../core/modules/admin/achievements/ranks.php | 9 +- .../core/modules/admin/achievements/rules.php | 2 +- .../admin/activitystats/deletedcontent.php | 81 + .../modules/admin/activitystats/reports.php | 61 + .../modules/admin/activitystats/search.php | 92 +- .../core/modules/admin/applications/api.php | 48 +- .../admin/applications/applications.php | 63 +- .../modules/admin/applications/developer.php | 9 +- .../core/modules/admin/applications/oauth.php | 30 +- .../modules/admin/applications/plugins.php | 46 +- .../modules/admin/applications/webhooks.php | 116 + .../admin/applications/webhooksReference.php | 58 + .../core/modules/admin/clubs/clubs.php | 2 +- .../core/modules/admin/clubs/settings.php | 6 + .../core/modules/admin/customization/ajax.php | 44 +- .../modules/admin/customization/emails.php | 3 +- .../modules/admin/customization/icons.php | 145 +- .../modules/admin/customization/themes.php | 457 ++-- .../core/modules/admin/discovery/search.php | 31 +- .../core/modules/admin/discovery/streams.php | 6 + .../modules/admin/editor/storedreplies.php | 96 + .../core/modules/admin/editor/toolbar.php | 59 +- .../modules/admin/marketplace/marketplace.php | 5 +- .../core/modules/admin/members/groups.php | 27 +- .../core/modules/admin/members/members.php | 151 +- .../admin/membersettings/notifications.php | 9 +- .../admin/membersettings/profilesettings.php | 31 +- .../admin/membersettings/reputation.php | 2 +- .../core/modules/admin/mobile/menu.php | 308 --- .../core/modules/admin/mobile/mobile.php | 658 ----- .../core/modules/admin/moderation/spam.php | 17 +- .../core/modules/admin/overview/dashboard.php | 21 +- .../core/modules/admin/overview/files.php | 6 +- .../modules/admin/promotion/analytics.php | 110 - .../core/modules/admin/promotion/promote.php | 6 +- .../core/modules/admin/promotion/seo.php | 103 +- .../core/modules/admin/settings/advanced.php | 25 + .../core/modules/admin/settings/dataLayer.php | 769 ++++++ .../core/modules/admin/settings/email.php | 4 +- .../core/modules/admin/settings/general.php | 12 +- .../modules/admin/settings/licensekey.php | 9 +- .../core/modules/admin/settings/posting.php | 34 +- .../core/modules/admin/staff/moderators.php | 7 +- .../core/modules/admin/stats/badges.php | 262 +- .../core/modules/admin/stats/follow.php | 126 + .../modules/admin/stats/membersactivity.php | 48 +- .../core/modules/admin/stats/moderators.php | 136 + .../core/modules/admin/stats/preferences.php | 128 + .../core/modules/admin/stats/referrals.php | 151 ++ .../modules/admin/stats/registrationstats.php | 2 +- .../core/modules/admin/stats/spam.php | 81 + .../core/modules/admin/stats/warnings.php | 112 + .../modules/admin/support/hookedFiles.php | 2 +- .../core/modules/admin/support/sql.php | 195 +- .../core/modules/admin/support/support.php | 312 ++- .../core/modules/admin/support/systemLogs.php | 13 + .../core/modules/admin/support/utf8mb4.php | 11 - .../core/modules/admin/system/upgrade.php | 81 +- .../core/modules/front/clubs/directory.php | 12 + .../core/modules/front/clubs/page.php | 8 + .../core/modules/front/clubs/view.php | 32 +- .../core/modules/front/discover/popular.php | 25 +- .../core/modules/front/discover/rss.php | 2 +- .../core/modules/front/discover/streams.php | 266 +- .../core/modules/front/members/profile.php | 75 +- .../modules/front/messaging/messenger.php | 64 +- .../core/modules/front/modcp/modcp.php | 5 + .../core/modules/front/online/online.php | 8 + .../core/modules/front/promote/ourpicks.php | 9 + .../core/modules/front/promote/promote.php | 4 +- .../core/modules/front/search/search.php | 64 +- .../front/staffdirectory/directory.php | 8 + .../core/modules/front/system/ajax.php | 53 +- .../core/modules/front/system/alerts.php | 62 + .../modules/front/system/announcement.php | 2 +- .../core/modules/front/system/easymode.php | 65 + .../core/modules/front/system/editor.php | 46 +- .../core/modules/front/system/lostpass.php | 10 + .../core/modules/front/system/metatags.php | 46 +- .../modules/front/system/notifications.php | 26 +- .../core/modules/front/system/redirect.php | 7 +- .../core/modules/front/system/register.php | 12 +- .../modules/front/system/serviceworker.php | 5 - .../core/modules/front/system/settings.php | 67 +- .../core/modules/front/system/vse.php | 2 +- .../core/modules/front/system/widgets.php | 2 +- .../modules/setup/install/applications.php | 8 +- .../core/modules/setup/install/license.php | 2 +- .../modules/setup/upgrade/applications.php | 15 +- .../core/modules/setup/upgrade/login.php | 2 +- .../core/setup/upg_101100/upgrade.php | 34 +- .../core/setup/upg_103021/queries.json | 2 +- .../core/setup/upg_104000/upgrade.php | 14 +- .../core/setup/upg_104038/queries.json | 2 +- .../core/setup/upg_105013/upgrade.php | 16 +- .../core/setup/upg_105107/upgrade.php | 22 - .../core/setup/upg_106100/queries.json | 62 +- .../core/setup/upg_106100/upgrade.php | 73 +- .../core/setup/upg_106104/queries.json | 7 - .../core/setup/upg_106104/upgrade.php | 56 + applications/core/setup/upg_106108/data.json | 24 + applications/core/setup/upg_106109/data.json | 24 + applications/core/setup/upg_106110/data.json | 24 + .../core/setup/upg_106110/javascript.json | 16 + applications/core/setup/upg_106110/lang.json | 16 + applications/core/setup/upg_106110/theme.json | 20 + applications/core/setup/upg_106111/data.json | 24 + .../core/setup/upg_106111/queries.json | 19 + applications/core/setup/upg_106111/theme.json | 19 + applications/core/setup/upg_106112/data.json | 24 + applications/core/setup/upg_106113/data.json | 24 + .../core/setup/upg_106113/javascript.json | 17 + applications/core/setup/upg_106113/lang.json | 19 + applications/core/setup/upg_106113/theme.json | 19 + applications/core/setup/upg_106114/data.json | 24 + applications/core/setup/upg_106114/theme.json | 19 + applications/core/setup/upg_106115/data.json | 24 + applications/core/setup/upg_106115/lang.json | 15 + .../setup/upg_106116/acpSearchKeywords.json | 7 + applications/core/setup/upg_106116/data.json | 24 + .../core/setup/upg_106116/javascript.json | 15 + applications/core/setup/upg_106116/lang.json | 15 + .../core/setup/upg_106116/queries.json | 93 + applications/core/setup/upg_106116/theme.json | 19 + applications/core/setup/upg_106117/data.json | 24 + .../core/setup/upg_106117/javascript.json | 14 + applications/core/setup/upg_106118/data.json | 24 + .../core/setup/upg_106118/javascript.json | 15 + applications/core/setup/upg_106118/lang.json | 18 + .../core/setup/upg_106118/queries.json | 58 + applications/core/setup/upg_106118/theme.json | 28 + .../core/setup/upg_106118/upgrade.php | 65 + applications/core/setup/upg_106119/data.json | 24 + applications/core/setup/upg_106120/data.json | 24 + applications/core/setup/upg_106120/theme.json | 20 + applications/core/setup/upg_106121/data.json | 24 + applications/core/setup/upg_106121/theme.json | 19 + applications/core/setup/upg_106122/data.json | 24 + applications/core/setup/upg_106123/data.json | 24 + .../core/setup/upg_106123/emailTemplates.json | 73 + .../core/setup/upg_106123/javascript.json | 295 ++ applications/core/setup/upg_106123/lang.json | 15 + .../core/setup/upg_106123/queries.json | 20 + applications/core/setup/upg_106123/theme.json | 1019 +++++++ .../core/setup/upg_106123/upgrade.php | 40 + applications/core/setup/upg_106125/data.json | 24 + .../core/setup/upg_106125/emailTemplates.json | 73 + .../core/setup/upg_106125/javascript.json | 225 ++ applications/core/setup/upg_106125/theme.json | 956 +++++++ applications/core/setup/upg_106126/data.json | 24 + .../core/setup/upg_106126/emailTemplates.json | 73 + .../core/setup/upg_106126/javascript.json | 225 ++ applications/core/setup/upg_106126/theme.json | 956 +++++++ applications/core/setup/upg_106127/data.json | 24 + applications/core/setup/upg_106127/lang.json | 15 + applications/core/setup/upg_106127/theme.json | 27 + applications/core/setup/upg_106128/data.json | 24 + .../core/setup/upg_106128/emailTemplates.json | 7 + .../core/setup/upg_106128/javascript.json | 14 + applications/core/setup/upg_106129/data.json | 24 + applications/core/setup/upg_106129/theme.json | 19 + applications/core/setup/upg_106130/data.json | 24 + applications/core/setup/upg_106130/theme.json | 19 + applications/core/setup/upg_106131/data.json | 24 + .../setup/upg_106132/acpSearchKeywords.json | 7 + applications/core/setup/upg_106132/data.json | 24 + .../core/setup/upg_106132/emailTemplates.json | 8 + .../core/setup/upg_106132/javascript.json | 16 + applications/core/setup/upg_106132/lang.json | 20 + .../core/setup/upg_106132/queries.json | 12 + .../core/setup/upg_106132/settings.json | 7 + applications/core/setup/upg_106132/theme.json | 25 + .../core/setup/upg_106132/upgrade.php | 38 + applications/core/setup/upg_106133/data.json | 24 + applications/core/setup/upg_106134/data.json | 24 + .../core/setup/upg_106134/emailTemplates.json | 8 + .../core/setup/upg_106134/javascript.json | 19 + applications/core/setup/upg_106134/lang.json | 89 + .../core/setup/upg_106134/queries.json | 232 ++ .../core/setup/upg_106134/settings.json | 9 + applications/core/setup/upg_106134/tasks.json | 8 + applications/core/setup/upg_106134/theme.json | 38 + .../setup/upg_106135/acpSearchKeywords.json | 8 + applications/core/setup/upg_106135/data.json | 24 + applications/core/setup/upg_106135/lang.json | 14 + applications/core/setup/upg_106136/data.json | 24 + .../core/setup/upg_106136/emailTemplates.json | 8 + applications/core/setup/upg_106136/lang.json | 16 + applications/core/setup/upg_106137/data.json | 24 + .../setup/upg_106138/acpSearchKeywords.json | 13 + applications/core/setup/upg_106138/data.json | 24 + .../core/setup/upg_106138/emailTemplates.json | 8 + .../core/setup/upg_106138/javascript.json | 34 + applications/core/setup/upg_106138/lang.json | 175 ++ .../core/setup/upg_106138/modules.json | 9 + .../core/setup/upg_106138/queries.json | 9 + .../core/setup/upg_106138/settings.json | 20 + applications/core/setup/upg_106138/theme.json | 67 + .../core/setup/upg_106138/upgrade.php | 61 + applications/core/setup/upg_106139/data.json | 24 + applications/core/setup/upg_106139/lang.json | 15 + applications/core/setup/upg_106139/theme.json | 19 + applications/core/setup/upg_106140/data.json | 24 + applications/core/setup/upg_106141/data.json | 24 + applications/core/setup/upg_106142/data.json | 24 + applications/core/setup/upg_106143/data.json | 24 + .../setup/upg_106144/acpSearchKeywords.json | 7 + applications/core/setup/upg_106144/data.json | 24 + .../core/setup/upg_106144/javascript.json | 18 + applications/core/setup/upg_106144/lang.json | 25 + .../core/setup/upg_106144/queries.json | 39 + applications/core/setup/upg_106144/theme.json | 35 + .../core/setup/upg_106144/upgrade.php | 44 + applications/core/setup/upg_106145/data.json | 24 + .../core/setup/upg_106145/emailTemplates.json | 7 + applications/core/setup/upg_106145/lang.json | 18 + .../core/setup/upg_106145/queries.json | 21 + applications/core/setup/upg_106145/theme.json | 20 + applications/core/setup/upg_106146/data.json | 24 + applications/core/setup/upg_106147/data.json | 24 + applications/core/setup/upg_106148/data.json | 24 + .../setup/upg_106149/acpSearchKeywords.json | 12 + applications/core/setup/upg_106149/data.json | 24 + .../core/setup/upg_106149/javascript.json | 14 + applications/core/setup/upg_106149/lang.json | 89 + .../core/setup/upg_106149/settings.json | 10 + applications/core/setup/upg_106149/theme.json | 43 + applications/core/setup/upg_106150/data.json | 24 + applications/core/setup/upg_106151/data.json | 24 + applications/core/setup/upg_106152/data.json | 24 + applications/core/setup/upg_106153/data.json | 24 + applications/core/setup/upg_106154/data.json | 24 + applications/core/setup/upg_106155/data.json | 24 + .../setup/upg_106156/acpSearchKeywords.json | 7 + applications/core/setup/upg_106156/data.json | 24 + .../core/setup/upg_106156/emailTemplates.json | 8 + .../core/setup/upg_106156/javascript.json | 16 + applications/core/setup/upg_106156/lang.json | 434 +++ .../core/setup/upg_106156/modules.json | 7 + .../core/setup/upg_106156/queries.json | 32 + .../core/setup/upg_106156/settings.json | 18 + applications/core/setup/upg_106156/theme.json | 33 + .../core/setup/upg_106156/upgrade.php | 71 + applications/core/setup/upg_106157/data.json | 24 + applications/core/setup/upg_106158/data.json | 24 + applications/core/setup/upg_106159/data.json | 24 + applications/core/setup/upg_106160/data.json | 24 + .../setup/upg_106161/acpSearchKeywords.json | 9 + applications/core/setup/upg_106161/data.json | 24 + .../core/setup/upg_106161/javascript.json | 16 + applications/core/setup/upg_106161/lang.json | 29 + .../core/setup/upg_106161/modules.json | 8 + .../core/setup/upg_106161/queries.json | 11 + applications/core/setup/upg_106161/theme.json | 32 + .../core/setup/upg_106161/themeSettings.json | 7 + applications/core/setup/upg_106162/data.json | 24 + applications/core/setup/upg_106163/data.json | 24 + applications/core/setup/upg_106163/lang.json | 14 + applications/core/setup/upg_106164/data.json | 24 + .../core/setup/upg_106164/javascript.json | 14 + applications/core/setup/upg_106165/data.json | 24 + applications/core/setup/upg_106165/theme.json | 19 + applications/core/setup/upg_106166/data.json | 24 + applications/core/setup/upg_106167/data.json | 24 + applications/core/setup/upg_106167/lang.json | 14 + applications/core/setup/upg_106167/theme.json | 23 + .../core/setup/upg_106167/themeSettings.json | 7 + .../setup/upg_106168/acpSearchKeywords.json | 13 + applications/core/setup/upg_106168/data.json | 24 + .../core/setup/upg_106168/javascript.json | 24 + applications/core/setup/upg_106168/lang.json | 96 + .../core/setup/upg_106168/queries.json | 45 + .../core/setup/upg_106168/settings.json | 15 + applications/core/setup/upg_106168/theme.json | 53 + applications/core/setup/upg_107000/data.json | 24 + .../core/setup/upg_107000/javascript.json | 15 + applications/core/setup/upg_107000/lang.json | 36 + .../core/setup/upg_107000/queries.json | 24 + .../core/setup/upg_107000/settings.json | 9 + applications/core/setup/upg_107000/theme.json | 29 + .../core/setup/upg_107000/upgrade.php | 119 + applications/core/setup/upg_107001/data.json | 24 + applications/core/setup/upg_107002/data.json | 24 + .../core/setup/upg_107002/emailTemplates.json | 7 + .../core/setup/upg_107002/javascript.json | 16 + applications/core/setup/upg_107002/lang.json | 24 + applications/core/setup/upg_107002/theme.json | 25 + applications/core/setup/upg_107003/data.json | 24 + applications/core/setup/upg_107003/theme.json | 20 + applications/core/setup/upg_107004/data.json | 24 + .../core/setup/upg_107004/emailTemplates.json | 12 + .../core/setup/upg_107004/javascript.json | 14 + applications/core/setup/upg_107004/lang.json | 19 + .../core/setup/upg_107004/queries.json | 176 ++ applications/core/setup/upg_107004/theme.json | 24 + applications/core/setup/upg_107005/data.json | 24 + .../core/setup/upg_107005/javascript.json | 15 + applications/core/setup/upg_107005/lang.json | 31 + applications/core/setup/upg_107005/theme.json | 21 + .../core/setup/upg_107005/upgrade.php | 43 + applications/core/setup/upg_107006/data.json | 24 + applications/core/setup/upg_107006/lang.json | 57 + .../core/setup/upg_107006/queries.json | 265 ++ applications/core/setup/upg_107006/theme.json | 32 + applications/core/setup/upg_107007/data.json | 24 + applications/core/setup/upg_107007/lang.json | 27 + .../core/setup/upg_107007/queries.json | 20 + applications/core/setup/upg_107007/theme.json | 25 + applications/core/setup/upg_107008/data.json | 24 + applications/core/setup/upg_107008/lang.json | 14 + .../core/setup/upg_107008/queries.json | 86 + applications/core/setup/upg_107008/theme.json | 20 + applications/core/setup/upg_107009/data.json | 24 + applications/core/setup/upg_107009/lang.json | 24 + .../core/setup/upg_107009/settings.json | 9 + applications/core/setup/upg_107010/data.json | 24 + .../core/setup/upg_107010/javascript.json | 14 + applications/core/setup/upg_107011/data.json | 24 + .../core/setup/upg_107011/javascript.json | 17 + applications/core/setup/upg_107011/lang.json | 35 + .../core/setup/upg_107011/queries.json | 38 + .../core/setup/upg_107011/settings.json | 7 + applications/core/setup/upg_107011/theme.json | 22 + .../core/setup/upg_107011/upgrade.php | 41 + applications/core/setup/upg_107012/data.json | 24 + .../core/setup/upg_107012/javascript.json | 14 + applications/core/setup/upg_107012/theme.json | 20 + applications/core/setup/upg_107013/data.json | 24 + applications/core/setup/upg_107014/data.json | 24 + applications/core/setup/upg_40000/upgrade.php | 1 - .../Actions/AbstractAchievementAction.php | 11 +- .../AbstractContentAchievementAction.php | 35 +- .../core/sources/Achievements/Badge.php | 92 +- .../core/sources/Achievements/Rank.php | 17 +- .../core/sources/Achievements/Recognize.php | 2 +- .../core/sources/Achievements/Rule.php | 88 +- .../AdminNotification/AdminNotification.php | 2 + applications/core/sources/Alerts/Alert.php | 489 ++++ .../Alerts}/index.html | 0 .../sources/Announcements/Announcement.php | 2 +- .../core/sources/DataLayer/DataLayer.php | 1664 ++++++++++++ .../core/sources/DataLayer/Handler.php | 298 +++ .../css => sources/DataLayer}/index.html | 0 applications/core/sources/Digest/Digest.php | 4 +- .../core/sources/Form/WebhookSelector.php | 57 + .../core/sources/IndexNow/IndexNow.php | 141 + .../core/sources/Messenger/Conversation.php | 72 +- .../core/sources/Messenger/Message.php | 7 +- .../core/sources/Profanity/Profanity.php | 100 +- .../core/sources/ProfileFields/Field.php | 5 +- applications/core/sources/Promote/Promote.php | 22 +- applications/core/sources/Reports/Report.php | 2 +- applications/core/sources/Reports/Rules.php | 4 +- applications/core/sources/Rss/Import.php | 10 +- applications/core/sources/Rss/Rss.php | 2 +- applications/core/sources/Statuses/Reply.php | 7 +- applications/core/sources/Statuses/Status.php | 32 +- .../sources/StoredReplies/StoredReplies.php | 243 ++ applications/core/sources/Stream/Stream.php | 121 +- .../core/sources/Stream/Subscription.php | 215 ++ .../core/sources/Warnings/Warning.php | 7 +- applications/core/tasks/cleanup.php | 20 +- .../core/tasks/dailyStreamSubscriptions.php | 68 + applications/core/tasks/updatecheck.php | 45 +- applications/core/tasks/usagereporting.php | 2 +- applications/core/tasks/viewupdates.php | 69 +- applications/core/tasks/webhooks.php | 15 +- .../core/tasks/weeklyStreamSubscriptions.php | 68 + applications/core/widgets/achievements.php | 30 +- applications/core/widgets/activeUsers.php | 72 +- applications/core/widgets/members.php | 10 +- .../core/widgets/recentStatusUpdates.php | 2 +- applications/core/widgets/relatedContent.php | 71 +- applications/core/widgets/stats.php | 3 +- applications/core/widgets/whosOnline.php | 38 +- applications/downloads/Application.php | 14 +- applications/downloads/api/comments.php | 66 +- applications/downloads/api/files.php | 17 +- applications/downloads/api/reviews.php | 66 +- applications/downloads/data/extensions.json | 87 +- applications/downloads/data/javascript.xml | 49 +- applications/downloads/data/lang.xml | 16 +- applications/downloads/data/schema.json | 60 +- applications/downloads/data/theme.xml | 41 +- applications/downloads/data/versions.json | 77 +- .../core/AchievementAction/DownloadFile.php | 271 ++ .../core/EditorLocations/Downloads.php | 46 + .../extensions/core/GroupForm/Downloads.php | 2 +- .../core/MemberRestrictions/Downloads.php | 5 +- .../downloads/extensions/nexus/Item/File.php | 15 +- .../modules/admin/stats/downloaders.php | 2 +- .../modules/admin/stats/submitters.php | 2 +- .../modules/front/downloads/browse.php | 2 +- .../modules/front/downloads/pending.php | 21 + .../modules/front/downloads/submit.php | 38 +- .../modules/front/downloads/view.php | 38 +- .../downloads/setup/upg_106108/data.json | 24 + .../downloads/setup/upg_106109/data.json | 24 + .../downloads/setup/upg_106110/data.json | 24 + .../downloads/setup/upg_106111/data.json | 24 + .../downloads/setup/upg_106112/data.json | 24 + .../downloads/setup/upg_106113/data.json | 24 + .../downloads/setup/upg_106114/data.json | 24 + .../downloads/setup/upg_106115/data.json | 24 + .../downloads/setup/upg_106116/data.json | 24 + .../downloads/setup/upg_106116/theme.json | 19 + .../downloads/setup/upg_106117/data.json | 24 + .../downloads/setup/upg_106118/data.json | 24 + .../downloads/setup/upg_106119/data.json | 24 + .../downloads/setup/upg_106120/data.json | 24 + .../downloads/setup/upg_106121/data.json | 24 + .../downloads/setup/upg_106122/data.json | 24 + .../downloads/setup/upg_106123/data.json | 24 + .../setup/upg_106123/emailTemplates.json | 9 + .../setup/upg_106123/javascript.json | 26 + .../downloads/setup/upg_106123/queries.json | 21 + .../downloads/setup/upg_106123/theme.json | 84 + .../downloads/setup/upg_106125/data.json | 24 + .../setup/upg_106125/emailTemplates.json | 9 + .../setup/upg_106125/javascript.json | 16 + .../downloads/setup/upg_106125/theme.json | 81 + .../downloads/setup/upg_106126/data.json | 24 + .../setup/upg_106126/emailTemplates.json | 9 + .../setup/upg_106126/javascript.json | 16 + .../downloads/setup/upg_106126/theme.json | 81 + .../downloads/setup/upg_106127/data.json | 24 + .../downloads/setup/upg_106128/data.json | 24 + .../downloads/setup/upg_106128/theme.json | 21 + .../downloads/setup/upg_106129/data.json | 24 + .../downloads/setup/upg_106130/data.json | 24 + .../downloads/setup/upg_106131/data.json | 24 + .../downloads/setup/upg_106132/data.json | 24 + .../setup/upg_106132/javascript.json | 14 + .../downloads/setup/upg_106132/lang.json | 14 + .../downloads/setup/upg_106132/queries.json | 39 + .../downloads/setup/upg_106132/theme.json | 20 + .../downloads/setup/upg_106133/data.json | 24 + .../downloads/setup/upg_106134/data.json | 24 + .../downloads/setup/upg_106134/theme.json | 19 + .../downloads/setup/upg_106135/data.json | 24 + .../downloads/setup/upg_106136/data.json | 24 + .../downloads/setup/upg_106137/data.json | 24 + .../downloads/setup/upg_106138/data.json | 24 + .../downloads/setup/upg_106138/lang.json | 24 + .../downloads/setup/upg_106138/theme.json | 20 + .../downloads/setup/upg_106139/data.json | 24 + .../downloads/setup/upg_106139/lang.json | 15 + .../downloads/setup/upg_106139/theme.json | 20 + .../downloads/setup/upg_106140/data.json | 24 + .../downloads/setup/upg_106141/data.json | 24 + .../downloads/setup/upg_106142/data.json | 24 + .../downloads/setup/upg_106143/data.json | 24 + .../downloads/setup/upg_106144/data.json | 24 + .../downloads/setup/upg_106144/theme.json | 19 + .../downloads/setup/upg_106145/data.json | 24 + .../downloads/setup/upg_106146/data.json | 24 + .../downloads/setup/upg_106147/data.json | 24 + .../downloads/setup/upg_106148/data.json | 24 + .../downloads/setup/upg_106149/data.json | 24 + .../downloads/setup/upg_106150/data.json | 24 + .../downloads/setup/upg_106151/data.json | 24 + .../downloads/setup/upg_106152/data.json | 24 + .../downloads/setup/upg_106153/data.json | 24 + .../downloads/setup/upg_106154/data.json | 24 + .../downloads/setup/upg_106155/data.json | 24 + .../downloads/setup/upg_106156/data.json | 24 + .../downloads/setup/upg_106156/queries.json | 20 + .../downloads/setup/upg_106156/upgrade.php | 37 + .../downloads/setup/upg_106157/data.json | 24 + .../downloads/setup/upg_106158/data.json | 24 + .../downloads/setup/upg_106159/data.json | 24 + .../downloads/setup/upg_106160/data.json | 24 + .../downloads/setup/upg_106161/data.json | 24 + .../downloads/setup/upg_106162/data.json | 24 + .../downloads/setup/upg_106163/data.json | 24 + .../downloads/setup/upg_106164/data.json | 24 + .../downloads/setup/upg_106165/data.json | 24 + .../downloads/setup/upg_106166/data.json | 24 + .../downloads/setup/upg_106167/data.json | 24 + .../downloads/setup/upg_106168/data.json | 24 + .../setup/upg_106168/javascript.json | 14 + .../downloads/setup/upg_106168/theme.json | 19 + .../downloads/setup/upg_107000/data.json | 24 + .../downloads/setup/upg_107001/data.json | 24 + .../downloads/setup/upg_107002/data.json | 24 + .../downloads/setup/upg_107002/theme.json | 19 + .../downloads/setup/upg_107003/data.json | 24 + .../downloads/setup/upg_107004/data.json | 24 + .../downloads/setup/upg_107005/data.json | 24 + .../downloads/setup/upg_107006/data.json | 24 + .../downloads/setup/upg_107007/data.json | 24 + .../downloads/setup/upg_107008/data.json | 24 + .../downloads/setup/upg_107009/data.json | 24 + .../downloads/setup/upg_107010/data.json | 24 + .../downloads/setup/upg_107011/data.json | 24 + .../downloads/setup/upg_107012/data.json | 24 + .../downloads/setup/upg_107013/data.json | 24 + .../downloads/setup/upg_107014/data.json | 24 + .../downloads/sources/Category/Category.php | 36 +- .../downloads/sources/Field/Field.php | 11 + .../downloads/sources/File/Comment.php | 5 + applications/downloads/sources/File/File.php | 37 +- .../downloads/sources/File/PendingVersion.php | 17 +- .../downloads/sources/File/Review.php | 5 + applications/forums/Application.php | 15 +- applications/forums/api/forums.php | 81 +- applications/forums/api/posts.php | 78 +- applications/forums/api/topics.php | 54 +- applications/forums/data/acpmenu.json | 7 + applications/forums/data/acprestrictions.json | 3 + applications/forums/data/acpsearch.json | 51 +- applications/forums/data/build.xml | 9 +- applications/forums/data/javascript.xml | 145 +- applications/forums/data/lang.xml | 42 +- applications/forums/data/theme.xml | 276 +- applications/forums/data/versions.json | 77 +- .../AchievementAction/AnswerMarkedBest.php | 11 +- .../core/EditorLocations/Forums.php | 31 + .../core/Queue/DeleteLegacyPosts.php | 14 +- .../forums/modules/admin/forums/settings.php | 9 +- .../forums/modules/admin/stats/posts.php | 137 +- .../forums/modules/admin/stats/questions.php | 67 + .../forums/modules/admin/stats/topics.php | 77 +- .../forums/modules/front/forums/forums.php | 472 +++- .../forums/modules/front/forums/index.php | 2 +- .../forums/modules/front/forums/topic.php | 101 +- .../forums/setup/upg_100011/queries.json | 20 + .../forums/setup/upg_106100/queries.json | 20 +- .../forums/setup/upg_106108/data.json | 24 + .../forums/setup/upg_106109/data.json | 24 + .../forums/setup/upg_106110/data.json | 24 + .../forums/setup/upg_106111/data.json | 24 + .../forums/setup/upg_106112/data.json | 24 + .../forums/setup/upg_106113/data.json | 24 + .../forums/setup/upg_106114/data.json | 24 + .../forums/setup/upg_106115/data.json | 24 + .../forums/setup/upg_106116/data.json | 24 + .../forums/setup/upg_106116/theme.json | 19 + .../forums/setup/upg_106117/data.json | 24 + .../forums/setup/upg_106118/data.json | 24 + .../forums/setup/upg_106118/theme.json | 19 + .../forums/setup/upg_106119/data.json | 24 + .../forums/setup/upg_106120/data.json | 24 + .../forums/setup/upg_106121/data.json | 24 + .../forums/setup/upg_106122/data.json | 24 + .../forums/setup/upg_106123/data.json | 24 + .../setup/upg_106123/emailTemplates.json | 8 + .../forums/setup/upg_106123/javascript.json | 27 + .../forums/setup/upg_106123/theme.json | 78 + .../forums/setup/upg_106125/data.json | 24 + .../setup/upg_106125/emailTemplates.json | 8 + .../forums/setup/upg_106125/javascript.json | 17 + .../forums/setup/upg_106125/theme.json | 75 + .../forums/setup/upg_106126/data.json | 24 + .../setup/upg_106126/emailTemplates.json | 8 + .../forums/setup/upg_106126/javascript.json | 17 + .../forums/setup/upg_106126/theme.json | 75 + .../forums/setup/upg_106127/data.json | 24 + .../forums/setup/upg_106127/javascript.json | 14 + .../forums/setup/upg_106128/data.json | 24 + .../forums/setup/upg_106128/theme.json | 21 + .../forums/setup/upg_106129/data.json | 24 + .../forums/setup/upg_106130/data.json | 24 + .../forums/setup/upg_106131/data.json | 24 + .../forums/setup/upg_106132/data.json | 24 + .../forums/setup/upg_106133/data.json | 24 + .../forums/setup/upg_106134/data.json | 24 + .../forums/setup/upg_106134/lang.json | 25 + .../forums/setup/upg_106134/theme.json | 19 + .../forums/setup/upg_106135/data.json | 24 + .../forums/setup/upg_106136/data.json | 24 + .../forums/setup/upg_106137/data.json | 24 + .../forums/setup/upg_106138/data.json | 24 + .../forums/setup/upg_106138/lang.json | 24 + .../forums/setup/upg_106138/theme.json | 33 + .../forums/setup/upg_106139/data.json | 24 + .../forums/setup/upg_106140/data.json | 24 + .../forums/setup/upg_106141/data.json | 24 + .../forums/setup/upg_106141/theme.json | 19 + .../forums/setup/upg_106142/data.json | 24 + .../forums/setup/upg_106143/data.json | 24 + .../forums/setup/upg_106144/data.json | 24 + .../forums/setup/upg_106144/theme.json | 19 + .../forums/setup/upg_106145/data.json | 24 + .../forums/setup/upg_106146/data.json | 24 + .../forums/setup/upg_106147/data.json | 24 + .../forums/setup/upg_106148/data.json | 24 + .../forums/setup/upg_106149/data.json | 24 + .../forums/setup/upg_106150/data.json | 24 + .../forums/setup/upg_106151/data.json | 24 + .../forums/setup/upg_106152/data.json | 24 + .../forums/setup/upg_106153/data.json | 24 + .../forums/setup/upg_106154/data.json | 24 + .../forums/setup/upg_106155/data.json | 24 + .../forums/setup/upg_106156/data.json | 24 + .../forums/setup/upg_106157/data.json | 24 + .../forums/setup/upg_106158/data.json | 24 + .../forums/setup/upg_106159/data.json | 24 + .../forums/setup/upg_106160/data.json | 24 + .../forums/setup/upg_106161/data.json | 24 + .../forums/setup/upg_106162/data.json | 24 + .../forums/setup/upg_106163/data.json | 24 + .../forums/setup/upg_106163/javascript.json | 14 + .../forums/setup/upg_106163/lang.json | 17 + .../forums/setup/upg_106163/theme.json | 23 + .../forums/setup/upg_106164/data.json | 24 + .../forums/setup/upg_106165/data.json | 24 + .../forums/setup/upg_106166/data.json | 24 + .../forums/setup/upg_106166/lang.json | 14 + .../forums/setup/upg_106166/theme.json | 19 + .../forums/setup/upg_106167/data.json | 24 + .../forums/setup/upg_106167/javascript.json | 17 + .../forums/setup/upg_106168/data.json | 24 + .../forums/setup/upg_106168/javascript.json | 19 + .../forums/setup/upg_106168/theme.json | 20 + .../forums/setup/upg_107000/data.json | 24 + .../forums/setup/upg_107000/javascript.json | 14 + .../forums/setup/upg_107000/theme.json | 20 + .../forums/setup/upg_107001/data.json | 24 + .../forums/setup/upg_107002/data.json | 24 + .../forums/setup/upg_107002/theme.json | 23 + .../forums/setup/upg_107003/data.json | 24 + .../forums/setup/upg_107004/data.json | 24 + .../forums/setup/upg_107005/data.json | 24 + .../forums/setup/upg_107005/javascript.json | 14 + .../forums/setup/upg_107006/data.json | 24 + .../forums/setup/upg_107007/data.json | 24 + .../forums/setup/upg_107008/data.json | 24 + .../setup/upg_107009/acpSearchKeywords.json | 10 + .../forums/setup/upg_107009/data.json | 24 + .../forums/setup/upg_107010/data.json | 24 + .../forums/setup/upg_107011/data.json | 24 + .../forums/setup/upg_107012/data.json | 24 + .../forums/setup/upg_107013/data.json | 24 + .../forums/setup/upg_107014/data.json | 24 + applications/forums/sources/Forum/Forum.php | 145 +- .../forums/sources/Topic/ArchivedPost.php | 61 +- applications/forums/sources/Topic/Post.php | 20 +- applications/forums/sources/Topic/Topic.php | 41 +- .../forums/widgets/forumStatistics.php | 19 +- applications/forums/widgets/postFeed.php | 17 +- applications/forums/widgets/topicFeed.php | 17 +- applications/gallery/Application.php | 16 +- applications/gallery/api/comments.php | 66 +- applications/gallery/api/images.php | 12 +- applications/gallery/api/reviews.php | 66 +- applications/gallery/data/javascript.xml | 36 +- applications/gallery/data/lang.xml | 8 +- applications/gallery/data/theme.xml | 16 +- applications/gallery/data/versions.json | 77 +- .../core/EditorLocations/Gallery.php | 26 + .../core/EditorLocations/Images.php | 17 + .../core/MemberRestrictions/Gallery.php | 5 +- .../core/Queue/RebuildGalleryImages.php | 7 +- .../extensions/core/Sitemap/Images.php | 7 - .../extensions/core/Sitemap/Videos.php | 3 - .../modules/admin/gallery/categories.php | 2 +- .../modules/admin/gallery/settings.php | 2 +- .../gallery/modules/admin/stats/diskspace.php | 2 +- .../gallery/modules/front/gallery/browse.php | 11 +- .../gallery/modules/front/gallery/submit.php | 11 + .../gallery/modules/front/gallery/view.php | 8 +- .../gallery/setup/upg_106108/data.json | 24 + .../gallery/setup/upg_106108/theme.json | 19 + .../gallery/setup/upg_106109/data.json | 24 + .../gallery/setup/upg_106109/theme.json | 19 + .../gallery/setup/upg_106110/data.json | 24 + .../gallery/setup/upg_106110/theme.json | 19 + .../gallery/setup/upg_106111/data.json | 24 + .../gallery/setup/upg_106111/theme.json | 19 + .../gallery/setup/upg_106112/data.json | 24 + .../gallery/setup/upg_106112/theme.json | 19 + .../gallery/setup/upg_106113/data.json | 24 + .../gallery/setup/upg_106113/theme.json | 19 + .../gallery/setup/upg_106114/data.json | 24 + .../gallery/setup/upg_106114/theme.json | 19 + .../gallery/setup/upg_106115/data.json | 24 + .../gallery/setup/upg_106115/theme.json | 19 + .../gallery/setup/upg_106116/data.json | 24 + .../gallery/setup/upg_106116/lang.json | 14 + .../gallery/setup/upg_106116/theme.json | 19 + .../gallery/setup/upg_106117/data.json | 24 + .../gallery/setup/upg_106117/theme.json | 19 + .../gallery/setup/upg_106118/data.json | 24 + .../gallery/setup/upg_106118/theme.json | 19 + .../gallery/setup/upg_106119/data.json | 24 + .../gallery/setup/upg_106119/theme.json | 19 + .../gallery/setup/upg_106120/data.json | 24 + .../gallery/setup/upg_106120/theme.json | 19 + .../gallery/setup/upg_106121/data.json | 24 + .../gallery/setup/upg_106121/theme.json | 19 + .../gallery/setup/upg_106122/data.json | 24 + .../gallery/setup/upg_106122/theme.json | 19 + .../gallery/setup/upg_106123/data.json | 24 + .../setup/upg_106123/emailTemplates.json | 9 + .../gallery/setup/upg_106123/javascript.json | 31 + .../gallery/setup/upg_106123/theme.json | 104 + .../gallery/setup/upg_106125/data.json | 24 + .../setup/upg_106125/emailTemplates.json | 9 + .../gallery/setup/upg_106125/javascript.json | 24 + .../gallery/setup/upg_106125/theme.json | 103 + .../gallery/setup/upg_106126/data.json | 24 + .../setup/upg_106126/emailTemplates.json | 9 + .../gallery/setup/upg_106126/javascript.json | 24 + .../gallery/setup/upg_106126/theme.json | 103 + .../gallery/setup/upg_106127/data.json | 24 + .../gallery/setup/upg_106127/theme.json | 19 + .../gallery/setup/upg_106128/data.json | 24 + .../gallery/setup/upg_106128/theme.json | 20 + .../gallery/setup/upg_106129/data.json | 24 + .../gallery/setup/upg_106129/theme.json | 19 + .../gallery/setup/upg_106130/data.json | 24 + .../gallery/setup/upg_106130/theme.json | 19 + .../gallery/setup/upg_106131/data.json | 24 + .../gallery/setup/upg_106131/theme.json | 19 + .../gallery/setup/upg_106132/data.json | 24 + .../gallery/setup/upg_106132/theme.json | 19 + .../gallery/setup/upg_106133/data.json | 24 + .../gallery/setup/upg_106133/theme.json | 19 + .../gallery/setup/upg_106134/data.json | 24 + .../gallery/setup/upg_106134/theme.json | 19 + .../gallery/setup/upg_106135/data.json | 24 + .../gallery/setup/upg_106135/theme.json | 19 + .../gallery/setup/upg_106136/data.json | 24 + .../gallery/setup/upg_106136/theme.json | 19 + .../gallery/setup/upg_106137/data.json | 24 + .../gallery/setup/upg_106137/theme.json | 19 + .../gallery/setup/upg_106138/data.json | 24 + .../gallery/setup/upg_106138/lang.json | 14 + .../gallery/setup/upg_106138/theme.json | 22 + .../gallery/setup/upg_106139/data.json | 24 + .../gallery/setup/upg_106139/theme.json | 19 + .../gallery/setup/upg_106140/data.json | 24 + .../gallery/setup/upg_106140/theme.json | 19 + .../gallery/setup/upg_106141/data.json | 24 + .../gallery/setup/upg_106141/theme.json | 19 + .../gallery/setup/upg_106142/data.json | 24 + .../gallery/setup/upg_106142/theme.json | 19 + .../gallery/setup/upg_106143/data.json | 24 + .../gallery/setup/upg_106143/theme.json | 19 + .../gallery/setup/upg_106144/data.json | 24 + .../gallery/setup/upg_106144/theme.json | 21 + .../gallery/setup/upg_106145/data.json | 24 + .../gallery/setup/upg_106145/theme.json | 19 + .../gallery/setup/upg_106146/data.json | 24 + .../gallery/setup/upg_106146/theme.json | 19 + .../gallery/setup/upg_106147/data.json | 24 + .../gallery/setup/upg_106147/theme.json | 19 + .../gallery/setup/upg_106148/data.json | 24 + .../gallery/setup/upg_106148/theme.json | 19 + .../gallery/setup/upg_106149/data.json | 24 + .../gallery/setup/upg_106149/lang.json | 14 + .../gallery/setup/upg_106149/theme.json | 19 + .../gallery/setup/upg_106150/data.json | 24 + .../gallery/setup/upg_106150/theme.json | 19 + .../gallery/setup/upg_106151/data.json | 24 + .../gallery/setup/upg_106151/theme.json | 19 + .../gallery/setup/upg_106152/data.json | 24 + .../gallery/setup/upg_106152/theme.json | 19 + .../gallery/setup/upg_106153/data.json | 24 + .../gallery/setup/upg_106153/theme.json | 19 + .../gallery/setup/upg_106154/data.json | 24 + .../gallery/setup/upg_106154/theme.json | 19 + .../gallery/setup/upg_106155/data.json | 24 + .../gallery/setup/upg_106155/theme.json | 19 + .../gallery/setup/upg_106156/data.json | 24 + .../gallery/setup/upg_106156/lang.json | 14 + .../gallery/setup/upg_106156/theme.json | 19 + .../gallery/setup/upg_106157/data.json | 24 + .../gallery/setup/upg_106157/theme.json | 19 + .../gallery/setup/upg_106158/data.json | 24 + .../gallery/setup/upg_106158/theme.json | 19 + .../gallery/setup/upg_106159/data.json | 24 + .../gallery/setup/upg_106159/theme.json | 19 + .../gallery/setup/upg_106160/data.json | 24 + .../gallery/setup/upg_106160/theme.json | 19 + .../gallery/setup/upg_106161/data.json | 24 + .../gallery/setup/upg_106161/theme.json | 19 + .../gallery/setup/upg_106162/data.json | 24 + .../gallery/setup/upg_106162/theme.json | 19 + .../gallery/setup/upg_106163/data.json | 24 + .../gallery/setup/upg_106163/theme.json | 19 + .../gallery/setup/upg_106164/data.json | 24 + .../gallery/setup/upg_106164/theme.json | 19 + .../gallery/setup/upg_106165/data.json | 24 + .../gallery/setup/upg_106165/theme.json | 19 + .../gallery/setup/upg_106166/data.json | 24 + .../gallery/setup/upg_106166/theme.json | 19 + .../gallery/setup/upg_106167/data.json | 24 + .../gallery/setup/upg_106168/data.json | 24 + .../gallery/setup/upg_106168/javascript.json | 14 + .../gallery/setup/upg_106168/theme.json | 19 + .../gallery/setup/upg_107000/data.json | 24 + .../gallery/setup/upg_107000/theme.json | 19 + .../gallery/setup/upg_107001/data.json | 24 + .../gallery/setup/upg_107001/theme.json | 19 + .../gallery/setup/upg_107002/data.json | 24 + .../gallery/setup/upg_107002/theme.json | 19 + .../gallery/setup/upg_107003/data.json | 24 + .../gallery/setup/upg_107003/theme.json | 19 + .../gallery/setup/upg_107004/data.json | 24 + .../gallery/setup/upg_107004/theme.json | 19 + .../gallery/setup/upg_107005/data.json | 24 + .../gallery/setup/upg_107005/theme.json | 19 + .../gallery/setup/upg_107006/data.json | 24 + .../gallery/setup/upg_107006/theme.json | 19 + .../gallery/setup/upg_107007/data.json | 24 + .../gallery/setup/upg_107007/theme.json | 19 + .../gallery/setup/upg_107008/data.json | 24 + .../gallery/setup/upg_107008/theme.json | 19 + .../gallery/setup/upg_107009/data.json | 24 + .../gallery/setup/upg_107009/theme.json | 19 + .../gallery/setup/upg_107010/data.json | 24 + .../gallery/setup/upg_107010/theme.json | 19 + .../gallery/setup/upg_107011/data.json | 24 + .../gallery/setup/upg_107011/theme.json | 19 + .../gallery/setup/upg_107012/data.json | 24 + .../gallery/setup/upg_107012/theme.json | 19 + .../gallery/setup/upg_107013/data.json | 24 + .../gallery/setup/upg_107013/theme.json | 19 + .../gallery/setup/upg_107014/data.json | 24 + .../gallery/setup/upg_107014/theme.json | 19 + .../gallery/setup/upg_60000/upgrade.php | 4 +- applications/gallery/sources/Album/Item.php | 52 +- .../gallery/sources/Category/Category.php | 13 +- .../gallery/sources/Image/Comment.php | 5 + applications/gallery/sources/Image/Image.php | 65 +- applications/gallery/sources/Image/Review.php | 5 + applications/nexus/Application.php | 86 +- applications/nexus/api/supportreplies.php | 11 +- applications/nexus/data/build.xml | 7 +- applications/nexus/data/emails.xml | 209 +- applications/nexus/data/extensions.json | 234 +- applications/nexus/data/furl.json | 6 +- applications/nexus/data/hooks.json | 4 - applications/nexus/data/javascript.xml | 133 +- applications/nexus/data/lang.xml | 65 +- applications/nexus/data/schema.json | 44 +- applications/nexus/data/settings.json | 6 +- applications/nexus/data/theme.xml | 136 +- applications/nexus/data/versions.json | 77 +- .../core/AchievementAction/Package.php | 247 ++ .../core/AchievementAction/Subscription.php | 45 +- .../core/ContactUs/SupportRequest.php | 2 +- .../extensions/core/EditorLocations/Store.php | 26 + .../extensions/core/FileStorage/Gateways.php | 99 + .../extensions/core/FrontNavigation/Gifts.php | 2 +- .../core/GroupForm/PreventDeletion.php | 80 + .../extensions/core/MemberHistory/Nexus.php | 6 +- .../Queue/FixMissingSubscriptionPurchases.php | 140 + .../core/Queue/MassChangePurchases.php | 10 +- .../extensions/nexus/Item/CustomPackage.php | 15 + .../nexus/extensions/nexus/Item/Package.php | 7 +- .../extensions/nexus/Item/Subscription.php | 31 +- applications/nexus/hooks/frontDispatcher.php | 28 - .../interface/gateways/paypal-webhook.php | 8 + .../nexus/interface/gateways/paypal.php | 24 +- .../nexus/interface/gateways/stripe.php | 17 +- .../admin/payments/billingagreements.php | 1 + .../admin/payments/checkoutsettings.php | 5 + .../nexus/modules/admin/payments/gateways.php | 5 + .../nexus/modules/admin/payments/shipping.php | 6 +- .../modules/admin/payments/shippingrates.php | 4 +- .../nexus/modules/admin/reports/income.php | 4 +- .../nexus/modules/admin/reports/markets.php | 2 +- .../nexus/modules/admin/store/packages.php | 14 +- .../admin/subscriptions/subscribers.php | 24 - .../admin/subscriptions/subscriptions.php | 83 +- .../nexus/modules/front/checkout/checkout.php | 64 +- .../nexus/modules/front/clients/invoices.php | 3 + .../nexus/modules/front/store/product.php | 29 +- .../nexus/modules/front/store/store.php | 14 +- .../front/subscriptions/subscriptions.php | 78 +- applications/nexus/setup/upg_106108/data.json | 24 + applications/nexus/setup/upg_106109/data.json | 24 + applications/nexus/setup/upg_106110/data.json | 24 + applications/nexus/setup/upg_106110/lang.json | 14 + .../nexus/setup/upg_106110/theme.json | 19 + applications/nexus/setup/upg_106111/data.json | 24 + applications/nexus/setup/upg_106112/data.json | 24 + applications/nexus/setup/upg_106113/data.json | 24 + applications/nexus/setup/upg_106114/data.json | 24 + applications/nexus/setup/upg_106115/data.json | 24 + applications/nexus/setup/upg_106116/data.json | 24 + applications/nexus/setup/upg_106117/data.json | 24 + applications/nexus/setup/upg_106118/data.json | 24 + applications/nexus/setup/upg_106118/lang.json | 15 + .../nexus/setup/upg_106118/settings.json | 7 + .../nexus/setup/upg_106118/theme.json | 22 + .../nexus/setup/upg_106118/upgrade.php | 44 + applications/nexus/setup/upg_106119/data.json | 24 + applications/nexus/setup/upg_106120/data.json | 24 + applications/nexus/setup/upg_106121/data.json | 24 + applications/nexus/setup/upg_106122/data.json | 24 + applications/nexus/setup/upg_106123/data.json | 24 + .../setup/upg_106123/emailTemplates.json | 44 + .../nexus/setup/upg_106123/javascript.json | 56 + applications/nexus/setup/upg_106123/lang.json | 15 + .../nexus/setup/upg_106123/theme.json | 291 ++ applications/nexus/setup/upg_106125/data.json | 24 + .../setup/upg_106125/emailTemplates.json | 44 + .../nexus/setup/upg_106125/javascript.json | 33 + applications/nexus/setup/upg_106125/lang.json | 15 + .../nexus/setup/upg_106125/theme.json | 279 ++ applications/nexus/setup/upg_106126/data.json | 24 + .../setup/upg_106126/emailTemplates.json | 44 + .../nexus/setup/upg_106126/javascript.json | 33 + applications/nexus/setup/upg_106126/lang.json | 15 + .../nexus/setup/upg_106126/theme.json | 279 ++ applications/nexus/setup/upg_106127/data.json | 24 + applications/nexus/setup/upg_106128/data.json | 24 + .../nexus/setup/upg_106128/theme.json | 30 + applications/nexus/setup/upg_106129/data.json | 24 + applications/nexus/setup/upg_106130/data.json | 24 + applications/nexus/setup/upg_106131/data.json | 24 + applications/nexus/setup/upg_106132/data.json | 24 + .../nexus/setup/upg_106132/javascript.json | 14 + applications/nexus/setup/upg_106132/lang.json | 22 + .../nexus/setup/upg_106132/queries.json | 40 + .../nexus/setup/upg_106132/theme.json | 20 + applications/nexus/setup/upg_106133/data.json | 24 + applications/nexus/setup/upg_106134/data.json | 24 + applications/nexus/setup/upg_106134/lang.json | 14 + applications/nexus/setup/upg_106135/data.json | 24 + applications/nexus/setup/upg_106136/data.json | 24 + applications/nexus/setup/upg_106137/data.json | 24 + .../setup/upg_106137/emailTemplates.json | 7 + applications/nexus/setup/upg_106138/data.json | 24 + .../nexus/setup/upg_106138/javascript.json | 14 + applications/nexus/setup/upg_106138/lang.json | 24 + .../nexus/setup/upg_106138/queries.json | 15 + .../nexus/setup/upg_106138/theme.json | 19 + applications/nexus/setup/upg_106139/data.json | 24 + applications/nexus/setup/upg_106140/data.json | 24 + applications/nexus/setup/upg_106141/data.json | 24 + applications/nexus/setup/upg_106142/data.json | 24 + applications/nexus/setup/upg_106143/data.json | 24 + applications/nexus/setup/upg_106143/lang.json | 14 + .../nexus/setup/upg_106143/settings.json | 7 + applications/nexus/setup/upg_106144/data.json | 24 + applications/nexus/setup/upg_106144/lang.json | 17 + .../nexus/setup/upg_106144/theme.json | 20 + applications/nexus/setup/upg_106145/data.json | 24 + .../nexus/setup/upg_106145/settings.json | 7 + .../nexus/setup/upg_106145/theme.json | 19 + applications/nexus/setup/upg_106146/data.json | 24 + applications/nexus/setup/upg_106147/data.json | 24 + applications/nexus/setup/upg_106148/data.json | 24 + applications/nexus/setup/upg_106149/data.json | 24 + .../nexus/setup/upg_106149/hooks.json | 7 + applications/nexus/setup/upg_106149/lang.json | 14 + .../nexus/setup/upg_106149/theme.json | 21 + applications/nexus/setup/upg_106150/data.json | 24 + applications/nexus/setup/upg_106151/data.json | 24 + applications/nexus/setup/upg_106152/data.json | 24 + applications/nexus/setup/upg_106153/data.json | 24 + applications/nexus/setup/upg_106154/data.json | 24 + applications/nexus/setup/upg_106155/data.json | 24 + applications/nexus/setup/upg_106156/data.json | 24 + applications/nexus/setup/upg_106157/data.json | 24 + applications/nexus/setup/upg_106158/data.json | 24 + applications/nexus/setup/upg_106159/data.json | 24 + applications/nexus/setup/upg_106160/data.json | 24 + applications/nexus/setup/upg_106161/data.json | 24 + .../nexus/setup/upg_106161/javascript.json | 15 + .../nexus/setup/upg_106161/theme.json | 20 + applications/nexus/setup/upg_106162/data.json | 24 + applications/nexus/setup/upg_106163/data.json | 24 + applications/nexus/setup/upg_106164/data.json | 24 + applications/nexus/setup/upg_106165/data.json | 24 + applications/nexus/setup/upg_106166/data.json | 24 + applications/nexus/setup/upg_106167/data.json | 24 + applications/nexus/setup/upg_106167/lang.json | 15 + .../nexus/setup/upg_106167/theme.json | 22 + applications/nexus/setup/upg_106168/data.json | 24 + .../nexus/setup/upg_106168/javascript.json | 14 + applications/nexus/setup/upg_106168/lang.json | 17 + .../nexus/setup/upg_106168/theme.json | 24 + applications/nexus/setup/upg_107000/data.json | 24 + applications/nexus/setup/upg_107001/data.json | 24 + applications/nexus/setup/upg_107002/data.json | 24 + applications/nexus/setup/upg_107002/lang.json | 36 + .../nexus/setup/upg_107002/queries.json | 33 + .../nexus/setup/upg_107002/theme.json | 23 + .../nexus/setup/upg_107002/upgrade.php | 37 + applications/nexus/setup/upg_107003/data.json | 24 + applications/nexus/setup/upg_107004/data.json | 24 + applications/nexus/setup/upg_107005/data.json | 24 + applications/nexus/setup/upg_107006/data.json | 24 + applications/nexus/setup/upg_107007/data.json | 24 + applications/nexus/setup/upg_107008/data.json | 24 + applications/nexus/setup/upg_107009/data.json | 24 + applications/nexus/setup/upg_107010/data.json | 24 + applications/nexus/setup/upg_107011/data.json | 24 + .../setup/upg_107011/emailTemplates.json | 7 + applications/nexus/setup/upg_107011/lang.json | 17 + applications/nexus/setup/upg_107012/data.json | 24 + applications/nexus/setup/upg_107013/data.json | 24 + applications/nexus/setup/upg_107014/data.json | 24 + .../sources/Gateway/Braintree/Braintree.php | 33 +- .../nexus/sources/Gateway/Gateway.php | 53 +- .../Gateway/PayPal/BillingAgreement.php | 39 +- .../nexus/sources/Gateway/PayPal/PayPal.php | 114 +- .../nexus/sources/Gateway/Stripe/Stripe.php | 33 +- .../nexus/sources/Invoice/Invoice.php | 110 +- .../nexus/sources/Invoice/Item/Item.php | 2 +- .../nexus/sources/Package/CustomField.php | 7 +- applications/nexus/sources/Package/Filter.php | 4 +- applications/nexus/sources/Package/Item.php | 2 +- .../nexus/sources/Package/Package.php | 87 +- .../nexus/sources/Purchase/Purchase.php | 14 +- .../nexus/sources/Purchase/RenewalTerm.php | 19 +- .../nexus/sources/Subscription/Package.php | 230 +- .../sources/Subscription/Subscription.php | 60 +- applications/nexus/sources/Support/Reply.php | 3 +- .../nexus/sources/Support/Request.php | 5 +- .../nexus/sources/Support/StockAction.php | 2 +- .../nexus/sources/Transaction/Transaction.php | 7 + applications/nexus/tasks/expireInvoices.php | 8 + .../nexus/tasks/generateRenewalInvoices.php | 83 +- .../nexus/tasks/sendInvoiceWarnings.php | 3 +- init.php | 85 +- oauth/callback/index.php | 2 +- oauth/token/index.php | 6 +- .../HTMLPurifier.autoload-legacy.php | 7 +- .../HTMLPurifier/HTMLPurifier.autoload.php | 1 + .../HTMLPurifier/HTMLPurifier.includes.php | 2 +- .../3rd_party/HTMLPurifier/HTMLPurifier.php | 7 +- .../HTMLPurifier/AttrDef/CSS/Background.php | 2 + .../HTMLPurifier/AttrDef/CSS/Number.php | 8 +- .../HTMLPurifier/CSSDefinition.php | 16 + .../HTMLPurifier/ChildDef/Table.php | 2 +- .../HTMLPurifier/HTMLPurifier/Config.php | 18 +- .../HTMLPurifier/ConfigSchema/schema.ser | 2 +- .../ConfigSchema/schema/HTML.Forms.txt | 11 + .../HTMLPurifier/HTMLPurifier/HTMLModule.php | 3 +- .../HTMLPurifier/HTMLModule/Forms.php | 4 + .../HTMLPurifier/HTMLModule/Tidy.php | 5 +- .../HTMLModule/Tidy/XHTMLAndHTML4.php | 5 +- .../HTMLPurifier/Injector/Linkify.php | 3 + .../HTMLPurifier/Printer/HTMLDefinition.php | 4 +- .../Component/Signature/Algorithm/HMAC.php | 56 + .../Component/Signature/Algorithm/HS256.php | 40 + system/3rd_party/pclzip/pclzip.lib.php | 16 +- system/Api/Controller.php | 4 +- system/Api/DocumentationHelper.php | 80 + system/Api/OAuthClient.php | 359 +-- system/Api/PaginatedResponse.php | 2 +- system/Api/Webhook.php | 195 +- system/Application/Application.php | 130 +- system/Content/Api/CommentController.php | 158 +- system/Content/Api/ItemController.php | 39 +- system/Content/ClubContainer.php | 37 +- system/Content/Comment.php | 230 +- system/Content/Content.php | 523 +++- system/Content/Controller.php | 275 +- system/Content/Item.php | 322 ++- system/Content/Promote/Facebook.php | 16 +- system/Content/Promote/Twitter.php | 9 +- system/Content/Reactable.php | 20 +- system/Content/Recognizable.php | 20 +- system/Content/Review.php | 3 +- system/Content/Search/Elastic/Index.php | 128 +- system/Content/Search/Elastic/MassIndexer.php | 2 +- system/Content/Search/Elastic/Query.php | 188 +- system/Content/Search/Index.php | 13 +- system/Content/Search/Mysql/Query.php | 138 +- system/Content/Search/Query.php | 14 + system/Content/Search/Result/Content.php | 2 +- system/Content/Search/Result/Result.php | 8 +- system/Content/Search/Results.php | 59 +- system/Content/Solvable.php | 5 + system/Content/Statistics.php | 53 +- system/Content/Widget.php | 5 +- system/CustomField/CustomField.php | 77 +- system/DateTime/DateTime.php | 42 +- system/Db/Db.php | 16 +- system/Db/Select.php | 9 +- system/Developer/Developer.php | 132 +- system/Dispatcher/Admin.php | 86 +- system/Dispatcher/Api.php | 2 +- system/Dispatcher/Controller.php | 17 + system/Dispatcher/Dispatcher.php | 20 +- system/Dispatcher/Front.php | 301 ++- system/Email/Email.php | 64 +- system/Email/Incoming/Email.php | 3 +- system/Email/Outgoing/Debug.php | 6 +- system/Email/Outgoing/Exception.php | 7 + system/Email/Outgoing/Php.php | 9 +- system/Email/Outgoing/SendGrid.php | 4 +- system/File/Database.php | 12 + system/File/File.php | 128 +- system/Ftp/Ftp.php | 5 +- system/GeoLocation/GeoLocation.php | 1 - system/Helpers/Chart/Database.php | 84 +- system/Helpers/Chart/Dynamic.php | 3 +- .../Helpers/Form/Captcha/CaptchaInterface.php | 39 + system/Helpers/Form/Captcha/Hcaptcha.php | 88 + system/Helpers/Form/Captcha/Invisible.php | 2 +- system/Helpers/Form/Captcha/Keycaptcha.php | 2 +- system/Helpers/Form/Captcha/Recaptcha2.php | 2 +- system/Helpers/Form/CheckboxSet.php | 6 +- system/Helpers/Form/Date.php | 2 +- system/Helpers/Form/Editor.php | 112 +- system/Helpers/Form/Matrix.php | 12 +- system/Helpers/Form/Node.php | 3 +- system/Helpers/Form/Number.php | 26 +- system/Helpers/Form/Poll.php | 1 - system/Helpers/Form/Tel.php | 4 - system/Helpers/Form/Text.php | 7 +- system/Helpers/Form/Translatable.php | 10 +- system/Helpers/Form/Upload.php | 95 +- system/Helpers/Table/Content.php | 59 +- system/Helpers/Table/Custom.php | 6 +- system/Helpers/Table/Db.php | 13 +- system/Helpers/Table/Table.php | 8 +- system/Http/Request/Curl.php | 9 +- system/Http/Request/Sockets.php | 4 +- system/Http/Response.php | 11 + system/Http/Url.php | 8 + system/Http/Useragent.php | 6 - system/Image/Gd.php | 2 +- system/Lang/Lang.php | 13 +- system/Log/Log.php | 49 +- system/Login/Handler/OAuth1/OAuth1.php | 4 +- system/Login/Handler/OAuth2/OAuth2.php | 17 + system/Login/Handler/Standard/Standard.php | 6 + system/Login/Login.php | 2 +- system/Member/Club/Club.php | 69 +- system/Member/Club/Page.php | 4 +- system/Member/Group.php | 26 + system/Member/GroupPromotion.php | 14 +- system/Member/Member.php | 257 +- system/Member/ProfileStep.php | 10 + system/Node/Controller.php | 17 +- system/Node/Model.php | 160 +- system/Node/Statistics.php | 18 +- system/Notification/Inline.php | 2 +- system/Notification/Notification.php | 73 +- system/Notification/Table.php | 4 +- system/Output/Javascript/Javascript.php | 12 +- system/Output/Output.php | 49 +- system/Output/Plugin/Hextorgb.php | 12 +- system/Output/Plugin/Theme.php | 6 + system/Plugin/Hook.php | 2 +- system/Plugin/Plugin.php | 20 +- system/Poll/Poll.php | 9 +- system/Redis/Redis.php | 16 +- system/Request/Request.php | 32 +- system/Session/Front.php | 15 +- system/Session/Session.php | 8 +- system/Session/Store/Redis.php | 19 +- system/Settings/Settings.php | 12 +- system/Sitemap/Sitemap.php | 14 +- system/Text/Parser.php | 180 +- system/Theme/Dev/Template.php | 2 +- system/Theme/Dev/Theme.php | 12 + system/Theme/Theme.php | 238 +- system/Widget/StaticCache.php | 3 +- system/Widget/Widget.php | 16 +- system/Xml/Rss.php | 2 +- system/Xml/SimpleXML.php | 25 +- 1933 files changed, 65613 insertions(+), 11332 deletions(-) create mode 100644 applications/blog/setup/upg_106108/data.json create mode 100644 applications/blog/setup/upg_106109/data.json create mode 100644 applications/blog/setup/upg_106110/data.json create mode 100644 applications/blog/setup/upg_106111/data.json create mode 100644 applications/blog/setup/upg_106112/data.json create mode 100644 applications/blog/setup/upg_106113/data.json create mode 100644 applications/blog/setup/upg_106113/lang.json create mode 100644 applications/blog/setup/upg_106113/theme.json create mode 100644 applications/blog/setup/upg_106114/data.json create mode 100644 applications/blog/setup/upg_106115/data.json create mode 100644 applications/blog/setup/upg_106116/data.json create mode 100644 applications/blog/setup/upg_106117/data.json create mode 100644 applications/blog/setup/upg_106118/data.json create mode 100644 applications/blog/setup/upg_106119/data.json create mode 100644 applications/blog/setup/upg_106120/data.json create mode 100644 applications/blog/setup/upg_106121/data.json create mode 100644 applications/blog/setup/upg_106122/data.json create mode 100644 applications/blog/setup/upg_106123/data.json create mode 100644 applications/blog/setup/upg_106123/emailTemplates.json create mode 100644 applications/blog/setup/upg_106123/javascript.json create mode 100644 applications/blog/setup/upg_106123/theme.json create mode 100644 applications/blog/setup/upg_106125/data.json create mode 100644 applications/blog/setup/upg_106125/emailTemplates.json create mode 100644 applications/blog/setup/upg_106125/javascript.json create mode 100644 applications/blog/setup/upg_106125/theme.json create mode 100644 applications/blog/setup/upg_106126/data.json create mode 100644 applications/blog/setup/upg_106126/emailTemplates.json create mode 100644 applications/blog/setup/upg_106126/javascript.json create mode 100644 applications/blog/setup/upg_106126/theme.json create mode 100644 applications/blog/setup/upg_106127/data.json create mode 100644 applications/blog/setup/upg_106128/data.json create mode 100644 applications/blog/setup/upg_106128/theme.json create mode 100644 applications/blog/setup/upg_106129/data.json create mode 100644 applications/blog/setup/upg_106130/data.json create mode 100644 applications/blog/setup/upg_106131/data.json create mode 100644 applications/blog/setup/upg_106132/data.json create mode 100644 applications/blog/setup/upg_106133/data.json create mode 100644 applications/blog/setup/upg_106134/data.json create mode 100644 applications/blog/setup/upg_106135/data.json create mode 100644 applications/blog/setup/upg_106136/data.json create mode 100644 applications/blog/setup/upg_106137/data.json create mode 100644 applications/blog/setup/upg_106138/data.json create mode 100644 applications/blog/setup/upg_106138/theme.json create mode 100644 applications/blog/setup/upg_106139/data.json create mode 100644 applications/blog/setup/upg_106140/data.json create mode 100644 applications/blog/setup/upg_106141/data.json create mode 100644 applications/blog/setup/upg_106142/data.json create mode 100644 applications/blog/setup/upg_106143/data.json create mode 100644 applications/blog/setup/upg_106144/data.json create mode 100644 applications/blog/setup/upg_106144/lang.json create mode 100644 applications/blog/setup/upg_106144/theme.json create mode 100644 applications/blog/setup/upg_106145/data.json create mode 100644 applications/blog/setup/upg_106146/data.json create mode 100644 applications/blog/setup/upg_106147/data.json create mode 100644 applications/blog/setup/upg_106148/data.json create mode 100644 applications/blog/setup/upg_106149/data.json create mode 100644 applications/blog/setup/upg_106149/lang.json create mode 100644 applications/blog/setup/upg_106150/data.json create mode 100644 applications/blog/setup/upg_106151/data.json create mode 100644 applications/blog/setup/upg_106152/data.json create mode 100644 applications/blog/setup/upg_106153/data.json create mode 100644 applications/blog/setup/upg_106154/data.json create mode 100644 applications/blog/setup/upg_106155/data.json create mode 100644 applications/blog/setup/upg_106156/data.json create mode 100644 applications/blog/setup/upg_106157/data.json create mode 100644 applications/blog/setup/upg_106158/data.json create mode 100644 applications/blog/setup/upg_106159/data.json create mode 100644 applications/blog/setup/upg_106160/data.json create mode 100644 applications/blog/setup/upg_106161/data.json create mode 100644 applications/blog/setup/upg_106162/data.json create mode 100644 applications/blog/setup/upg_106163/data.json create mode 100644 applications/blog/setup/upg_106164/data.json create mode 100644 applications/blog/setup/upg_106165/data.json create mode 100644 applications/blog/setup/upg_106166/data.json create mode 100644 applications/blog/setup/upg_106167/data.json create mode 100644 applications/blog/setup/upg_106168/data.json create mode 100644 applications/blog/setup/upg_107000/data.json create mode 100644 applications/blog/setup/upg_107001/data.json create mode 100644 applications/blog/setup/upg_107002/data.json create mode 100644 applications/blog/setup/upg_107002/theme.json create mode 100644 applications/blog/setup/upg_107003/data.json create mode 100644 applications/blog/setup/upg_107004/data.json create mode 100644 applications/blog/setup/upg_107005/data.json create mode 100644 applications/blog/setup/upg_107006/data.json create mode 100644 applications/blog/setup/upg_107007/data.json create mode 100644 applications/blog/setup/upg_107008/data.json create mode 100644 applications/blog/setup/upg_107009/data.json create mode 100644 applications/blog/setup/upg_107010/data.json create mode 100644 applications/blog/setup/upg_107011/data.json create mode 100644 applications/blog/setup/upg_107012/data.json create mode 100644 applications/blog/setup/upg_107013/data.json create mode 100644 applications/blog/setup/upg_107014/data.json create mode 100644 applications/calendar/modules/admin/stats/rsvp.php create mode 100644 applications/calendar/setup/upg_106108/data.json create mode 100644 applications/calendar/setup/upg_106109/data.json create mode 100644 applications/calendar/setup/upg_106110/data.json create mode 100644 applications/calendar/setup/upg_106111/data.json create mode 100644 applications/calendar/setup/upg_106112/data.json create mode 100644 applications/calendar/setup/upg_106113/data.json create mode 100644 applications/calendar/setup/upg_106114/data.json create mode 100644 applications/calendar/setup/upg_106115/data.json create mode 100644 applications/calendar/setup/upg_106116/data.json create mode 100644 applications/calendar/setup/upg_106117/data.json create mode 100644 applications/calendar/setup/upg_106118/data.json create mode 100644 applications/calendar/setup/upg_106119/data.json create mode 100644 applications/calendar/setup/upg_106120/data.json create mode 100644 applications/calendar/setup/upg_106121/data.json create mode 100644 applications/calendar/setup/upg_106122/data.json create mode 100644 applications/calendar/setup/upg_106123/data.json create mode 100644 applications/calendar/setup/upg_106123/emailTemplates.json create mode 100644 applications/calendar/setup/upg_106123/javascript.json create mode 100644 applications/calendar/setup/upg_106123/theme.json create mode 100644 applications/calendar/setup/upg_106125/data.json create mode 100644 applications/calendar/setup/upg_106125/emailTemplates.json create mode 100644 applications/calendar/setup/upg_106125/javascript.json create mode 100644 applications/calendar/setup/upg_106125/theme.json create mode 100644 applications/calendar/setup/upg_106126/data.json create mode 100644 applications/calendar/setup/upg_106126/emailTemplates.json create mode 100644 applications/calendar/setup/upg_106126/javascript.json create mode 100644 applications/calendar/setup/upg_106126/theme.json create mode 100644 applications/calendar/setup/upg_106127/data.json create mode 100644 applications/calendar/setup/upg_106128/data.json create mode 100644 applications/calendar/setup/upg_106128/theme.json create mode 100644 applications/calendar/setup/upg_106129/data.json create mode 100644 applications/calendar/setup/upg_106130/data.json create mode 100644 applications/calendar/setup/upg_106131/data.json create mode 100644 applications/calendar/setup/upg_106132/data.json create mode 100644 applications/calendar/setup/upg_106133/data.json create mode 100644 applications/calendar/setup/upg_106134/data.json create mode 100644 applications/calendar/setup/upg_106135/data.json create mode 100644 applications/calendar/setup/upg_106136/data.json create mode 100644 applications/calendar/setup/upg_106137/data.json create mode 100644 applications/calendar/setup/upg_106138/data.json create mode 100644 applications/calendar/setup/upg_106138/lang.json create mode 100644 applications/calendar/setup/upg_106138/modules.json create mode 100644 applications/calendar/setup/upg_106139/data.json create mode 100644 applications/calendar/setup/upg_106140/data.json create mode 100644 applications/calendar/setup/upg_106141/data.json create mode 100644 applications/calendar/setup/upg_106142/data.json create mode 100644 applications/calendar/setup/upg_106143/data.json create mode 100644 applications/calendar/setup/upg_106144/data.json create mode 100644 applications/calendar/setup/upg_106144/theme.json create mode 100644 applications/calendar/setup/upg_106145/data.json create mode 100644 applications/calendar/setup/upg_106146/data.json create mode 100644 applications/calendar/setup/upg_106147/data.json create mode 100644 applications/calendar/setup/upg_106148/data.json create mode 100644 applications/calendar/setup/upg_106149/data.json create mode 100644 applications/calendar/setup/upg_106149/lang.json create mode 100644 applications/calendar/setup/upg_106149/theme.json create mode 100644 applications/calendar/setup/upg_106150/data.json create mode 100644 applications/calendar/setup/upg_106151/data.json create mode 100644 applications/calendar/setup/upg_106152/data.json create mode 100644 applications/calendar/setup/upg_106153/data.json create mode 100644 applications/calendar/setup/upg_106154/data.json create mode 100644 applications/calendar/setup/upg_106155/data.json create mode 100644 applications/calendar/setup/upg_106156/data.json create mode 100644 applications/calendar/setup/upg_106157/data.json create mode 100644 applications/calendar/setup/upg_106158/data.json create mode 100644 applications/calendar/setup/upg_106159/data.json create mode 100644 applications/calendar/setup/upg_106160/data.json create mode 100644 applications/calendar/setup/upg_106161/data.json create mode 100644 applications/calendar/setup/upg_106161/theme.json create mode 100644 applications/calendar/setup/upg_106162/data.json create mode 100644 applications/calendar/setup/upg_106163/data.json create mode 100644 applications/calendar/setup/upg_106164/data.json create mode 100644 applications/calendar/setup/upg_106165/data.json create mode 100644 applications/calendar/setup/upg_106166/data.json create mode 100644 applications/calendar/setup/upg_106167/data.json create mode 100644 applications/calendar/setup/upg_106168/data.json create mode 100644 applications/calendar/setup/upg_106168/theme.json create mode 100644 applications/calendar/setup/upg_107000/data.json create mode 100644 applications/calendar/setup/upg_107001/data.json create mode 100644 applications/calendar/setup/upg_107002/data.json create mode 100644 applications/calendar/setup/upg_107003/data.json create mode 100644 applications/calendar/setup/upg_107004/data.json create mode 100644 applications/calendar/setup/upg_107005/data.json create mode 100644 applications/calendar/setup/upg_107006/data.json create mode 100644 applications/calendar/setup/upg_107007/data.json create mode 100644 applications/calendar/setup/upg_107008/data.json create mode 100644 applications/calendar/setup/upg_107009/data.json create mode 100644 applications/calendar/setup/upg_107010/data.json create mode 100644 applications/calendar/setup/upg_107011/data.json create mode 100644 applications/calendar/setup/upg_107012/data.json create mode 100644 applications/calendar/setup/upg_107013/data.json create mode 100644 applications/calendar/setup/upg_107014/data.json create mode 100644 applications/cms/setup/upg_106108/data.json create mode 100644 applications/cms/setup/upg_106109/data.json create mode 100644 applications/cms/setup/upg_106110/data.json create mode 100644 applications/cms/setup/upg_106110/theme.json create mode 100644 applications/cms/setup/upg_106111/data.json create mode 100644 applications/cms/setup/upg_106112/data.json create mode 100644 applications/cms/setup/upg_106113/data.json create mode 100644 applications/cms/setup/upg_106114/data.json create mode 100644 applications/cms/setup/upg_106115/data.json create mode 100644 applications/cms/setup/upg_106116/data.json create mode 100644 applications/cms/setup/upg_106117/data.json create mode 100644 applications/cms/setup/upg_106118/data.json create mode 100644 applications/cms/setup/upg_106119/data.json create mode 100644 applications/cms/setup/upg_106120/data.json create mode 100644 applications/cms/setup/upg_106121/data.json create mode 100644 applications/cms/setup/upg_106122/data.json create mode 100644 applications/cms/setup/upg_106123/data.json create mode 100644 applications/cms/setup/upg_106123/emailTemplates.json create mode 100644 applications/cms/setup/upg_106123/javascript.json create mode 100644 applications/cms/setup/upg_106123/theme.json create mode 100644 applications/cms/setup/upg_106125/data.json create mode 100644 applications/cms/setup/upg_106125/emailTemplates.json create mode 100644 applications/cms/setup/upg_106125/javascript.json create mode 100644 applications/cms/setup/upg_106125/theme.json create mode 100644 applications/cms/setup/upg_106126/data.json create mode 100644 applications/cms/setup/upg_106126/emailTemplates.json create mode 100644 applications/cms/setup/upg_106126/javascript.json create mode 100644 applications/cms/setup/upg_106126/theme.json create mode 100644 applications/cms/setup/upg_106127/data.json create mode 100644 applications/cms/setup/upg_106128/data.json create mode 100644 applications/cms/setup/upg_106128/theme.json create mode 100644 applications/cms/setup/upg_106129/data.json create mode 100644 applications/cms/setup/upg_106130/data.json create mode 100644 applications/cms/setup/upg_106131/data.json create mode 100644 applications/cms/setup/upg_106132/data.json create mode 100644 applications/cms/setup/upg_106133/data.json create mode 100644 applications/cms/setup/upg_106134/data.json create mode 100644 applications/cms/setup/upg_106134/theme.json create mode 100644 applications/cms/setup/upg_106135/data.json create mode 100644 applications/cms/setup/upg_106136/data.json create mode 100644 applications/cms/setup/upg_106137/data.json create mode 100644 applications/cms/setup/upg_106138/data.json create mode 100644 applications/cms/setup/upg_106138/javascript.json create mode 100644 applications/cms/setup/upg_106138/lang.json create mode 100644 applications/cms/setup/upg_106138/theme.json create mode 100644 applications/cms/setup/upg_106139/data.json create mode 100644 applications/cms/setup/upg_106140/data.json create mode 100644 applications/cms/setup/upg_106141/data.json create mode 100644 applications/cms/setup/upg_106142/data.json create mode 100644 applications/cms/setup/upg_106143/data.json create mode 100644 applications/cms/setup/upg_106144/data.json create mode 100644 applications/cms/setup/upg_106145/data.json create mode 100644 applications/cms/setup/upg_106146/data.json create mode 100644 applications/cms/setup/upg_106147/data.json create mode 100644 applications/cms/setup/upg_106148/data.json create mode 100644 applications/cms/setup/upg_106149/data.json create mode 100644 applications/cms/setup/upg_106149/javascript.json create mode 100644 applications/cms/setup/upg_106149/theme.json create mode 100644 applications/cms/setup/upg_106150/data.json create mode 100644 applications/cms/setup/upg_106151/data.json create mode 100644 applications/cms/setup/upg_106152/data.json create mode 100644 applications/cms/setup/upg_106153/data.json create mode 100644 applications/cms/setup/upg_106154/data.json create mode 100644 applications/cms/setup/upg_106155/data.json create mode 100644 applications/cms/setup/upg_106156/data.json create mode 100644 applications/cms/setup/upg_106156/lang.json create mode 100644 applications/cms/setup/upg_106157/data.json create mode 100644 applications/cms/setup/upg_106158/data.json create mode 100644 applications/cms/setup/upg_106159/data.json create mode 100644 applications/cms/setup/upg_106160/data.json create mode 100644 applications/cms/setup/upg_106161/data.json create mode 100644 applications/cms/setup/upg_106161/javascript.json create mode 100644 applications/cms/setup/upg_106161/theme.json create mode 100644 applications/cms/setup/upg_106162/data.json create mode 100644 applications/cms/setup/upg_106163/data.json create mode 100644 applications/cms/setup/upg_106164/data.json create mode 100644 applications/cms/setup/upg_106165/data.json create mode 100644 applications/cms/setup/upg_106166/data.json create mode 100644 applications/cms/setup/upg_106167/data.json create mode 100644 applications/cms/setup/upg_106168/data.json create mode 100644 applications/cms/setup/upg_106168/lang.json create mode 100644 applications/cms/setup/upg_106168/theme.json create mode 100644 applications/cms/setup/upg_107000/data.json create mode 100644 applications/cms/setup/upg_107000/queries.json create mode 100644 applications/cms/setup/upg_107001/data.json create mode 100644 applications/cms/setup/upg_107002/data.json create mode 100644 applications/cms/setup/upg_107002/lang.json create mode 100644 applications/cms/setup/upg_107003/data.json create mode 100644 applications/cms/setup/upg_107004/data.json create mode 100644 applications/cms/setup/upg_107004/theme.json create mode 100644 applications/cms/setup/upg_107005/data.json create mode 100644 applications/cms/setup/upg_107006/data.json create mode 100644 applications/cms/setup/upg_107007/data.json create mode 100644 applications/cms/setup/upg_107008/data.json create mode 100644 applications/cms/setup/upg_107009/data.json create mode 100644 applications/cms/setup/upg_107009/javascript.json create mode 100644 applications/cms/setup/upg_107009/theme.json create mode 100644 applications/cms/setup/upg_107010/data.json create mode 100644 applications/cms/setup/upg_107011/data.json create mode 100644 applications/cms/setup/upg_107012/data.json create mode 100644 applications/cms/setup/upg_107013/data.json create mode 100644 applications/cms/setup/upg_107014/data.json create mode 100644 applications/convert/extensions/core/Queue/RebuildProfilePhotos.php create mode 100644 applications/convert/setup/upg_106108/data.json create mode 100644 applications/convert/setup/upg_106109/data.json create mode 100644 applications/convert/setup/upg_106110/data.json create mode 100644 applications/convert/setup/upg_106111/data.json create mode 100644 applications/convert/setup/upg_106112/data.json create mode 100644 applications/convert/setup/upg_106113/data.json create mode 100644 applications/convert/setup/upg_106114/data.json create mode 100644 applications/convert/setup/upg_106115/data.json create mode 100644 applications/convert/setup/upg_106116/data.json create mode 100644 applications/convert/setup/upg_106117/data.json create mode 100644 applications/convert/setup/upg_106118/data.json create mode 100644 applications/convert/setup/upg_106119/data.json create mode 100644 applications/convert/setup/upg_106120/data.json create mode 100644 applications/convert/setup/upg_106121/data.json create mode 100644 applications/convert/setup/upg_106122/data.json create mode 100644 applications/convert/setup/upg_106123/data.json create mode 100644 applications/convert/setup/upg_106123/javascript.json create mode 100644 applications/convert/setup/upg_106123/theme.json create mode 100644 applications/convert/setup/upg_106125/data.json create mode 100644 applications/convert/setup/upg_106125/theme.json create mode 100644 applications/convert/setup/upg_106126/data.json create mode 100644 applications/convert/setup/upg_106126/theme.json create mode 100644 applications/convert/setup/upg_106127/data.json create mode 100644 applications/convert/setup/upg_106128/data.json create mode 100644 applications/convert/setup/upg_106129/data.json create mode 100644 applications/convert/setup/upg_106130/data.json create mode 100644 applications/convert/setup/upg_106131/data.json create mode 100644 applications/convert/setup/upg_106132/data.json create mode 100644 applications/convert/setup/upg_106133/data.json create mode 100644 applications/convert/setup/upg_106134/data.json create mode 100644 applications/convert/setup/upg_106134/theme.json create mode 100644 applications/convert/setup/upg_106135/data.json create mode 100644 applications/convert/setup/upg_106136/data.json create mode 100644 applications/convert/setup/upg_106137/data.json create mode 100644 applications/convert/setup/upg_106138/data.json create mode 100644 applications/convert/setup/upg_106139/data.json create mode 100644 applications/convert/setup/upg_106140/data.json create mode 100644 applications/convert/setup/upg_106141/data.json create mode 100644 applications/convert/setup/upg_106142/data.json create mode 100644 applications/convert/setup/upg_106143/data.json create mode 100644 applications/convert/setup/upg_106144/data.json create mode 100644 applications/convert/setup/upg_106145/data.json create mode 100644 applications/convert/setup/upg_106146/data.json create mode 100644 applications/convert/setup/upg_106147/data.json create mode 100644 applications/convert/setup/upg_106148/data.json create mode 100644 applications/convert/setup/upg_106149/data.json create mode 100644 applications/convert/setup/upg_106150/data.json create mode 100644 applications/convert/setup/upg_106151/data.json create mode 100644 applications/convert/setup/upg_106152/data.json create mode 100644 applications/convert/setup/upg_106153/data.json create mode 100644 applications/convert/setup/upg_106154/data.json create mode 100644 applications/convert/setup/upg_106155/data.json create mode 100644 applications/convert/setup/upg_106156/data.json create mode 100644 applications/convert/setup/upg_106157/data.json create mode 100644 applications/convert/setup/upg_106158/data.json create mode 100644 applications/convert/setup/upg_106159/data.json create mode 100644 applications/convert/setup/upg_106160/data.json create mode 100644 applications/convert/setup/upg_106161/data.json create mode 100644 applications/convert/setup/upg_106161/lang.json create mode 100644 applications/convert/setup/upg_106162/data.json create mode 100644 applications/convert/setup/upg_106163/data.json create mode 100644 applications/convert/setup/upg_106164/data.json create mode 100644 applications/convert/setup/upg_106165/data.json create mode 100644 applications/convert/setup/upg_106166/data.json create mode 100644 applications/convert/setup/upg_106167/data.json create mode 100644 applications/convert/setup/upg_106167/theme.json create mode 100644 applications/convert/setup/upg_106168/data.json create mode 100644 applications/convert/setup/upg_106168/theme.json create mode 100644 applications/convert/setup/upg_107000/data.json create mode 100644 applications/convert/setup/upg_107001/data.json create mode 100644 applications/convert/setup/upg_107002/data.json create mode 100644 applications/convert/setup/upg_107003/data.json create mode 100644 applications/convert/setup/upg_107004/data.json create mode 100644 applications/convert/setup/upg_107005/data.json create mode 100644 applications/convert/setup/upg_107006/data.json create mode 100644 applications/convert/setup/upg_107007/data.json create mode 100644 applications/convert/setup/upg_107008/data.json create mode 100644 applications/convert/setup/upg_107009/data.json create mode 100644 applications/convert/setup/upg_107010/data.json create mode 100644 applications/convert/setup/upg_107011/data.json create mode 100644 applications/convert/setup/upg_107012/data.json create mode 100644 applications/convert/setup/upg_107013/data.json create mode 100644 applications/convert/setup/upg_107014/data.json create mode 100644 applications/convert/sources/Software/Downloads/Invisioncommunity.php create mode 100644 applications/convert/sources/Software/Gallery/Invisioncommunity.php delete mode 100644 applications/core/api/GraphQL/Mutations/SessionEnd.php delete mode 100644 applications/core/api/GraphQL/Mutations/SessionStart.php delete mode 100644 applications/core/api/GraphQL/Queries/MobileMenu.php delete mode 100644 applications/core/api/GraphQL/Types/MobileMenuType.php delete mode 100644 applications/core/data/defaults/extensions/MobileNavigation.txt create mode 100644 applications/core/data/defaults/extensions/SearchIndex.txt create mode 100644 applications/core/extensions/core/CommunityEnhancements/GoogleAnalytics.php create mode 100644 applications/core/extensions/core/CommunityEnhancements/GoogleTagManager.php create mode 100644 applications/core/extensions/core/CommunityEnhancements/IndexNow.php create mode 100644 applications/core/extensions/core/CommunityEnhancements/Matomo.php create mode 100644 applications/core/extensions/core/EditorLocations/Alert.php create mode 100644 applications/core/extensions/core/FileStorage/Ranks.php create mode 100644 applications/core/extensions/core/MemberFilter/Achievements.php create mode 100644 applications/core/extensions/core/MemberFilter/Banned.php create mode 100644 applications/core/extensions/core/MemberFilter/Spammer.php create mode 100644 applications/core/extensions/core/MemberFilter/Validating.php delete mode 100644 applications/core/extensions/core/MobileNavigation/CustomItem.php create mode 100644 applications/core/extensions/core/ModCp/Alerts.php create mode 100644 applications/core/extensions/core/OverviewStatistics/DeletedContent.php create mode 100644 applications/core/extensions/core/Queue/IndexNow.php delete mode 100644 applications/core/extensions/core/Sitemap/Applications.php delete mode 100644 applications/core/extensions/core/Sitemap/Profiles.php create mode 100644 applications/core/interface/ckeditor/ckeditor/SECURITY.md create mode 100644 applications/core/interface/ckeditor/ckeditor/bender-runner.config.json rename applications/core/interface/{plupload/i18n => ckeditor/ckeditor/plugins/ipsstockreplies/icons/hidpi}/index.html (100%) create mode 100644 applications/core/interface/ckeditor/ckeditor/plugins/ipsstockreplies/icons/hidpi/ipsstockreplies.png rename applications/core/interface/{plupload/jquery.plupload.queue/css => ckeditor/ckeditor/plugins/ipsstockreplies/icons}/index.html (100%) create mode 100644 applications/core/interface/ckeditor/ckeditor/plugins/ipsstockreplies/icons/ipsstockreplies.png rename applications/core/interface/{plupload/jquery.plupload.queue/img => ckeditor/ckeditor/plugins/ipsstockreplies}/index.html (100%) create mode 100644 applications/core/interface/ckeditor/ckeditor/plugins/ipsstockreplies/plugin.js create mode 100644 applications/core/interface/email/clock.png create mode 100644 applications/core/interface/email/comment_alt.png create mode 100644 applications/core/interface/email/tada.png create mode 100644 applications/core/interface/email/trophy.png delete mode 100644 applications/core/interface/plupload/jquery.ui.plupload/img/index.html delete mode 100644 applications/core/interface/plupload/jquery.ui.plupload/index.html create mode 100644 applications/core/modules/admin/activitystats/deletedcontent.php create mode 100644 applications/core/modules/admin/activitystats/reports.php create mode 100644 applications/core/modules/admin/applications/webhooks.php create mode 100644 applications/core/modules/admin/applications/webhooksReference.php create mode 100644 applications/core/modules/admin/editor/storedreplies.php delete mode 100644 applications/core/modules/admin/mobile/menu.php delete mode 100644 applications/core/modules/admin/mobile/mobile.php delete mode 100644 applications/core/modules/admin/promotion/analytics.php create mode 100644 applications/core/modules/admin/settings/dataLayer.php create mode 100644 applications/core/modules/admin/stats/follow.php create mode 100644 applications/core/modules/admin/stats/moderators.php create mode 100644 applications/core/modules/admin/stats/preferences.php create mode 100644 applications/core/modules/admin/stats/referrals.php create mode 100644 applications/core/modules/admin/stats/spam.php create mode 100644 applications/core/modules/admin/stats/warnings.php create mode 100644 applications/core/modules/front/system/alerts.php create mode 100644 applications/core/modules/front/system/easymode.php create mode 100644 applications/core/setup/upg_106104/upgrade.php create mode 100644 applications/core/setup/upg_106108/data.json create mode 100644 applications/core/setup/upg_106109/data.json create mode 100644 applications/core/setup/upg_106110/data.json create mode 100644 applications/core/setup/upg_106110/javascript.json create mode 100644 applications/core/setup/upg_106110/lang.json create mode 100644 applications/core/setup/upg_106110/theme.json create mode 100644 applications/core/setup/upg_106111/data.json create mode 100644 applications/core/setup/upg_106111/queries.json create mode 100644 applications/core/setup/upg_106111/theme.json create mode 100644 applications/core/setup/upg_106112/data.json create mode 100644 applications/core/setup/upg_106113/data.json create mode 100644 applications/core/setup/upg_106113/javascript.json create mode 100644 applications/core/setup/upg_106113/lang.json create mode 100644 applications/core/setup/upg_106113/theme.json create mode 100644 applications/core/setup/upg_106114/data.json create mode 100644 applications/core/setup/upg_106114/theme.json create mode 100644 applications/core/setup/upg_106115/data.json create mode 100644 applications/core/setup/upg_106115/lang.json create mode 100644 applications/core/setup/upg_106116/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106116/data.json create mode 100644 applications/core/setup/upg_106116/javascript.json create mode 100644 applications/core/setup/upg_106116/lang.json create mode 100644 applications/core/setup/upg_106116/queries.json create mode 100644 applications/core/setup/upg_106116/theme.json create mode 100644 applications/core/setup/upg_106117/data.json create mode 100644 applications/core/setup/upg_106117/javascript.json create mode 100644 applications/core/setup/upg_106118/data.json create mode 100644 applications/core/setup/upg_106118/javascript.json create mode 100644 applications/core/setup/upg_106118/lang.json create mode 100644 applications/core/setup/upg_106118/queries.json create mode 100644 applications/core/setup/upg_106118/theme.json create mode 100644 applications/core/setup/upg_106118/upgrade.php create mode 100644 applications/core/setup/upg_106119/data.json create mode 100644 applications/core/setup/upg_106120/data.json create mode 100644 applications/core/setup/upg_106120/theme.json create mode 100644 applications/core/setup/upg_106121/data.json create mode 100644 applications/core/setup/upg_106121/theme.json create mode 100644 applications/core/setup/upg_106122/data.json create mode 100644 applications/core/setup/upg_106123/data.json create mode 100644 applications/core/setup/upg_106123/emailTemplates.json create mode 100644 applications/core/setup/upg_106123/javascript.json create mode 100644 applications/core/setup/upg_106123/lang.json create mode 100644 applications/core/setup/upg_106123/queries.json create mode 100644 applications/core/setup/upg_106123/theme.json create mode 100644 applications/core/setup/upg_106123/upgrade.php create mode 100644 applications/core/setup/upg_106125/data.json create mode 100644 applications/core/setup/upg_106125/emailTemplates.json create mode 100644 applications/core/setup/upg_106125/javascript.json create mode 100644 applications/core/setup/upg_106125/theme.json create mode 100644 applications/core/setup/upg_106126/data.json create mode 100644 applications/core/setup/upg_106126/emailTemplates.json create mode 100644 applications/core/setup/upg_106126/javascript.json create mode 100644 applications/core/setup/upg_106126/theme.json create mode 100644 applications/core/setup/upg_106127/data.json create mode 100644 applications/core/setup/upg_106127/lang.json create mode 100644 applications/core/setup/upg_106127/theme.json create mode 100644 applications/core/setup/upg_106128/data.json create mode 100644 applications/core/setup/upg_106128/emailTemplates.json create mode 100644 applications/core/setup/upg_106128/javascript.json create mode 100644 applications/core/setup/upg_106129/data.json create mode 100644 applications/core/setup/upg_106129/theme.json create mode 100644 applications/core/setup/upg_106130/data.json create mode 100644 applications/core/setup/upg_106130/theme.json create mode 100644 applications/core/setup/upg_106131/data.json create mode 100644 applications/core/setup/upg_106132/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106132/data.json create mode 100644 applications/core/setup/upg_106132/emailTemplates.json create mode 100644 applications/core/setup/upg_106132/javascript.json create mode 100644 applications/core/setup/upg_106132/lang.json create mode 100644 applications/core/setup/upg_106132/queries.json create mode 100644 applications/core/setup/upg_106132/settings.json create mode 100644 applications/core/setup/upg_106132/theme.json create mode 100644 applications/core/setup/upg_106132/upgrade.php create mode 100644 applications/core/setup/upg_106133/data.json create mode 100644 applications/core/setup/upg_106134/data.json create mode 100644 applications/core/setup/upg_106134/emailTemplates.json create mode 100644 applications/core/setup/upg_106134/javascript.json create mode 100644 applications/core/setup/upg_106134/lang.json create mode 100644 applications/core/setup/upg_106134/queries.json create mode 100644 applications/core/setup/upg_106134/settings.json create mode 100644 applications/core/setup/upg_106134/tasks.json create mode 100644 applications/core/setup/upg_106134/theme.json create mode 100644 applications/core/setup/upg_106135/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106135/data.json create mode 100644 applications/core/setup/upg_106135/lang.json create mode 100644 applications/core/setup/upg_106136/data.json create mode 100644 applications/core/setup/upg_106136/emailTemplates.json create mode 100644 applications/core/setup/upg_106136/lang.json create mode 100644 applications/core/setup/upg_106137/data.json create mode 100644 applications/core/setup/upg_106138/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106138/data.json create mode 100644 applications/core/setup/upg_106138/emailTemplates.json create mode 100644 applications/core/setup/upg_106138/javascript.json create mode 100644 applications/core/setup/upg_106138/lang.json create mode 100644 applications/core/setup/upg_106138/modules.json create mode 100644 applications/core/setup/upg_106138/queries.json create mode 100644 applications/core/setup/upg_106138/settings.json create mode 100644 applications/core/setup/upg_106138/theme.json create mode 100644 applications/core/setup/upg_106138/upgrade.php create mode 100644 applications/core/setup/upg_106139/data.json create mode 100644 applications/core/setup/upg_106139/lang.json create mode 100644 applications/core/setup/upg_106139/theme.json create mode 100644 applications/core/setup/upg_106140/data.json create mode 100644 applications/core/setup/upg_106141/data.json create mode 100644 applications/core/setup/upg_106142/data.json create mode 100644 applications/core/setup/upg_106143/data.json create mode 100644 applications/core/setup/upg_106144/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106144/data.json create mode 100644 applications/core/setup/upg_106144/javascript.json create mode 100644 applications/core/setup/upg_106144/lang.json create mode 100644 applications/core/setup/upg_106144/queries.json create mode 100644 applications/core/setup/upg_106144/theme.json create mode 100644 applications/core/setup/upg_106144/upgrade.php create mode 100644 applications/core/setup/upg_106145/data.json create mode 100644 applications/core/setup/upg_106145/emailTemplates.json create mode 100644 applications/core/setup/upg_106145/lang.json create mode 100644 applications/core/setup/upg_106145/queries.json create mode 100644 applications/core/setup/upg_106145/theme.json create mode 100644 applications/core/setup/upg_106146/data.json create mode 100644 applications/core/setup/upg_106147/data.json create mode 100644 applications/core/setup/upg_106148/data.json create mode 100644 applications/core/setup/upg_106149/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106149/data.json create mode 100644 applications/core/setup/upg_106149/javascript.json create mode 100644 applications/core/setup/upg_106149/lang.json create mode 100644 applications/core/setup/upg_106149/settings.json create mode 100644 applications/core/setup/upg_106149/theme.json create mode 100644 applications/core/setup/upg_106150/data.json create mode 100644 applications/core/setup/upg_106151/data.json create mode 100644 applications/core/setup/upg_106152/data.json create mode 100644 applications/core/setup/upg_106153/data.json create mode 100644 applications/core/setup/upg_106154/data.json create mode 100644 applications/core/setup/upg_106155/data.json create mode 100644 applications/core/setup/upg_106156/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106156/data.json create mode 100644 applications/core/setup/upg_106156/emailTemplates.json create mode 100644 applications/core/setup/upg_106156/javascript.json create mode 100644 applications/core/setup/upg_106156/lang.json create mode 100644 applications/core/setup/upg_106156/modules.json create mode 100644 applications/core/setup/upg_106156/queries.json create mode 100644 applications/core/setup/upg_106156/settings.json create mode 100644 applications/core/setup/upg_106156/theme.json create mode 100644 applications/core/setup/upg_106156/upgrade.php create mode 100644 applications/core/setup/upg_106157/data.json create mode 100644 applications/core/setup/upg_106158/data.json create mode 100644 applications/core/setup/upg_106159/data.json create mode 100644 applications/core/setup/upg_106160/data.json create mode 100644 applications/core/setup/upg_106161/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106161/data.json create mode 100644 applications/core/setup/upg_106161/javascript.json create mode 100644 applications/core/setup/upg_106161/lang.json create mode 100644 applications/core/setup/upg_106161/modules.json create mode 100644 applications/core/setup/upg_106161/queries.json create mode 100644 applications/core/setup/upg_106161/theme.json create mode 100644 applications/core/setup/upg_106161/themeSettings.json create mode 100644 applications/core/setup/upg_106162/data.json create mode 100644 applications/core/setup/upg_106163/data.json create mode 100644 applications/core/setup/upg_106163/lang.json create mode 100644 applications/core/setup/upg_106164/data.json create mode 100644 applications/core/setup/upg_106164/javascript.json create mode 100644 applications/core/setup/upg_106165/data.json create mode 100644 applications/core/setup/upg_106165/theme.json create mode 100644 applications/core/setup/upg_106166/data.json create mode 100644 applications/core/setup/upg_106167/data.json create mode 100644 applications/core/setup/upg_106167/lang.json create mode 100644 applications/core/setup/upg_106167/theme.json create mode 100644 applications/core/setup/upg_106167/themeSettings.json create mode 100644 applications/core/setup/upg_106168/acpSearchKeywords.json create mode 100644 applications/core/setup/upg_106168/data.json create mode 100644 applications/core/setup/upg_106168/javascript.json create mode 100644 applications/core/setup/upg_106168/lang.json create mode 100644 applications/core/setup/upg_106168/queries.json create mode 100644 applications/core/setup/upg_106168/settings.json create mode 100644 applications/core/setup/upg_106168/theme.json create mode 100644 applications/core/setup/upg_107000/data.json create mode 100644 applications/core/setup/upg_107000/javascript.json create mode 100644 applications/core/setup/upg_107000/lang.json create mode 100644 applications/core/setup/upg_107000/queries.json create mode 100644 applications/core/setup/upg_107000/settings.json create mode 100644 applications/core/setup/upg_107000/theme.json create mode 100644 applications/core/setup/upg_107000/upgrade.php create mode 100644 applications/core/setup/upg_107001/data.json create mode 100644 applications/core/setup/upg_107002/data.json create mode 100644 applications/core/setup/upg_107002/emailTemplates.json create mode 100644 applications/core/setup/upg_107002/javascript.json create mode 100644 applications/core/setup/upg_107002/lang.json create mode 100644 applications/core/setup/upg_107002/theme.json create mode 100644 applications/core/setup/upg_107003/data.json create mode 100644 applications/core/setup/upg_107003/theme.json create mode 100644 applications/core/setup/upg_107004/data.json create mode 100644 applications/core/setup/upg_107004/emailTemplates.json create mode 100644 applications/core/setup/upg_107004/javascript.json create mode 100644 applications/core/setup/upg_107004/lang.json create mode 100644 applications/core/setup/upg_107004/queries.json create mode 100644 applications/core/setup/upg_107004/theme.json create mode 100644 applications/core/setup/upg_107005/data.json create mode 100644 applications/core/setup/upg_107005/javascript.json create mode 100644 applications/core/setup/upg_107005/lang.json create mode 100644 applications/core/setup/upg_107005/theme.json create mode 100644 applications/core/setup/upg_107005/upgrade.php create mode 100644 applications/core/setup/upg_107006/data.json create mode 100644 applications/core/setup/upg_107006/lang.json create mode 100644 applications/core/setup/upg_107006/queries.json create mode 100644 applications/core/setup/upg_107006/theme.json create mode 100644 applications/core/setup/upg_107007/data.json create mode 100644 applications/core/setup/upg_107007/lang.json create mode 100644 applications/core/setup/upg_107007/queries.json create mode 100644 applications/core/setup/upg_107007/theme.json create mode 100644 applications/core/setup/upg_107008/data.json create mode 100644 applications/core/setup/upg_107008/lang.json create mode 100644 applications/core/setup/upg_107008/queries.json create mode 100644 applications/core/setup/upg_107008/theme.json create mode 100644 applications/core/setup/upg_107009/data.json create mode 100644 applications/core/setup/upg_107009/lang.json create mode 100644 applications/core/setup/upg_107009/settings.json create mode 100644 applications/core/setup/upg_107010/data.json create mode 100644 applications/core/setup/upg_107010/javascript.json create mode 100644 applications/core/setup/upg_107011/data.json create mode 100644 applications/core/setup/upg_107011/javascript.json create mode 100644 applications/core/setup/upg_107011/lang.json create mode 100644 applications/core/setup/upg_107011/queries.json create mode 100644 applications/core/setup/upg_107011/settings.json create mode 100644 applications/core/setup/upg_107011/theme.json create mode 100644 applications/core/setup/upg_107011/upgrade.php create mode 100644 applications/core/setup/upg_107012/data.json create mode 100644 applications/core/setup/upg_107012/javascript.json create mode 100644 applications/core/setup/upg_107012/theme.json create mode 100644 applications/core/setup/upg_107013/data.json create mode 100644 applications/core/setup/upg_107014/data.json create mode 100644 applications/core/sources/Alerts/Alert.php rename applications/core/{interface/plupload/jquery.plupload.queue => sources/Alerts}/index.html (100%) create mode 100644 applications/core/sources/DataLayer/DataLayer.php create mode 100644 applications/core/sources/DataLayer/Handler.php rename applications/core/{interface/plupload/jquery.ui.plupload/css => sources/DataLayer}/index.html (100%) create mode 100644 applications/core/sources/Form/WebhookSelector.php create mode 100644 applications/core/sources/IndexNow/IndexNow.php create mode 100644 applications/core/sources/StoredReplies/StoredReplies.php create mode 100644 applications/core/sources/Stream/Subscription.php create mode 100644 applications/core/tasks/dailyStreamSubscriptions.php create mode 100644 applications/core/tasks/weeklyStreamSubscriptions.php create mode 100644 applications/downloads/extensions/core/AchievementAction/DownloadFile.php create mode 100644 applications/downloads/setup/upg_106108/data.json create mode 100644 applications/downloads/setup/upg_106109/data.json create mode 100644 applications/downloads/setup/upg_106110/data.json create mode 100644 applications/downloads/setup/upg_106111/data.json create mode 100644 applications/downloads/setup/upg_106112/data.json create mode 100644 applications/downloads/setup/upg_106113/data.json create mode 100644 applications/downloads/setup/upg_106114/data.json create mode 100644 applications/downloads/setup/upg_106115/data.json create mode 100644 applications/downloads/setup/upg_106116/data.json create mode 100644 applications/downloads/setup/upg_106116/theme.json create mode 100644 applications/downloads/setup/upg_106117/data.json create mode 100644 applications/downloads/setup/upg_106118/data.json create mode 100644 applications/downloads/setup/upg_106119/data.json create mode 100644 applications/downloads/setup/upg_106120/data.json create mode 100644 applications/downloads/setup/upg_106121/data.json create mode 100644 applications/downloads/setup/upg_106122/data.json create mode 100644 applications/downloads/setup/upg_106123/data.json create mode 100644 applications/downloads/setup/upg_106123/emailTemplates.json create mode 100644 applications/downloads/setup/upg_106123/javascript.json create mode 100644 applications/downloads/setup/upg_106123/queries.json create mode 100644 applications/downloads/setup/upg_106123/theme.json create mode 100644 applications/downloads/setup/upg_106125/data.json create mode 100644 applications/downloads/setup/upg_106125/emailTemplates.json create mode 100644 applications/downloads/setup/upg_106125/javascript.json create mode 100644 applications/downloads/setup/upg_106125/theme.json create mode 100644 applications/downloads/setup/upg_106126/data.json create mode 100644 applications/downloads/setup/upg_106126/emailTemplates.json create mode 100644 applications/downloads/setup/upg_106126/javascript.json create mode 100644 applications/downloads/setup/upg_106126/theme.json create mode 100644 applications/downloads/setup/upg_106127/data.json create mode 100644 applications/downloads/setup/upg_106128/data.json create mode 100644 applications/downloads/setup/upg_106128/theme.json create mode 100644 applications/downloads/setup/upg_106129/data.json create mode 100644 applications/downloads/setup/upg_106130/data.json create mode 100644 applications/downloads/setup/upg_106131/data.json create mode 100644 applications/downloads/setup/upg_106132/data.json create mode 100644 applications/downloads/setup/upg_106132/javascript.json create mode 100644 applications/downloads/setup/upg_106132/lang.json create mode 100644 applications/downloads/setup/upg_106132/queries.json create mode 100644 applications/downloads/setup/upg_106132/theme.json create mode 100644 applications/downloads/setup/upg_106133/data.json create mode 100644 applications/downloads/setup/upg_106134/data.json create mode 100644 applications/downloads/setup/upg_106134/theme.json create mode 100644 applications/downloads/setup/upg_106135/data.json create mode 100644 applications/downloads/setup/upg_106136/data.json create mode 100644 applications/downloads/setup/upg_106137/data.json create mode 100644 applications/downloads/setup/upg_106138/data.json create mode 100644 applications/downloads/setup/upg_106138/lang.json create mode 100644 applications/downloads/setup/upg_106138/theme.json create mode 100644 applications/downloads/setup/upg_106139/data.json create mode 100644 applications/downloads/setup/upg_106139/lang.json create mode 100644 applications/downloads/setup/upg_106139/theme.json create mode 100644 applications/downloads/setup/upg_106140/data.json create mode 100644 applications/downloads/setup/upg_106141/data.json create mode 100644 applications/downloads/setup/upg_106142/data.json create mode 100644 applications/downloads/setup/upg_106143/data.json create mode 100644 applications/downloads/setup/upg_106144/data.json create mode 100644 applications/downloads/setup/upg_106144/theme.json create mode 100644 applications/downloads/setup/upg_106145/data.json create mode 100644 applications/downloads/setup/upg_106146/data.json create mode 100644 applications/downloads/setup/upg_106147/data.json create mode 100644 applications/downloads/setup/upg_106148/data.json create mode 100644 applications/downloads/setup/upg_106149/data.json create mode 100644 applications/downloads/setup/upg_106150/data.json create mode 100644 applications/downloads/setup/upg_106151/data.json create mode 100644 applications/downloads/setup/upg_106152/data.json create mode 100644 applications/downloads/setup/upg_106153/data.json create mode 100644 applications/downloads/setup/upg_106154/data.json create mode 100644 applications/downloads/setup/upg_106155/data.json create mode 100644 applications/downloads/setup/upg_106156/data.json create mode 100644 applications/downloads/setup/upg_106156/queries.json create mode 100644 applications/downloads/setup/upg_106156/upgrade.php create mode 100644 applications/downloads/setup/upg_106157/data.json create mode 100644 applications/downloads/setup/upg_106158/data.json create mode 100644 applications/downloads/setup/upg_106159/data.json create mode 100644 applications/downloads/setup/upg_106160/data.json create mode 100644 applications/downloads/setup/upg_106161/data.json create mode 100644 applications/downloads/setup/upg_106162/data.json create mode 100644 applications/downloads/setup/upg_106163/data.json create mode 100644 applications/downloads/setup/upg_106164/data.json create mode 100644 applications/downloads/setup/upg_106165/data.json create mode 100644 applications/downloads/setup/upg_106166/data.json create mode 100644 applications/downloads/setup/upg_106167/data.json create mode 100644 applications/downloads/setup/upg_106168/data.json create mode 100644 applications/downloads/setup/upg_106168/javascript.json create mode 100644 applications/downloads/setup/upg_106168/theme.json create mode 100644 applications/downloads/setup/upg_107000/data.json create mode 100644 applications/downloads/setup/upg_107001/data.json create mode 100644 applications/downloads/setup/upg_107002/data.json create mode 100644 applications/downloads/setup/upg_107002/theme.json create mode 100644 applications/downloads/setup/upg_107003/data.json create mode 100644 applications/downloads/setup/upg_107004/data.json create mode 100644 applications/downloads/setup/upg_107005/data.json create mode 100644 applications/downloads/setup/upg_107006/data.json create mode 100644 applications/downloads/setup/upg_107007/data.json create mode 100644 applications/downloads/setup/upg_107008/data.json create mode 100644 applications/downloads/setup/upg_107009/data.json create mode 100644 applications/downloads/setup/upg_107010/data.json create mode 100644 applications/downloads/setup/upg_107011/data.json create mode 100644 applications/downloads/setup/upg_107012/data.json create mode 100644 applications/downloads/setup/upg_107013/data.json create mode 100644 applications/downloads/setup/upg_107014/data.json create mode 100644 applications/forums/modules/admin/stats/questions.php create mode 100644 applications/forums/setup/upg_100011/queries.json create mode 100644 applications/forums/setup/upg_106108/data.json create mode 100644 applications/forums/setup/upg_106109/data.json create mode 100644 applications/forums/setup/upg_106110/data.json create mode 100644 applications/forums/setup/upg_106111/data.json create mode 100644 applications/forums/setup/upg_106112/data.json create mode 100644 applications/forums/setup/upg_106113/data.json create mode 100644 applications/forums/setup/upg_106114/data.json create mode 100644 applications/forums/setup/upg_106115/data.json create mode 100644 applications/forums/setup/upg_106116/data.json create mode 100644 applications/forums/setup/upg_106116/theme.json create mode 100644 applications/forums/setup/upg_106117/data.json create mode 100644 applications/forums/setup/upg_106118/data.json create mode 100644 applications/forums/setup/upg_106118/theme.json create mode 100644 applications/forums/setup/upg_106119/data.json create mode 100644 applications/forums/setup/upg_106120/data.json create mode 100644 applications/forums/setup/upg_106121/data.json create mode 100644 applications/forums/setup/upg_106122/data.json create mode 100644 applications/forums/setup/upg_106123/data.json create mode 100644 applications/forums/setup/upg_106123/emailTemplates.json create mode 100644 applications/forums/setup/upg_106123/javascript.json create mode 100644 applications/forums/setup/upg_106123/theme.json create mode 100644 applications/forums/setup/upg_106125/data.json create mode 100644 applications/forums/setup/upg_106125/emailTemplates.json create mode 100644 applications/forums/setup/upg_106125/javascript.json create mode 100644 applications/forums/setup/upg_106125/theme.json create mode 100644 applications/forums/setup/upg_106126/data.json create mode 100644 applications/forums/setup/upg_106126/emailTemplates.json create mode 100644 applications/forums/setup/upg_106126/javascript.json create mode 100644 applications/forums/setup/upg_106126/theme.json create mode 100644 applications/forums/setup/upg_106127/data.json create mode 100644 applications/forums/setup/upg_106127/javascript.json create mode 100644 applications/forums/setup/upg_106128/data.json create mode 100644 applications/forums/setup/upg_106128/theme.json create mode 100644 applications/forums/setup/upg_106129/data.json create mode 100644 applications/forums/setup/upg_106130/data.json create mode 100644 applications/forums/setup/upg_106131/data.json create mode 100644 applications/forums/setup/upg_106132/data.json create mode 100644 applications/forums/setup/upg_106133/data.json create mode 100644 applications/forums/setup/upg_106134/data.json create mode 100644 applications/forums/setup/upg_106134/lang.json create mode 100644 applications/forums/setup/upg_106134/theme.json create mode 100644 applications/forums/setup/upg_106135/data.json create mode 100644 applications/forums/setup/upg_106136/data.json create mode 100644 applications/forums/setup/upg_106137/data.json create mode 100644 applications/forums/setup/upg_106138/data.json create mode 100644 applications/forums/setup/upg_106138/lang.json create mode 100644 applications/forums/setup/upg_106138/theme.json create mode 100644 applications/forums/setup/upg_106139/data.json create mode 100644 applications/forums/setup/upg_106140/data.json create mode 100644 applications/forums/setup/upg_106141/data.json create mode 100644 applications/forums/setup/upg_106141/theme.json create mode 100644 applications/forums/setup/upg_106142/data.json create mode 100644 applications/forums/setup/upg_106143/data.json create mode 100644 applications/forums/setup/upg_106144/data.json create mode 100644 applications/forums/setup/upg_106144/theme.json create mode 100644 applications/forums/setup/upg_106145/data.json create mode 100644 applications/forums/setup/upg_106146/data.json create mode 100644 applications/forums/setup/upg_106147/data.json create mode 100644 applications/forums/setup/upg_106148/data.json create mode 100644 applications/forums/setup/upg_106149/data.json create mode 100644 applications/forums/setup/upg_106150/data.json create mode 100644 applications/forums/setup/upg_106151/data.json create mode 100644 applications/forums/setup/upg_106152/data.json create mode 100644 applications/forums/setup/upg_106153/data.json create mode 100644 applications/forums/setup/upg_106154/data.json create mode 100644 applications/forums/setup/upg_106155/data.json create mode 100644 applications/forums/setup/upg_106156/data.json create mode 100644 applications/forums/setup/upg_106157/data.json create mode 100644 applications/forums/setup/upg_106158/data.json create mode 100644 applications/forums/setup/upg_106159/data.json create mode 100644 applications/forums/setup/upg_106160/data.json create mode 100644 applications/forums/setup/upg_106161/data.json create mode 100644 applications/forums/setup/upg_106162/data.json create mode 100644 applications/forums/setup/upg_106163/data.json create mode 100644 applications/forums/setup/upg_106163/javascript.json create mode 100644 applications/forums/setup/upg_106163/lang.json create mode 100644 applications/forums/setup/upg_106163/theme.json create mode 100644 applications/forums/setup/upg_106164/data.json create mode 100644 applications/forums/setup/upg_106165/data.json create mode 100644 applications/forums/setup/upg_106166/data.json create mode 100644 applications/forums/setup/upg_106166/lang.json create mode 100644 applications/forums/setup/upg_106166/theme.json create mode 100644 applications/forums/setup/upg_106167/data.json create mode 100644 applications/forums/setup/upg_106167/javascript.json create mode 100644 applications/forums/setup/upg_106168/data.json create mode 100644 applications/forums/setup/upg_106168/javascript.json create mode 100644 applications/forums/setup/upg_106168/theme.json create mode 100644 applications/forums/setup/upg_107000/data.json create mode 100644 applications/forums/setup/upg_107000/javascript.json create mode 100644 applications/forums/setup/upg_107000/theme.json create mode 100644 applications/forums/setup/upg_107001/data.json create mode 100644 applications/forums/setup/upg_107002/data.json create mode 100644 applications/forums/setup/upg_107002/theme.json create mode 100644 applications/forums/setup/upg_107003/data.json create mode 100644 applications/forums/setup/upg_107004/data.json create mode 100644 applications/forums/setup/upg_107005/data.json create mode 100644 applications/forums/setup/upg_107005/javascript.json create mode 100644 applications/forums/setup/upg_107006/data.json create mode 100644 applications/forums/setup/upg_107007/data.json create mode 100644 applications/forums/setup/upg_107008/data.json create mode 100644 applications/forums/setup/upg_107009/acpSearchKeywords.json create mode 100644 applications/forums/setup/upg_107009/data.json create mode 100644 applications/forums/setup/upg_107010/data.json create mode 100644 applications/forums/setup/upg_107011/data.json create mode 100644 applications/forums/setup/upg_107012/data.json create mode 100644 applications/forums/setup/upg_107013/data.json create mode 100644 applications/forums/setup/upg_107014/data.json create mode 100644 applications/gallery/setup/upg_106108/data.json create mode 100644 applications/gallery/setup/upg_106108/theme.json create mode 100644 applications/gallery/setup/upg_106109/data.json create mode 100644 applications/gallery/setup/upg_106109/theme.json create mode 100644 applications/gallery/setup/upg_106110/data.json create mode 100644 applications/gallery/setup/upg_106110/theme.json create mode 100644 applications/gallery/setup/upg_106111/data.json create mode 100644 applications/gallery/setup/upg_106111/theme.json create mode 100644 applications/gallery/setup/upg_106112/data.json create mode 100644 applications/gallery/setup/upg_106112/theme.json create mode 100644 applications/gallery/setup/upg_106113/data.json create mode 100644 applications/gallery/setup/upg_106113/theme.json create mode 100644 applications/gallery/setup/upg_106114/data.json create mode 100644 applications/gallery/setup/upg_106114/theme.json create mode 100644 applications/gallery/setup/upg_106115/data.json create mode 100644 applications/gallery/setup/upg_106115/theme.json create mode 100644 applications/gallery/setup/upg_106116/data.json create mode 100644 applications/gallery/setup/upg_106116/lang.json create mode 100644 applications/gallery/setup/upg_106116/theme.json create mode 100644 applications/gallery/setup/upg_106117/data.json create mode 100644 applications/gallery/setup/upg_106117/theme.json create mode 100644 applications/gallery/setup/upg_106118/data.json create mode 100644 applications/gallery/setup/upg_106118/theme.json create mode 100644 applications/gallery/setup/upg_106119/data.json create mode 100644 applications/gallery/setup/upg_106119/theme.json create mode 100644 applications/gallery/setup/upg_106120/data.json create mode 100644 applications/gallery/setup/upg_106120/theme.json create mode 100644 applications/gallery/setup/upg_106121/data.json create mode 100644 applications/gallery/setup/upg_106121/theme.json create mode 100644 applications/gallery/setup/upg_106122/data.json create mode 100644 applications/gallery/setup/upg_106122/theme.json create mode 100644 applications/gallery/setup/upg_106123/data.json create mode 100644 applications/gallery/setup/upg_106123/emailTemplates.json create mode 100644 applications/gallery/setup/upg_106123/javascript.json create mode 100644 applications/gallery/setup/upg_106123/theme.json create mode 100644 applications/gallery/setup/upg_106125/data.json create mode 100644 applications/gallery/setup/upg_106125/emailTemplates.json create mode 100644 applications/gallery/setup/upg_106125/javascript.json create mode 100644 applications/gallery/setup/upg_106125/theme.json create mode 100644 applications/gallery/setup/upg_106126/data.json create mode 100644 applications/gallery/setup/upg_106126/emailTemplates.json create mode 100644 applications/gallery/setup/upg_106126/javascript.json create mode 100644 applications/gallery/setup/upg_106126/theme.json create mode 100644 applications/gallery/setup/upg_106127/data.json create mode 100644 applications/gallery/setup/upg_106127/theme.json create mode 100644 applications/gallery/setup/upg_106128/data.json create mode 100644 applications/gallery/setup/upg_106128/theme.json create mode 100644 applications/gallery/setup/upg_106129/data.json create mode 100644 applications/gallery/setup/upg_106129/theme.json create mode 100644 applications/gallery/setup/upg_106130/data.json create mode 100644 applications/gallery/setup/upg_106130/theme.json create mode 100644 applications/gallery/setup/upg_106131/data.json create mode 100644 applications/gallery/setup/upg_106131/theme.json create mode 100644 applications/gallery/setup/upg_106132/data.json create mode 100644 applications/gallery/setup/upg_106132/theme.json create mode 100644 applications/gallery/setup/upg_106133/data.json create mode 100644 applications/gallery/setup/upg_106133/theme.json create mode 100644 applications/gallery/setup/upg_106134/data.json create mode 100644 applications/gallery/setup/upg_106134/theme.json create mode 100644 applications/gallery/setup/upg_106135/data.json create mode 100644 applications/gallery/setup/upg_106135/theme.json create mode 100644 applications/gallery/setup/upg_106136/data.json create mode 100644 applications/gallery/setup/upg_106136/theme.json create mode 100644 applications/gallery/setup/upg_106137/data.json create mode 100644 applications/gallery/setup/upg_106137/theme.json create mode 100644 applications/gallery/setup/upg_106138/data.json create mode 100644 applications/gallery/setup/upg_106138/lang.json create mode 100644 applications/gallery/setup/upg_106138/theme.json create mode 100644 applications/gallery/setup/upg_106139/data.json create mode 100644 applications/gallery/setup/upg_106139/theme.json create mode 100644 applications/gallery/setup/upg_106140/data.json create mode 100644 applications/gallery/setup/upg_106140/theme.json create mode 100644 applications/gallery/setup/upg_106141/data.json create mode 100644 applications/gallery/setup/upg_106141/theme.json create mode 100644 applications/gallery/setup/upg_106142/data.json create mode 100644 applications/gallery/setup/upg_106142/theme.json create mode 100644 applications/gallery/setup/upg_106143/data.json create mode 100644 applications/gallery/setup/upg_106143/theme.json create mode 100644 applications/gallery/setup/upg_106144/data.json create mode 100644 applications/gallery/setup/upg_106144/theme.json create mode 100644 applications/gallery/setup/upg_106145/data.json create mode 100644 applications/gallery/setup/upg_106145/theme.json create mode 100644 applications/gallery/setup/upg_106146/data.json create mode 100644 applications/gallery/setup/upg_106146/theme.json create mode 100644 applications/gallery/setup/upg_106147/data.json create mode 100644 applications/gallery/setup/upg_106147/theme.json create mode 100644 applications/gallery/setup/upg_106148/data.json create mode 100644 applications/gallery/setup/upg_106148/theme.json create mode 100644 applications/gallery/setup/upg_106149/data.json create mode 100644 applications/gallery/setup/upg_106149/lang.json create mode 100644 applications/gallery/setup/upg_106149/theme.json create mode 100644 applications/gallery/setup/upg_106150/data.json create mode 100644 applications/gallery/setup/upg_106150/theme.json create mode 100644 applications/gallery/setup/upg_106151/data.json create mode 100644 applications/gallery/setup/upg_106151/theme.json create mode 100644 applications/gallery/setup/upg_106152/data.json create mode 100644 applications/gallery/setup/upg_106152/theme.json create mode 100644 applications/gallery/setup/upg_106153/data.json create mode 100644 applications/gallery/setup/upg_106153/theme.json create mode 100644 applications/gallery/setup/upg_106154/data.json create mode 100644 applications/gallery/setup/upg_106154/theme.json create mode 100644 applications/gallery/setup/upg_106155/data.json create mode 100644 applications/gallery/setup/upg_106155/theme.json create mode 100644 applications/gallery/setup/upg_106156/data.json create mode 100644 applications/gallery/setup/upg_106156/lang.json create mode 100644 applications/gallery/setup/upg_106156/theme.json create mode 100644 applications/gallery/setup/upg_106157/data.json create mode 100644 applications/gallery/setup/upg_106157/theme.json create mode 100644 applications/gallery/setup/upg_106158/data.json create mode 100644 applications/gallery/setup/upg_106158/theme.json create mode 100644 applications/gallery/setup/upg_106159/data.json create mode 100644 applications/gallery/setup/upg_106159/theme.json create mode 100644 applications/gallery/setup/upg_106160/data.json create mode 100644 applications/gallery/setup/upg_106160/theme.json create mode 100644 applications/gallery/setup/upg_106161/data.json create mode 100644 applications/gallery/setup/upg_106161/theme.json create mode 100644 applications/gallery/setup/upg_106162/data.json create mode 100644 applications/gallery/setup/upg_106162/theme.json create mode 100644 applications/gallery/setup/upg_106163/data.json create mode 100644 applications/gallery/setup/upg_106163/theme.json create mode 100644 applications/gallery/setup/upg_106164/data.json create mode 100644 applications/gallery/setup/upg_106164/theme.json create mode 100644 applications/gallery/setup/upg_106165/data.json create mode 100644 applications/gallery/setup/upg_106165/theme.json create mode 100644 applications/gallery/setup/upg_106166/data.json create mode 100644 applications/gallery/setup/upg_106166/theme.json create mode 100644 applications/gallery/setup/upg_106167/data.json create mode 100644 applications/gallery/setup/upg_106168/data.json create mode 100644 applications/gallery/setup/upg_106168/javascript.json create mode 100644 applications/gallery/setup/upg_106168/theme.json create mode 100644 applications/gallery/setup/upg_107000/data.json create mode 100644 applications/gallery/setup/upg_107000/theme.json create mode 100644 applications/gallery/setup/upg_107001/data.json create mode 100644 applications/gallery/setup/upg_107001/theme.json create mode 100644 applications/gallery/setup/upg_107002/data.json create mode 100644 applications/gallery/setup/upg_107002/theme.json create mode 100644 applications/gallery/setup/upg_107003/data.json create mode 100644 applications/gallery/setup/upg_107003/theme.json create mode 100644 applications/gallery/setup/upg_107004/data.json create mode 100644 applications/gallery/setup/upg_107004/theme.json create mode 100644 applications/gallery/setup/upg_107005/data.json create mode 100644 applications/gallery/setup/upg_107005/theme.json create mode 100644 applications/gallery/setup/upg_107006/data.json create mode 100644 applications/gallery/setup/upg_107006/theme.json create mode 100644 applications/gallery/setup/upg_107007/data.json create mode 100644 applications/gallery/setup/upg_107007/theme.json create mode 100644 applications/gallery/setup/upg_107008/data.json create mode 100644 applications/gallery/setup/upg_107008/theme.json create mode 100644 applications/gallery/setup/upg_107009/data.json create mode 100644 applications/gallery/setup/upg_107009/theme.json create mode 100644 applications/gallery/setup/upg_107010/data.json create mode 100644 applications/gallery/setup/upg_107010/theme.json create mode 100644 applications/gallery/setup/upg_107011/data.json create mode 100644 applications/gallery/setup/upg_107011/theme.json create mode 100644 applications/gallery/setup/upg_107012/data.json create mode 100644 applications/gallery/setup/upg_107012/theme.json create mode 100644 applications/gallery/setup/upg_107013/data.json create mode 100644 applications/gallery/setup/upg_107013/theme.json create mode 100644 applications/gallery/setup/upg_107014/data.json create mode 100644 applications/gallery/setup/upg_107014/theme.json create mode 100644 applications/nexus/extensions/core/AchievementAction/Package.php create mode 100644 applications/nexus/extensions/core/FileStorage/Gateways.php create mode 100644 applications/nexus/extensions/core/GroupForm/PreventDeletion.php create mode 100644 applications/nexus/extensions/core/Queue/FixMissingSubscriptionPurchases.php delete mode 100644 applications/nexus/hooks/frontDispatcher.php create mode 100644 applications/nexus/setup/upg_106108/data.json create mode 100644 applications/nexus/setup/upg_106109/data.json create mode 100644 applications/nexus/setup/upg_106110/data.json create mode 100644 applications/nexus/setup/upg_106110/lang.json create mode 100644 applications/nexus/setup/upg_106110/theme.json create mode 100644 applications/nexus/setup/upg_106111/data.json create mode 100644 applications/nexus/setup/upg_106112/data.json create mode 100644 applications/nexus/setup/upg_106113/data.json create mode 100644 applications/nexus/setup/upg_106114/data.json create mode 100644 applications/nexus/setup/upg_106115/data.json create mode 100644 applications/nexus/setup/upg_106116/data.json create mode 100644 applications/nexus/setup/upg_106117/data.json create mode 100644 applications/nexus/setup/upg_106118/data.json create mode 100644 applications/nexus/setup/upg_106118/lang.json create mode 100644 applications/nexus/setup/upg_106118/settings.json create mode 100644 applications/nexus/setup/upg_106118/theme.json create mode 100644 applications/nexus/setup/upg_106118/upgrade.php create mode 100644 applications/nexus/setup/upg_106119/data.json create mode 100644 applications/nexus/setup/upg_106120/data.json create mode 100644 applications/nexus/setup/upg_106121/data.json create mode 100644 applications/nexus/setup/upg_106122/data.json create mode 100644 applications/nexus/setup/upg_106123/data.json create mode 100644 applications/nexus/setup/upg_106123/emailTemplates.json create mode 100644 applications/nexus/setup/upg_106123/javascript.json create mode 100644 applications/nexus/setup/upg_106123/lang.json create mode 100644 applications/nexus/setup/upg_106123/theme.json create mode 100644 applications/nexus/setup/upg_106125/data.json create mode 100644 applications/nexus/setup/upg_106125/emailTemplates.json create mode 100644 applications/nexus/setup/upg_106125/javascript.json create mode 100644 applications/nexus/setup/upg_106125/lang.json create mode 100644 applications/nexus/setup/upg_106125/theme.json create mode 100644 applications/nexus/setup/upg_106126/data.json create mode 100644 applications/nexus/setup/upg_106126/emailTemplates.json create mode 100644 applications/nexus/setup/upg_106126/javascript.json create mode 100644 applications/nexus/setup/upg_106126/lang.json create mode 100644 applications/nexus/setup/upg_106126/theme.json create mode 100644 applications/nexus/setup/upg_106127/data.json create mode 100644 applications/nexus/setup/upg_106128/data.json create mode 100644 applications/nexus/setup/upg_106128/theme.json create mode 100644 applications/nexus/setup/upg_106129/data.json create mode 100644 applications/nexus/setup/upg_106130/data.json create mode 100644 applications/nexus/setup/upg_106131/data.json create mode 100644 applications/nexus/setup/upg_106132/data.json create mode 100644 applications/nexus/setup/upg_106132/javascript.json create mode 100644 applications/nexus/setup/upg_106132/lang.json create mode 100644 applications/nexus/setup/upg_106132/queries.json create mode 100644 applications/nexus/setup/upg_106132/theme.json create mode 100644 applications/nexus/setup/upg_106133/data.json create mode 100644 applications/nexus/setup/upg_106134/data.json create mode 100644 applications/nexus/setup/upg_106134/lang.json create mode 100644 applications/nexus/setup/upg_106135/data.json create mode 100644 applications/nexus/setup/upg_106136/data.json create mode 100644 applications/nexus/setup/upg_106137/data.json create mode 100644 applications/nexus/setup/upg_106137/emailTemplates.json create mode 100644 applications/nexus/setup/upg_106138/data.json create mode 100644 applications/nexus/setup/upg_106138/javascript.json create mode 100644 applications/nexus/setup/upg_106138/lang.json create mode 100644 applications/nexus/setup/upg_106138/queries.json create mode 100644 applications/nexus/setup/upg_106138/theme.json create mode 100644 applications/nexus/setup/upg_106139/data.json create mode 100644 applications/nexus/setup/upg_106140/data.json create mode 100644 applications/nexus/setup/upg_106141/data.json create mode 100644 applications/nexus/setup/upg_106142/data.json create mode 100644 applications/nexus/setup/upg_106143/data.json create mode 100644 applications/nexus/setup/upg_106143/lang.json create mode 100644 applications/nexus/setup/upg_106143/settings.json create mode 100644 applications/nexus/setup/upg_106144/data.json create mode 100644 applications/nexus/setup/upg_106144/lang.json create mode 100644 applications/nexus/setup/upg_106144/theme.json create mode 100644 applications/nexus/setup/upg_106145/data.json create mode 100644 applications/nexus/setup/upg_106145/settings.json create mode 100644 applications/nexus/setup/upg_106145/theme.json create mode 100644 applications/nexus/setup/upg_106146/data.json create mode 100644 applications/nexus/setup/upg_106147/data.json create mode 100644 applications/nexus/setup/upg_106148/data.json create mode 100644 applications/nexus/setup/upg_106149/data.json create mode 100644 applications/nexus/setup/upg_106149/hooks.json create mode 100644 applications/nexus/setup/upg_106149/lang.json create mode 100644 applications/nexus/setup/upg_106149/theme.json create mode 100644 applications/nexus/setup/upg_106150/data.json create mode 100644 applications/nexus/setup/upg_106151/data.json create mode 100644 applications/nexus/setup/upg_106152/data.json create mode 100644 applications/nexus/setup/upg_106153/data.json create mode 100644 applications/nexus/setup/upg_106154/data.json create mode 100644 applications/nexus/setup/upg_106155/data.json create mode 100644 applications/nexus/setup/upg_106156/data.json create mode 100644 applications/nexus/setup/upg_106157/data.json create mode 100644 applications/nexus/setup/upg_106158/data.json create mode 100644 applications/nexus/setup/upg_106159/data.json create mode 100644 applications/nexus/setup/upg_106160/data.json create mode 100644 applications/nexus/setup/upg_106161/data.json create mode 100644 applications/nexus/setup/upg_106161/javascript.json create mode 100644 applications/nexus/setup/upg_106161/theme.json create mode 100644 applications/nexus/setup/upg_106162/data.json create mode 100644 applications/nexus/setup/upg_106163/data.json create mode 100644 applications/nexus/setup/upg_106164/data.json create mode 100644 applications/nexus/setup/upg_106165/data.json create mode 100644 applications/nexus/setup/upg_106166/data.json create mode 100644 applications/nexus/setup/upg_106167/data.json create mode 100644 applications/nexus/setup/upg_106167/lang.json create mode 100644 applications/nexus/setup/upg_106167/theme.json create mode 100644 applications/nexus/setup/upg_106168/data.json create mode 100644 applications/nexus/setup/upg_106168/javascript.json create mode 100644 applications/nexus/setup/upg_106168/lang.json create mode 100644 applications/nexus/setup/upg_106168/theme.json create mode 100644 applications/nexus/setup/upg_107000/data.json create mode 100644 applications/nexus/setup/upg_107001/data.json create mode 100644 applications/nexus/setup/upg_107002/data.json create mode 100644 applications/nexus/setup/upg_107002/lang.json create mode 100644 applications/nexus/setup/upg_107002/queries.json create mode 100644 applications/nexus/setup/upg_107002/theme.json create mode 100644 applications/nexus/setup/upg_107002/upgrade.php create mode 100644 applications/nexus/setup/upg_107003/data.json create mode 100644 applications/nexus/setup/upg_107004/data.json create mode 100644 applications/nexus/setup/upg_107005/data.json create mode 100644 applications/nexus/setup/upg_107006/data.json create mode 100644 applications/nexus/setup/upg_107007/data.json create mode 100644 applications/nexus/setup/upg_107008/data.json create mode 100644 applications/nexus/setup/upg_107009/data.json create mode 100644 applications/nexus/setup/upg_107010/data.json create mode 100644 applications/nexus/setup/upg_107011/data.json create mode 100644 applications/nexus/setup/upg_107011/emailTemplates.json create mode 100644 applications/nexus/setup/upg_107011/lang.json create mode 100644 applications/nexus/setup/upg_107012/data.json create mode 100644 applications/nexus/setup/upg_107013/data.json create mode 100644 applications/nexus/setup/upg_107014/data.json create mode 100644 system/3rd_party/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Forms.txt create mode 100644 system/3rd_party/JwtFramework/src/Component/Signature/Algorithm/HMAC.php create mode 100644 system/3rd_party/JwtFramework/src/Component/Signature/Algorithm/HS256.php create mode 100644 system/Api/DocumentationHelper.php create mode 100644 system/Helpers/Form/Captcha/CaptchaInterface.php create mode 100644 system/Helpers/Form/Captcha/Hcaptcha.php diff --git a/Credits.txt b/Credits.txt index 1cd5c3ff..9d9601d0 100644 --- a/Credits.txt +++ b/Credits.txt @@ -6,7 +6,7 @@ has been used throughout Invision Community to add style, flair and functionalit to our product. NULLING - Last Updated: 09 June 2021 + Last Updated: 07 July 2022 Author: IPBMafia.ru AES implementation in PHP @@ -33,7 +33,7 @@ Clipboard CKEditor Description: Provides the editor functionality for submitting content. Location: In development: applications/core/dev/ckeditor (custom build with additional plugins) - Included version: 4.16 + Included version: 4.19.0 Website: http://ckeditor.com License: http://www.gnu.org/copyleft/lesser.html @@ -114,7 +114,7 @@ Howler HTMLPurifier Description: Validates and cleans submitted HTML for content Location: system/3rd_party/HTMLPurifier - Included version: 4.12.0 + Included version: 4.14.0 Website: http://htmlpurifier.org License: http://www.gnu.org/copyleft/lesser.html @@ -176,8 +176,8 @@ jQuery Migrate jQuery.nestedSortable.js Description: Extends jqueryui's sortable with nested support Location: applications/core/interface/jquery/jquery.nestedSortable.js - Included version: 2.0 - Website: http://mjsarfatti.com/sandbox/nestedSortable/ + Included version: 2.1a + Website: https://github.com/ilikenwf/nestedSortable License: http://opensource.org/licenses/MIT jQuery.rangyinputs.js @@ -197,7 +197,7 @@ jQuery.transform.js jQuery UI Description: Javascript library for drag+drop, resizing, date polyfill Location: applications/core/interface/jquery/jquery-ui.js - Included version: 1.12.1 + Included version: 1.13.1 Website: http://jqueryui.com License: http://jquery.org/license @@ -315,7 +315,7 @@ PHP User Agent Parser Plupload Description: Facilitates uploading files Location: applications/core/interface/plupload - Included version: 2.3.1 + Included version: 2.3.9 Website: http://www.plupload.com License: http://www.plupload.com/license/plupload_commercial_oem.txt @@ -327,7 +327,7 @@ Preloaders.net Spectrum Description: Color selector polyfill Location: applications/core/interface/spectrum - Included version: 2.0.0 + Included version: 2.0.8 Website: https://seballot.github.io/spectrum/ License: https://github.com/seballot/spectrum/blob/master/LICENSE @@ -361,7 +361,7 @@ Web Push Library for PHP Whoops Description: Provides error handling for development mode Location: dev/Whoops - Included Version: 2.9.1 + Included Version: 2.14.5 Website: http://filp.github.io/whoops/ License: https://github.com/filp/whoops/blob/master/LICENSE.md diff --git a/admin/convertutf8/system/Convert/Convert.php b/admin/convertutf8/system/Convert/Convert.php index cac569e1..1aca9e5f 100644 --- a/admin/convertutf8/system/Convert/Convert.php +++ b/admin/convertutf8/system/Convert/Convert.php @@ -549,7 +549,7 @@ class Convert } /* If we have moved the only row from $batch to $nextbatch, then process that now */ - if ( \count( $nextBatch ) and ! \count( $batch ) ) + if ( \is_array( $batch ) and \count( $nextBatch ) and ! \count( $batch ) ) { $batch = $nextBatch; $nextBatch = array(); diff --git a/admin/convertutf8/system/Db/Db.php b/admin/convertutf8/system/Db/Db.php index 8de000fa..504f422e 100644 --- a/admin/convertutf8/system/Db/Db.php +++ b/admin/convertutf8/system/Db/Db.php @@ -183,7 +183,7 @@ class Db extends \mysqli * @see mysqli::query * @throws \IPS\Db\Exception */ - public function query( $query ) + public function query( string $query, int $result_mode = MYSQLI_STORE_RESULT ) { /* Should we return the query instead of executing it? */ if( $this->returnQuery === TRUE ) diff --git a/admin/install/eula.txt b/admin/install/eula.txt index bab8ea82..abe550e9 100644 --- a/admin/install/eula.txt +++ b/admin/install/eula.txt @@ -3,7 +3,7 @@ Nulled by IPBMafia.ru Buy license at https://www.invisionpower.com/buy/self-hosted ================================================================ - IPS 4.6.0 (106107) + IPS 4.7.0 (107014) =============================[NOTE]============================= Invision Community End User License Agreement diff --git a/admin/install/html/forms/number.phtml b/admin/install/html/forms/number.phtml index 399f3aa7..4c462223 100644 --- a/admin/install/html/forms/number.phtml +++ b/admin/install/html/forms/number.phtml @@ -1,4 +1,4 @@ - + + {lang="welcome_banner"}

{{if $initError}} + {lang="beforestart" sprintf="$path"} {{else}} {lang="beforestarto"} @@ -89,6 +90,9 @@ {{endif}}

Nulled by IPBMafia.ru

+
+ {lang="server_ip"} {expression="$_SERVER['SERVER_ADDR'] ?? ( $_SERVER['LOCAL_ADDR'] ?? 'unavailable' )"} +
\ No newline at end of file diff --git a/admin/install/lang.php b/admin/install/lang.php index 8bced895..df0d6e91 100644 --- a/admin/install/lang.php +++ b/admin/install/lang.php @@ -198,6 +198,7 @@ $lang = array( 'admin' => "Admin", 'beforestart' => "Before we can begin, please rename conf_global.dist.php to conf_global.php in %s and ensure it is writable (usually CHMOD 0777).", 'beforestarto' => "This process will install your software for you. Be sure you have your license key and MySQL database details to hand.", +'server_ip' => "IP: ", 'install_guide' => "Install Guide", diff --git a/admin/upgrade/extract.php b/admin/upgrade/extract.php index 97ce2fe2..50061e24 100644 --- a/admin/upgrade/extract.php +++ b/admin/upgrade/extract.php @@ -2,7 +2,7 @@ Invision Community Update Extractor - + 0755, 'FILE_PERMISSION_NO_WRITE' => 0644, 'IPS_FILE_PERMISSION' => 0666, 'TEMP_DIRECTORY' => sys_get_temp_dir() ) as $k => $v ) +foreach ( [ 'FOLDER_PERMISSION_NO_WRITE' => 0755, 'FILE_PERMISSION_NO_WRITE' => 0644, 'IPS_FILE_PERMISSION' => 0666, 'TEMP_DIRECTORY' => sys_get_temp_dir(), 'TEXT_ENCRYPTION_KEY' => NULL ] as $k => $v ) { if ( !\defined( $k ) ) { @@ -80,6 +80,16 @@ class Extractor * @brief SFTP Directory */ private $sftpDir; + + /** + * @brief Database connection + */ + public $db; + + /** + * @brief Database prefix + */ + public $dbPrefix; /** * Constructor @@ -109,7 +119,8 @@ class Extractor { require "../../conf_global.php"; - $db = new mysqli( $INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass'], $INFO['sql_database'], !empty( $INFO['sql_port'] ) ? $INFO['sql_port'] : null, !empty( $INFO['sql_socket'] ) ? $INFO['sql_socket'] : null ); + $this->db = new mysqli( $INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass'], $INFO['sql_database'], !empty( $INFO['sql_port'] ) ? $INFO['sql_port'] : null, !empty( $INFO['sql_socket'] ) ? $INFO['sql_socket'] : null ); + $this->dbPrefix = $INFO['sql_tbl_prefix'] ?? ''; /* If the connection failed, do not continue */ if( $error = mysqli_connect_error() ) @@ -118,7 +129,7 @@ class Extractor } /* Check that there is an upgrade in progress */ - $query = $db->query( "SELECT conf_value FROM {$INFO['sql_tbl_prefix']}core_sys_conf_settings WHERE conf_key='setup_in_progress'" ); + $query = $this->db->query( "SELECT conf_value FROM {$this->dbPrefix}core_sys_conf_settings WHERE conf_key='setup_in_progress'" ); if( !$query ) { return FALSE; @@ -378,6 +389,176 @@ class Extractor } } +/** + * Encrypted - code from \IPS\Text\Encrypt + */ +class Encrypt +{ + /** + * Get Key + * + * @return void + */ + public static function key() + { + require "../../conf_global.php"; + return \TEXT_ENCRYPTION_KEY ?: md5( $INFO['sql_pass'] . $INFO['sql_database'] ); + } + + /** + * @brief Cipher + */ + public $cipher; + + /** + * @brief IV + */ + protected $iv = NULL; + + /** + * @brief Tag + */ + protected $tag = NULL; + + /** + * @brief Hash of cipher + */ + protected $hmac = NULL; + + /** + * From plaintext + * + * @param string $plaintext Plaintext + * @return static + */ + public static function fromPlaintext( $plaintext ) + { + $obj = new static; + + /* Try to use OpenSSL if it's available... */ + if ( \function_exists( 'openssl_get_cipher_methods' ) ) + { + /* If GCM is available (PHP 7.1+), use that as if provides authenticated encryption natively */ + if ( \in_array( 'aes-128-gcm', openssl_get_cipher_methods() ) ) + { + $obj->iv = openssl_random_pseudo_bytes( openssl_cipher_iv_length( 'aes-128-gcm' ) ); + $obj->cipher = openssl_encrypt( $plaintext, 'aes-128-gcm', static::key(), 0, $obj->iv, $obj->tag ); + return $obj; + } + + /* Otherwise, use CBC and store the hash so we can do our own authentication when decrypting */ + elseif ( \in_array( 'aes-128-cbc', openssl_get_cipher_methods() ) ) + { + $obj->iv = openssl_random_pseudo_bytes( openssl_cipher_iv_length( 'aes-128-cbc' ) ); + $obj->cipher = openssl_encrypt( $plaintext, 'aes-128-cbc', static::key(), OPENSSL_RAW_DATA, $obj->iv ); + $obj->hmac = hash_hmac( 'sha256', $obj->cipher, static::key(), TRUE ); + return $obj; + } + } + + /* If we're still here, fallback to the PHP library */ + require_once '../../system/3rd_party/AES/AES.php'; + $obj->cipher = \AesCtr::encrypt( $plaintext, static::key(), 256 ); + return $obj; + } + + /** + * From plaintext + * + * @param string $cipher Cipher + * @param string|null $iv The IV, or if null, will use the PHP library rather than built-in openssl_*() methods + * @param string|null $tag The tag if using AES-128-GCM + * @param string|null $hash The hash if using AES-128-CBC + * @return static + */ + public static function fromCipher( $cipher, $iv = NULL, $tag = NULL, $hash = NULL ) + { + $obj = new static; + $obj->cipher = $cipher; + $obj->iv = $iv; + $obj->tag = $tag; + $obj->hmac = $hash; + return $obj; + } + + /** + * From tag + * + * @param string $tag Tag + * @return static + */ + public static function fromTag( $tag ) + { + if ( preg_match( '/^\[\!AES128GCM\[(.+?)\]\[(.+?)\]\[(.+?)\]\]/', $tag, $matches ) ) + { + return static::fromCipher( $matches[1], hex2bin( $matches[2] ), hex2bin( $matches[3] ) ); + } + elseif ( preg_match( '/^\[\!AES128CBC\[(.+?)\]\]/', $tag, $matches ) ) + { + $cipher = base64_decode( $matches[1] ); + $ivLength = openssl_cipher_iv_length('aes-128-cbc'); + + return static::fromCipher( \substr( $cipher, $ivLength + 32 ), \substr( $cipher, 0, $ivLength ), NULL, \substr( $cipher, $ivLength, 32 ) ); + } + elseif ( preg_match( '/^\[\!AES\[(.+?)\]\]/', $tag, $matches ) ) + { + return static::fromCipher( $matches[1] ); + } + else + { + return static::fromPlaintext( $tag ); + } + } + + /** + * Wrap in a tag to use later with fromTag + * + * @return string + */ + public function tag() + { + if ( $this->tag ) + { + return '[!AES128GCM[' . $this->cipher . '][' . bin2hex( $this->iv ) . '][' . bin2hex( $this->tag ) . ']]'; + } + elseif ( $this->hmac ) + { + return '[!AES128CBC[' . base64_encode( $this->iv . $this->hmac . $this->cipher ) . ']]'; + } + else + { + return '[!AES[' . $this->cipher . ']]'; + } + } + + /** + * Decript + * + * @return string + */ + public function decrypt() + { + if ( $this->tag ) + { + return openssl_decrypt( $this->cipher, 'aes-128-gcm', static::key(), 0, $this->iv, $this->tag ); + } + elseif ( $this->hmac ) + { + $decrypted = openssl_decrypt( $this->cipher, 'aes-128-cbc', static::key(), OPENSSL_RAW_DATA, $this->iv ); + if ( hash_equals( $this->hmac, hash_hmac( 'sha256', $this->cipher, static::key(), TRUE ) ) ) + { + return $decrypted; + } + return ''; + } + else + { + require_once '../../system/3rd_party/AES/AES.php'; + return \AesCtr::decrypt( $this->cipher, static::key(), 256 ); + } + } +} + /** * Function to write a log file to disk * @@ -432,7 +613,29 @@ try /* Establish an FTP connection if necessary */ if ( $_GET['ftp'] ) { - $extractor->connectToFtp( $_GET['ftp'] ); + /* Get encrypted FTP credentials */ + $query = $extractor->db->query( "SELECT conf_value FROM " . $extractor->dbPrefix . "core_sys_conf_settings WHERE conf_key='upgrade_ftp_details'" ); + if( !$query ) + { + throw new \RuntimeException('Cannot find (S)FTP credentials'); + } + + $ftpCredentials = $query->fetch_assoc()['conf_value']; + if( empty( $ftpCredentials ) ) + { + throw new \RuntimeException('Cannot load (S)FTP credentials'); + } + + if ( \substr( $ftpCredentials, 0, 5 ) === '[!AES' ) + { + $decodedFtpDetails = Encrypt::fromTag( $ftpCredentials )->decrypt(); + } + else + { + $decodedFtpDetails = Encrypt::fromCipher( $ftpCredentials )->decrypt(); + } + + $extractor->connectToFtp( json_decode( $decodedFtpDetails, TRUE ) ); } /* Extract a batch of files */ diff --git a/admin/upgrade/html/forms/number.phtml b/admin/upgrade/html/forms/number.phtml index 399f3aa7..4c462223 100644 --- a/admin/upgrade/html/forms/number.phtml +++ b/admin/upgrade/html/forms/number.phtml @@ -1,4 +1,4 @@ - + + member AND \IPS\Request::i()->key ) { $member = \IPS\Member::load( \IPS\Request::i()->member ); - if( !\IPS\Login::compareHashes( md5( ( $member->members_pass_hash ?: $member->email ) . $member->members_pass_salt ), (string) \IPS\Request::i()->key ) ) + if( !\IPS\Login::compareHashes( $member->getUniqueMemberHash(), (string) \IPS\Request::i()->key ) ) { $member = NULL; } @@ -155,14 +155,14 @@ class _Application extends \IPS\Application } /** - * Return an array of specific links to add to the sitemap + * Returns a list of all existing webhooks and their payload in this app. * - * @return array + * @return array */ - public function sitemapLinks() + public function getWebhooks() : array { - return array( - \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=browse', 'front', 'blogs' ), - ); + return array_merge( [ + 'blogBlog_create' => \IPS\blogs\Blog::class + ], parent::getWebhooks()); } } \ No newline at end of file diff --git a/applications/blog/api/comments.php b/applications/blog/api/comments.php index ca4313f3..77cc96a5 100644 --- a/applications/blog/api/comments.php +++ b/applications/blog/api/comments.php @@ -106,6 +106,7 @@ class _comments extends \IPS\Content\Api\CommentController * @apiparam datetime date The date/time that should be used for the comment date. If not provided, will use the current date/time. Ignored for requests using an OAuth Access Token for a particular member * @apiparam string ip_address The IP address that should be stored for the comment. If not provided, will use the IP address from the API request. Ignored for requests using an OAuth Access Token for a particular member * @apiparam int hidden 0 = unhidden; 1 = hidden, pending moderator approval; -1 = hidden (as if hidden by a moderator) + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @throws 2B301/2 INVALID_ID The comment ID does not exist * @throws 1B301/3 NO_AUTHOR The author ID does not exist * @throws 1B301/4 NO_CONTENT No content was supplied @@ -145,8 +146,15 @@ class _comments extends \IPS\Content\Api\CommentController } else { - $author = new \IPS\Member; - $author->name = \IPS\Request::i()->author_name; + if ( \IPS\Request::i()->author === 0 ) + { + $author = new \IPS\Member; + $author->name = \IPS\Request::i()->author_name; + } + else + { + throw new \IPS\Api\Exception( 'NO_AUTHOR', '1B301/3', 400 ); + } } } @@ -234,4 +242,57 @@ class _comments extends \IPS\Content\Api\CommentController throw new \IPS\Api\Exception( 'INVALID_ID', '2B301/7', 404 ); } } + + /** + * POST /blog/comments/{id}/react + * Add a reaction + * + * @param int $id ID Number + * @apiparam int id ID of the reaction to add + * @apiparam int author ID of the member reacting + * @return \IPS\blog\Entry\Comment + * @throws 1S425/2 NO_REACTION The reaction ID does not exist + * @throws 1S425/3 NO_AUTHOR The author ID does not exist + * @throws 1S425/4 REACT_ERROR Error adding the reaction + * @throws 1S425/5 INVALID_ID Object ID does not exist + * @note If the author has already reacted to this content, any existing reaction will be removed first + */ + public function POSTitem_react( $id ) + { + return $this->_reactAdd( $id ); + } + + /** + * DELETE /blog/comments/{id}/react + * Delete a reaction + * + * @param int $id ID Number + * @apiparam int author ID of the member who reacted + * @return \IPS\blog\Entry\Comment + * @throws 1S425/6 NO_AUTHOR The author ID does not exist + * @throws 1S425/7 REACT_ERROR Error adding the reaction + * @throws 1S425/8 INVALID_ID Object ID does not exist + * @note If the author has already reacted to this content, any existing reaction will be removed first + */ + public function DELETEitem_react( $id ) + { + return $this->_reactRemove( $id ); + } + + /** + * POST /blog/comments/{id}/report + * Reports a post + * + * @param int $id ID Number + * @apiparam int author ID of the member reporting + * @apiparam int report_type Report type (0 is default and is for letting CMGR team know, more options via core_automatic_moderation_types) + * @apiparam string message Optional message + * @return \IPS\blog\Entry\Comment + * @throws 1S425/B NO_AUTHOR The author ID does not exist + * @throws 1S425/C REPORTED_ALREADY The member has reported this item in the past 24 hours + */ + public function POSTitem_report( $id ) + { + return $this->_report( $id ); + } } \ No newline at end of file diff --git a/applications/blog/api/entries.php b/applications/blog/api/entries.php index c6f4a76f..cfce7ed3 100644 --- a/applications/blog/api/entries.php +++ b/applications/blog/api/entries.php @@ -130,6 +130,7 @@ class _entries extends \IPS\Content\Api\ItemController * @apiparam bool poll_public Make the poll public * @apiparam bool poll_only Make this a poll-only topic * @apiparam array poll_options Array of objects with keys 'title' (string), 'answers' (array of objects with key 'value' set to the choice) and 'multichoice' (bool) + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @throws 1B300/2 NO_BLOG The blog ID does not exist * @throws 1B300/3 NO_AUTHOR The author ID does not exist * @throws 1B300/4 NO_TITLE No title was supplied @@ -170,7 +171,14 @@ class _entries extends \IPS\Content\Api\ItemController } else { - $author = new \IPS\Member; + if ( \IPS\Request::i()->author === 0 ) + { + $author = new \IPS\Member; + } + else + { + throw new \IPS\Api\Exception( 'NO_AUTHOR', '1B300/3', 400 ); + } } } diff --git a/applications/blog/data/javascript.xml b/applications/blog/data/javascript.xml index 2653f891..1534067f 100644 --- a/applications/blog/data/javascript.xml +++ b/applications/blog/data/javascript.xml @@ -1,6 +1,6 @@ - - /** + /** * Invision Community * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * @@ -66,7 +66,7 @@ } }); }(jQuery, _)); - - {{#lang}}manage_cats_new_row{{/lang}}\ "); diff --git a/applications/blog/data/lang.xml b/applications/blog/data/lang.xml index a4e6f4e8..932380ff 100644 --- a/applications/blog/data/lang.xml +++ b/applications/blog/data/lang.xml @@ -1,6 +1,6 @@ - + Blogs Blogs a comment on a blog entry @@ -22,6 +22,7 @@ Blog Overview Blogs Blog Entries + Blog Categories Checks RSS/Atom feeds for new articles and imports into Blogs. Blog Cover Photos Blog @@ -89,6 +90,7 @@ No Blog Author selected Deleted Blog %s Are you sure you want to delete this blog? + This will permanently delete the blog and all its entries. Submit New Blog Entry Title Tags @@ -311,6 +313,7 @@ There are no entries in this category Entry Categories Subcategories + Fired when a blog is created Are you sure you want to delete this category? Existing entries in this category will be updated so that they are no longer in a category. Add New Category diff --git a/applications/blog/data/theme.xml b/applications/blog/data/theme.xml index 869158cf..7f8e970a 100644 --- a/applications/blog/data/theme.xml +++ b/applications/blog/data/theme.xml @@ -104,7 +104,7 @@ {{else}} {{foreach $blogs as $blog}} {{if $blog->disabled != 1}} - id}" seoTemplate="blog_submit"}"> + id}" seoTemplate="blog_submit"}" rel='nofollow noindex'> {lang="add_entry"} {{endif}} @@ -809,20 +809,20 @@ {{if ( isset( $table->sortOptions ) and !empty( $table->sortOptions ) ) OR $table->advancedSearch}}
  • {{if isset($table->sortOptions) }} - {lang="sort_by"} + {lang="sort_by"} {{elseif $table->advancedSearch}} - '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}'>{lang="custom"} + '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}' rel="nofollow">{lang="custom"} {{endif}}
  • {{endif}} @@ -831,11 +831,11 @@ {lang="filter_by"} @@ -1512,9 +1512,9 @@ {{if \IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog )}}
  • {{if $category}} - id}&cat={$category->_id}" seoTemplate="blog_submit"}">{lang="add_blog_entry"} + id}&cat={$category->_id}" seoTemplate="blog_submit"}" rel='nofollow noindex'>{lang="add_blog_entry"} {{else}} - id}" seoTemplate="blog_submit"}">{lang="add_blog_entry"} + id}" seoTemplate="blog_submit"}" rel='nofollow noindex'>{lang="add_blog_entry"} {{endif}}
  • {{endif}} @@ -1567,7 +1567,7 @@ {{if $blog->canDelete() }}
  • - 'deleteBlog', 'csrfKey' => \IPS\Session::i()->csrfKey ) )}' data-confirm title="{lang="delete_blog"}" data-confirmMessage="{lang="delete_blog_confirm"}" >{lang="delete_blog"} + 'deleteBlog', 'csrfKey' => \IPS\Session::i()->csrfKey ) )}' data-confirm title="{lang="delete_blog"}" data-confirmMessage="{lang="delete_blog_confirm"}" data-confirmSubMessage="{lang="delete_blog_warning"}" >{lang="delete_blog"}
  • {{endif}} @@ -2041,8 +2041,8 @@ html[dir="ltr"] .cBlogCatManage .ipsDataItem_size3 a[data-action="edit"] { margin-right:5px; } -html[dir="rtl"] .cBlogCatManage .ipsDataItem_size3 a[data-action="edit"]s { - margin-left:5px; +html[dir="rtl"] .cBlogCatManage .ipsDataItem_size3 a[data-action="edit"] { + margin-left:5px; } .cBlogCatManage span.ipsDataItem_title { diff --git a/applications/blog/data/versions.json b/applications/blog/data/versions.json index b5e22261..ded7012d 100644 --- a/applications/blog/data/versions.json +++ b/applications/blog/data/versions.json @@ -413,5 +413,80 @@ "106104": "4.6.0 Beta 3", "106105": "4.6.0 Beta 3.1", "106106": "4.6.0 Beta 4", - "106107": "4.6.0" + "106107": "4.6.0", + "106108": "4.6.0", + "106109": "4.6.0", + "106110": "4.6.1", + "106111": "4.6.1", + "106112": "4.6.1", + "106113": "4.6.2", + "106114": "4.6.2", + "106115": "4.6.2", + "106116": "4.6.3", + "106117": "4.6.3", + "106118": "4.6.4", + "106119": "4.6.4", + "106120": "4.6.4", + "106121": "4.6.4", + "106122": "4.6.5", + "106123": "4.6.5.1", + "106125": "4.6.5.1", + "106126": "4.6.5.1", + "106127": "4.6.5.1", + "106128": "4.6.5.1", + "106129": "4.6.5.1", + "106130": "4.6.5.1", + "106131": "4.6.5.1", + "106132": "4.6.6", + "106133": "4.6.6", + "106134": "4.6.7 Beta 1", + "106135": "4.6.7 Beta 2", + "106136": "4.6.7", + "106137": "4.6.7", + "106138": "4.6.8 Beta 1", + "106139": "4.6.8 Beta 2", + "106140": "4.6.8", + "106141": "4.6.8", + "106142": "4.6.8", + "106143": "4.6.8", + "106144": "4.6.9 Beta 1", + "106145": "4.6.9 Beta 2", + "106146": "4.6.9 Beta 3", + "106147": "4.6.9", + "106148": "4.6.9", + "106149": "4.6.10 Beta 1", + "106150": "4.6.10 Beta 2", + "106151": "4.6.10", + "106152": "4.6.10", + "106153": "4.6.10", + "106154": "4.6.10", + "106155": "4.6.10", + "106156": "4.6.11 Beta 1", + "106157": "4.6.11 Beta 1", + "106158": "4.6.11 Beta 2", + "106159": "4.6.11", + "106160": "4.6.11", + "106161": "4.6.12 Beta 1", + "106162": "4.6.12 Beta 1", + "106163": "4.6.12 Beta 2", + "106164": "4.6.12", + "106165": "4.6.12", + "106166": "4.6.12", + "106167": "4.6.12.1", + "106168": "4.6.13 Beta 1", + "107000": "4.7.0 Beta 1", + "107001": "4.7.0 Beta 1", + "107002": "4.7.0 Beta 2", + "107003": "4.7.0 Beta 2", + "107004": "4.7.0 Beta 3", + "107005": "4.7.0 Beta 4", + "107006": "4.7.0 Beta 4.1", + "107007": "4.7.0 Beta 5", + "107008": "4.7.0 Beta 6", + "107009": "4.7.0 Beta 7", + "107010": "4.7.0 Beta 8", + "107011": "4.7.0 Beta 9", + "107012": "4.7.0 Beta 10", + "107013": "4.7.0", + "107014": "4.7.0" } \ No newline at end of file diff --git a/applications/blog/extensions/core/EditorLocations/Blogs.php b/applications/blog/extensions/core/EditorLocations/Blogs.php index 34f346e1..4fd16a9c 100644 --- a/applications/blog/extensions/core/EditorLocations/Blogs.php +++ b/applications/blog/extensions/core/EditorLocations/Blogs.php @@ -46,6 +46,34 @@ class _Blogs return NULL; } + /** + * Can whatever is posted in this editor be moderated? + * If this returns TRUE, we must ensure the content is ran through word, link and image filters + * + * @param \IPS\Member $member The member + * @param \IPS\Helpers\Form\Editor $field The editor field + * @return bool + */ + public function canBeModerated( $member, $field ) + { + if ( preg_match( '/^blogs\-(?:new-blog|blog|new-blog-group\d+)$/', $field->options['autoSaveKey'] ) ) + { + return FALSE; + } + elseif ( preg_match( '/^(?:reply|editComment)\-blog\/blogs-\d+$/', $field->options['autoSaveKey'] ) ) + { + return TRUE; + } + else + { + if ( \IPS\IN_DEV ) + { + throw new \RuntimeException( 'Unknown canBeModerated: ' . $field->options['autoSaveKey'] ); + } + return FALSE; + } + } + /** * Permission check for attachments * diff --git a/applications/blog/extensions/core/EditorLocations/Entries.php b/applications/blog/extensions/core/EditorLocations/Entries.php index dae589bf..b2121f37 100644 --- a/applications/blog/extensions/core/EditorLocations/Entries.php +++ b/applications/blog/extensions/core/EditorLocations/Entries.php @@ -45,6 +45,30 @@ class _Entries { return NULL; } + + /** + * Can whatever is posted in this editor be moderated? + * If this returns TRUE, we must ensure the content is ran through word, link and image filters + * + * @param \IPS\Member $member The member + * @param \IPS\Helpers\Form\Editor $field The editor field + * @return bool + */ + public function canBeModerated( $member, $field ) + { + if ( preg_match( '/^blog\-(?:entry|edit)\-\d+$/', $field->options['autoSaveKey'] ) ) + { + return TRUE; + } + else + { + if ( \IPS\IN_DEV ) + { + throw new \RuntimeException( 'Unknown canBeModerated: ' . $field->options['autoSaveKey'] ); + } + return FALSE; + } + } /** * Permission check for attachments diff --git a/applications/blog/modules/front/blogs/browse.php b/applications/blog/modules/front/blogs/browse.php index dd8b740f..90902ec3 100644 --- a/applications/blog/modules/front/blogs/browse.php +++ b/applications/blog/modules/front/blogs/browse.php @@ -91,11 +91,17 @@ class _browse extends \IPS\Dispatcher\Controller $count = \IPS\blog\Entry::getItemsWithPermission( $where, 'entry_date desc', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, TRUE, FALSE, FALSE, TRUE ); $entries = \IPS\blog\Entry::getItemsWithPermission( $where, 'entry_date desc', array( ( $perpage * ( $page - 1 ) ), $perpage ), 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, TRUE ); + $queryString = 'app=blog&module=blogs&controller=browse'; + if( $category ) + { + $queryString .= '&id=' . $category->_id; + } + $paginationUrl = \IPS\Http\Url::internal( $queryString, 'front', ( $category ) ? 'blog_category' : 'blogs' ); $pagination = array( 'page' => $page, 'pages' => ceil( $count / $perpage ), 'perpage' => $perpage, - 'url' => \IPS\Http\Url::internal( 'app=blog&module=blogs&controller=browse', 'front', 'blogs' ) + 'url' => $paginationUrl ); \IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'grid.css', 'blog', 'front' ) ); diff --git a/applications/blog/modules/front/blogs/entry.php b/applications/blog/modules/front/blogs/entry.php index abad9fdf..1b5d95a9 100644 --- a/applications/blog/modules/front/blogs/entry.php +++ b/applications/blog/modules/front/blogs/entry.php @@ -120,7 +120,8 @@ class _entry extends \IPS\Content\Controller '@type' => "Blog", 'url' => (string) $this->entry->container()->url(), 'name' => $this->entry->container()->_title, - 'description' => strip_tags( $this->entry->container()->description ), + 'description' => \IPS\Member::loggedIn()->language()->addToStack( \IPS\blog\Blog::$titleLangPrefix . $this->entry->container()->_id . \IPS\blog\Blog::$descriptionLangSuffix, TRUE, array( 'striptags' => TRUE, 'escape' => TRUE ) ), + 'commentCount' => $this->entry->container()->_comments, 'interactionStatistic' => array( array( @@ -255,7 +256,19 @@ class _entry extends \IPS\Content\Controller /* Breadcrumb */ \IPS\Output::i()->breadcrumb = array(); - \IPS\Output::i()->breadcrumb['module'] = array( \IPS\Http\Url::internal( 'app=blog', 'front', 'blogs' ), \IPS\Member::loggedIn()->language()->addToStack( '__app_blog' ) ); + if ( $club = $this->entry->container()->club() ) + { + \IPS\core\FrontNavigation::$clubTabActive = TRUE; + \IPS\Output::i()->breadcrumb = array(); + \IPS\Output::i()->breadcrumb[] = array( \IPS\Http\Url::internal( 'app=core&module=clubs&controller=directory', 'front', 'clubs_list' ), \IPS\Member::loggedIn()->language()->addToStack('module__core_clubs') ); + \IPS\Output::i()->breadcrumb[] = array( $club->url(), $club->name ); + + } + else + { + \IPS\Output::i()->breadcrumb['module'] = array( \IPS\Http\Url::internal( 'app=blog', 'front', 'blogs' ), \IPS\Member::loggedIn()->language()->addToStack( '__app_blog' ) ); + } + try { diff --git a/applications/blog/modules/front/blogs/view.php b/applications/blog/modules/front/blogs/view.php index fc4b9b22..e93fa213 100644 --- a/applications/blog/modules/front/blogs/view.php +++ b/applications/blog/modules/front/blogs/view.php @@ -128,7 +128,7 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller if ( \IPS\Member::loggedIn()->member_id ) { - $key = md5( ( \IPS\Member::loggedIn()->members_pass_hash ?: \IPS\Member::loggedIn()->email ) . \IPS\Member::loggedIn()->members_pass_salt ); + $key = \IPS\Member::loggedIn()->getUniqueMemberHash(); \IPS\Output::i()->rssFeeds['blog_rss_title'] = \IPS\Output::i()->rssFeeds['blog_rss_title']->setQueryString( array( 'member' => \IPS\Member::loggedIn()->member_id , 'key' => $key ) ); } @@ -140,7 +140,7 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller '@type' => "Blog", 'url' => (string) $this->blog->url(), 'name' => $this->blog->_title, - 'description' => strip_tags( $this->blog->description ), + 'description' => $this->blog->member_id ? $this->blog->desc : \IPS\Member::loggedIn()->language()->addToStack( \IPS\blog\Blog::$titleLangPrefix . $this->blog->_id . \IPS\blog\Blog::$descriptionLangSuffix, TRUE, array( 'striptags' => TRUE, 'escape' => TRUE ) ), 'commentCount' => $this->blog->_comments, 'interactionStatistic' => array( array( @@ -187,7 +187,19 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller } \IPS\Output::i()->breadcrumb = array(); - \IPS\Output::i()->breadcrumb['module'] = array( \IPS\Http\Url::internal( 'app=blog', 'front', 'blogs' ), \IPS\Member::loggedIn()->language()->addToStack( '__app_blog' ) ); + if ( $club = $this->blog->club() ) + { + \IPS\core\FrontNavigation::$clubTabActive = TRUE; + \IPS\Output::i()->breadcrumb = array(); + \IPS\Output::i()->breadcrumb[] = array( \IPS\Http\Url::internal( 'app=core&module=clubs&controller=directory', 'front', 'clubs_list' ), \IPS\Member::loggedIn()->language()->addToStack('module__core_clubs') ); + \IPS\Output::i()->breadcrumb[] = array( $club->url(), $club->name ); + + } + else + { + \IPS\Output::i()->breadcrumb['module'] = array( \IPS\Http\Url::internal( 'app=blog', 'front', 'blogs' ), \IPS\Member::loggedIn()->language()->addToStack( '__app_blog' ) ); + } + try { diff --git a/applications/blog/setup/upg_106108/data.json b/applications/blog/setup/upg_106108/data.json new file mode 100644 index 00000000..bd0e6c8e --- /dev/null +++ b/applications/blog/setup/upg_106108/data.json @@ -0,0 +1,24 @@ +{ + "id": 106108, + "name": "4.6.0", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106109/data.json b/applications/blog/setup/upg_106109/data.json new file mode 100644 index 00000000..b42f4f16 --- /dev/null +++ b/applications/blog/setup/upg_106109/data.json @@ -0,0 +1,24 @@ +{ + "id": 106109, + "name": "4.6.0", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106110/data.json b/applications/blog/setup/upg_106110/data.json new file mode 100644 index 00000000..e318d8c0 --- /dev/null +++ b/applications/blog/setup/upg_106110/data.json @@ -0,0 +1,24 @@ +{ + "id": 106110, + "name": "4.6.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106111/data.json b/applications/blog/setup/upg_106111/data.json new file mode 100644 index 00000000..5c0715a7 --- /dev/null +++ b/applications/blog/setup/upg_106111/data.json @@ -0,0 +1,24 @@ +{ + "id": 106111, + "name": "4.6.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106112/data.json b/applications/blog/setup/upg_106112/data.json new file mode 100644 index 00000000..5ad3efa5 --- /dev/null +++ b/applications/blog/setup/upg_106112/data.json @@ -0,0 +1,24 @@ +{ + "id": 106112, + "name": "4.6.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106113/data.json b/applications/blog/setup/upg_106113/data.json new file mode 100644 index 00000000..29b524dd --- /dev/null +++ b/applications/blog/setup/upg_106113/data.json @@ -0,0 +1,24 @@ +{ + "id": 106113, + "name": "4.6.2", + "steps": { + "queries": false, + "lang": true, + "theme": true, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106113/lang.json b/applications/blog/setup/upg_106113/lang.json new file mode 100644 index 00000000..70d4c42c --- /dev/null +++ b/applications/blog/setup/upg_106113/lang.json @@ -0,0 +1,14 @@ +{ + "normal": { + "added": [ + "delete_blog_warning" + ], + "edited": [], + "removed": [] + }, + "js": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106113/theme.json b/applications/blog/setup/upg_106113/theme.json new file mode 100644 index 00000000..9b49a4d1 --- /dev/null +++ b/applications/blog/setup/upg_106113/theme.json @@ -0,0 +1,19 @@ +{ + "html": { + "added": [], + "edited": [ + "front\/view\/view" + ], + "removed": [] + }, + "css": { + "added": [], + "edited": [], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106114/data.json b/applications/blog/setup/upg_106114/data.json new file mode 100644 index 00000000..916ee2c1 --- /dev/null +++ b/applications/blog/setup/upg_106114/data.json @@ -0,0 +1,24 @@ +{ + "id": 106114, + "name": "4.6.2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106115/data.json b/applications/blog/setup/upg_106115/data.json new file mode 100644 index 00000000..ea4159e2 --- /dev/null +++ b/applications/blog/setup/upg_106115/data.json @@ -0,0 +1,24 @@ +{ + "id": 106115, + "name": "4.6.2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106116/data.json b/applications/blog/setup/upg_106116/data.json new file mode 100644 index 00000000..0c1d3935 --- /dev/null +++ b/applications/blog/setup/upg_106116/data.json @@ -0,0 +1,24 @@ +{ + "id": 106116, + "name": "4.6.3", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106117/data.json b/applications/blog/setup/upg_106117/data.json new file mode 100644 index 00000000..1931c170 --- /dev/null +++ b/applications/blog/setup/upg_106117/data.json @@ -0,0 +1,24 @@ +{ + "id": 106117, + "name": "4.6.3", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106118/data.json b/applications/blog/setup/upg_106118/data.json new file mode 100644 index 00000000..e2390c0a --- /dev/null +++ b/applications/blog/setup/upg_106118/data.json @@ -0,0 +1,24 @@ +{ + "id": 106118, + "name": "4.6.4", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106119/data.json b/applications/blog/setup/upg_106119/data.json new file mode 100644 index 00000000..80deeb47 --- /dev/null +++ b/applications/blog/setup/upg_106119/data.json @@ -0,0 +1,24 @@ +{ + "id": 106119, + "name": "4.6.4", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106120/data.json b/applications/blog/setup/upg_106120/data.json new file mode 100644 index 00000000..fcfb2e60 --- /dev/null +++ b/applications/blog/setup/upg_106120/data.json @@ -0,0 +1,24 @@ +{ + "id": 106120, + "name": "4.6.4", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106121/data.json b/applications/blog/setup/upg_106121/data.json new file mode 100644 index 00000000..578c19d9 --- /dev/null +++ b/applications/blog/setup/upg_106121/data.json @@ -0,0 +1,24 @@ +{ + "id": 106121, + "name": "4.6.4", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106122/data.json b/applications/blog/setup/upg_106122/data.json new file mode 100644 index 00000000..e6f5a16d --- /dev/null +++ b/applications/blog/setup/upg_106122/data.json @@ -0,0 +1,24 @@ +{ + "id": 106122, + "name": "4.6.5", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106123/data.json b/applications/blog/setup/upg_106123/data.json new file mode 100644 index 00000000..1c12db6d --- /dev/null +++ b/applications/blog/setup/upg_106123/data.json @@ -0,0 +1,24 @@ +{ + "id": 106123, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106123/emailTemplates.json b/applications/blog/setup/upg_106123/emailTemplates.json new file mode 100644 index 00000000..95fd62cb --- /dev/null +++ b/applications/blog/setup/upg_106123/emailTemplates.json @@ -0,0 +1,8 @@ +{ + "added": [], + "edited": [ + "digests__item", + "digests__comment" + ], + "removed": [] +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106123/javascript.json b/applications/blog/setup/upg_106123/javascript.json new file mode 100644 index 00000000..a74207a5 --- /dev/null +++ b/applications/blog/setup/upg_106123/javascript.json @@ -0,0 +1,22 @@ +{ + "files": { + "added": [], + "edited": [ + "blog\/front\/controllers\/browse\/ips.browse.grid.js", + "blog\/front\/controllers\/browse\/ips.browse.list.js", + "blog\/front\/controllers\/view\/ips.view.manageCategories.js", + "blog\/front\/templates\/ips.templates.view.js" + ], + "removed": [] + }, + "orders": { + "added": [], + "edited": [ + "global\/\/dev\/js\/\/framework\/", + "global\/\/dev\/js\/\/library\/", + "global\/\/dev\/js\/\/library\/\/jquery", + "global\/\/dev\/js\/\/library\/\/linkify" + ], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106123/theme.json b/applications/blog/setup/upg_106123/theme.json new file mode 100644 index 00000000..eb88b3e0 --- /dev/null +++ b/applications/blog/setup/upg_106123/theme.json @@ -0,0 +1,63 @@ +{ + "html": { + "added": [], + "edited": [ + "front\/browse\/categories", + "front\/browse\/featuredEntries", + "front\/browse\/index", + "front\/browse\/indexButtons", + "front\/browse\/indexGrid", + "front\/browse\/indexGridEntry", + "front\/browse\/rows", + "admin\/dashboard\/overview", + "front\/global\/commentTableHeader", + "front\/global\/embedBlogs", + "front\/global\/embedEntry", + "front\/global\/embedEntryComment", + "front\/global\/embedEntryItemSnippet", + "front\/global\/profileBlogRows", + "front\/global\/profileBlogTable", + "front\/global\/rows", + "admin\/livesearch\/blog", + "front\/submit\/blogSelector", + "front\/submit\/createBlog", + "front\/submit\/submit", + "front\/submit\/submitFormTemplate", + "front\/view\/blogHeader", + "front\/view\/blogSidebar", + "front\/view\/blogTable", + "front\/view\/blogViewLarge", + "front\/view\/blogViewMedium", + "front\/view\/categories", + "front\/view\/comments", + "front\/view\/coverPhotoOverlay", + "front\/view\/entry", + "front\/view\/manageCategories", + "front\/view\/noEntries", + "front\/view\/rows", + "front\/view\/rowsGrid", + "front\/view\/view", + "front\/widgets\/blogCommentFeed", + "front\/widgets\/blogs", + "front\/widgets\/blogStatistics", + "front\/widgets\/entryFeed", + "front\/widgets\/entryRow" + ], + "removed": [] + }, + "css": { + "added": [], + "edited": [ + "front\/blog.css", + "front\/embed.css", + "front\/grid.css", + "front\/profile.css" + ], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106125/data.json b/applications/blog/setup/upg_106125/data.json new file mode 100644 index 00000000..bc40575f --- /dev/null +++ b/applications/blog/setup/upg_106125/data.json @@ -0,0 +1,24 @@ +{ + "id": 106125, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106125/emailTemplates.json b/applications/blog/setup/upg_106125/emailTemplates.json new file mode 100644 index 00000000..95fd62cb --- /dev/null +++ b/applications/blog/setup/upg_106125/emailTemplates.json @@ -0,0 +1,8 @@ +{ + "added": [], + "edited": [ + "digests__item", + "digests__comment" + ], + "removed": [] +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106125/javascript.json b/applications/blog/setup/upg_106125/javascript.json new file mode 100644 index 00000000..5dfbae2f --- /dev/null +++ b/applications/blog/setup/upg_106125/javascript.json @@ -0,0 +1,16 @@ +{ + "files": { + "added": [], + "edited": [ + "blog\/front\/controllers\/browse\/ips.browse.grid.js", + "blog\/front\/controllers\/view\/ips.view.manageCategories.js", + "blog\/front\/templates\/ips.templates.view.js" + ], + "removed": [] + }, + "orders": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106125/theme.json b/applications/blog/setup/upg_106125/theme.json new file mode 100644 index 00000000..5e5d3c15 --- /dev/null +++ b/applications/blog/setup/upg_106125/theme.json @@ -0,0 +1,62 @@ +{ + "html": { + "added": [], + "edited": [ + "front\/browse\/categories", + "front\/browse\/featuredEntries", + "front\/browse\/index", + "front\/browse\/indexButtons", + "front\/browse\/indexGrid", + "front\/browse\/indexGridEntry", + "front\/browse\/rows", + "admin\/dashboard\/overview", + "front\/global\/commentTableHeader", + "front\/global\/embedBlogs", + "front\/global\/embedEntry", + "front\/global\/embedEntryComment", + "front\/global\/embedEntryItemSnippet", + "front\/global\/profileBlogRows", + "front\/global\/profileBlogTable", + "front\/global\/rows", + "admin\/livesearch\/blog", + "front\/submit\/blogSelector", + "front\/submit\/createBlog", + "front\/submit\/submit", + "front\/submit\/submitFormTemplate", + "front\/view\/blogHeader", + "front\/view\/blogSidebar", + "front\/view\/blogTable", + "front\/view\/blogViewLarge", + "front\/view\/blogViewMedium", + "front\/view\/categories", + "front\/view\/comments", + "front\/view\/coverPhotoOverlay", + "front\/view\/entry", + "front\/view\/manageCategories", + "front\/view\/noEntries", + "front\/view\/rows", + "front\/view\/rowsGrid", + "front\/view\/view", + "front\/widgets\/blogCommentFeed", + "front\/widgets\/blogs", + "front\/widgets\/blogStatistics", + "front\/widgets\/entryFeed", + "front\/widgets\/entryRow" + ], + "removed": [] + }, + "css": { + "added": [], + "edited": [ + "front\/blog.css", + "front\/grid.css", + "front\/profile.css" + ], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106126/data.json b/applications/blog/setup/upg_106126/data.json new file mode 100644 index 00000000..27629fee --- /dev/null +++ b/applications/blog/setup/upg_106126/data.json @@ -0,0 +1,24 @@ +{ + "id": 106126, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106126/emailTemplates.json b/applications/blog/setup/upg_106126/emailTemplates.json new file mode 100644 index 00000000..95fd62cb --- /dev/null +++ b/applications/blog/setup/upg_106126/emailTemplates.json @@ -0,0 +1,8 @@ +{ + "added": [], + "edited": [ + "digests__item", + "digests__comment" + ], + "removed": [] +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106126/javascript.json b/applications/blog/setup/upg_106126/javascript.json new file mode 100644 index 00000000..5dfbae2f --- /dev/null +++ b/applications/blog/setup/upg_106126/javascript.json @@ -0,0 +1,16 @@ +{ + "files": { + "added": [], + "edited": [ + "blog\/front\/controllers\/browse\/ips.browse.grid.js", + "blog\/front\/controllers\/view\/ips.view.manageCategories.js", + "blog\/front\/templates\/ips.templates.view.js" + ], + "removed": [] + }, + "orders": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106126/theme.json b/applications/blog/setup/upg_106126/theme.json new file mode 100644 index 00000000..5e5d3c15 --- /dev/null +++ b/applications/blog/setup/upg_106126/theme.json @@ -0,0 +1,62 @@ +{ + "html": { + "added": [], + "edited": [ + "front\/browse\/categories", + "front\/browse\/featuredEntries", + "front\/browse\/index", + "front\/browse\/indexButtons", + "front\/browse\/indexGrid", + "front\/browse\/indexGridEntry", + "front\/browse\/rows", + "admin\/dashboard\/overview", + "front\/global\/commentTableHeader", + "front\/global\/embedBlogs", + "front\/global\/embedEntry", + "front\/global\/embedEntryComment", + "front\/global\/embedEntryItemSnippet", + "front\/global\/profileBlogRows", + "front\/global\/profileBlogTable", + "front\/global\/rows", + "admin\/livesearch\/blog", + "front\/submit\/blogSelector", + "front\/submit\/createBlog", + "front\/submit\/submit", + "front\/submit\/submitFormTemplate", + "front\/view\/blogHeader", + "front\/view\/blogSidebar", + "front\/view\/blogTable", + "front\/view\/blogViewLarge", + "front\/view\/blogViewMedium", + "front\/view\/categories", + "front\/view\/comments", + "front\/view\/coverPhotoOverlay", + "front\/view\/entry", + "front\/view\/manageCategories", + "front\/view\/noEntries", + "front\/view\/rows", + "front\/view\/rowsGrid", + "front\/view\/view", + "front\/widgets\/blogCommentFeed", + "front\/widgets\/blogs", + "front\/widgets\/blogStatistics", + "front\/widgets\/entryFeed", + "front\/widgets\/entryRow" + ], + "removed": [] + }, + "css": { + "added": [], + "edited": [ + "front\/blog.css", + "front\/grid.css", + "front\/profile.css" + ], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106127/data.json b/applications/blog/setup/upg_106127/data.json new file mode 100644 index 00000000..0e6618af --- /dev/null +++ b/applications/blog/setup/upg_106127/data.json @@ -0,0 +1,24 @@ +{ + "id": 106127, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106128/data.json b/applications/blog/setup/upg_106128/data.json new file mode 100644 index 00000000..9339d3ef --- /dev/null +++ b/applications/blog/setup/upg_106128/data.json @@ -0,0 +1,24 @@ +{ + "id": 106128, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": true, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106128/theme.json b/applications/blog/setup/upg_106128/theme.json new file mode 100644 index 00000000..fbdd1456 --- /dev/null +++ b/applications/blog/setup/upg_106128/theme.json @@ -0,0 +1,19 @@ +{ + "html": { + "added": [], + "edited": [], + "removed": [] + }, + "css": { + "added": [], + "edited": [ + "front\/embed.css" + ], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106129/data.json b/applications/blog/setup/upg_106129/data.json new file mode 100644 index 00000000..5c3c64cd --- /dev/null +++ b/applications/blog/setup/upg_106129/data.json @@ -0,0 +1,24 @@ +{ + "id": 106129, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106130/data.json b/applications/blog/setup/upg_106130/data.json new file mode 100644 index 00000000..07270ae0 --- /dev/null +++ b/applications/blog/setup/upg_106130/data.json @@ -0,0 +1,24 @@ +{ + "id": 106130, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106131/data.json b/applications/blog/setup/upg_106131/data.json new file mode 100644 index 00000000..9a849201 --- /dev/null +++ b/applications/blog/setup/upg_106131/data.json @@ -0,0 +1,24 @@ +{ + "id": 106131, + "name": "4.6.5.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106132/data.json b/applications/blog/setup/upg_106132/data.json new file mode 100644 index 00000000..9399ebab --- /dev/null +++ b/applications/blog/setup/upg_106132/data.json @@ -0,0 +1,24 @@ +{ + "id": 106132, + "name": "4.6.6", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106133/data.json b/applications/blog/setup/upg_106133/data.json new file mode 100644 index 00000000..b5590803 --- /dev/null +++ b/applications/blog/setup/upg_106133/data.json @@ -0,0 +1,24 @@ +{ + "id": 106133, + "name": "4.6.6", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106134/data.json b/applications/blog/setup/upg_106134/data.json new file mode 100644 index 00000000..8b924bcb --- /dev/null +++ b/applications/blog/setup/upg_106134/data.json @@ -0,0 +1,24 @@ +{ + "id": 106134, + "name": "4.6.7 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106135/data.json b/applications/blog/setup/upg_106135/data.json new file mode 100644 index 00000000..4dbd7e19 --- /dev/null +++ b/applications/blog/setup/upg_106135/data.json @@ -0,0 +1,24 @@ +{ + "id": 106135, + "name": "4.6.7 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106136/data.json b/applications/blog/setup/upg_106136/data.json new file mode 100644 index 00000000..d195dc1d --- /dev/null +++ b/applications/blog/setup/upg_106136/data.json @@ -0,0 +1,24 @@ +{ + "id": 106136, + "name": "4.6.7", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106137/data.json b/applications/blog/setup/upg_106137/data.json new file mode 100644 index 00000000..6b84daaf --- /dev/null +++ b/applications/blog/setup/upg_106137/data.json @@ -0,0 +1,24 @@ +{ + "id": 106137, + "name": "4.6.7", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106138/data.json b/applications/blog/setup/upg_106138/data.json new file mode 100644 index 00000000..13fbd904 --- /dev/null +++ b/applications/blog/setup/upg_106138/data.json @@ -0,0 +1,24 @@ +{ + "id": 106138, + "name": "4.6.8 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": true, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106138/theme.json b/applications/blog/setup/upg_106138/theme.json new file mode 100644 index 00000000..4d72af93 --- /dev/null +++ b/applications/blog/setup/upg_106138/theme.json @@ -0,0 +1,19 @@ +{ + "html": { + "added": [], + "edited": [ + "front\/view\/blogTable" + ], + "removed": [] + }, + "css": { + "added": [], + "edited": [], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106139/data.json b/applications/blog/setup/upg_106139/data.json new file mode 100644 index 00000000..6aaf8d17 --- /dev/null +++ b/applications/blog/setup/upg_106139/data.json @@ -0,0 +1,24 @@ +{ + "id": 106139, + "name": "4.6.8 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106140/data.json b/applications/blog/setup/upg_106140/data.json new file mode 100644 index 00000000..7530b998 --- /dev/null +++ b/applications/blog/setup/upg_106140/data.json @@ -0,0 +1,24 @@ +{ + "id": 106140, + "name": "4.6.8", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106141/data.json b/applications/blog/setup/upg_106141/data.json new file mode 100644 index 00000000..679e06da --- /dev/null +++ b/applications/blog/setup/upg_106141/data.json @@ -0,0 +1,24 @@ +{ + "id": 106141, + "name": "4.6.8", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106142/data.json b/applications/blog/setup/upg_106142/data.json new file mode 100644 index 00000000..d6759827 --- /dev/null +++ b/applications/blog/setup/upg_106142/data.json @@ -0,0 +1,24 @@ +{ + "id": 106142, + "name": "4.6.8", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106143/data.json b/applications/blog/setup/upg_106143/data.json new file mode 100644 index 00000000..2744f0f9 --- /dev/null +++ b/applications/blog/setup/upg_106143/data.json @@ -0,0 +1,24 @@ +{ + "id": 106143, + "name": "4.6.8", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106144/data.json b/applications/blog/setup/upg_106144/data.json new file mode 100644 index 00000000..b48f8ad9 --- /dev/null +++ b/applications/blog/setup/upg_106144/data.json @@ -0,0 +1,24 @@ +{ + "id": 106144, + "name": "4.6.9 Beta 1", + "steps": { + "queries": false, + "lang": true, + "theme": true, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106144/lang.json b/applications/blog/setup/upg_106144/lang.json new file mode 100644 index 00000000..280f415b --- /dev/null +++ b/applications/blog/setup/upg_106144/lang.json @@ -0,0 +1,14 @@ +{ + "normal": { + "added": [ + "editor__blog_Categories" + ], + "edited": [], + "removed": [] + }, + "js": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106144/theme.json b/applications/blog/setup/upg_106144/theme.json new file mode 100644 index 00000000..36ef8fff --- /dev/null +++ b/applications/blog/setup/upg_106144/theme.json @@ -0,0 +1,20 @@ +{ + "html": { + "added": [], + "edited": [ + "front\/browse\/indexButtons", + "front\/view\/view" + ], + "removed": [] + }, + "css": { + "added": [], + "edited": [], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106145/data.json b/applications/blog/setup/upg_106145/data.json new file mode 100644 index 00000000..e9da8d80 --- /dev/null +++ b/applications/blog/setup/upg_106145/data.json @@ -0,0 +1,24 @@ +{ + "id": 106145, + "name": "4.6.9 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106146/data.json b/applications/blog/setup/upg_106146/data.json new file mode 100644 index 00000000..798818b9 --- /dev/null +++ b/applications/blog/setup/upg_106146/data.json @@ -0,0 +1,24 @@ +{ + "id": 106146, + "name": "4.6.9 Beta 3", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106147/data.json b/applications/blog/setup/upg_106147/data.json new file mode 100644 index 00000000..1402f6fc --- /dev/null +++ b/applications/blog/setup/upg_106147/data.json @@ -0,0 +1,24 @@ +{ + "id": 106147, + "name": "4.6.9", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106148/data.json b/applications/blog/setup/upg_106148/data.json new file mode 100644 index 00000000..e21e26f3 --- /dev/null +++ b/applications/blog/setup/upg_106148/data.json @@ -0,0 +1,24 @@ +{ + "id": 106148, + "name": "4.6.9", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106149/data.json b/applications/blog/setup/upg_106149/data.json new file mode 100644 index 00000000..066fee3d --- /dev/null +++ b/applications/blog/setup/upg_106149/data.json @@ -0,0 +1,24 @@ +{ + "id": 106149, + "name": "4.6.10 Beta 1", + "steps": { + "queries": false, + "lang": true, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106149/lang.json b/applications/blog/setup/upg_106149/lang.json new file mode 100644 index 00000000..214edd26 --- /dev/null +++ b/applications/blog/setup/upg_106149/lang.json @@ -0,0 +1,14 @@ +{ + "normal": { + "added": [ + "webhook_blogBlog_create" + ], + "edited": [], + "removed": [] + }, + "js": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106150/data.json b/applications/blog/setup/upg_106150/data.json new file mode 100644 index 00000000..33c33b54 --- /dev/null +++ b/applications/blog/setup/upg_106150/data.json @@ -0,0 +1,24 @@ +{ + "id": 106150, + "name": "4.6.10 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106151/data.json b/applications/blog/setup/upg_106151/data.json new file mode 100644 index 00000000..51b4493c --- /dev/null +++ b/applications/blog/setup/upg_106151/data.json @@ -0,0 +1,24 @@ +{ + "id": 106151, + "name": "4.6.10", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106152/data.json b/applications/blog/setup/upg_106152/data.json new file mode 100644 index 00000000..ff032303 --- /dev/null +++ b/applications/blog/setup/upg_106152/data.json @@ -0,0 +1,24 @@ +{ + "id": 106152, + "name": "4.6.10", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106153/data.json b/applications/blog/setup/upg_106153/data.json new file mode 100644 index 00000000..0e73587c --- /dev/null +++ b/applications/blog/setup/upg_106153/data.json @@ -0,0 +1,24 @@ +{ + "id": 106153, + "name": "4.6.10", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106154/data.json b/applications/blog/setup/upg_106154/data.json new file mode 100644 index 00000000..34aed906 --- /dev/null +++ b/applications/blog/setup/upg_106154/data.json @@ -0,0 +1,24 @@ +{ + "id": 106154, + "name": "4.6.10", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106155/data.json b/applications/blog/setup/upg_106155/data.json new file mode 100644 index 00000000..124e8a55 --- /dev/null +++ b/applications/blog/setup/upg_106155/data.json @@ -0,0 +1,24 @@ +{ + "id": 106155, + "name": "4.6.10", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106156/data.json b/applications/blog/setup/upg_106156/data.json new file mode 100644 index 00000000..33d35339 --- /dev/null +++ b/applications/blog/setup/upg_106156/data.json @@ -0,0 +1,24 @@ +{ + "id": 106156, + "name": "4.6.11 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106157/data.json b/applications/blog/setup/upg_106157/data.json new file mode 100644 index 00000000..963512e0 --- /dev/null +++ b/applications/blog/setup/upg_106157/data.json @@ -0,0 +1,24 @@ +{ + "id": 106157, + "name": "4.6.11 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106158/data.json b/applications/blog/setup/upg_106158/data.json new file mode 100644 index 00000000..6726feef --- /dev/null +++ b/applications/blog/setup/upg_106158/data.json @@ -0,0 +1,24 @@ +{ + "id": 106158, + "name": "4.6.11 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106159/data.json b/applications/blog/setup/upg_106159/data.json new file mode 100644 index 00000000..de4784fb --- /dev/null +++ b/applications/blog/setup/upg_106159/data.json @@ -0,0 +1,24 @@ +{ + "id": 106159, + "name": "4.6.11", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106160/data.json b/applications/blog/setup/upg_106160/data.json new file mode 100644 index 00000000..bfe182fb --- /dev/null +++ b/applications/blog/setup/upg_106160/data.json @@ -0,0 +1,24 @@ +{ + "id": 106160, + "name": "4.6.11", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106161/data.json b/applications/blog/setup/upg_106161/data.json new file mode 100644 index 00000000..57881f58 --- /dev/null +++ b/applications/blog/setup/upg_106161/data.json @@ -0,0 +1,24 @@ +{ + "id": 106161, + "name": "4.6.12", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106162/data.json b/applications/blog/setup/upg_106162/data.json new file mode 100644 index 00000000..0437d134 --- /dev/null +++ b/applications/blog/setup/upg_106162/data.json @@ -0,0 +1,24 @@ +{ + "id": 106162, + "name": "4.6.12 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106163/data.json b/applications/blog/setup/upg_106163/data.json new file mode 100644 index 00000000..f112f968 --- /dev/null +++ b/applications/blog/setup/upg_106163/data.json @@ -0,0 +1,24 @@ +{ + "id": 106163, + "name": "4.6.12 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106164/data.json b/applications/blog/setup/upg_106164/data.json new file mode 100644 index 00000000..1d2f3fbd --- /dev/null +++ b/applications/blog/setup/upg_106164/data.json @@ -0,0 +1,24 @@ +{ + "id": 106164, + "name": "4.6.12", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106165/data.json b/applications/blog/setup/upg_106165/data.json new file mode 100644 index 00000000..56ccc46a --- /dev/null +++ b/applications/blog/setup/upg_106165/data.json @@ -0,0 +1,24 @@ +{ + "id": 106165, + "name": "4.6.12", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106166/data.json b/applications/blog/setup/upg_106166/data.json new file mode 100644 index 00000000..cc308a0c --- /dev/null +++ b/applications/blog/setup/upg_106166/data.json @@ -0,0 +1,24 @@ +{ + "id": 106166, + "name": "4.6.12", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106167/data.json b/applications/blog/setup/upg_106167/data.json new file mode 100644 index 00000000..51cecc15 --- /dev/null +++ b/applications/blog/setup/upg_106167/data.json @@ -0,0 +1,24 @@ +{ + "id": 106167, + "name": "4.6.12.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_106168/data.json b/applications/blog/setup/upg_106168/data.json new file mode 100644 index 00000000..a8174382 --- /dev/null +++ b/applications/blog/setup/upg_106168/data.json @@ -0,0 +1,24 @@ +{ + "id": 106168, + "name": "4.6.13 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107000/data.json b/applications/blog/setup/upg_107000/data.json new file mode 100644 index 00000000..95e0b2be --- /dev/null +++ b/applications/blog/setup/upg_107000/data.json @@ -0,0 +1,24 @@ +{ + "id": 107000, + "name": "4.7.0 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107001/data.json b/applications/blog/setup/upg_107001/data.json new file mode 100644 index 00000000..ea57690a --- /dev/null +++ b/applications/blog/setup/upg_107001/data.json @@ -0,0 +1,24 @@ +{ + "id": 107001, + "name": "4.7.0 Beta 1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107002/data.json b/applications/blog/setup/upg_107002/data.json new file mode 100644 index 00000000..bba7aacc --- /dev/null +++ b/applications/blog/setup/upg_107002/data.json @@ -0,0 +1,24 @@ +{ + "id": 107002, + "name": "4.7.0 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": true, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107002/theme.json b/applications/blog/setup/upg_107002/theme.json new file mode 100644 index 00000000..5256a054 --- /dev/null +++ b/applications/blog/setup/upg_107002/theme.json @@ -0,0 +1,19 @@ +{ + "html": { + "added": [], + "edited": [], + "removed": [] + }, + "css": { + "added": [], + "edited": [ + "front\/blog.css" + ], + "removed": [] + }, + "resources": { + "added": [], + "edited": [], + "removed": [] + } +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107003/data.json b/applications/blog/setup/upg_107003/data.json new file mode 100644 index 00000000..6e1f72c1 --- /dev/null +++ b/applications/blog/setup/upg_107003/data.json @@ -0,0 +1,24 @@ +{ + "id": 107003, + "name": "4.7.0 Beta 2", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107004/data.json b/applications/blog/setup/upg_107004/data.json new file mode 100644 index 00000000..f788d204 --- /dev/null +++ b/applications/blog/setup/upg_107004/data.json @@ -0,0 +1,24 @@ +{ + "id": 107004, + "name": "4.7.0 Beta 3", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107005/data.json b/applications/blog/setup/upg_107005/data.json new file mode 100644 index 00000000..c08ad065 --- /dev/null +++ b/applications/blog/setup/upg_107005/data.json @@ -0,0 +1,24 @@ +{ + "id": 107005, + "name": "4.7.0 Beta 4", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107006/data.json b/applications/blog/setup/upg_107006/data.json new file mode 100644 index 00000000..05b190ce --- /dev/null +++ b/applications/blog/setup/upg_107006/data.json @@ -0,0 +1,24 @@ +{ + "id": 107006, + "name": "4.7.0 Beta 4.1", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107007/data.json b/applications/blog/setup/upg_107007/data.json new file mode 100644 index 00000000..234d638f --- /dev/null +++ b/applications/blog/setup/upg_107007/data.json @@ -0,0 +1,24 @@ +{ + "id": 107007, + "name": "4.7.0 Beta 5", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107008/data.json b/applications/blog/setup/upg_107008/data.json new file mode 100644 index 00000000..cdec86cc --- /dev/null +++ b/applications/blog/setup/upg_107008/data.json @@ -0,0 +1,24 @@ +{ + "id": 107008, + "name": "4.7.0 Beta 6", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107009/data.json b/applications/blog/setup/upg_107009/data.json new file mode 100644 index 00000000..6588bc9e --- /dev/null +++ b/applications/blog/setup/upg_107009/data.json @@ -0,0 +1,24 @@ +{ + "id": 107009, + "name": "4.7.0 Beta 7", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107010/data.json b/applications/blog/setup/upg_107010/data.json new file mode 100644 index 00000000..21765b43 --- /dev/null +++ b/applications/blog/setup/upg_107010/data.json @@ -0,0 +1,24 @@ +{ + "id": 107010, + "name": "4.7.0 Beta 8", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107011/data.json b/applications/blog/setup/upg_107011/data.json new file mode 100644 index 00000000..583dea34 --- /dev/null +++ b/applications/blog/setup/upg_107011/data.json @@ -0,0 +1,24 @@ +{ + "id": 107011, + "name": "4.7.0 Beta 9", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107012/data.json b/applications/blog/setup/upg_107012/data.json new file mode 100644 index 00000000..5e5fa2dd --- /dev/null +++ b/applications/blog/setup/upg_107012/data.json @@ -0,0 +1,24 @@ +{ + "id": 107012, + "name": "4.7.0 Beta 10", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107013/data.json b/applications/blog/setup/upg_107013/data.json new file mode 100644 index 00000000..dc037749 --- /dev/null +++ b/applications/blog/setup/upg_107013/data.json @@ -0,0 +1,24 @@ +{ + "id": 107013, + "name": "4.7.0", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/setup/upg_107014/data.json b/applications/blog/setup/upg_107014/data.json new file mode 100644 index 00000000..dbc05476 --- /dev/null +++ b/applications/blog/setup/upg_107014/data.json @@ -0,0 +1,24 @@ +{ + "id": 107014, + "name": "4.7.0", + "steps": { + "queries": false, + "lang": false, + "theme": false, + "themeSettings": false, + "javascript": false, + "emailTemplates": false, + "hooks": false, + "acpSearchKeywords": false, + "settings": false, + "tasks": false, + "modules": false, + "widgets": false, + "whatsnew": false, + "customOptions": false, + "customRoutines": false + }, + "forceMainUpgrader": false, + "forceManualDownloadNoCiC": false, + "forceManualDownloadCiC": false +} \ No newline at end of file diff --git a/applications/blog/sources/Blog/Blog.php b/applications/blog/sources/Blog/Blog.php index dc1ef963..3eea49c7 100644 --- a/applications/blog/sources/Blog/Blog.php +++ b/applications/blog/sources/Blog/Blog.php @@ -245,6 +245,10 @@ class _Blog extends \IPS\Node\Model implements \IPS\Node\Ratings, \IPS\Content\E case 'view': case 'read': default: + if( $this->isPublic() ) + { + return TRUE; + } return $club->canRead( $member ); } } @@ -1183,7 +1187,7 @@ class _Blog extends \IPS\Node\Model implements \IPS\Node\Ratings, \IPS\Content\E public function coverPhoto() { $photo = parent::coverPhoto(); - $photo->overlay = \IPS\Theme::i()->getTemplate( 'view', 'blog' )->coverPhotoOverlay( $this ); + $photo->overlay = \IPS\Theme::i()->getTemplate('view', 'blog')->coverPhotoOverlay($this); return $photo; } @@ -1305,7 +1309,7 @@ class _Blog extends \IPS\Node\Model implements \IPS\Node\Ratings, \IPS\Content\E * @param \IPS\Helpers\Form $form Form object * @return void */ - public function clubForm( \IPS\Helpers\Form $form ) + public function clubForm( \IPS\Helpers\Form $form, \IPS\Member\Club $club ) { \IPS\Output::i()->jsFiles = array_merge( \IPS\Output::i()->jsFiles, \IPS\Output::i()->js( 'front_view.js', 'blog', 'front' ) ); @@ -1317,6 +1321,11 @@ class _Blog extends \IPS\Node\Model implements \IPS\Node\Ratings, \IPS\Content\E { $form->add( new \IPS\Helpers\Form\YesNo( 'blog_enable_rss', $this->id ? $this->settings['allowrss'] : TRUE ) ); } + + if( $club->type == 'closed' ) + { + $form->add( new \IPS\Helpers\Form\YesNo( 'club_node_public', $this->id ? $this->isPublic() : FALSE ) ); + } /* Categories */ if ( $this->id ) @@ -1432,4 +1441,36 @@ class _Blog extends \IPS\Node\Model implements \IPS\Node\Ratings, \IPS\Content\E { return $this->last_edate ? \IPS\DateTime::ts( $this->last_edate ) : NULL; } -} \ No newline at end of file + + /** + * @brief The class of the ACP \IPS\Node\Controller that manages this node type + */ + protected static $acpController = "IPS\\calendar\\modules\\admin\\calendars\\calendars"; + + + /** + * Get the URL of the AdminCP page for this node + * + * @param string|NULL $do The "do" query parameter of the url (e.g. 'form', 'permissions', etc). + * + * @return \IPS\Http\Url | NULL + */ + public function acpUrl( $do="form" ) + { + try + { + $parentCol = static::$parentNodeColumnId; + $parent = \IPS\blog\Category::load( $this->$parentCol ); + $url = parent::acpUrl( $do ); + if ( $url !== NULL ) + { + $this->_acpUrls[$do] = $url->setQueryString([ 'subnode' => $this->$parentCol ]); + } + } + catch ( \OutOfRangeException $e ) + { + $this->_acpUrls[$do] = NULL; + } + return $this->_acpUrls[$do]; + } +} diff --git a/applications/blog/sources/Category/Category.php b/applications/blog/sources/Category/Category.php index ba59aaeb..db7b1c32 100644 --- a/applications/blog/sources/Category/Category.php +++ b/applications/blog/sources/Category/Category.php @@ -100,6 +100,11 @@ class _Category extends \IPS\Node\Model 'prefix' => 'categories_', ); + /** + * @brief The class of the ACP \IPS\Node\Controller that manages this node type + */ + protected static $acpController = "IPS\\blog\\modules\\admin\\blogs\\blogs"; + /** * [Node] Add/Edit Form * @@ -250,6 +255,11 @@ class _Category extends \IPS\Node\Model 'class' => \get_class( $this ), ); + if ( \IPS\IPS::classUsesTrait( \get_called_class(), 'IPS\Content\ClubContainer' ) AND $this->club() ) + { + $return['public'] = ( $this->isPublic() ) ? 1 : 0; + } + return $return; } diff --git a/applications/blog/sources/Entry/Comment.php b/applications/blog/sources/Entry/Comment.php index f4310fb0..962eb72c 100644 --- a/applications/blog/sources/Entry/Comment.php +++ b/applications/blog/sources/Entry/Comment.php @@ -81,6 +81,11 @@ class _Comment extends \IPS\Content\Comment implements \IPS\Content\EditHistory, * @brief [Content] Key for hide reasons */ public static $hideLogKey = 'blog-entries'; + + /** + * @brief Whether to track the sentiment scores in cloud_sentiment_scores for this content + */ + public $trackSentimentScore = true; /** * Get items with permission check diff --git a/applications/blog/sources/Entry/Entry.php b/applications/blog/sources/Entry/Entry.php index 3ada0a8e..191bfe27 100644 --- a/applications/blog/sources/Entry/Entry.php +++ b/applications/blog/sources/Entry/Entry.php @@ -155,6 +155,11 @@ class _Entry extends \IPS\Content\Item implements * @brief Use a default cover photo */ public static $coverPhotoDefault = true; + + /** + * @brief Whether to track the sentiment scores in cloud_sentiment_scores for this content + */ + public $trackSentimentScore = true; /** * Set the title @@ -450,7 +455,7 @@ class _Entry extends \IPS\Content\Item implements } $return['blog_entry_new_category'] = new \IPS\Helpers\Form\Text( 'blog_entry_new_category', NULL, TRUE, array(), NULL, NULL, NULL, "blog_entry_new_category" ); - $return['image'] = new \IPS\Helpers\Form\Upload( 'blog_entry_cover_photo', ( ( $item AND $item->cover_photo ) ? \IPS\File::get( 'blog_Entries', $item->cover_photo ) : NULL ), FALSE, array( 'storageExtension' => 'blog_Entries', 'allowStockPhotos' => TRUE, 'image' => array( 'maxWidth' => 4800, 'maxHeight' => 4800 ) ) ); + $return['image'] = new \IPS\Helpers\Form\Upload( 'blog_entry_cover_photo', ( ( $item AND $item->cover_photo ) ? \IPS\File::get( 'blog_Entries', $item->cover_photo ) : NULL ), FALSE, array( 'storageExtension' => 'blog_Entries', 'allowStockPhotos' => TRUE, 'image' => array( 'maxWidth' => 4800, 'maxHeight' => 4800 ), 'canBeModerated' => TRUE ) ); $return['publish'] = new \IPS\Helpers\Form\YesNo( 'blog_entry_publish', $item ? $item->status : TRUE, FALSE, array( 'togglesOn' => array( 'blog_entry_date' ) ) ); @@ -496,7 +501,7 @@ class _Entry extends \IPS\Content\Item implements } $this->content = $values['blog_entry_content']; - $sendFilterNotifications = $this->checkProfanityFilters( FALSE, $new ); + $sendFilterNotifications = $this->checkProfanityFilters( FALSE, !$new, NULL, NULL, 'blog_Entries', $new ? ['blog-entry-' . $this->container()->id] : NULL, $values['blog_entry_cover_photo'] ? [ $values['blog_entry_cover_photo'] ] : [] ); if ( !$new AND $sendFilterNotifications === FALSE ) { @@ -525,6 +530,7 @@ class _Entry extends \IPS\Content\Item implements if ( $this->date > time() ) { $this->status = 'draft'; + $this->publish_date = $this->date; } if( $values['entry_category_choice'] == 1 and $values['entry_category_id'] ) @@ -962,7 +968,7 @@ class _Entry extends \IPS\Content\Item implements $attachments[] = array( 'core_Clubs' => $club->cover_photo ); } - return \count( $attachments ) ? $attachments : NULL; + return \count( $attachments ) ? \array_slice( $attachments, 0, $limit ) : NULL; } /** diff --git a/applications/calendar/Application.php b/applications/calendar/Application.php index 1c935d4b..b748e48f 100644 --- a/applications/calendar/Application.php +++ b/applications/calendar/Application.php @@ -30,7 +30,7 @@ class _Application extends \IPS\Application if( \IPS\Request::i()->member ) { $member = \IPS\Member::load( \IPS\Request::i()->member ); - if( !\IPS\Login::compareHashes( md5( ( $member->members_pass_hash ?: $member->email ) . $member->members_pass_salt ), (string) \IPS\Request::i()->key ) ) + if( !\IPS\Login::compareHashes( $member->getUniqueMemberHash(), (string) \IPS\Request::i()->key ) ) { \IPS\Output::i()->error( 'node_error', '2L217/1', 404, '' ); } @@ -189,14 +189,18 @@ class _Application extends \IPS\Application } /** - * Return an array of specific links to add to the sitemap + * Returns a list of all existing webhooks and their payload in this app. * - * @return array + * @return array */ - public function sitemapLinks() + public function getWebhooks() : array { - return array( - \IPS\Http\Url::internal( 'app=calendar&module=calendar&controller=view', 'front', 'calendar' ), - ); + return array_merge( [ + 'calendarEvent_rsvp' => [ + 'event' => \IPS\calendar\Event::class, + 'action' => "string with the state (attending/etc..)", + 'attendee' => \IPS\Member::class + ] + ],parent::getWebhooks()); } } \ No newline at end of file diff --git a/applications/calendar/api/comments.php b/applications/calendar/api/comments.php index 87e3069a..1c6f0f9a 100644 --- a/applications/calendar/api/comments.php +++ b/applications/calendar/api/comments.php @@ -91,6 +91,7 @@ class _comments extends \IPS\Content\Api\CommentController * @apiparam datetime date The date/time that should be used for the comment date. If not provided, will use the current date/time. Ignored for requests using an OAuth Access Token for a particular member * @apiparam string ip_address The IP address that should be stored for the comment. If not provided, will use the IP address from the API request. Ignored for requests using an OAuth Access Token for a particular member * @apiparam int hidden 0 = unhidden; 1 = hidden, pending moderator approval; -1 = hidden (as if hidden by a moderator) + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @throws 2L297/3 INVALID_ID The comment ID does not exist * @throws 1L297/4 NO_AUTHOR The author ID does not exist * @throws 1L297/5 NO_CONTENT No content was supplied @@ -130,8 +131,15 @@ class _comments extends \IPS\Content\Api\CommentController } else { - $author = new \IPS\Member; - $author->name = \IPS\Request::i()->author_name; + if ( \IPS\Request::i()->author === 0 ) + { + $author = new \IPS\Member; + $author->name = \IPS\Request::i()->author_name; + } + else + { + throw new \IPS\Api\Exception( 'NO_AUTHOR', '1L297/4', 400 ); + } } } @@ -155,6 +163,7 @@ class _comments extends \IPS\Content\Api\CommentController * @apiparam string author_name If author is 0, the guest name that should be used * @apiparam string content The comment content as HTML (e.g. "

    This is a comment.

    "). Will be sanatized for requests using an OAuth Access Token for a particular member; will be saved unaltered for requests made using an API Key or the Client Credentials Grant Type. * @apiparam int hidden 1/0 indicating if the topic should be hidden + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @throws 2L297/6 INVALID_ID The comment ID does not exist or the authorized user does not have permission to view it * @throws 1L297/7 NO_AUTHOR The author ID does not exist * @throws 2L297/9 NO_PERMISSION The authorized user does not have permission to edit the comment @@ -219,4 +228,57 @@ class _comments extends \IPS\Content\Api\CommentController throw new \IPS\Api\Exception( 'INVALID_ID', '2L297/2', 404 ); } } + + /** + * POST /calendar/comments/{id}/react + * Add a reaction + * + * @param int $id ID Number + * @apiparam int id ID of the reaction to add + * @apiparam int author ID of the member reacting + * @return \IPS\calendar\Event\Comment + * @throws 1S425/2 NO_REACTION The reaction ID does not exist + * @throws 1S425/3 NO_AUTHOR The author ID does not exist + * @throws 1S425/4 REACT_ERROR Error adding the reaction + * @throws 1S425/5 INVALID_ID Object ID does not exist + * @note If the author has already reacted to this content, any existing reaction will be removed first + */ + public function POSTitem_react( $id ) + { + return $this->_reactAdd( $id ); + } + + /** + * DELETE /calendar/comments/{id}/react + * Delete a reaction + * + * @param int $id ID Number + * @apiparam int author ID of the member who reacted + * @return \IPS\calendar\Event\Comment + * @throws 1S425/6 NO_AUTHOR The author ID does not exist + * @throws 1S425/7 REACT_ERROR Error adding the reaction + * @throws 1S425/8 INVALID_ID Object ID does not exist + * @note If the author has already reacted to this content, any existing reaction will be removed first + */ + public function DELETEitem_react( $id ) + { + return $this->_reactRemove( $id ); + } + + /** + * POST /calendar/comments/{id}/report + * Reports a post + * + * @param int $id ID Number + * @apiparam int author ID of the member reporting + * @apiparam int report_type Report type (0 is default and is for letting CMGR team know, more options via core_automatic_moderation_types) + * @apiparam string message Optional message + * @return \IPS\calendar\Event\Comment + * @throws 1S425/B NO_AUTHOR The author ID does not exist + * @throws 1S425/C REPORTED_ALREADY The member has reported this item in the past 24 hours + */ + public function POSTitem_report( $id ) + { + return $this->_report( $id ); + } } \ No newline at end of file diff --git a/applications/calendar/api/events.php b/applications/calendar/api/events.php index d504e870..e33551c8 100644 --- a/applications/calendar/api/events.php +++ b/applications/calendar/api/events.php @@ -152,6 +152,7 @@ class _events extends \IPS\Content\Api\ItemController * @apiparam int locked 1/0 indicating if the event should be locked * @apiparam int hidden 0 = unhidden; 1 = hidden, pending moderator approval; -1 = hidden (as if hidden by a moderator) * @apiparam int featured 1/0 indicating if the event should be featured + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @throws 1L296/6 NO_CALENDAR The calendar ID does not exist * @throws 1L296/7 NO_AUTHOR The author ID does not exist * @throws 1L296/8 NO_TITLE No title was supplied @@ -194,7 +195,14 @@ class _events extends \IPS\Content\Api\ItemController } else { - $author = new \IPS\Member; + if ( \IPS\Request::i()->author === 0 ) + { + $author = new \IPS\Member; + } + else + { + throw new \IPS\Api\Exception( 'NO_AUTHOR', '1L296/7', 400 ); + } } } @@ -254,7 +262,7 @@ class _events extends \IPS\Content\Api\ItemController * @apiparam int locked 1/0 indicating if the event should be locked * @apiparam int hidden 0 = unhidden; 1 = hidden, pending moderator approval; -1 = hidden (as if hidden by a moderator) * @apiparam int featured 1/0 indicating if the event should be featured - * @param int $id ID Number + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @throws 1L296/I INVALID_ID The event ID is invalid or the authorized user does not have permission to view it * @throws 1L296/D NO_CALENDAR The calendar ID does not exist or the authorized user does not have permission to post in it * @throws 1L296/E NO_AUTHOR The author ID does not exist diff --git a/applications/calendar/api/reviews.php b/applications/calendar/api/reviews.php index 6b86545a..ad0b8030 100644 --- a/applications/calendar/api/reviews.php +++ b/applications/calendar/api/reviews.php @@ -91,6 +91,7 @@ class _reviews extends \IPS\Content\Api\CommentController * @apiparam datetime date The date/time that should be used for the review date. If not provided, will use the current date/time. Ignored for requests using an OAuth Access Token for a particular member * @apiparam string ip_address The IP address that should be stored for the review. If not provided, will use the IP address from the API request. Ignored for requests using an OAuth Access Token for a particular member * @apiparam int hidden 0 = unhidden; 1 = hidden, pending moderator approval; -1 = hidden (as if hidden by a moderator) + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @reqapiparam int rating Star rating * @throws 2L298/2 INVALID_ID The forum ID does not exist * @throws 1L298/3 NO_AUTHOR The author ID does not exist @@ -132,8 +133,15 @@ class _reviews extends \IPS\Content\Api\CommentController } else { - $author = new \IPS\Member; - $author->name = \IPS\Request::i()->author_name; + if ( \IPS\Request::i()->author === 0 ) + { + $author = new \IPS\Member; + $author->name = \IPS\Request::i()->author_name; + } + else + { + throw new \IPS\Api\Exception( 'NO_AUTHOR', '1L298/3', 400 ); + } } } @@ -164,6 +172,7 @@ class _reviews extends \IPS\Content\Api\CommentController * @apiparam string content The review content as HTML (e.g. "

    This is a review.

    "). Will be sanatized for requests using an OAuth Access Token for a particular member; will be saved unaltered for requests made using an API Key or the Client Credentials Grant Type. * @apiparam int hidden 1/0 indicating if the topic should be hidden * @apiparam int rating Star rating + * @apiparam bool anonymous If 1, the item will be posted anonymously. * @throws 2L298/5 INVALID_ID The review ID does not exist or the authorized user does not have permission to view it * @throws 1L298/6 NO_AUTHOR The author ID does not exist * @throws 1L298/9 INVALID_RATING The rating is not a valid number up to the maximum rating @@ -234,4 +243,56 @@ class _reviews extends \IPS\Content\Api\CommentController throw new \IPS\Api\Exception( 'INVALID_ID', '2L298/7', 404 ); } } + + /** + * POST /calendar/reviews/{id}/react + * Add a reaction + * + * @param int $id ID Number + * @apiparam int id ID of the reaction to add + * @apiparam int author ID of the member reacting + * @return \IPS\calendar\Event\Review + * @throws 1S425/2 NO_REACTION The reaction ID does not exist + * @throws 1S425/3 NO_AUTHOR The author ID does not exist + * @throws 1S425/4 REACT_ERROR Error adding the reaction + * @throws 1S425/5 INVALID_ID Object ID does not exist + * @note If the author has already reacted to this content, any existing reaction will be removed first + */ + public function POSTitem_react( $id ) + { + return $this->_reactAdd( $id ); + } + + /** + * DELETE /calendar/reviews/{id}/react + * Delete a reaction + * + * @param int $id ID Number + * @apiparam int author ID of the member who reacted + * @return \IPS\calendar\Event\Review + * @throws 1S425/6 NO_AUTHOR The author ID does not exist + * @throws 1S425/7 REACT_ERROR Error adding the reaction + * @throws 1S425/8 INVALID_ID Object ID does not exist + * @note If the author has already reacted to this content, any existing reaction will be removed first + */ + public function DELETEitem_react( $id ) + { + return $this->_reactRemove( $id ); + } + /** + * POST /calendar/reviews/{id}/report + * Reports a post + * + * @param int $id ID Number + * @apiparam int author ID of the member reporting + * @apiparam int report_type Report type (0 is default and is for letting CMGR team know, more options via core_automatic_moderation_types) + * @apiparam string message Optional message + * @return \IPS\calendar\Event\Review + * @throws 1S425/B NO_AUTHOR The author ID does not exist + * @throws 1S425/C REPORTED_ALREADY The member has reported this item in the past 24 hours + */ + public function POSTitem_report( $id ) + { + return $this->_report( $id ); + } } \ No newline at end of file diff --git a/applications/calendar/data/acpmenu.json b/applications/calendar/data/acpmenu.json index 91c8b83e..184e74a5 100644 --- a/applications/calendar/data/acpmenu.json +++ b/applications/calendar/data/acpmenu.json @@ -24,5 +24,14 @@ "do": "", "restriction": "settings_manage" } + }, + "stats": { + "rsvp": { + "tab": "stats", + "controller": "rsvp", + "do": "", + "restriction": "rsvp_manage", + "subcontrollers": "" + } } } \ No newline at end of file diff --git a/applications/calendar/data/acprestrictions.json b/applications/calendar/data/acprestrictions.json index 4aa27978..20be2507 100644 --- a/applications/calendar/data/acprestrictions.json +++ b/applications/calendar/data/acprestrictions.json @@ -22,5 +22,10 @@ "venues": { "venues_manage": "venues_manage" } + }, + "stats": { + "rsvp": { + "rsvp_manage": "rsvp_manage" + } } } \ No newline at end of file diff --git a/applications/calendar/data/build.xml b/applications/calendar/data/build.xml index 13b95cad..c5b863bc 100644 --- a/applications/calendar/data/build.xml +++ b/applications/calendar/data/build.xml @@ -1,7 +1,7 @@ - + icalendar eventreminders diff --git a/applications/calendar/data/javascript.xml b/applications/calendar/data/javascript.xml index 5cf58c12..2e256b1c 100644 --- a/applications/calendar/data/javascript.xml +++ b/applications/calendar/data/javascript.xml @@ -1,6 +1,6 @@ - - - - - - /** + /** * Invision Community * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * @@ -1132,7 +1132,7 @@ }); }(jQuery, _)); - - + Calendar Calendar a comment on a calendar event @@ -189,6 +189,7 @@ {# [1:birthday][?:birthdays]} today {# [1:birthday][?:birthdays]} View all + Birthdays Event Event Comment Event Review @@ -485,6 +486,14 @@ To the user who RSVP'd RSVP'd to %s Event RSVP + Calendar + RSVP + RSVPs over time + Not Going + Going + Maybe + Venues + Fired when somebody changes his RSVP status {# [1:day][?:days]} {# [1:week][?:weeks]} {# [1:month][?:months]} diff --git a/applications/calendar/data/modules.json b/applications/calendar/data/modules.json index cb2a3604..c9665e1a 100644 --- a/applications/calendar/data/modules.json +++ b/applications/calendar/data/modules.json @@ -5,10 +5,10 @@ "protected": 0, "default": 1 }, - "venues": { + "stats": { "default_controller": "", - "protected": 0, - "default": 0 + "protected": false, + "default": null } }, "front": { diff --git a/applications/calendar/data/theme.xml b/applications/calendar/data/theme.xml index 9298c00e..deafdd60 100644 --- a/applications/calendar/data/theme.xml +++ b/applications/calendar/data/theme.xml @@ -200,10 +200,13 @@    {{if ( $thisCalendar AND $thisCalendar->can('add') ) OR ( !$thisCalendar AND \IPS\calendar\Calendar::canOnAny('add') )}}    + {{$day = \IPS\Request::i()->d;}} + {{$month = \IPS\Request::i()->m;}} + {{$year = \IPS\Request::i()->y;}} {{if $thisCalendar}} - {lang="create_event"} + {lang="create_event"} {{else}} - {lang="create_event"} + {lang="create_event"} {{endif}} {{endif}} {lang="jump_to"} @@ -323,7 +326,7 @@ {{endif}} {{if isset( $birthdays[ $date->mon . $k ] ) AND $birthdays[ $date->mon . $k ] }} -

    {lang="birthdays_count" pluralize="$birthdays[ $date->mon . $k ]"}

    +

    {lang="birthdays_count" pluralize="$birthdays[ $date->mon . $k ]"}

    {{endif}} @@ -1020,15 +1023,15 @@ {{endif}}]]>