Version 5.0.0 beta 1

This commit is contained in:
Neo committed 2025-12-19 16:27:35 -08:00
1 parent 25ddeb65d6
commit 15c7beabc5
6736 files changed
+627902 -497943

No files matched your search

@@ -0,0 +1,69 @@
{
"added": [
"app=core&module=members&controller=groups&do=form&searchResult=gbw_change_layouts",
"app=core&module=discovery&controller=tags",
"app=core&module=discovery&controller=tags&do=settings",
"app=core&module=settings&controller=posting",
"app=core&module=settings&controller=posting&tab=embedUrlFilters",
"app=core&module=settings&controller=posting&tab=embedUrlFilters&searchResult=form_ipb_embed_url_filter_option",
"app=core&module=overview&controller=dashboard",
"app=core&module=settings&controller=general",
"app=core&module=settings&controller=advanced",
"app=core&module=activitystats&controller=overview",
"app=core&module=activitystats&controller=reactions",
"app=core&module=activitystats&controller=tags",
"app=core&module=activitystats&controller=emailstats",
"app=core&module=activitystats&controller=search",
"app=core&module=activitystats&controller=reports",
"app=core&module=activitystats&controller=deletedcontent",
"app=core&module=activitystats&controller=adverts",
"app=core&module=stats&controller=overview",
"app=core&module=stats&controller=membersactivity",
"app=core&module=stats&controller=deviceusage",
"app=core&module=stats&controller=points",
"app=core&module=stats&controller=badges",
"app=core&module=stats&controller=spam",
"app=core&module=stats&controller=preferences",
"app=core&module=stats&controller=referrals",
"app=core&module=stats&controller=follow",
"app=core&module=stats&controller=warnings",
"app=core&module=stats&controller=helpful",
"app=core&module=clubs&controller=fields",
"app=core&module=clubs&controller=stats",
"app=core&module=applications&controller=enhancements&do=edit&id=core_HiveCommunityEnhancement"
],
"edited": [
"app=core&module=applications&controller=enhancements&do=edit&id=core_FacebookPixel",
"app=core&module=editor&controller=storedreplies",
"app=core&module=moderation&controller=spam&tab=service",
"app=core&module=settings&controller=email&searchResult=our_picks_in_email",
"app=core&module=settings&controller=posting&tab=tags&searchResult=tags_can_prefix",
"app=core&module=achievements&controller=ranks",
"app=core&module=achievements&controller=rules"
],
"removed": [
"app=core&module=applications&controller=plugins",
"app=core&module=customization&controller=themes&do=designersmode&searchResult=form_theme_designers_mode",
"app=core&module=editor&controller=settings&searchResult=form_editor_paste_behaviour",
"app=core&module=editor&controller=settings&searchResult=form_enable_bbcode",
"app=core&module=editor&controller=toolbar",
"app=core&module=members&controller=groups&searchResult=g_dohtml",
"app=core&module=members&controller=groups&searchResult=g_topic_rate_setting",
"app=core&module=members&controller=groups&searchResult=gbw_no_status_import",
"app=core&module=members&controller=groups&searchResult=gbw_no_status_update",
"app=core&module=membersettings&controller=profiles&tab=profilesettings&searchResult=form_profile_comments",
"app=core&module=membersettings&controller=profiles&tab=profilesettings&searchResult=profile_comment_approval",
"app=core&module=promotion&controller=promote",
"app=core&module=promotion&controller=promote&tab=internal",
"app=core&module=promotion&controller=promote&tab=links",
"app=core&module=promotion&controller=promote&tab=permissions",
"app=core&module=promotion&controller=promote&tab=schedule",
"app=core&module=promotion&controller=promote&tab=twitter",
"app=core&module=settings&controller=advanced&searchResult=form_lazy_load_enabled",
"app=core&module=settings&controller=posting&searchResult=form_allow_remote_images",
"app=core&module=settings&controller=posting&searchResult=form_max_video_width",
"app=core&module=settings&controller=posting&searchResult=max_video_width",
"app=core&module=settings&controller=posting&tab=general&searchResult=form_max_video_width",
"app=core&module=settings&controller=posting&tab=tags"
]
}
@@ -0,0 +1,22 @@
{
"id": 500001,
"name": "5.0.0 Alpha 1",
"steps": {
"queries": true,
"lang": true,
"theme": true,
"themeeditor": true,
"javascript": true,
"emailTemplates": true,
"acpSearchKeywords": true,
"settings": true,
"tasks": true,
"modules": true,
"widgets": true,
"customOptions": true,
"customRoutines": true
},
"forceMainUpgrader": true,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,20 @@
{
"added": [
"notification_donation_goal_reached",
"notification_new_topics_to_review"
],
"edited": [
"activity_stream_subscription",
"contact_form",
"emailWrapper",
"advertisement",
"notification_new_badge",
"warning",
"digests__areaWrapper"
],
"removed": [
"notification_profile_comment",
"notification_new_status",
"notification_profile_reply"
]
}
@@ -0,0 +1,154 @@
{
"files": {
"added": [
"global\/framework\/common\/ui\/ips.ui.accordion.js",
"global\/framework\/common\/ui\/ips.ui.codebox.js",
"global\/framework\/common\/ui\/ips.ui.details.js",
"global\/framework\/common\/ui\/ips.ui.hidden.js",
"global\/framework\/common\/ui\/ips.ui.offCanvasContent.js",
"global\/framework\/common\/ui\/ips.ui.tableOfContents.js",
"global\/framework\/common\/utils\/ips.utils.crypto.js",
"global\/framework\/common\/utils\/ips.utils.history.js",
"global\/framework\/common\/utils\/ips.utils.pagebuildericons.js",
"global\/framework\/common\/utils\/ips.utils.search.js",
"core\/admin\/controllers\/developer\/ips.developer.details.js",
"global\/front\/controllers\/core\/ips.core.navigationPanel.js",
"global\/admin\/controllers\/core\/ips.core.editorRestrictions.js",
"core\/front\/controllers\/widgets\/ips.widgets.carouselControls.js"
],
"edited": [
"global\/library\/app.js",
"global\/library\/Debug.js",
"global\/library\/ipsMethods.js",
"global\/framework\/common\/ips.controller.js",
"global\/framework\/common\/ui\/ips.ui.addressForm.js",
"global\/framework\/common\/ui\/ips.ui.autocomplete.js",
"global\/framework\/common\/ui\/ips.ui.carousel.js",
"global\/framework\/common\/ui\/ips.ui.codehighlighting.js",
"global\/framework\/common\/ui\/ips.ui.dialog.js",
"global\/framework\/common\/ui\/ips.ui.editorv5.js",
"global\/framework\/common\/ui\/ips.ui.flashMsg.js",
"global\/framework\/common\/ui\/ips.ui.form.js",
"global\/framework\/common\/ui\/ips.ui.js",
"global\/framework\/common\/ui\/ips.ui.lightbox.js",
"global\/framework\/common\/ui\/ips.ui.map.js",
"global\/framework\/common\/ui\/ips.ui.menu.js",
"global\/framework\/common\/ui\/ips.ui.quote.js",
"global\/framework\/common\/ui\/ips.ui.spoiler.js",
"global\/framework\/common\/ui\/ips.ui.tabbar.js",
"global\/framework\/common\/ui\/ips.ui.tooltip.js",
"global\/framework\/common\/ui\/ips.ui.uploader.js",
"global\/framework\/common\/utils\/ips.utils.geolocation.js",
"global\/framework\/common\/utils\/ips.utils.iconpicker.js",
"global\/framework\/common\/utils\/ips.utils.sockets.js",
"global\/admin\/controllers\/core\/ips.core.dynamicChart.js",
"global\/admin\/controllers\/core\/ips.core.liveSearch.js",
"global\/front\/controllers\/core\/ips.core.app.js",
"core\/front\/controllers\/core\/ips.core.articlePages.js",
"global\/front\/controllers\/core\/ips.core.colorScheme.js",
"global\/front\/controllers\/core\/ips.core.comment.js",
"global\/front\/controllers\/core\/ips.core.commentFeed.js",
"global\/front\/controllers\/core\/ips.core.commentsWrapper.js",
"global\/front\/controllers\/core\/ips.core.instantNotifications.js",
"global\/front\/controllers\/core\/ips.core.lightboxedImages.js",
"global\/front\/controllers\/core\/ips.core.navBar.js",
"core\/global\/controllers\/core\/ips.core.coverPhoto.js",
"core\/global\/controllers\/core\/ips.core.genericTable.js",
"core\/global\/controllers\/core\/ips.core.googlemap.js",
"core\/global\/controllers\/core\/ips.core.optionalAutocomplete.js",
"core\/global\/controllers\/core\/ips.core.table.js",
"core\/admin\/controllers\/dashboard\/ips.dashboard.main.js",
"global\/framework\/controllers\/editor\/ips.editor.censorBlock.js",
"global\/framework\/controllers\/editor\/ips.editor.customtags.js",
"global\/framework\/controllers\/editor\/ips.editor.icon.js",
"global\/framework\/controllers\/editor\/ips.editor.insertable.js",
"core\/front\/controllers\/messages\/ips.messages.list.js",
"core\/front\/controllers\/messages\/ips.messages.main.js",
"core\/front\/controllers\/messages\/ips.messages.view.js",
"core\/front\/controllers\/modcp\/ips.modcp.reportList.js",
"core\/front\/controllers\/modcp\/ips.modcp.warnForm.js",
"core\/front\/controllers\/profile\/ips.profile.body.js",
"core\/front\/controllers\/profile\/ips.profile.main.js",
"core\/front\/controllers\/search\/ips.search.main.js",
"global\/framework\/controllers\/stockart\/ips.stockart.pixabay.js",
"core\/front\/controllers\/streams\/ips.streams.main.js",
"core\/front\/controllers\/streams\/ips.streams.results.js",
"core\/front\/controllers\/widgets\/ips.widgets.area.js",
"core\/front\/controllers\/widgets\/ips.widgets.block.js",
"core\/front\/controllers\/widgets\/ips.widgets.manager.js",
"core\/front\/controllers\/widgets\/ips.widgets.sidebar.js",
"global\/library\/jquery\/jquery.js",
"global\/admin\/mixins\/ips.core.table.js",
"global\/front\/mixins\/ips.core.table.js",
"global\/admin\/templates\/ips.core.templates.js",
"core\/admin\/templates\/ips.templates.dashboard.js",
"global\/framework\/templates\/ips.core.templates.js",
"core\/front\/templates\/ips.templates.streams.js",
"global\/admin\/ui\/ips.ui.controlStrip.js",
"global\/admin\/ui\/ips.ui.statusToggle.js",
"global\/admin\/ui\/ips.ui.tree.js",
"global\/framework\/common\/ui\/ips.ui.carousel.js",
"global\/framework\/common\/ui\/ips.ui.uploader.js",
"global\/front\/controllers\/core\/ips.core.app.js",
"global\/front\/controllers\/core\/ips.core.colorScheme.js",
"global\/front\/controllers\/core\/ips.core.lightboxedImages.js",
"global\/framework\/controllers\/editor\/ips.editor.insertable.js",
"core\/front\/controllers\/widgets\/ips.widgets.manager.js",
"global\/front\/mixins\/ips.core.table.js",
"global\/framework\/common\/ips.controller.js",
"global\/framework\/common\/ui\/ips.ui.tabbar.js",
"core\/front\/controllers\/core\/ips.core.moderation.js",
"global\/framework\/common\/ui\/ips.ui.js",
"global\/admin\/controllers\/core\/ips.core.app.js",
"global\/front\/controllers\/core\/ips.core.app.js",
"global\/front\/controllers\/core\/ips.core.commentFeed.js",
"global\/framework\/controllers\/editor\/ips.editor.customtags.js",
"global\/framework\/templates\/ips.core.templates.js",
"global\/framework\/common\/ui\/ips.ui.dialog.js",
"global\/framework\/common\/ui\/ips.ui.editorv5.js",
"global\/framework\/common\/ui\/ips.ui.form.js",
"global\/front\/controllers\/core\/ips.core.commentFeed.js",
"core\/global\/controllers\/core\/ips.core.coverPhoto.js",
"core\/front\/controllers\/streams\/ips.streams.main.js",
"core\/front\/controllers\/widgets\/ips.widgets.area.js",
"global\/library\/app.js",
"global\/framework\/common\/ui\/ips.ui.dialog.js",
"global\/framework\/common\/ui\/ips.ui.editorv5.js",
"global\/framework\/common\/ui\/ips.ui.js",
"global\/framework\/common\/ui\/ips.ui.menu.js",
"global\/framework\/common\/ui\/ips.ui.stack.js",
"global\/framework\/common\/ui\/ips.ui.tabbar.js",
"global\/framework\/common\/ui\/ips.ui.uploader.js",
"global\/admin\/controllers\/core\/ips.core.dynamicChart.js",
"global\/admin\/controllers\/core\/ips.core.nav.js",
"global\/front\/controllers\/core\/ips.core.comment.js",
"core\/front\/controllers\/core\/ips.core.onlineUsersWidget.js",
"core\/admin\/controllers\/members\/ips.members.moderatorPermissions.js",
"core\/front\/controllers\/profile\/ips.profile.main.js",
"core\/front\/controllers\/search\/ips.search.filters.js",
"core\/admin\/controllers\/system\/ips.system.login.js",
"core\/front\/controllers\/widgets\/ips.widgets.area.js",
"core\/front\/controllers\/widgets\/ips.widgets.manager.js"
],
"removed": [
"global\/framework\/common\/ui\/ips.ui.ariaToggle.js",
"global\/framework\/common\/ui\/ips.ui.offCanvas.js",
"global\/framework\/common\/ui\/ips.ui.searchModal.js",
"global\/admin\/controllers\/core\/ips.core.pageActions.js",
"global\/front\/controllers\/core\/ips.core.statuses.js",
"core\/admin\/controllers\/customization\/ips.customization.editorToolbars.js",
"core\/admin\/controllers\/customization\/ips.customization.themes.js",
"global\/framework\/controllers\/editor\/ips.editor.codePreview.js",
"global\/framework\/controllers\/editor\/ips.editor.preview.js",
"global\/library\/jquery\/jquery.history.js",
"global\/library\/prettify\/prettify.js"
]
},
"orders": {
"added": [],
"edited": [
"global\/\/dev\/js\/\/library\/\/jquery"
],
"removed": []
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,18 @@
{
"added": {
"0": "admin\/developer",
"3": "front\/feature",
"7": "front\/languages"
},
"edited": [
"admin\/overview"
],
"removed": [
"admin\/livesearch",
"admin\/logs",
"admin\/logsettings",
"admin\/diagnostics",
"front\/promote",
"front\/status"
]
}
@@ -0,0 +1,45 @@
<?php
use IPS\Db;
use IPS\Helpers\Form\Radio;
use IPS\Settings;
$options = array();
require "../upgrade/lang.php";
/* Is open tagging enabled? */
if( Settings::i()->tags_open_system == 'open' )
{
$options[] = new Radio( '200000_open_tags', null, TRUE, [
'options' => [ 'convert' => '200000_open_tags_convert', 'all' => '200000_open_tags_all', 'delete' => '200000_open_tags_delete' ]
] );
/* Do we have application-specific tags? */
$nodeTagMapping = [
'cms' => [ 'table' => 'cms_databases', 'field' => 'database_tags_predefined' ],
'downloads' => [ 'table' => 'downloads_categories', 'field' => 'ctags_predefined' ],
'forums' => [ 'table' => 'forums_forums', 'field' => 'tag_predefined' ],
'gallery' => [ 'table' => 'gallery_categories', 'field' => 'category_preset_tags' ]
];
$nodeTags = false;
foreach( $nodeTagMapping as $app => $data )
{
if( Db::i()->checkForTable( $data['table'] ) )
{
$hasTags = (bool) Db::i()->select( 'count(*)', $data['table'], [ "{$data['field']} is not null and {$data['field']} != ?", '' ] )->first();
if( $hasTags )
{
$nodeTags = true;
break;
}
}
}
if( $nodeTags )
{
$options[] = new Radio( '200000_node_tags', null, true, [
'options' => [ 'convert' => '200000_node_tags_convert', 'delete' => '200000_node_tags_delete' ]
] );
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,156 @@
{
"added": [
"ads_txt",
"ads_txt_enabled",
"ajax_pagination",
"board_slogan",
"bruteforce_global_attempts",
"bruteforce_global_period",
"debug_log_enabled",
"debug_log_events",
"debug_log_level",
"debug_log_requests",
"debug_log_webhooks",
"editor_plugin_js",
"google_maps_groups",
"google_maps_zoom",
"mapbox_groups",
"mapbox_zoom",
"mp_onboard_complete",
"ref_member_input",
"theme_designer_mode",
"tags_content_order",
"tags_landing_limit",
"editor_mode_restrictions",
"embed_url_filter_any_action",
"ipb_embed_url_filter_option",
"ipb_embed_url_whitelist"
],
"edited": {
"0": "achievements_last_rebuilt",
"1": "achievements_rebuilding",
"2": "acp_menu_cookie_rebuild",
"3": "ads_exist",
"4": "ads_force_sidebar",
"5": "authy_enabled",
"6": "auto_follow_new_content",
"7": "auto_follow_replied_to",
"8": "automoderation_enabled",
"9": "club_nodes_in_apps",
"10": "clubs",
"11": "clubs_locations",
"12": "clubs_paid_commission",
"13": "clubs_paid_on",
"14": "clubs_paid_tax",
"15": "clubs_require_approval",
"16": "core_datalayer_enabled",
"17": "core_datalayer_include_pii",
"18": "core_datalayer_member_pii_choice",
"19": "core_datalayer_pii",
"20": "core_datalayer_replace_with_sso",
"21": "edit_log_public",
"22": "error_notify",
"23": "fb_pixel_delay",
"24": "fb_pixel_enabled",
"25": "force_reg_terms",
"26": "ga_enabled",
"27": "google_maps_static_use_embed",
"28": "googleauth_enabled",
"29": "googletag_enabled",
"30": "guest_terms_bar",
"31": "hive_enabled",
"32": "htaccess_mod_rewrite",
"33": "indexnow_enabled",
"34": "ipb_poll_only",
"35": "ips_cp_purchase",
"36": "javascript_updated",
"37": "manifest_details",
"38": "mapbox",
"39": "matomo_enabled",
"40": "merge_concurrent_posts",
"41": "minimum_age",
"42": "new_device_email",
"43": "new_reg_notify",
"44": "notification_prefs_one_per_view",
"45": "notification_prefs_popup",
"46": "onboard_complete",
"47": "orig_tables_checked",
"48": "password_strength_meter_enforce",
"49": "pixabay_enabled",
"50": "poll_allow_vdelete",
"51": "prune_log_admin",
"52": "prune_log_moderator",
"53": "prune_pms",
"54": "ref_on",
"55": "reputation_can_self_vote",
"56": "search_index_timeframe",
"57": "security_questions_enabled",
"58": "sendgrid_click_tracking",
"59": "sendgrid_use_for",
"60": "setup_in_progress",
"61": "signatures_enabled",
"62": "signatures_guests",
"63": "signatures_mobile",
"64": "site_site_elsewhere",
"65": "sitemap_last_ping",
"66": "spm_notify",
"67": "staff_directory_empty",
"72": "tags_max",
"73": "tags_min",
"74": "tags_min_req",
"75": "use_coppa",
"76": "warnings_acknowledge",
"77": "webhook_logs_success",
"78": "xforward_matching",
"79": "profile_birthday_type"
},
"removed": [
"all_activity_rep_neg",
"bitly_enabled",
"bitly_token",
"ckeditor_extraPlugins",
"ckeditor_permissions",
"ckeditor_toolbars",
"connect_slaves",
"contact_nexus_department",
"coppa_consent_extra",
"disable_all_plugins",
"editor_allowed_classes",
"editor_allowed_datacontrollers",
"editor_allowed_iframe_bases",
"editor_paste_behaviour",
"emoji_ascii",
"enable_bbcode",
"lazy_load_enabled",
"lp_method",
"match_browser",
"max_video_width",
"max_video_width_css",
"member_menu_create_key",
"pop3_password",
"pop3_port",
"pop3_server",
"pop3_tls",
"pop3_user",
"profile_comment_approval",
"profile_comments",
"promote_community_enabled",
"promote_scheduled",
"promote_tz",
"sparkpost_api_key",
"sparkpost_click_tracking",
"sparkpost_ip_pool",
"sparkpost_use_for",
"status_updates_mem_enable",
"theme_designers_mode",
"theme_disk_cache_path",
"theme_disk_cache_templates",
"theme_editing_advanced_mode",
"tags_alphabetical",
"tags_clean",
"tags_len_max",
"tags_len_min",
"tags_open_system",
"tags_predefined"
]
}
@@ -0,0 +1,14 @@
{
"added": [
"advertStats",
"weeklyCleanup",
"cleartagpins"
],
"edited": [
"sitemapgenerator"
],
"removed": [
"pop",
"promote"
]
}
@@ -0,0 +1,383 @@
{
"html": {
"added": [
"front\/global\/carouselNavigation",
"front\/global\/defaultThumb",
"front\/global\/tagsWithPrefix",
"front\/system\/followedContentTagRow",
"front\/tags\/contentTableRows",
"front\/tags\/coverPhotoOverlay",
"front\/tags\/overview",
"front\/tags\/pinnedItem",
"front\/tags\/view",
"admin\/developer\/missingSearchKeywords"
],
"edited": [
"front\/clubs\/clubCard",
"front\/clubs\/header",
"global\/forms\/codemirror",
"global\/forms\/date",
"global\/forms\/editor",
"global\/forms\/editorAttachments",
"global\/forms\/editorAttachmentsPlaceholder",
"global\/forms\/textarea",
"global\/forms\/upload",
"front\/global\/assignmentHeader",
"front\/global\/blockEditorButton",
"front\/global\/breadcrumb",
"front\/global\/commentMultimod",
"front\/global\/contentItemMessage",
"global\/global\/includeCSS",
"global\/global\/includeMeta",
"global\/global\/miniPagination",
"front\/global\/miniProfile",
"front\/global\/widgetArea",
"front\/menu\/link",
"front\/menu\/row",
"front\/menu\/separator",
"front\/profile\/profile",
"front\/profile\/profileHeader",
"front\/system\/notificationsAjax",
"front\/tables\/rows",
"admin\/tables\/table",
"front\/widgets\/relatedContent",
"admin\/customization\/mediaFileListing",
"global\/forms\/textarea",
"front\/global\/breadcrumb",
"front\/global\/footer",
"front\/global\/globalTemplate",
"front\/global\/mobileFooterBar",
"front\/global\/mobileHeaderGuest",
"front\/global\/mobileNavHeader",
"front\/global\/navColumnItems",
"front\/global\/navigationPanel",
"front\/global\/sidebar",
"front\/global\/userBar",
"front\/global\/userLink",
"front\/sharelinks\/x",
"front\/tables\/rows",
"front\/widgets\/promoted",
"front\/clubs\/directory",
"front\/clubs\/view",
"admin\/customization\/media",
"front\/global\/commentsAndReviewsTabs",
"front\/global\/contentItemMessage",
"front\/global\/coverPhoto",
"front\/global\/globalTemplate",
"global\/global\/includeJS",
"front\/global\/mobileNavHeader",
"front\/global\/navBarItems",
"front\/global\/prefix",
"front\/global\/rating",
"front\/global\/tag",
"front\/global\/thumbImage",
"front\/global\/updateWarning",
"global\/login\/oauthLogin",
"front\/messaging\/template",
"front\/modcp\/approvalQueueTable",
"front\/modcp\/hiddenTable",
"front\/modcp\/template",
"front\/popular\/tabs",
"front\/profile\/profile",
"front\/profile\/profileHeader",
"front\/profile\/profileTabs",
"front\/profile\/userContent",
"front\/profile\/userReputation",
"front\/profile\/userSolutions",
"front\/promote\/promotePublicTable",
"front\/search\/resultStream",
"front\/search\/search",
"front\/streams\/filterCreateForm",
"front\/streams\/streamWrapper",
"front\/system\/followedContent",
"front\/system\/guidelines",
"front\/system\/ignore",
"front\/system\/login",
"front\/system\/notificationSettingsIndex",
"front\/system\/settings",
"front\/system\/settingsPrivacy",
"front\/tables\/rows",
"front\/tables\/table",
"global\/forms\/button",
"global\/forms\/codemirror",
"global\/forms\/editor",
"global\/forms\/textarea",
"front\/global\/contentItemMessage",
"front\/global\/footer",
"admin\/global\/globalTemplate",
"front\/global\/loginPopupForm",
"front\/global\/mobileFooterBar",
"front\/global\/tag",
"front\/hive\/follow",
"admin\/hive\/wrapper",
"front\/profile\/followers",
"front\/streams\/unsubscribeStream",
"front\/system\/banned",
"front\/system\/completeProfile",
"front\/system\/contactConfirmVerify",
"front\/system\/contactDone",
"front\/system\/cookies",
"front\/system\/notAdminValidated",
"front\/system\/notCoppaValidated",
"front\/system\/notValidated",
"admin\/achievements\/rulesForm",
"admin\/applications\/enhancementsLabel",
"admin\/customization\/langRowAdditional",
"global\/forms\/color",
"global\/forms\/editorRawV5",
"front\/global\/coverPhoto",
"front\/global\/globalTemplate",
"global\/global\/includeCSS",
"global\/global\/includeJS",
"front\/global\/thumbImage",
"admin\/support\/thirdPartyItems",
"front\/system\/searchResultSnippet",
"front\/widgets\/promoted",
"admin\/api\/webhooks",
"front\/clubs\/header",
"admin\/customization\/templateEditor",
"admin\/customization\/templateEditorHtmlPane",
"global\/embed\/iframe",
"global\/forms\/editorAttachments",
"global\/forms\/editorRawV5",
"global\/forms\/matrix",
"global\/forms\/matrixRows",
"global\/forms\/node",
"front\/forms\/popupRegisterTemplate",
"front\/forms\/popupTemplate",
"front\/forms\/profileCompleteTemplate",
"admin\/forms\/template",
"front\/forms\/template",
"front\/global\/commentRecognized",
"global\/global\/dynamicChart",
"front\/global\/embedExternal",
"front\/global\/htmlDataAttributes",
"front\/global\/reactionTabs",
"admin\/global\/tabs",
"front\/global\/tabs",
"front\/global\/userMenuAchievements",
"front\/global\/widgetArea",
"global\/login\/mfaSetup",
"admin\/memberprofile\/devicesAndIPAddresses",
"admin\/memberprofile\/mainTemplate",
"admin\/memberprofile\/notificationTypes",
"admin\/memberprofile\/tabbedBlock",
"admin\/members\/acpRestrictions",
"admin\/members\/bulkMailPreview",
"admin\/members\/moderatorPermissions",
"front\/modcp\/members",
"front\/modcp\/report",
"front\/modcp\/unapprovedContent",
"front\/popular\/tabs",
"front\/profile\/profileHeader",
"front\/profile\/profileTabs",
"front\/promote\/promotePublicTable",
"front\/search\/filters",
"admin\/spam\/spamGeoSettings",
"admin\/spam\/spamQandASettings",
"front\/system\/settings",
"front\/tables\/rows",
"admin\/tables\/table",
"front\/widgets\/achievements",
"front\/widgets\/activeUsers",
"front\/widgets\/advertisements",
"front\/widgets\/clubs",
"front\/widgets\/communityhive",
"front\/widgets\/formTemplate",
"front\/widgets\/guestSignUp",
"front\/widgets\/invite",
"front\/widgets\/members",
"front\/widgets\/mostContributions",
"front\/widgets\/mostSolved",
"front\/widgets\/mostSolvedRows",
"front\/widgets\/newsletter",
"front\/widgets\/pagebuilderoembed",
"front\/widgets\/pagebuildertext",
"front\/widgets\/pagebuilderupload",
"front\/widgets\/promoted",
"front\/widgets\/relatedContent",
"front\/widgets\/stats",
"front\/widgets\/stream",
"front\/widgets\/tableofcontents",
"front\/widgets\/topContributorRows",
"front\/widgets\/topContributors",
"front\/widgets\/whosOnline"
],
"removed": [
"front\/widgets\/announcements",
"front\/widgets\/profile"
]
},
"css": {
"added": [
"front\/styles\/tags_page.css"
],
"edited": [
"front\/core.css",
"global\/flags.css",
"admin\/core\/controlstrip.css",
"global\/framework\/1-3-variables.css",
"global\/framework\/1-4-colors.css",
"global\/framework\/1-5-global.css",
"global\/framework\/3-badges.css",
"global\/framework\/3-buttons.css",
"global\/framework\/3-carousel.css",
"global\/framework\/3-compose.css",
"global\/framework\/3-cover-photo.css",
"global\/framework\/3-data-tables.css",
"global\/framework\/3-editor.css",
"global\/framework\/3-engagement.css",
"global\/framework\/3-entries.css",
"global\/framework\/3-forms.css",
"global\/framework\/3-iconpicker.css",
"global\/framework\/3-images.css",
"global\/framework\/3-inputs.css",
"global\/framework\/3-lists.css",
"global\/framework\/3-menus.css",
"global\/framework\/3-misc.css",
"global\/framework\/3-pagination.css",
"global\/framework\/3-popup.css",
"global\/framework\/3-richtext.css",
"global\/framework\/3-social-icons.css",
"global\/framework\/3-tables.css",
"global\/framework\/3-tabs.css",
"global\/framework\/4-breadcrumb.css",
"global\/framework\/4-header.css",
"global\/framework\/4-layout.css",
"global\/framework\/4-mobile-footer.css",
"global\/framework\/4-navigation-panel.css",
"global\/framework\/4-offcanvas.css",
"global\/framework\/5-typography.css",
"global\/framework\/6-debug.css",
"global\/framework\/table-of-contents.css",
"admin\/promotion\/meta.css",
"front\/styles\/profiles.css",
"front\/styles\/theme_editor.css",
"global\/2fa.css",
"front\/core.css",
"admin\/core\/global.css",
"admin\/core\/misc.css",
"admin\/core\/typography.css",
"admin\/core\/zzz-admin-only.css",
"global\/framework\/1-1-reset.css",
"global\/framework\/1-3-variables.css",
"global\/framework\/1-4-colors.css",
"global\/framework\/1-5-global.css",
"global\/framework\/3-badges.css",
"global\/framework\/3-boxes.css",
"global\/framework\/3-buttons.css",
"global\/framework\/3-carousel.css",
"global\/framework\/3-color-scheme-changer.css",
"global\/framework\/3-compose.css",
"global\/framework\/3-cover-photo.css",
"global\/framework\/3-data-tables.css",
"global\/framework\/3-editor.css",
"global\/framework\/3-entries.css",
"global\/framework\/3-forms.css",
"global\/framework\/3-iconpicker.css",
"global\/framework\/3-images.css",
"global\/framework\/3-inputs.css",
"global\/framework\/3-lightbox.css",
"global\/framework\/3-menus.css",
"global\/framework\/3-messages.css",
"global\/framework\/3-misc.css",
"global\/framework\/3-pagination.css",
"global\/framework\/3-post-content.css",
"global\/framework\/3-progress.css",
"global\/framework\/3-richtext.css",
"global\/framework\/3-social-icons.css",
"global\/framework\/3-streams.css",
"global\/framework\/3-tabs.css",
"global\/framework\/3-toolbox.css",
"global\/framework\/3-typography.css",
"global\/framework\/4-breadcrumb.css",
"global\/framework\/4-footer.css",
"global\/framework\/4-global.css",
"global\/framework\/4-header.css",
"global\/framework\/4-layout.css",
"global\/framework\/4-navigation-panel.css",
"global\/framework\/4-offcanvas.css",
"global\/framework\/4-search-dialog.css",
"global\/framework\/5-color.css",
"global\/framework\/5-other.css",
"global\/framework\/6-debug.css",
"admin\/members\/restrictions.css",
"front\/styles\/alerts.css",
"front\/styles\/clubs.css",
"front\/styles\/messaging.css",
"front\/styles\/modcp.css",
"front\/styles\/promote.css",
"front\/styles\/streams.css",
"front\/styles\/theme_editor.css",
"global\/framework\/1-2-settings.css",
"global\/framework\/1-5-global.css",
"global\/framework\/3-boxes.css",
"global\/framework\/3-carousel.css",
"global\/framework\/3-color-scheme-changer.css",
"global\/framework\/3-data-tables.css",
"global\/framework\/3-editor.css",
"global\/framework\/3-entries.css",
"global\/framework\/3-images.css",
"global\/framework\/3-menus.css",
"global\/framework\/3-messages.css",
"global\/framework\/3-rating.css",
"global\/framework\/3-richtext.css",
"global\/framework\/3-tabs.css",
"global\/framework\/3-tags.css",
"global\/framework\/4-footer.css",
"global\/framework\/4-mobile-footer.css",
"global\/framework\/6-debug.css",
"front\/styles\/profiles.css",
"front\/core.css",
"admin\/core\/global.css",
"global\/framework\/1-4-colors.css",
"global\/framework\/3-boxes.css",
"global\/framework\/3-compose.css",
"global\/framework\/3-data-tables.css",
"global\/framework\/3-forms.css",
"global\/framework\/3-grid.css",
"global\/framework\/3-inputs.css",
"global\/framework\/3-misc.css",
"global\/framework\/3-richtext.css",
"global\/framework\/3-tables.css",
"global\/framework\/4-header.css",
"front\/core.css",
"global\/framework\/3-data-tables.css",
"global\/framework\/3-editor.css",
"global\/framework\/3-iconpicker.css",
"global\/framework\/3-inputs.css",
"front\/styles\/promote.css",
"front\/core.css",
"admin\/core\/controlstrip.css",
"admin\/customization\/templates.css",
"global\/framework\/1-2-settings.css",
"global\/framework\/3-boxes.css",
"global\/framework\/3-carousel.css",
"global\/framework\/3-compose.css",
"global\/framework\/3-data-tables.css",
"global\/framework\/3-editor.css",
"global\/framework\/3-engagement.css",
"global\/framework\/3-forms.css",
"global\/framework\/3-menus.css",
"global\/framework\/3-tables.css",
"global\/framework\/3-tabs.css",
"global\/framework\/4-global.css",
"global\/framework\/4-header.css",
"admin\/members\/view.css",
"front\/styles\/embeds.css",
"front\/styles\/profiles.css",
"admin\/system\/login.css",
"admin\/system\/plugins.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [
"admin\/welcome.svg",
"front\/notification.svg",
"global\/logos\/x.svg"
],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"added": [
"lightDarkMode",
"textLogo",
"desktopHeader",
"body",
"desktopFooter",
"logos",
"imageLogoDesktop",
"mobileHeader",
"contentBoxes",
"imageLogoMobile",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation"
],
"edited": [],
"removed": []
}
@@ -0,0 +1,72 @@
{
"added": [
"set__i-default-scheme",
"set__i-layout-width",
"set__i-logo-text",
"set__i-sidebar-ui-header--he",
"set__i-mobile-header--he",
"set__i-design-border",
"i-footer--co",
"set__i-mobile-icons-location",
"set__i-position-logo",
"set__logo-light",
"set__i-font-family",
"layout_global_view_mode",
"set__mobile-logo-light",
"set__i-mobile-footer-labels",
"set__mobile-logo-dark",
"set__i-flip-sidebar",
"set__i-change-scheme",
"set__logo-dark",
"set__i-font-size",
"i-dashHeader--ba-co",
"set__i-logo-slogan",
"i-headerMobile--ba-co",
"set__i-design-radius",
"i-footer--ba-co",
"set__i-position-navigation",
"set__i-position-user",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--fo-fa",
"i-headerMobile--co",
"i-color_root",
"i-dashHeader--co",
"set__i-logo--he",
"set__i-mobile-logo--he",
"set__i-avatar-radius",
"i-mobileFooter--co",
"set__i-position-breadcrumb",
"set__i-sidebar-ui-logo--he",
"set__i-link-panels",
"set__i-logo--fo-we",
"i-body--ba-co",
"i-color_soft",
"set__i-position-search",
"i-mobileFooter-active--co",
"set__i-desktop-logo--fo-si",
"i-box--ba-co",
"i-color_hard",
"i-mobileFooter-active--ba-co",
"i-box--bo-co",
"set__i-header-primary--he",
"i-link--co",
"set__i-sidebar-ui-logo--fo-si",
"i-boxHeader--ba-co",
"set__i-header-secondary--he",
"i-link-hover--co",
"set__i-mobile-logo--fo-si",
"i-boxHeader--co",
"set__i-nav-bar-icons",
"i-headerTop--ba-co",
"i-widget-header--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co"
],
"edited": [],
"removed": []
}
@@ -0,0 +1,512 @@
{
"categories": {
"added": [],
"edited": [
"lightDarkMode",
"textLogo",
"desktopHeader",
"body",
"desktopFooter",
"logos",
"imageLogoDesktop",
"mobileHeader",
"contentBoxes",
"imageLogoMobile",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"lightDarkMode",
"textLogo",
"desktopHeader",
"body",
"desktopFooter",
"logos",
"imageLogoDesktop",
"mobileHeader",
"contentBoxes",
"imageLogoMobile",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"lightDarkMode",
"textLogo",
"desktopHeader",
"body",
"desktopFooter",
"logos",
"imageLogoDesktop",
"mobileHeader",
"contentBoxes",
"imageLogoMobile",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"lightDarkMode",
"textLogo",
"desktopHeader",
"body",
"desktopFooter",
"logos",
"imageLogoDesktop",
"mobileHeader",
"contentBoxes",
"imageLogoMobile",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"lightDarkMode",
"textLogo",
"desktopHeader",
"body",
"desktopFooter",
"logos",
"imageLogoDesktop",
"mobileHeader",
"contentBoxes",
"imageLogoMobile",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation",
"lightDarkMode",
"textLogo",
"desktopHeader",
"body",
"desktopFooter",
"logos",
"imageLogoDesktop",
"mobileHeader",
"contentBoxes",
"imageLogoMobile",
"pageLayouts",
"typography",
"header",
"sidePanel",
"content",
"footer",
"mobileNavigation"
],
"removed": []
},
"settings": {
"added": [],
"edited": [
"set__i-default-scheme",
"set__i-layout-width",
"set__i-logo-text",
"set__i-sidebar-ui-header--he",
"set__i-mobile-header--he",
"set__i-design-border",
"i-footer--co",
"set__i-mobile-icons-location",
"set__i-position-logo",
"set__logo-light",
"set__i-font-family",
"layout_global_view_mode",
"set__mobile-logo-light",
"set__i-mobile-footer-labels",
"set__mobile-logo-dark",
"set__i-flip-sidebar",
"set__i-change-scheme",
"set__logo-dark",
"set__i-font-size",
"i-dashHeader--ba-co",
"set__i-logo-slogan",
"i-headerMobile--ba-co",
"set__i-design-radius",
"i-footer--ba-co",
"set__i-position-navigation",
"set__i-position-user",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--fo-fa",
"i-headerMobile--co",
"i-color_root",
"i-dashHeader--co",
"set__i-logo--he",
"set__i-mobile-logo--he",
"set__i-avatar-radius",
"i-mobileFooter--co",
"set__i-position-breadcrumb",
"set__i-sidebar-ui-logo--he",
"set__i-link-panels",
"set__i-logo--fo-we",
"i-body--ba-co",
"i-color_soft",
"set__i-position-search",
"i-mobileFooter-active--co",
"set__i-desktop-logo--fo-si",
"i-box--ba-co",
"i-color_hard",
"i-mobileFooter-active--ba-co",
"i-box--bo-co",
"set__i-header-primary--he",
"i-link--co",
"set__i-sidebar-ui-logo--fo-si",
"i-boxHeader--ba-co",
"set__i-header-secondary--he",
"i-link-hover--co",
"set__i-mobile-logo--fo-si",
"i-boxHeader--co",
"set__i-nav-bar-icons",
"i-headerTop--ba-co",
"i-widget-header--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-default-scheme",
"set__i-layout-width",
"set__i-logo-text",
"set__i-sidebar-ui-header--he",
"set__i-mobile-header--he",
"set__i-design-border",
"i-footer--co",
"set__i-mobile-icons-location",
"set__i-position-logo",
"set__logo-light",
"set__i-font-family",
"layout_global_view_mode",
"set__mobile-logo-light",
"set__i-mobile-footer-labels",
"set__mobile-logo-dark",
"set__i-flip-sidebar",
"set__i-change-scheme",
"set__logo-dark",
"set__i-font-size",
"i-dashHeader--ba-co",
"set__i-logo-slogan",
"i-headerMobile--ba-co",
"set__i-design-radius",
"i-footer--ba-co",
"set__i-position-navigation",
"set__i-position-user",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--fo-fa",
"i-headerMobile--co",
"i-color_root",
"i-dashHeader--co",
"set__i-logo--he",
"set__i-mobile-logo--he",
"set__i-avatar-radius",
"i-mobileFooter--co",
"set__i-position-breadcrumb",
"set__i-sidebar-ui-logo--he",
"set__i-link-panels",
"set__i-logo--fo-we",
"i-body--ba-co",
"i-color_soft",
"set__i-position-search",
"i-mobileFooter-active--co",
"set__i-desktop-logo--fo-si",
"i-box--ba-co",
"i-color_hard",
"i-mobileFooter-active--ba-co",
"i-box--bo-co",
"set__i-header-primary--he",
"i-link--co",
"set__i-sidebar-ui-logo--fo-si",
"i-boxHeader--ba-co",
"set__i-header-secondary--he",
"i-link-hover--co",
"set__i-mobile-logo--fo-si",
"i-boxHeader--co",
"set__i-nav-bar-icons",
"i-headerTop--ba-co",
"i-widget-header--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-default-scheme",
"set__i-layout-width",
"set__i-logo-text",
"set__i-sidebar-ui-header--he",
"set__i-mobile-header--he",
"set__i-design-border",
"i-footer--co",
"set__i-mobile-icons-location",
"set__i-position-logo",
"set__logo-light",
"set__i-font-family",
"layout_global_view_mode",
"set__mobile-logo-light",
"set__i-mobile-footer-labels",
"set__mobile-logo-dark",
"set__i-flip-sidebar",
"set__i-change-scheme",
"set__logo-dark",
"set__i-font-size",
"i-dashHeader--ba-co",
"set__i-logo-slogan",
"i-headerMobile--ba-co",
"set__i-design-radius",
"i-footer--ba-co",
"set__i-position-navigation",
"set__i-position-user",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--fo-fa",
"i-headerMobile--co",
"i-color_root",
"i-dashHeader--co",
"set__i-logo--he",
"set__i-mobile-logo--he",
"set__i-avatar-radius",
"i-mobileFooter--co",
"set__i-position-breadcrumb",
"set__i-sidebar-ui-logo--he",
"set__i-link-panels",
"set__i-logo--fo-we",
"i-body--ba-co",
"i-color_soft",
"set__i-position-search",
"i-mobileFooter-active--co",
"set__i-desktop-logo--fo-si",
"i-box--ba-co",
"i-color_hard",
"i-mobileFooter-active--ba-co",
"i-box--bo-co",
"set__i-header-primary--he",
"i-link--co",
"set__i-sidebar-ui-logo--fo-si",
"i-boxHeader--ba-co",
"set__i-header-secondary--he",
"i-link-hover--co",
"set__i-mobile-logo--fo-si",
"i-boxHeader--co",
"set__i-nav-bar-icons",
"i-headerTop--ba-co",
"i-widget-header--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-default-scheme",
"set__i-layout-width",
"set__i-logo-text",
"set__i-sidebar-ui-header--he",
"set__i-mobile-header--he",
"set__i-design-border",
"i-footer--co",
"set__i-mobile-icons-location",
"set__i-position-logo",
"set__logo-light",
"set__i-font-family",
"layout_global_view_mode",
"set__mobile-logo-light",
"set__i-mobile-footer-labels",
"set__mobile-logo-dark",
"set__i-flip-sidebar",
"set__i-change-scheme",
"set__logo-dark",
"set__i-font-size",
"i-dashHeader--ba-co",
"set__i-logo-slogan",
"i-headerMobile--ba-co",
"set__i-design-radius",
"i-footer--ba-co",
"set__i-position-navigation",
"set__i-position-user",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--fo-fa",
"i-headerMobile--co",
"i-color_root",
"i-dashHeader--co",
"set__i-logo--he",
"set__i-mobile-logo--he",
"set__i-avatar-radius",
"i-mobileFooter--co",
"set__i-position-breadcrumb",
"set__i-sidebar-ui-logo--he",
"set__i-link-panels",
"set__i-logo--fo-we",
"i-body--ba-co",
"i-color_soft",
"set__i-position-search",
"i-mobileFooter-active--co",
"set__i-desktop-logo--fo-si",
"i-box--ba-co",
"i-color_hard",
"i-mobileFooter-active--ba-co",
"i-box--bo-co",
"set__i-header-primary--he",
"i-link--co",
"set__i-sidebar-ui-logo--fo-si",
"i-boxHeader--ba-co",
"set__i-header-secondary--he",
"i-link-hover--co",
"set__i-mobile-logo--fo-si",
"i-boxHeader--co",
"set__i-nav-bar-icons",
"i-headerTop--ba-co",
"i-widget-header--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-default-scheme",
"set__i-layout-width",
"set__i-logo-text",
"set__i-sidebar-ui-header--he",
"set__i-mobile-header--he",
"set__i-design-border",
"i-footer--co",
"set__i-mobile-icons-location",
"set__i-position-logo",
"set__logo-light",
"set__i-font-family",
"layout_global_view_mode",
"set__mobile-logo-light",
"set__i-mobile-footer-labels",
"set__mobile-logo-dark",
"set__i-flip-sidebar",
"set__i-change-scheme",
"set__logo-dark",
"set__i-font-size",
"i-dashHeader--ba-co",
"set__i-logo-slogan",
"i-headerMobile--ba-co",
"set__i-design-radius",
"i-footer--ba-co",
"set__i-position-navigation",
"set__i-position-user",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--fo-fa",
"i-headerMobile--co",
"i-color_root",
"i-dashHeader--co",
"set__i-logo--he",
"set__i-mobile-logo--he",
"set__i-avatar-radius",
"i-mobileFooter--co",
"set__i-position-breadcrumb",
"set__i-sidebar-ui-logo--he",
"set__i-link-panels",
"set__i-logo--fo-we",
"i-body--ba-co",
"i-color_soft",
"set__i-position-search",
"i-mobileFooter-active--co",
"set__i-desktop-logo--fo-si",
"i-box--ba-co",
"i-color_hard",
"i-mobileFooter-active--ba-co",
"i-box--bo-co",
"set__i-header-primary--he",
"i-link--co",
"set__i-sidebar-ui-logo--fo-si",
"i-boxHeader--ba-co",
"set__i-header-secondary--he",
"i-link-hover--co",
"set__i-mobile-logo--fo-si",
"i-boxHeader--co",
"set__i-nav-bar-icons",
"i-headerTop--ba-co",
"i-widget-header--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co",
"set__i-default-scheme",
"set__i-layout-width",
"set__i-logo-text",
"set__i-sidebar-ui-header--he",
"set__i-mobile-header--he",
"set__i-design-border",
"i-footer--co",
"set__i-mobile-icons-location",
"set__i-position-logo",
"set__logo-light",
"set__i-font-family",
"layout_global_view_mode",
"set__mobile-logo-light",
"set__i-mobile-footer-labels",
"set__mobile-logo-dark",
"set__i-flip-sidebar",
"set__i-change-scheme",
"set__logo-dark",
"set__i-font-size",
"i-dashHeader--ba-co",
"set__i-logo-slogan",
"i-headerMobile--ba-co",
"set__i-design-radius",
"i-footer--ba-co",
"set__i-position-navigation",
"set__i-position-user",
"set__i-design-shadow",
"i-mobileFooter--ba-co",
"set__i-logo--fo-fa",
"i-headerMobile--co",
"i-color_root",
"i-dashHeader--co",
"set__i-logo--he",
"set__i-mobile-logo--he",
"set__i-avatar-radius",
"i-mobileFooter--co",
"set__i-position-breadcrumb",
"set__i-sidebar-ui-logo--he",
"set__i-link-panels",
"set__i-logo--fo-we",
"i-body--ba-co",
"i-color_soft",
"set__i-position-search",
"i-mobileFooter-active--co",
"set__i-desktop-logo--fo-si",
"i-box--ba-co",
"i-color_hard",
"i-mobileFooter-active--ba-co",
"i-box--bo-co",
"set__i-header-primary--he",
"i-link--co",
"set__i-sidebar-ui-logo--fo-si",
"i-boxHeader--ba-co",
"set__i-header-secondary--he",
"i-link-hover--co",
"set__i-mobile-logo--fo-si",
"i-boxHeader--co",
"set__i-nav-bar-icons",
"i-headerTop--ba-co",
"i-widget-header--ba-co",
"i-widget-header--co",
"i-headerTop--co",
"i-headerPrimary--ba-co",
"i-headerPrimary--co",
"i-headerSecondary--ba-co",
"i-headerSecondary--co"
],
"removed": []
}
}
@@ -0,0 +1,319 @@
<?php
/**
* @brief 5.0.0 Upgrade Code
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
* @copyright (c) Invision Power Services, Inc.
* @license https://www.invisioncommunity.com/legal/standards/
* @package Invision Community
* @since 31 May 2023
*/
namespace IPS\core\setup\upg_500001;
/* To prevent PHP errors (extending class does not exist) revealing path */
use IPS\Application;
use IPS\Content;
use IPS\Content\Search\Index;
use IPS\core\AdminNotification;
use IPS\core\Advertisement;
use IPS\Db;
use IPS\Http\Url;
use IPS\Patterns\ActiveRecordIterator;
use IPS\Settings;
use IPS\Task;
use OutOfRangeException;
use UnderflowException;
use function defined;
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ($_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0') . ' 403 Forbidden' );
exit;
}
/**
* 5.0.0 Upgrade Code
*/
class Upgrade
{
/**
* Charts Menu
*
* @return bool|array If returns TRUE, upgrader will proceed to next step. If it returns any other value, it will set this as the value of the 'extra' GET parameter and rerun this step (useful for loops)
*/
public function step1() : bool|array
{
/* Try and make sure My Charts is added to the top of the stats menu */
foreach(Db::i()->select( '*', 'core_acp_tab_order' ) AS $order )
{
$data = json_decode( $order['data'], true );
if ( isset( $data['stats'] ) )
{
foreach( $data['stats'] AS $k => $v )
{
if ( $v === '' OR $v === 'core_overview' )
{
unset( $data['stats'][ $k ] );
}
}
array_unshift( $data['stats'], '', 'core_overview' ); // This looks weird but each entry in the order has a blank entry at the beginning, so preserve that.
}
Db::i()->update( 'core_acp_tab_order', array( 'data' => json_encode( $data ) ), array( "`id`=?", $order['id'] ) );
}
/* Set a flag to force ACP order cookies to be reset */
/* The setting won't have been inserted yet at this point */
Db::i()->replace( 'core_sys_conf_settings', array(
'conf_key' => 'acp_menu_cookie_rebuild',
'conf_value' => '1',
'conf_default' => '0',
'conf_app' => 'core'
) );
return TRUE;
}
public function step2() : bool|array
{
/* Clean up status updates */
Index::i()->removeClassFromSearchIndex( 'IPS\core\Statuses\Status' );
Index::i()->removeClassFromSearchIndex( 'IPS\core\Statuses\Reply' );
return TRUE;
}
/**
* Social promote / featured merging
*/
public function step3() : bool|array
{
/* And drop the internal flag, no longer necessary */
try
{
/* Delete all social promotions that were not promoted internally */
Db::i()->delete( 'core_content_promote', array( 'promote_internal=?', 0 ) );
Db::i()->dropColumn( 'core_content_promote', 'promote_internal' );
}
catch( \Exception $e ) { }
/* Now merge in the core_content_featured table which is for an easy achievements rebuild */
$prefix = Db::i()->prefix;
Db::i()->query( "INSERT INTO `{$prefix}core_content_promote` ( `promote_class`, `promote_class_id`, `promote_text`, `promote_media`, `promote_added`, `promote_added_by`, `promote_images`, `promote_form_data`, `promote_hide`, `promote_author_id`, `promote_short_link` ) SELECT `feature_content_class`, `feature_content_id`, '' as `promote_text`, '' as `promote_media`, feature_date, 0, '' AS `promote_images`, '' as `promote_form_data`, 0, feature_content_author, '' FROM `{$prefix}core_content_featured`" );
/* And now drop the core_content_featured table - or should we wait until a 5.0.x release? */
// Db::i()->dropTable('core_content_featured');
return TRUE;
}
public function step4() : bool|array
{
/* Set the container ID for records in the approval queue */
$rows = iterator_to_array(
Db::i()->select( '*', 'core_approval_queue' )
);
foreach( $rows as $row )
{
$containerId = null;
$class = $row['approval_content_class'];
if( is_subclass_of( $class, 'IPS\Content\Comment' ) )
{
$itemClass = $class::$itemClass;
if( isset( $itemClass::$databaseColumnMap['container'] ) )
{
try
{
$containerId = Db::i()->select( $itemClass::$databasePrefix . $itemClass::$databaseColumnMap['container'], $class::$databaseTable, array( $class::$databasePrefix . $class::$databaseColumnId . '=?', $row['approval_content_id'] ) )
->join( $itemClass::$databaseTable, $class::$databaseTable . '.' . $class::$databasePrefix . $class::$databaseColumnMap['item'] . '=' . $itemClass::$databaseTable . '.' . $itemClass::$databasePrefix . $itemClass::$databaseColumnId )
->first();
}
catch( UnderflowException ){}
}
}
elseif( isset( $class::$databaseColumnMap['container'] ) )
{
try
{
$containerId = Db::i()->select( $class::$databasePrefix . $class::$databaseColumnMap['container'], $class::$databaseTable, array( $class::$databasePrefix . $class::$databaseColumnId . '=?', $row['approval_content_id'] ) )->first();
}
catch( UnderflowException ){}
}
if( $containerId )
{
Db::i()->update( 'core_approval_queue', array( 'approval_container_id' => $containerId ), array( 'approval_id=?', $row['approval_id'] ) );
}
}
return TRUE;
}
/**
* ...
*
* @return bool|array If returns TRUE, upgrader will proceed to next step. If it returns any other value, it will set this as the value of the 'extra' GET parameter and rerun this step (useful for loops)
*/
public function step5() : bool|array
{
$tagsToKeep = [];
if( isset( $_SESSION['upgrade_options']['core']['200000']['open_tags'] ) )
{
if( $_SESSION['upgrade_options']['core']['200000']['open_tags'] == 'convert' )
{
/* Get the top 25 tags */
$topTags = iterator_to_array(
Db::i()->select( 'count(tag_id) as total, tag_text', 'core_tags', null, 'total desc', array( 0, 25 ), 'tag_text' )
->setKeyField( 'tag_text' )
->setValueField( 'total' )
);
$tagsToKeep = array_keys( $topTags );
}
elseif( $_SESSION['upgrade_options']['core']['200000']['open_tags'] == 'all' )
{
$tagsToKeep = iterator_to_array(
Db::i()->select( 'distinct tag_text', 'core_tags' )
);
}
}
else
{
/* If we did not have this setting, then we have closed tagging, so we should convert all tags */
$tagsToKeep = iterator_to_array(
Db::i()->select( 'distinct tag_text', 'core_tags' )
);
}
/* Check node-level tags */
if( isset( $_SESSION['upgrade_options']['core']['200000']['node_tags'] ) )
{
$nodeTagMapping = [
'cms' => [ 'table' => 'cms_databases', 'field' => 'database_tags_predefined' ],
'downloads' => [ 'table' => 'downloads_categories', 'field' => 'ctags_predefined' ],
'forums' => [ 'table' => 'forums_forums', 'field' => 'tag_predefined' ],
'gallery' => [ 'table' => 'gallery_categories', 'field' => 'category_preset_tags' ]
];
if( $_SESSION['upgrade_options']['core']['200000']['node_tags'] == 'convert' )
{
foreach( $nodeTagMapping as $app => $data )
{
if( !Db::i()->checkForTable( $data['table'] ) )
{
continue;
}
foreach( Db::i()->select( $data['field'], $data['table'] ) as $tagList )
{
if( $tagList )
{
$tagsToKeep = array_merge( $tagsToKeep, explode( ",", $tagList ) );
}
}
}
}
}
/* If we have no tags to keep, just wipe the tables */
if( !count( $tagsToKeep ) )
{
Db::i()->delete( 'core_tags' );
Db::i()->delete( 'core_tags_perms' );
Db::i()->delete( 'core_tags_cache' );
}
else
{
/* Queue for converting to new tags */
$tagsToKeep = array_unique( $tagsToKeep );
sort( $tagsToKeep );
Task::queue( 'core', 'ConvertOpenTags', [ 'tags' => $tagsToKeep ], 4 );
}
return TRUE;
}
/*
* Fire background tasks to migrate lazy-load to native
*
* @return bool|array
*/
public function step6(): bool|array
{
foreach ( Content::routedClasses( FALSE, TRUE ) as $class )
{
if( isset( $class::$databaseColumnMap['content'] ) )
{
try
{
Task::queue( 'core', 'RebuildLazyLoad', array( 'class' => $class ), 3 );
}
catch( OutOfRangeException $ex ) { }
}
}
foreach( Application::allExtensions( 'core', 'EditorLocations', FALSE ) as $_key => $extension )
{
if( method_exists( $extension, 'rebuildLazyLoad' ) )
{
Task::queue( 'core', 'RebuildLazyLoadNonContent', array( 'extension' => $_key ), 3 );
}
}
return TRUE;
}
public function step7() : bool|array
{
/* send a notification if custom ad locations are present */
$defaultLocations = [];
$hasCustomLocations = FALSE;
/* Now grab ad location extensions */
foreach( Application::allExtensions( 'core', 'AdvertisementLocations', FALSE, 'core' ) as $key => $extension )
{
$result = $extension->getSettings( [] );
$defaultLocations = array_merge( $defaultLocations, $result[ 'locations' ] );
}
$iterator = new ActiveRecordIterator( Db::i()->select( '*', 'core_advertisements' ), Advertisement::class );
foreach( $iterator as $record )
{
$locations = explode( ',', $record->location );
$customLocations = array_diff( $locations, array_keys( $defaultLocations ) );
if( !empty( $customLocations ) )
{
$hasCustomLocations = TRUE;
break;
}
}
if( $hasCustomLocations )
{
AdminNotification::send( 'core', 'Custom', '', FALSE, NULL, FALSE,[
'title' => 'Custom Ad Locations were removed',
'body' => "Custom Ad Locations were removed in Invision Community 5.<br>Please <a href=" . Url::internal( 'app=core&module=promotion&controller=advertisements') . ">review</a> your advertisement and choose new locations if necessary."] );
}
return true;
}
public function step8() : bool|array
{
Task::queue( 'core', 'UpdateWidgetAreas', array(), 3 );
return TRUE;
}
// You can create as many additional methods (step2, step3, etc.) as is necessary.
// Each step will be executed in a new HTTP request
}
@@ -0,0 +1,10 @@
{
"added": [
"advertisements",
"tableofcontents"
],
"edited": [],
"removed": [
"recentStatusUpdates"
]
}