ソースを参照

Ticket #3795 - Add 'Quick Add Content' menu to use it in 'Add New...' block.

AntonLV 1 年間 前
親
コミット
bf76ff63b0

+ 2 - 1
install/sql/system.sql

@@ -4807,7 +4807,7 @@ INSERT INTO `sys_objects_menu` (`object`, `title`, `set_name`, `module`, `templa
 ('sys_set_acl_level', '_sys_menu_title_set_acl_level', '', 'system', 6, 0, 1, 'BxTemplMenuSetAclLevel', ''),
 ('sys_set_badges', '_sys_menu_title_set_badges', '', 'system', 6, 0, 1, 'BxTemplMenuSetBadges', ''),
 ('sys_social_sharing', '_sys_menu_title_social_sharing', 'sys_social_sharing', 'system', 23, 0, 1, 'BxTemplMenuSocialSharing', ''),
-('sys_create_post', '_sys_menu_title_create_post', 'sys_add_content_links', 'system', 15, 0, 1, 'BxTemplMenuCreatePost', ''),
+('sys_create_post', '_sys_menu_title_create_post', 'sys_create_post', 'system', 15, 0, 1, 'BxTemplMenuCreatePost', ''),
 ('sys_dashboard_content', '_sys_menu_title_dashboard_content_manage', 'sys_dashboard_content_manage', 'system', 15, 0, 1, 'BxTemplMenuDashboardContentManage', ''),
 ('sys_dashboard_reports', '_sys_menu_title_dashboard_reports_manage', 'sys_dashboard_reports_manage', 'system', 15, 0, 1, 'BxTemplMenuDashboardReportsManage', ''),
 ('sys_add_relation', '_sys_menu_title_add_relation', '', 'system', 6, 0, 1, 'BxTemplMenuAddRelation', ''),
@@ -4839,6 +4839,7 @@ INSERT INTO `sys_menu_sets` (`set_name`, `module`, `title`, `deletable`) VALUES
 ('sys_account_popup', 'system', '_sys_menu_set_title_account_popup', 0),
 ('sys_account_notifications', 'system', '_sys_menu_set_title_account_notifications', 0),
 ('sys_add_content_links', 'system', '_sys_menu_set_title_add_content', 0),
+('sys_create_post', 'system', '_sys_menu_set_title_create_post', 0),
 ('sys_dashboard_content_manage', 'system', '_sys_menu_set_title_dashboard_content_manage', 0),
 ('sys_dashboard_reports_manage', 'system', '_sys_menu_set_title_dashboard_reports_manage', 0),
 ('sys_add_profile_links', 'system', '_sys_menu_set_title_add_profile', 0),

+ 1 - 0
modules/boonex/english/data/langs/system/en.xml

@@ -3401,6 +3401,7 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_menu_set_title_account_popup"><![CDATA[Account Popup]]></string>
     <string name="_sys_menu_set_title_account_notifications"><![CDATA[Account Notifications]]></string>
     <string name="_sys_menu_set_title_add_content"><![CDATA[Add Content]]></string>
+    <string name="_sys_menu_set_title_create_post"><![CDATA[Create Post]]></string>
     <string name="_sys_menu_set_title_dashboard_content_manage"><![CDATA[Content Manage]]></string>
     <string name="_sys_menu_set_title_dashboard_reports_manage"><![CDATA[Reports Manage]]></string>
     <string name="_sys_menu_set_title_add_profile"><![CDATA[Add Profile]]></string>

+ 5 - 0
modules/boonex/forum/install/sql/enable.sql

@@ -209,6 +209,11 @@ SET @iAddMenuOrder = (SELECT `order` FROM `sys_menu_items` WHERE `set_name` = 's
 INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
 ('sys_add_content_links', @sName, 'create-discussion', '_bx_forum_menu_item_title_system_create_entry', '_bx_forum_menu_item_title_create_entry', 'page.php?i=create-discussion', '', '', 'far comments col-blue2', '', 2147483647, 1, 1, IFNULL(@iAddMenuOrder, 0) + 1);
 
+-- MENU: add to "create post" menu
+SET @iCreatePostOrder = (SELECT `order` FROM `sys_menu_items` WHERE `set_name` = 'sys_create_post' AND `active` = 1 ORDER BY `order` DESC LIMIT 1);
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
+('sys_create_post', @sName, 'create-discussion', '_bx_forum_menu_item_title_system_create_entry', '_bx_forum_menu_item_title_create_entry', 'page.php?i=create-discussion', '', '', 'far comments col-blue2', '', 2147483647, 1, 0, IFNULL(@iCreatePostOrder, 0) + 1);
+
 -- MENU: create post form attachments (link, photo, video, etc)
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
 ('bx_forum_entry_attachments', '_bx_forum_menu_title_entry_attachments', 'bx_forum_entry_attachments', @sName, 23, 0, 1, 'BxForumMenuAttachments', 'modules/boonex/forum/classes/BxForumMenuAttachments.php');

+ 5 - 0
modules/boonex/posts/install/sql/enable.sql

@@ -218,6 +218,11 @@ SET @iAddMenuOrder = (SELECT `order` FROM `sys_menu_items` WHERE `set_name` = 's
 INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
 ('sys_add_content_links', 'bx_posts', 'create-post', '_bx_posts_menu_item_title_system_create_entry', '_bx_posts_menu_item_title_create_entry', 'page.php?i=create-post', '', '', 'file-alt col-red3', '', 2147483647, 1, 1, IFNULL(@iAddMenuOrder, 0) + 1);
 
+-- MENU: add to "create post" menu
+SET @iCreatePostOrder = (SELECT `order` FROM `sys_menu_items` WHERE `set_name` = 'sys_create_post' AND `active` = 1 ORDER BY `order` DESC LIMIT 1);
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
+('sys_create_post', 'bx_posts', 'create-post', '_bx_posts_menu_item_title_system_create_entry', '_bx_posts_menu_item_title_create_entry', 'page.php?i=create-post', '', '', 'file-alt col-red3', '', 2147483647, 1, 0, IFNULL(@iCreatePostOrder, 0) + 1);
+
 -- MENU: create post form attachments (link, photo, video, etc)
 
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 

+ 1 - 0
modules/boonex/russian/data/langs/system/ru.xml

@@ -3367,6 +3367,7 @@
     <string name="_sys_menu_set_title_account_popup"><![CDATA[Аккаунт - Всплывающее меню]]></string>
     <string name="_sys_menu_set_title_account_notifications"><![CDATA[Аккаунт - Уведомления]]></string>
     <string name="_sys_menu_set_title_add_content"><![CDATA[Добавить содержимое]]></string>
+    <string name="_sys_menu_set_title_create_post"><![CDATA[Создать пост]]></string>
     <string name="_sys_menu_set_title_dashboard_content_manage"><![CDATA[Управление контентом]]></string>
     <string name="_sys_menu_set_title_dashboard_reports_manage"><![CDATA[Управление жалобами]]></string>
     <string name="_sys_menu_set_title_add_profile"><![CDATA[Добавить профиль]]></string>

+ 5 - 0
modules/boonex/timeline/install/sql/enable.sql

@@ -270,6 +270,11 @@ SET @iAddMenuOrder = (SELECT `order` FROM `sys_menu_items` WHERE `set_name` = 's
 INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
 ('sys_add_content_links', 'bx_timeline', 'create-item', '_bx_timeline_menu_item_title_system_create_entry', '_bx_timeline_menu_item_title_create_entry', 'page.php?i=timeline-view&profile_id={member_id}', '', '', 'far clock col-green1', '', 2147483647, 1, 1, IFNULL(@iAddMenuOrder, 0) + 1);
 
+-- MENU: add to "add content" menu
+SET @iCreatePostOrder = (SELECT `order` FROM `sys_menu_items` WHERE `set_name` = 'sys_create_post' AND `active` = 1 ORDER BY `order` DESC LIMIT 1);
+INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
+('sys_create_post', 'bx_timeline', 'create-item', '_bx_timeline_menu_item_title_system_create_entry', '_bx_timeline_menu_item_title_create_entry', 'page.php?i=timeline-view&profile_id={member_id}', '', '', 'far clock col-green1', '', 2147483647, 1, 0, IFNULL(@iCreatePostOrder, 0) + 1);
+
 -- MENU: add menu item to profiles modules (trigger* menu sets are processed separately upon modules enable/disable)
 INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
 ('trigger_profile_view_submenu', 'bx_timeline', 'timeline-view', '_bx_timeline_menu_item_title_system_view_timeline_view', '_bx_timeline_menu_item_title_view_timeline_view', 'page.php?i=timeline-view&profile_id={profile_id}', '', '', 'far clock col-green1', '', 2147483647, 1, 0, 0),

+ 7 - 7
template/scripts/BxBaseMenuCreatePost.php

@@ -37,9 +37,9 @@ class BxBaseMenuCreatePost extends BxTemplMenuCustom
 
     protected function getMenuItemsRaw ()
     {
-    	$aModules = BxDolModuleQuery::getInstance()->getModulesBy(array('type' => 'all_pairs_name_uri', 'active' => 1));
+    	$aModules = BxDolModuleQuery::getInstance()->getModulesBy(['type' => 'all_pairs_name_uri', 'active' => 1]);
 
-        $aResult = array();
+        $aResult = [];
     	$aMenuItems = $this->_oQuery->getMenuItems();
     	foreach($aMenuItems as $iKey => $aMenuItem) {
             if((int)$aMenuItem['active'] == 0)
@@ -50,22 +50,22 @@ class BxBaseMenuCreatePost extends BxTemplMenuCustom
                 continue;
 
             if($this->_mixedContextId !== false && ($aContextInfo = BxDolProfileQuery::getInstance()->getInfoById(abs($this->_mixedContextId)))) {
-                if(BxDolRequest::serviceExists($sModule, 'act_as_profile'))
+                if(bx_srv($sModule, 'act_as_profile'))
                     continue;
 
                 if(bx_srv($aContextInfo['type'], 'check_allowed_post_in_profile', [$aContextInfo['content_id'], $sModule]) !== CHECK_ACTION_RESULT_ALLOWED)
                     continue;
             }
 
-            $aResult[$iKey] = array_merge($aMenuItem, array(
+            $aResult[$iKey] = array_merge($aMenuItem, [
                 'id' => $sModule,
                 'name' => $sModule,
                 'onclick' => "return " . $this->_sJsObject . ".getForm('" . $sModule . "', '" . $aModules[$sModule] . "', this)"
-            ));
+            ]);
     	}
 
         if(!empty($aResult) && is_array($aResult))
-            $aResult['more-auto'] = array(
+            $aResult['more-auto'] = [
                 'module' => 'system', 
                 'id' => 'more-auto', 
                 'name' => 'more-auto',
@@ -73,7 +73,7 @@ class BxBaseMenuCreatePost extends BxTemplMenuCustom
                 'href' => 'javascript:void(0)', 
                 'icon' => 'ellipsis-v',
                 'active' => 1
-            );
+            ];
 
         return $aResult;
     }