Просмотр исходного кода

#103 combined actions menu in submenu for text based modules

Alex Trofimov 11 лет назад
Родитель
Сommit
3ecfe9a5df

+ 23 - 0
modules/base/text/classes/BxBaseModTextMenuViewActions.php

@@ -0,0 +1,23 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ *
+ * @defgroup    BaseText Base classes for text modules
+ * @ingroup     TridentModules
+ *
+ * @{
+ */
+
+/**
+ * View entry actions menu in popup
+ */
+class BxBaseModTextMenuViewActions extends BxBaseModTextMenuView
+{
+    protected function getMenuItemsRaw ()
+    {
+        return $this->_getMenuItemsCombined ();
+    }
+}
+
+/** @} */

+ 8 - 4
modules/boonex/albums/classes/BxAlbumsConfig.php

@@ -15,6 +15,11 @@ class BxAlbumsConfig extends BxBaseModTextConfig
     {
         parent::__construct($aModule);
 
+        $aMenuItems2Methods = array (
+            'edit-album' => 'checkAllowedEdit',
+            'delete-album' => 'checkAllowedDelete',
+        );
+
         $this->CNF = array (
 
             // database tables
@@ -82,6 +87,7 @@ class BxAlbumsConfig extends BxBaseModTextConfig
             'OBJECT_FORM_ENTRY_DISPLAY_EDIT' => 'bx_albums_entry_edit',
             'OBJECT_FORM_ENTRY_DISPLAY_DELETE' => 'bx_albums_entry_delete',
             'OBJECT_MENU_ACTIONS_VIEW_ENTRY' => 'bx_albums_view', // actions menu on view entry page
+            'OBJECT_MENU_ACTIONS_VIEW_ENTRY_POPUP' => 'bx_albums_view_popup', // actions menu popup on view entry page
             'OBJECT_MENU_ACTIONS_MY_ENTRIES' => 'bx_albums_my', // actions menu on my entries page
             'OBJECT_MENU_SUBMENU' => 'bx_albums_submenu', // main module submenu
             'OBJECT_MENU_SUBMENU_VIEW_ENTRY' => 'bx_albums_view_submenu', // view entry submenu
@@ -96,10 +102,8 @@ class BxAlbumsConfig extends BxBaseModTextConfig
                 'bx_albums_my' => array (
                     'create-album' => 'checkAllowedAdd',
                 ),
-                'bx_albums_view' => array (
-                    'edit-album' => 'checkAllowedEdit',
-                    'delete-album' => 'checkAllowedDelete',
-                ),
+                'bx_albums_view' => $aMenuItems2Methods,
+                'bx_albums_view_popup' => $aMenuItems2Methods,
             ),
 
             // some language keys

+ 24 - 0
modules/boonex/albums/classes/BxAlbumsMenuViewActions.php

@@ -0,0 +1,24 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ *
+ * @defgroup    Albums Albums
+ * @ingroup     TridentModules
+ *
+ * @{
+ */
+
+/**
+ * Actions popup menu.
+ */
+class BxAlbumsMenuViewActions extends BxBaseModTextMenuViewActions
+{
+    public function __construct($aObject, $oTemplate = false)
+    {
+        $this->MODULE = 'bx_albums';
+        parent::__construct($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 3 - 2
modules/boonex/albums/install/langs/en.xml

@@ -103,8 +103,9 @@
 	<string name="_bx_albums_page_block_title_popular_keywords_media"><![CDATA[Popular Media Hashtags]]></string>
 	<string name="_bx_albums_page_block_title_popular_keywords_media_camera"><![CDATA[Popular Cameras]]></string>
 
-    <string name="_bx_albums_menu_set_title_view_entry"><![CDATA[View Album]]></string>
-    <string name="_bx_albums_menu_title_view_entry"><![CDATA[View Album]]></string>
+    <string name="_bx_albums_menu_set_title_view_entry"><![CDATA[Album Actions]]></string>
+    <string name="_bx_albums_menu_title_view_entry"><![CDATA[Album Actions]]></string>
+    <string name="_bx_albums_menu_title_view_entry_popup"><![CDATA[Album Popup Actions]]></string>
     <string name="_bx_albums_menu_title_submenu"><![CDATA[Albums Submenu]]></string>
     <string name="_bx_albums_menu_set_title_submenu"><![CDATA[Albums Submenu]]></string>
     <string name="_bx_albums_menu_item_title_system_create_entry"><![CDATA[New Album]]></string>

+ 2 - 1
modules/boonex/albums/install/sql/enable.sql

@@ -173,7 +173,8 @@ INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `tit
 -- MENU: actions menu for view entry 
 
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
-('bx_albums_view', '_bx_albums_menu_title_view_entry', 'bx_albums_view', 'bx_albums', 9, 0, 1, 'BxAlbumsMenuView', 'modules/boonex/albums/classes/BxAlbumsMenuView.php');
+('bx_albums_view', '_bx_albums_menu_title_view_entry', 'bx_albums_view', 'bx_albums', 9, 0, 1, 'BxAlbumsMenuView', 'modules/boonex/albums/classes/BxAlbumsMenuView.php'),
+('bx_albums_view_popup', '_bx_albums_menu_title_view_entry_popup', '', 'bx_albums', 16, 0, 1, 'BxAlbumsMenuViewActions', 'modules/boonex/albums/classes/BxAlbumsMenuViewActions.php');
 
 INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
 ('bx_albums_view', 'bx_albums', '_bx_albums_menu_set_title_view_entry', 0);

+ 8 - 4
modules/boonex/convos/classes/BxCnvConfig.php

@@ -15,6 +15,11 @@ class BxCnvConfig extends BxBaseModTextConfig
     {
         parent::__construct($aModule);
 
+        $aMenuItems2Methods = array (
+            'delete-convos' => 'checkAllowedDelete',
+            'mark-unread-convo' => 'checkAllowedView',
+        );
+
         $this->CNF = array (
 
             // database tables
@@ -61,6 +66,7 @@ class BxCnvConfig extends BxBaseModTextConfig
             'OBJECT_FORM_ENTRY_DISPLAY_EDIT' => '',
             'OBJECT_FORM_ENTRY_DISPLAY_DELETE' => 'bx_convos_entry_delete',
             'OBJECT_MENU_ACTIONS_VIEW_ENTRY' => 'bx_convos_view', // actions menu on view entry page
+            'OBJECT_MENU_ACTIONS_VIEW_ENTRY_POPUP' => 'bx_convos_view_popup', // actions menu popup on view entry page
             'OBJECT_MENU_ACTIONS_MY_ENTRIES' => 'bx_convos_my', // actions menu on my entries page
             'OBJECT_MENU_SUBMENU' => 'bx_convos_submenu', // main module submenu
             'OBJECT_MENU_SUBMENU_VIEW_ENTRY' => '', // view entry submenu
@@ -69,10 +75,8 @@ class BxCnvConfig extends BxBaseModTextConfig
 
             // menu items which visibility depends on custom visibility checking
             'MENU_ITEM_TO_METHOD' => array (
-                'bx_convos_view' => array (
-                    'delete-convos' => 'checkAllowedDelete',
-                    'mark-unread-convo' => 'checkAllowedView',
-                ),
+                'bx_convos_view' => $aMenuItems2Methods,
+                'bx_convos_view_popup' => $aMenuItems2Methods,
             ),
 
             // some language keys

+ 24 - 0
modules/boonex/convos/classes/BxCnvMenuViewActions.php

@@ -0,0 +1,24 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ *
+ * @defgroup    Convos Convos
+ * @ingroup     TridentModules
+ *
+ * @{
+ */
+
+/**
+ * Actions popup menu.
+ */
+class BxCnvMenuViewActions extends BxBaseModTextMenuViewActions
+{
+    public function __construct($aObject, $oTemplate = false)
+    {
+        $this->MODULE = 'bx_convos';
+        parent::__construct($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 3 - 2
modules/boonex/convos/install/langs/en.xml

@@ -47,8 +47,9 @@
     <string name="_bx_cnv_page_block_title_folder"><![CDATA[Folder: {folder}]]></string>
     <string name="_bx_cnv_page_block_title_convos"><![CDATA[Conversations]]></string>
 
-    <string name="_bx_cnv_menu_set_title_view_entry"><![CDATA[View conversation]]></string>
-    <string name="_bx_cnv_menu_title_view_entry"><![CDATA[View conversation]]></string>
+    <string name="_bx_cnv_menu_set_title_view_entry"><![CDATA[Conversation Actions]]></string>
+    <string name="_bx_cnv_menu_title_view_entry"><![CDATA[Conversation Actions]]></string>
+    <string name="_bx_cnv_menu_title_view_entry_popup"><![CDATA[Conversation Popup Actions]]></string>
     <string name="_bx_cnv_menu_title_submenu"><![CDATA[Conversations Submenu]]></string>
     <string name="_bx_cnv_menu_set_title_submenu"><![CDATA[Conversations Submenu]]></string>
     <string name="_bx_cnv_menu_title_folders_more"><![CDATA[Conversations folders]]></string>

+ 2 - 1
modules/boonex/convos/install/sql/enable.sql

@@ -54,7 +54,8 @@ INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbo
 -- MENU: actions menu for view entry 
 
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
-('bx_convos_view', '_bx_cnv_menu_title_view_entry', 'bx_convos_view', 'bx_convos', 9, 0, 1, 'BxCnvMenuView', 'modules/boonex/convos/classes/BxCnvMenuView.php');
+('bx_convos_view', '_bx_cnv_menu_title_view_entry', 'bx_convos_view', 'bx_convos', 9, 0, 1, 'BxCnvMenuView', 'modules/boonex/convos/classes/BxCnvMenuView.php'),
+('bx_convos_view_popup', '_bx_cnv_menu_title_view_entry_popup', '', 'bx_convos', 16, 0, 1, 'BxCnvMenuViewActions', 'modules/boonex/convos/classes/BxCnvMenuViewActions.php');
 
 INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
 ('bx_convos_view', 'bx_convos', '_bx_cnv_menu_set_title_view_entry', 0);

+ 8 - 4
modules/boonex/posts/classes/BxPostsConfig.php

@@ -15,6 +15,11 @@ class BxPostsConfig extends BxBaseModTextConfig
     {
         parent::__construct($aModule);
 
+        $aMenuItems2Methods = array (
+            'edit-post' => 'checkAllowedEdit',
+            'delete-post' => 'checkAllowedDelete',
+        );
+
         $this->CNF = array (
 
             // database tables
@@ -69,6 +74,7 @@ class BxPostsConfig extends BxBaseModTextConfig
             'OBJECT_FORM_ENTRY_DISPLAY_EDIT' => 'bx_posts_entry_edit',
             'OBJECT_FORM_ENTRY_DISPLAY_DELETE' => 'bx_posts_entry_delete',
             'OBJECT_MENU_ACTIONS_VIEW_ENTRY' => 'bx_posts_view', // actions menu on view entry page
+            'OBJECT_MENU_ACTIONS_VIEW_ENTRY_POPUP' => 'bx_posts_view_popup', // actions menu popup on view entry page
             'OBJECT_MENU_ACTIONS_MY_ENTRIES' => 'bx_posts_my', // actions menu on my entries page
             'OBJECT_MENU_SUBMENU' => 'bx_posts_submenu', // main module submenu
             'OBJECT_MENU_SUBMENU_VIEW_ENTRY' => 'bx_posts_view_submenu', // view entry submenu
@@ -83,10 +89,8 @@ class BxPostsConfig extends BxBaseModTextConfig
                 'bx_posts_my' => array (
                     'create-post' => 'checkAllowedAdd',
                 ),
-                'bx_posts_view' => array (
-                    'edit-post' => 'checkAllowedEdit',
-                    'delete-post' => 'checkAllowedDelete',
-                ),
+                'bx_posts_view' => $aMenuItems2Methods,
+                'bx_posts_view_popup' => $aMenuItems2Methods,
             ),
 
             // some language keys

+ 24 - 0
modules/boonex/posts/classes/BxPostsMenuViewActions.php

@@ -0,0 +1,24 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ *
+ * @defgroup    Posts Posts
+ * @ingroup     TridentModules
+ *
+ * @{
+ */
+
+/**
+ * Actions popup menu.
+ */
+class BxPostsMenuViewActions extends BxBaseModTextMenuViewActions
+{
+    public function __construct($aObject, $oTemplate = false)
+    {
+        $this->MODULE = 'bx_posts';
+        parent::__construct($aObject, $oTemplate);
+    }
+}
+
+/** @} */

+ 3 - 2
modules/boonex/posts/install/langs/en.xml

@@ -94,8 +94,9 @@
 	<string name="_bx_posts_page_block_title_manage"><![CDATA[Manage Posts]]></string>    
 	<string name="_bx_posts_page_block_title_popular_keywords"><![CDATA[Popular Hashtags]]></string>
 
-    <string name="_bx_posts_menu_set_title_view_entry"><![CDATA[View Post]]></string>
-    <string name="_bx_posts_menu_title_view_entry"><![CDATA[View Post]]></string>
+    <string name="_bx_posts_menu_set_title_view_entry"><![CDATA[Post Actions]]></string>
+    <string name="_bx_posts_menu_title_view_entry"><![CDATA[Post Actions]]></string>
+    <string name="_bx_posts_menu_title_view_entry_popup"><![CDATA[Post Popup Actions]]></string>
     <string name="_bx_posts_menu_title_submenu"><![CDATA[Posts Submenu]]></string>
     <string name="_bx_posts_menu_set_title_submenu"><![CDATA[Posts Submenu]]></string>
     <string name="_bx_posts_menu_item_title_system_create_entry"><![CDATA[New Post]]></string>

+ 2 - 1
modules/boonex/posts/install/sql/enable.sql

@@ -156,7 +156,8 @@ INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `tit
 -- MENU: actions menu for view entry 
 
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
-('bx_posts_view', '_bx_posts_menu_title_view_entry', 'bx_posts_view', 'bx_posts', 9, 0, 1, 'BxPostsMenuView', 'modules/boonex/posts/classes/BxPostsMenuView.php');
+('bx_posts_view', '_bx_posts_menu_title_view_entry', 'bx_posts_view', 'bx_posts', 9, 0, 1, 'BxPostsMenuView', 'modules/boonex/posts/classes/BxPostsMenuView.php'),
+('bx_posts_view_popup', '_bx_posts_menu_title_view_entry_popup', '', 'bx_posts', 16, 0, 1, 'BxPostsMenuViewActions', 'modules/boonex/posts/classes/BxPostsMenuViewActions.php');
 
 INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
 ('bx_posts_view', 'bx_posts', '_bx_posts_menu_set_title_view_entry', 0);

+ 3 - 2
modules/boonex/russian/data/langs/bx_albums/ru.xml

@@ -103,8 +103,9 @@
 	<string name="_bx_albums_page_block_title_popular_keywords_media"><![CDATA[Популярные Хэштеги Изображений]]></string>
 	<string name="_bx_albums_page_block_title_popular_keywords_media_camera"><![CDATA[Популярные Фотокамеры]]></string>
 
-    <string name="_bx_albums_menu_set_title_view_entry"><![CDATA[Просмотреть альбом]]></string>
-    <string name="_bx_albums_menu_title_view_entry"><![CDATA[Просмотреть альбом]]></string>
+    <string name="_bx_albums_menu_set_title_view_entry"><![CDATA[Действия для альбома]]></string>
+    <string name="_bx_albums_menu_title_view_entry"><![CDATA[Действия для альбома]]></string>
+    <string name="_bx_albums_menu_title_view_entry_popup"><![CDATA[Всплывающие действия для альбома]]></string>
     <string name="_bx_albums_menu_title_submenu"><![CDATA[Альбомы - Подменю]]></string>
     <string name="_bx_albums_menu_set_title_submenu"><![CDATA[Альбомы - Подменю]]></string>
     <string name="_bx_albums_menu_item_title_system_create_entry"><![CDATA[Новый альбом]]></string>

+ 3 - 2
modules/boonex/russian/data/langs/bx_convos/ru.xml

@@ -47,8 +47,9 @@
     <string name="_bx_cnv_page_block_title_folder"><![CDATA[Папка: {folder}]]></string>
     <string name="_bx_cnv_page_block_title_convos"><![CDATA[Сообщения]]></string>
 
-    <string name="_bx_cnv_menu_set_title_view_entry"><![CDATA[Просмотреть сообщение]]></string>
-    <string name="_bx_cnv_menu_title_view_entry"><![CDATA[Просмотреть сообщение]]></string>
+    <string name="_bx_cnv_menu_set_title_view_entry"><![CDATA[Действия для сообщения]]></string>
+    <string name="_bx_cnv_menu_title_view_entry"><![CDATA[Действия для сообщения]]></string>
+    <string name="_bx_cnv_menu_title_view_entry_popup"><![CDATA[Всплывающие действия для сообщения]]></string>
     <string name="_bx_cnv_menu_title_submenu"><![CDATA[Переписка - Подменю]]></string>
     <string name="_bx_cnv_menu_set_title_submenu"><![CDATA[Переписка - Подменю]]></string>
     <string name="_bx_cnv_menu_title_folders_more"><![CDATA[Переписка - Папки]]></string>

+ 3 - 2
modules/boonex/russian/data/langs/bx_posts/ru.xml

@@ -94,8 +94,9 @@
 	<string name="_bx_posts_page_block_title_manage"><![CDATA[Управление Публикациями]]></string>    
 	<string name="_bx_posts_page_block_title_popular_keywords"><![CDATA[Популярные Хэштеги]]></string>
 
-    <string name="_bx_posts_menu_set_title_view_entry"><![CDATA[Просмотреть публикацию]]></string>
-    <string name="_bx_posts_menu_title_view_entry"><![CDATA[Просмотреть публикацию]]></string>
+    <string name="_bx_posts_menu_set_title_view_entry"><![CDATA[Действия для публикации]]></string>
+    <string name="_bx_posts_menu_title_view_entry"><![CDATA[Действия для публикации]]></string>
+    <string name="_bx_posts_menu_title_view_entry_popup"><![CDATA[Всплывающие действия для публикации]]></string>
     <string name="_bx_posts_menu_title_submenu"><![CDATA[Публикации - Подменю]]></string>
     <string name="_bx_posts_menu_set_title_submenu"><![CDATA[Публикации - Подменю]]></string>
     <string name="_bx_posts_menu_item_title_system_create_entry"><![CDATA[Новая публикация]]></string>