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

#273 Cover image area: default cover on all pages

Alex Trofimov 10 лет назад
Родитель
Сommit
12a530f45c

+ 2 - 2
modules/base/general/classes/BxBaseModGeneralPageEntry.php

@@ -58,8 +58,8 @@ class BxBaseModGeneralPageEntry extends BxTemplPage
         $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
 
         // add actions menu to submenu
-        if (isset($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY_POPUP']))
-            $oMenuSubmenu->setObjectActionsMenu($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY_POPUP']);
+        if (isset($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY']))
+            $oMenuSubmenu->setObjectActionsMenu($CNF['OBJECT_MENU_ACTIONS_VIEW_ENTRY']);
 
         // add social sharing menu to submenu
         $oMenuSubmenu->setServiceSocialSharing(array(

+ 0 - 6
modules/boonex/air/data/template/system/css/menu.css

@@ -1,12 +1,6 @@
 @import url(../../../../../../../template/css/menu.css);
 
 /* --------------- menu menu */
-#bx-menu-main-container-scroller {
-	height:40px;
-    height:2.5rem;
-	text-align: center;
-	overflow: hidden;
-}
 .bx-menu-main-submenu-div .sys-icon {
     font-size:18px;
     font-size:1.125rem;

+ 0 - 2
modules/boonex/albums/classes/BxAlbumsConfig.php

@@ -91,7 +91,6 @@ 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
@@ -107,7 +106,6 @@ class BxAlbumsConfig extends BxBaseModTextConfig
                     'create-album' => 'checkAllowedAdd',
                 ),
                 'bx_albums_view' => $aMenuItems2Methods,
-                'bx_albums_view_popup' => $aMenuItems2Methods,
             ),
 
             // some language keys

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

@@ -1,24 +0,0 @@
-<?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);
-    }
-}
-
-/** @} */

+ 0 - 1
modules/boonex/albums/install/langs/en.xml

@@ -105,7 +105,6 @@
 
     <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 - 3
modules/boonex/albums/install/sql/enable.sql

@@ -53,7 +53,7 @@ INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbo
 ('bx_albums_view_entry', 4, 'bx_albums', '_bx_albums_page_block_title_entry_attachments', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:9:\"bx_albums\";s:6:\"method\";s:18:\"entity_attachments\";}', 0, 0, 1, 1),
 ('bx_albums_view_entry', 4, 'bx_albums', '_bx_albums_page_block_title_entry_location', 3, 2147483647, 'service', 'a:4:{s:6:\"module\";s:6:\"system\";s:6:\"method\";s:13:\"locations_map\";s:6:\"params\";a:2:{i:0;s:9:\"bx_albums\";i:1;s:4:\"{id}\";}s:5:\"class\";s:20:\"TemplServiceMetatags\";}', 0, 0, 1, 2),
 ('bx_albums_view_entry', 4, 'bx_albums', '_bx_albums_page_block_title_entry_comments', 11, 2147483647, 'service', 'a:2:{s:6:\"module\";s:9:\"bx_albums\";s:6:\"method\";s:15:\"entity_comments\";}', 0, 0, 1, 3),
-('bx_albums_view_entry', 1, 'bx_albums', '_bx_albums_page_block_title_entry_actions', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:9:\"bx_albums\";s:6:\"method\";s:14:\"entity_actions\";}', 0, 0, 1, 0),
+
 ('bx_albums_view_entry', 2, 'bx_albums', '_bx_albums_page_block_title_entry_author', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:9:\"bx_albums\";s:6:\"method\";s:13:\"entity_author\";}', 0, 0, 1, 0),
 ('bx_albums_view_entry', 3, 'bx_albums', '_bx_albums_page_block_title_entry_social_sharing', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:9:\"bx_albums\";s:6:\"method\";s:21:\"entity_social_sharing\";}', 0, 0, 1, 0);
 
@@ -176,8 +176,7 @@ 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_popup', '_bx_albums_menu_title_view_entry_popup', '', 'bx_albums', 16, 0, 1, 'BxAlbumsMenuViewActions', 'modules/boonex/albums/classes/BxAlbumsMenuViewActions.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');
 
 INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
 ('bx_albums_view', 'bx_albums', '_bx_albums_menu_set_title_view_entry', 0);

+ 0 - 5
modules/boonex/ocean/data/template/system/css/menu.css

@@ -1,10 +1,5 @@
 @import url(../../../../../../../template/css/menu.css);
 
-/* --------------- menu header */
-#bx-menu-main-container-scroller {
-	text-align: center;
-}
-
 /* --------------- main menu */
 .bx-menu-main li {
     margin-top:0.0625rem;

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

@@ -105,7 +105,6 @@
 
     <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>

+ 27 - 0
template/cover.html

@@ -0,0 +1,27 @@
+<div class="bx-cover-wrapper bx-menu-toolbar-padding">
+
+    <div class="bx-cover bx-def-centered bx-def-page-width bx-def-padding bx-def-box-sizing">
+
+        <div class="bx-cover-title bx-def-margin-sec-bottom bx-def-font-h1">
+
+            <bx_if:icon><i class="sys-icon bx-def-font-contrasted __icon__"></i></bx_if:icon>
+            <bx_if:image><img style="background-image:url(__icon_url__)" src="<bx_icon_url:spacer.gif />" /></bx_if:image>
+
+            <span class="bx-def-font-contrasted bx-def-margin-sec-left">__title__</span>
+
+            <bx_if:sharing>
+                <a class="bx-def-padding-sec-leftright" href="javascript:void(0);" onclick="$('#__id__').dolPopup({pointer:{el:$(this)}})">
+                    <i class="sys-icon bx-def-font-contrasted __icon__"></i>
+                </a>
+               __popup__
+            </bx_if:sharing>
+
+        </div>
+
+        <div class="bx-cover-actions">
+            __actions__
+        </div>
+
+    </div>
+
+</div>

+ 21 - 0
template/css/cover.css

@@ -0,0 +1,21 @@
+.bx-cover-wrapper {
+    background-image: url(../images/cover.jpg);
+    background-color: #eee;
+    background-repeat: no-repeat;
+    background-position: center center;
+    -webkit-background-size: cover;
+    -moz-background-size: cover;
+    -o-background-size: cover;
+    background-size: cover;
+}
+
+.bx-cover {
+    min-height:6rem;
+    height:100%;
+    text-align:center;
+}
+
+.bx-cover-title {
+    font-weight:bold;
+    text-shadow:0px 0px 0.125rem #000;
+}

+ 2 - 0
template/css/default.less

@@ -368,6 +368,8 @@
     color:@bx-font-color-grayed;
 }
 
+.bx-def-font-contrasted:after,
+.bx-def-font-contrasted:before,
 .bx-def-font-contrasted {
     color:@bx-font-color-contrasted;
 }

+ 0 - 19
template/css/menu.css

@@ -138,21 +138,6 @@ ul.bx-menu-ver {
     text-align:center;
 }
 
-#bx-menu-main-container {
-    height:40px;
-    height:2.5rem;
-    white-space: nowrap;
-    overflow:hidden;    
-}
-
-#bx-menu-main-container-scroller {
-    height:60px;
-    height:4rem;
-    overflow:auto;
-    text-align:left;
-    /* -webkit-overflow-scrolling:touch; */
-}
-
 #bx-menu-main-submenu,
 #bx-menu-main {
     display:inline-block;
@@ -160,10 +145,6 @@ ul.bx-menu-ver {
     vertical-align:top;
 }
 
-#bx-menu-main-container #bx-menu-main-submenu:first-child .bx-menu-main-submenu-div:first-child {
-    display:none;
-}
-
 .bx-menu-main-submenu-div .sys-icon {
     font-size:32px;
     font-size:2rem;

+ 17 - 26
template/menu_main.html

@@ -1,29 +1,20 @@
+<!-- TODO: remove code, template and associated styles
 <ul id="bx-menu-main" class="bx-menu-main bx-menu-object-__object__ bx-clearfix">
-    <li class="bx-def-color-bg-hl-hover bx-def-margin-right">
-        <a class="bx-def-padding-sec-leftright" href="javascript:void(0);">
-            <bx_if:icon><i class="sys-icon __icon__"></i></bx_if:icon>
-            <bx_if:image><img style="background-image:url(__icon_url__)" src="<bx_icon_url:spacer.gif />" /></bx_if:image>
-            <span class="bx-def-margin-sec-left">__title__</span>
-            <bx_if:menu>
-                <i class="sys-icon-a" data-rotate="down" data-icon="chevron" ></i>
-            </bx_if:menu>
-        </a>
-    </li>    
-    __popup__
-    <bx_repeat:menus>
-        <li class="bx-def-color-bg-hl-hover"><a class="bx-def-padding-sec-leftright" href="javascript:void(0);" onclick="$('#__id__').dolPopup({pointer:{el:$(this)}})"><i class="sys-icon __icon__"></i></a></li>
+
+    <li class="bx-def-margin-right bx-def-padding-sec-leftright">
+        <bx_if:icon><i class="sys-icon __icon__"></i></bx_if:icon>
+        <bx_if:image><img style="background-image:url(__icon_url__)" src="<bx_icon_url:spacer.gif />" /></bx_if:image>
+        <span class="bx-def-margin-sec-left">__title__</span>
+    </li>
+    
+    <bx_if:sharing>
+        <li class="bx-def-color-bg-hl-hover">
+            <a class="bx-def-padding-sec-leftright" href="javascript:void(0);" onclick="$('#__id__').dolPopup({pointer:{el:$(this)}})">
+                <i class="sys-icon __icon__"></i>
+            </a>
+        </li>
         __popup__
-    </bx_repeat:menus>
+    </bx_if:sharing>
+
 </ul>
-<script>
-    $("#bx-menu-main > li > a").click(function () {
-        var eIconAnim = (new Marka($(this).find('.sys-icon-a').get(0)));
-        eIconAnim.set('times');
-        $('#__id__').dolPopup({
-            pointer:{el:$(this)},
-            onBeforeHide:function () {
-                eIconAnim.set('chevron');
-            }
-        });
-    });
-</script>
+-->

+ 0 - 5
template/menu_main_submenu_wrapper.html

@@ -1,5 +0,0 @@
-<div id="bx-menu-main-container" class="bx-menu-main-container">
-    <div id="bx-menu-main-container-scroller" class="bx-menu-main-container-scroller">
-        __menu__
-    </div>
-</div>

+ 11 - 3
template/scripts/BxBaseCover.php

@@ -32,10 +32,18 @@ class BxBaseCover extends BxDolCover
      */
     public function display ()
     {
-        if (!$this->_aOptions || !$this->_sTemplateName)
-            return $this->_oTemplate->parseHtmlByName($this->_sTemplateNameEmpty, array());
+        if (!$this->_aOptions || !$this->_sTemplateName) {
 
-        $this->_addJsCss();
+            $this->_addJsCss();
+
+            $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
+            $mixedParams = $oMenuSubmenu->getParamsForCover();
+
+            if (!$mixedParams || !is_array($mixedParams))
+                return $this->_oTemplate->parseHtmlByName($this->_sTemplateNameEmpty, array());
+            
+            return $this->_oTemplate->parseHtmlByName('cover.html', $mixedParams);
+        }        
 
         return $this->_oTemplate->parseHtmlByName($this->_sTemplateName, $this->_aOptions);
     }

+ 47 - 41
template/scripts/BxBaseMenuSubmenu.php

@@ -43,22 +43,40 @@ class BxBaseMenuSubmenu extends BxTemplMenu
         $this->_sObjectActionsMenu = $sActionsMenuObject;
     }
 
+    /**
+     * Get current actions menu in submenu
+     * @return menu object name
+     */
+    public function getObjectActionsMenu()
+    {        
+        return $this->_sObjectActionsMenu;
+    }
+
     /**
      * Set social sharing menu in submenu
-     * @param $a menu service call array (module, method, 
+     * @param $a menu service call array (module, method, etc)
      */
     public function setServiceSocialSharing ($a)
     {
         $this->_aSocialSharingService = $a;
     }
 
+    /**
+     * Get social sharing menu in submenu
+     * @return menu service call array (module, method, etc)
+     */
+    public function getServiceSocialSharing ()
+    {
+        return $this->_aSocialSharingService;
+    }
+
     /**
      * Get menu code.
      * @return string
      */
     public function getCode ()
     {
-        $aMenuItemSelected = $this->_getSelectedMenuItem ();
+        $aMenuItemSelected = $this->getSelectedMenuItem ();
         if (isset($aMenuItemSelected['set_name']) && 'sys_site' == $aMenuItemSelected['set_name'] && 'home' == $aMenuItemSelected['name'])
             return '';
 
@@ -68,19 +86,22 @@ class BxBaseMenuSubmenu extends BxTemplMenu
             return $oMenuSubmenu->getCode();
 
         return '';
-        
-/*
-        TODO: remove unused files and code associated with this block
+    }
+
+    public function getParamsForCover ()
+    {
+        $aMenuItemSelected = $this->getSelectedMenuItem ();
+        if (isset($aMenuItemSelected['set_name']) && 'sys_site' == $aMenuItemSelected['set_name'] && 'home' == $aMenuItemSelected['name'])
+            return '';
+
+        $oMenuActions = BxDolMenu::getObjectInstance($this->_sObjectActionsMenu);
+
         $aVars = array (
             'object' => $this->_sObject,
             'id' => 'bx-menu-submenu-menu',
             'title' => $aMenuItemSelected['title'],
             'link' => BxDolPermalinks::getInstance()->permalink($aMenuItemSelected['link']),
-            'popup' => $oMenuSubmenu ? BxTemplFunctions::getInstance()->transBox('bx-menu-submenu-menu', '<div class="bx-def-padding">' . $oMenuSubmenu->getCode() . '</div>', true) : '',
-            'bx_if:menu' => array (
-                'condition' => $oMenuSubmenu,
-                'content' => array(),
-            ),
+            'actions' => $oMenuActions ? $oMenuActions->getCode() : '',
             'bx_if:image' => array (
                 'condition' => false !== strpos($aMenuItemSelected['icon'], '.'),
                 'content' => array('icon_url' => $aMenuItemSelected['icon']),
@@ -89,48 +110,33 @@ class BxBaseMenuSubmenu extends BxTemplMenu
                 'condition' => false === strpos($aMenuItemSelected['icon'], '.'),
                 'content' => array('icon' => $aMenuItemSelected['icon']),
             ),
-            'bx_repeat:menus' => array (),
+            'bx_if:sharing' => array (
+                'condition' => false,
+                'content' => array(),
+            ),
         );
 
-        $aMenus = $this->getSubmenuParams($aMenuItemSelected); 
+        // if (!$this->_sObjectSubmenu && !$this->_mixedMainMenuItemSelected && $aMenuItemSelected['submenu_object'])
+        //    $this->_sObjectSubmenu = $aMenuItemSelected['submenu_object'];
 
-        foreach ($aMenus as $aMenu) {
-            $sPopupContent = '';
-            if (isset($aMenu['object']) && ($oMenu = BxDolMenu::getObjectInstance($aMenu['object'])))
-                $sPopupContent = $oMenu->getCode();
-            elseif (isset($aMenu['service']) && is_array($aMenu['service']))
-                $sPopupContent = BxDolService::call($aMenu['service']['module'], $aMenu['service']['method'], isset($aMenu['service']['params']) ? $aMenu['service']['params'] : array(), isset($aMenu['service']['class']) ? $aMenu['service']['class'] : 'Module');
-            if (!$sPopupContent)
-                continue;
+        if ($this->_aSocialSharingService) {
+            $sPopupContent = BxDolService::call($this->_aSocialSharingService['module'], $this->_aSocialSharingService['method'], isset($this->_aSocialSharingService['params']) ? $this->_aSocialSharingService['params'] : array(), isset($this->_aSocialSharingService['class']) ? $this->_aSocialSharingService['class'] : 'Module');
 
-            $aVars['bx_repeat:menus'][] = array (
-                'id' => $aMenu['id'],
-                'icon' => $aMenu['icon'],
-                'popup' => BxTemplFunctions::getInstance()->transBox($aMenu['id'], '<div class="bx-def-padding">' . $sPopupContent . '</div>', true),
+            $aVars['bx_if:sharing']['condition'] = true;
+            $aVars['bx_if:sharing']['content'] = array (
+                'id' => 'bx-menu-social-sharing-menu',
+                'icon' => 'share',
+                'popup' => BxTemplFunctions::getInstance()->transBox('bx-menu-social-sharing-menu', '<div class="bx-def-padding">' . $sPopupContent . '</div>', true),
             );
         }
 
-        if (!$aVars['bx_repeat:menus'] && (!$oMenuSubmenu || !$aMenuItemSelected))
+        if (!$aVars['bx_if:sharing']['condition'] && !$aMenuItemSelected)
             return '';
 
-        $sMenu = $this->_oTemplate->parseHtmlByName($this->_aObject['template'], $aVars);
-
-        return $this->_oTemplate->parseHtmlByName('menu_main_submenu_wrapper.html', array('menu' => $sMenu));
-*/
-    }
-
-    protected function getSubmenuParams($aMenuItemSelected)
-    {
-        if (!$this->_sObjectSubmenu && !$this->_mixedMainMenuItemSelected && $aMenuItemSelected['submenu_object'])
-            $this->_sObjectSubmenu = $aMenuItemSelected['submenu_object'];
-
-        return array (
-            'social_sharing_menu' => array ('id' => 'bx-menu-social-sharing-menu', 'icon' => 'share', 'service' => $this->_aSocialSharingService),
-            'actions_menu' => array ('id' => 'bx-menu-actions-menu', 'icon' => 'cog', 'object' => $this->_sObjectActionsMenu),            
-        );
+        return $aVars;
     }
 
-    protected function _getSelectedMenuItem ()
+    public function getSelectedMenuItem ()
     {
         if (is_array($this->_mixedMainMenuItemSelected))
             return $this->_mixedMainMenuItemSelected;