AntonLV 9 лет назад
Родитель
Сommit
4cb921798e

+ 2 - 2
modules/base/notifications/classes/BxBaseModNotificationsTemplate.php

@@ -45,7 +45,7 @@ class BxBaseModNotificationsTemplate extends BxBaseModGeneralTemplate
         return parent::getJsCode($sType, $aParams, $bWrap);
     }
     
-    public function getPost(&$aEvent, $aBrowseParams = array())
+    public function getUnit(&$aEvent, $aBrowseParams = array())
     {
     	return '';
     }
@@ -55,7 +55,7 @@ class BxBaseModNotificationsTemplate extends BxBaseModGeneralTemplate
     	$this->getCssJs();
 
     	if($sTemplateName == 'unit.html')
-    		return $this->getPost($aData);
+    		return $this->getUnit($aData);
 
         $oModule = $this->getModule();
         $CNF = &$this->_oConfig->CNF;

+ 11 - 5
modules/boonex/timeline/classes/BxTimelineModule.php

@@ -17,6 +17,7 @@ define('BX_TIMELINE_TYPE_DEFAULT', BX_BASE_MOD_NTFS_TYPE_OWNER);
 
 define('BX_TIMELINE_VIEW_TIMELINE', 'timeline');
 define('BX_TIMELINE_VIEW_OUTLINE', 'outline');
+define('BX_TIMELINE_VIEW_SEARCH', 'search');
 define('BX_TIMELINE_VIEW_DEFAULT', BX_TIMELINE_VIEW_OUTLINE);
 
 define('BX_TIMELINE_FILTER_ALL', 'all');
@@ -307,7 +308,7 @@ class BxTimelineModule extends BxBaseModNotificationsModule
         }
         
 
-        $aParams = $this->_prepareParams($sType, $iOwnerId, 0, $this->_oConfig->getRssLength(), '', array(), 0);
+        $aParams = $this->_prepareParams(BX_TIMELINE_VIEW_DEFAULT, $sType, $iOwnerId, 0, $this->_oConfig->getRssLength(), '', array(), 0);
         $aEvents = $this->_oDb->getEvents($aParams);
 
         $aRssData = array();
@@ -1071,6 +1072,11 @@ class BxTimelineModule extends BxBaseModNotificationsModule
         //--- Event -> Delete for Alerts Engine ---//
     }
 
+    public function getParams($sView = '', $sType = '', $iOwnerId = 0, $iStart = 0, $iPerPage = 0, $sFilter = '', $aModules = array(), $iTimeline = 0)
+    {
+        return $this->_prepareParams($sView, $sType, $iOwnerId, $iStart, $iPerPage, $sFilter, $aModules, $iTimeline);
+    }
+
     public function getViewsData(&$aViews)
     {
         if(empty($aViews) || !is_array($aViews))
@@ -1170,7 +1176,7 @@ class BxTimelineModule extends BxBaseModNotificationsModule
 
     protected function _serviceGetBlockViewByType($iProfileId = 0, $sView = BX_TIMELINE_VIEW_DEFAULT, $sType = BX_TIMELINE_TYPE_DEFAULT, $iStart = -1, $iPerPage = -1, $iPerPageDefault = -1,  $iTimeline = -1, $sFilter = '', $aModules = array())
     {
-        $aParams = $this->_prepareParams($sType, $iProfileId, $iStart, $iPerPage, $sFilter, $aModules, $iTimeline);
+        $aParams = $this->_prepareParams($sView, $sType, $iProfileId, $iStart, $iPerPage, $sFilter, $aModules, $iTimeline);
 
         $aParams['view'] = $sView;
         $aParams['per_page'] = (int)$iPerPage > 0 ? $iPerPage : ((int)$iPerPageDefault > 0 ? $iPerPageDefault : $this->_oConfig->getPerPage());
@@ -1197,7 +1203,7 @@ class BxTimelineModule extends BxBaseModNotificationsModule
         if(!$iProfileId)
 			return array();
 
-        $aParams = $this->_prepareParams(BX_BASE_MOD_NTFS_TYPE_OWNER, $iProfileId, $iStart, $iPerPage, $sFilter, $aModules, $iTimeline);
+        $aParams = $this->_prepareParams($sView, BX_BASE_MOD_NTFS_TYPE_OWNER, $iProfileId, $iStart, $iPerPage, $sFilter, $aModules, $iTimeline);
 
         $aParams['view'] = $sView;
         $aParams['per_page'] = (int)$iPerPage > 0 ? $iPerPage : $this->_oConfig->getPerPage('profile');
@@ -1290,10 +1296,10 @@ class BxTimelineModule extends BxBaseModNotificationsModule
 		$this->_oDb->deleteMedia($sType, $iId);
     }
 
-    protected function _prepareParams($sType, $iOwnerId, $iStart, $iPerPage, $sFilter, $aModules, $iTimeline)
+    protected function _prepareParams($sView, $sType, $iOwnerId, $iStart, $iPerPage, $sFilter, $aModules, $iTimeline)
     {
         return array(
-            'view' => BX_TIMELINE_VIEW_DEFAULT,
+            'view' => !empty($sView) ? $sView : BX_TIMELINE_VIEW_DEFAULT,
 
             'browse' => 'list',
             'type' => !empty($sType) ? $sType : BX_TIMELINE_TYPE_DEFAULT,

+ 1 - 1
modules/boonex/timeline/classes/BxTimelineSearchResult.php

@@ -20,7 +20,7 @@ class BxTimelineSearchResult extends BxBaseModNotificationsSearchResult
             'module_name' => 'bx_timeline',
             'title' => _t('_bx_timeline_page_title_browse'),
             'table' => 'bx_timeline_events',
-            'ownFields' => array('id', 'owner_id', 'type', 'action', 'object_id', 'object_privacy_view', 'content', 'title', 'description', 'rate', 'votes', 'comments', 'reports', 'reposts', 'date', 'active', 'hidden', 'pinned'),
+            'ownFields' => array('id', 'owner_id', 'type', 'action', 'object_id', 'object_privacy_view', 'content', 'title', 'description', 'views', 'rate', 'votes', 'comments', 'reports', 'reposts', 'date', 'active', 'hidden', 'pinned'),
             'searchFields' => array('description'),
             'restriction' => array(
         		'internal' => array('value' => 'timeline_common_post', 'field' => 'type', 'operator' => '='),

+ 12 - 2
modules/boonex/timeline/classes/BxTimelineTemplate.php

@@ -117,6 +117,16 @@ class BxTimelineTemplate extends BxBaseModNotificationsTemplate
         ));
     }
 
+    public function getUnit(&$aEvent, $aBrowseParams = array())
+    {
+        $oModule = $this->getModule();
+
+        if(empty($aBrowseParams) || !is_array($aBrowseParams))
+            $aBrowseParams = $oModule->getParams(BX_TIMELINE_VIEW_SEARCH);
+
+        return $this->getPost($aEvent, $aBrowseParams);
+    }
+
     public function getPost(&$aEvent, $aBrowseParams = array())
     {
         $aResult = $this->_oConfig->isSystem($aEvent['type'], $aEvent['action']) ? $this->_getSystemData($aEvent) : $this->_getCommonData($aEvent);
@@ -635,7 +645,7 @@ class BxTimelineTemplate extends BxBaseModNotificationsTemplate
             $aTmplVarsTimelineOwner = $this->_getTmplVarsTimelineOwner($aEvent);
 
         $bBrowseItem = isset($aBrowseParams['type']) && $aBrowseParams['type'] == BX_TIMELINE_TYPE_ITEM;
-        $bViewTimeline = isset($aBrowseParams['view']) && $aBrowseParams['view'] == BX_TIMELINE_VIEW_TIMELINE;
+        $bViewOutline = isset($aBrowseParams['view']) && $aBrowseParams['view'] == BX_TIMELINE_VIEW_OUTLINE;
 
         $oMetatags = BxDolMetatags::getObjectInstance($this->_oConfig->getObject('metatags'));
  		$sLocation = $oMetatags->locationsString($aEvent['id']);
@@ -644,7 +654,7 @@ class BxTimelineTemplate extends BxBaseModNotificationsTemplate
             'style_prefix' => $sStylePrefix,
             'js_object' => $sJsObject,
         	'html_id' => $this->_oConfig->getHtmlIds('view', 'item_' . $aBrowseParams['view']) . $aEvent['id'],
-            'class' => $bBrowseItem || $bViewTimeline ? 'bx-tl-view-sizer' : 'bx-tl-grid-sizer',
+            'class' => $bBrowseItem || !$bViewOutline ? 'bx-tl-view-sizer' : 'bx-tl-grid-sizer',
         	'class_content' => $bBrowseItem ? 'bx-def-color-bg-block' : 'bx-def-color-bg-box',
             'id' => $aEvent['id'],
             'bx_if:show_owner_icon' => array(

+ 38 - 59
modules/boonex/timeline/template/css/view.css

@@ -57,8 +57,44 @@ div.bx-tl-divider-cnt {
     color: #ffffff;
 }
 
+/*--- Item Style ---*/
+div.bx-tl-item,
+div.bx-tl-item-cnt {
+    position: relative;
+}
 
-/*--- Timeline Item Style ---*/
+/*--- Item Owner Style ---*/
+div.bx-tl-item div.bx-tl-item-owner {
+    position: relative;
+}
+div.bx-tl-item div.bx-tl-owner-avatar {
+    position: absolute;
+    top: 0px;
+    left: 0px;
+}
+div.bx-tl-item div.bx-tl-owner-info {
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+}
+div.bx-tl-item div.bx-tl-owner-name {
+    text-overflow: ellipsis;
+    overflow: hidden;
+}
+div.bx-tl-item div.bx-tl-owner-name a.bx-tl-owner-name,
+div.bx-tl-item div.bx-tl-owner-name a.bx-tl-timeline-owner-name {
+    font-weight: 700;
+}
+div.bx-tl-item div.bx-tl-owner-name .bx-tl-date,
+div.bx-tl-item div.bx-tl-owner-name .bx-tl-pinned .sys-icon {
+    color: rgba(40, 60, 80, 0.5);
+}
+div.bx-tl-item  div.bx-tl-owner-name .bx-tl-pinned .sys-icon {
+    cursor: default;
+}
+
+/*--- Item Style: Timeline ---*/
 div.bx-tl-view-timeline div.bx-tl-items:before {
     content: '';
     position: absolute;
@@ -118,12 +154,9 @@ div.bx-tl-view-timeline div.bx-tl-item-circle .sys-icon {
     font-size: 20px;
 	font-size: 1.25rem;
 }
-div.bx-tl-view-timeline div.bx-tl-item-cnt {
-    position: relative;
-}
 
 
-/*--- Outline Item Style ---*/
+/*--- Item Style: Outline ---*/
 div.bx-tl-view-outline div.bx-tl-item {
 	position: relative;
 }
@@ -131,63 +164,9 @@ div.bx-tl-view-outline div.bx-tl-item-ind {
 	position: relative;
 }
 div.bx-tl-view-outline div.bx-tl-item-cnt {
-	position: relative;
 	overflow: hidden;
 }
 
-/*+++ Item Owner +++*/
-div.bx-tl-view-timeline div.bx-tl-item-owner, 
-div.bx-tl-view-outline div.bx-tl-item-owner,
-div.bx-tl-view-item div.bx-tl-item-owner {
-	position: relative;
-}
-div.bx-tl-view-timeline div.bx-tl-owner-avatar, 
-div.bx-tl-view-outline div.bx-tl-owner-avatar,
-div.bx-tl-view-item div.bx-tl-owner-avatar {
-	position: absolute;
-	top: 0px;
-	left: 0px;
-}
-div.bx-tl-view-timeline div.bx-tl-owner-info, 
-div.bx-tl-view-outline div.bx-tl-owner-info,
-div.bx-tl-view-item div.bx-tl-owner-info {
-    display: -webkit-flex;
-    display: flex;
-    -webkit-align-items: center;
-    align-items: center;
-}
-div.bx-tl-view-timeline div.bx-tl-owner-name,
-div.bx-tl-view-timeline div.bx-tl-item-info, 
-div.bx-tl-view-outline div.bx-tl-owner-name,
-div.bx-tl-view-outline div.bx-tl-item-info,
-div.bx-tl-view-item div.bx-tl-owner-name,
-div.bx-tl-view-item div.bx-tl-item-info {
-	text-overflow: ellipsis;
-	overflow: hidden;
-}
-div.bx-tl-view-timeline div.bx-tl-owner-name a.bx-tl-owner-name,
-div.bx-tl-view-outline div.bx-tl-owner-name a.bx-tl-owner-name,
-div.bx-tl-view-timeline div.bx-tl-owner-name a.bx-tl-timeline-owner-name,
-div.bx-tl-view-outline div.bx-tl-owner-name a.bx-tl-timeline-owner-name,
-div.bx-tl-view-item div.bx-tl-owner-name a.bx-tl-timeline-owner-name,
-div.bx-tl-view-item div.bx-tl-owner-name a.bx-tl-timeline-owner-name {
-	font-weight: 700;
-}
-
-div.bx-tl-view-timeline div.bx-tl-item-info .bx-tl-date,
-div.bx-tl-view-timeline div.bx-tl-item-info .bx-tl-pinned .sys-icon,
-div.bx-tl-view-outline div.bx-tl-item-info .bx-tl-date,
-div.bx-tl-view-outline div.bx-tl-item-info .bx-tl-pinned .sys-icon,
-div.bx-tl-view-item div.bx-tl-item-info .bx-tl-date,
-div.bx-tl-view-item div.bx-tl-item-info .bx-tl-pinned .sys-icon {
-	color: rgba(40, 60, 80, 0.5);
-}
-div.bx-tl-view-timeline div.bx-tl-item-info .bx-tl-pinned .sys-icon,
-div.bx-tl-view-outline div.bx-tl-item-info .bx-tl-pinned .sys-icon,
-div.bx-tl-view-item div.bx-tl-item-info .bx-tl-pinned .sys-icon {
-	cursor: default;
-}
-
 /*+++ Item Text +++*/
 div.bx-tl-view-outline div.bx-tl-item-text div.bx-tl-title {
 	font-weight: bold;

+ 35 - 0
modules/boonex/timeline/template/item_search.html

@@ -0,0 +1,35 @@
+<div id="__html_id__" class="__style_prefix__-item __class__ bx-def-thumb-size-min-height bx-def-padding-bottom bx-clearfix">
+    <div class="__style_prefix__-item-cnt bx-def-box bx-def-padding-topbottom bx-def-round-corners __class_content__">
+        <div class="__style_prefix__-item-owner bx-def-margin-leftright"> 
+            <div class="__style_prefix__-owner-avatar bx-def-thumb bx-def-thumb-size">
+                <a href="__item_owner_url__" class="__style_prefix__-owner-avatar" title="__item_owner_title__">
+                    <bx_if:show_owner_icon>
+                        <img class="bx-def-thumb bx-def-thumb-size" src="__owner_icon__" />
+                    </bx_if:show_owner_icon>
+                    <bx_if:show_owner_icon_empty>
+                        <i class="sys-icon user"></i>
+                    </bx_if:show_owner_icon_empty>
+                </a>
+            </div>
+            <div class="__style_prefix__-owner-info bx-def-thumb-size-min-height bx-def-thumb-size-left-indent">
+                <!-- NOTE: Spaces after and between elements in 'owner-name' DIV are needed for better line folding -->
+                <div class="__style_prefix__-owner-name bx-def-font-middle bx-def-font-light bx-def-font-grayed">
+                    <a href="__item_owner_url__" class="__style_prefix__-owner-name" title="__item_owner_title__">__item_owner_name__</a> 
+                    <bx_if:show_timeline_owner>
+                        <i class="sys-icon caret-right"></i> <a href="__owner_url__" class="__style_prefix__-timeline-owner-name">__owner_username__</a> 
+                    </bx_if:show_timeline_owner>
+                    <span class="bx-def-font-small"> __item_owner_action__ </span> <span class="bx-bullet-narrow"> </span><a class="__style_prefix__-date bx-base-text-unit-date bx-def-font-small" href="__item_view_url__"> __item_date__ </a> 
+                    <bx_if:show_pinned>
+                        <span class="__style_prefix__-pinned bx-def-margin-thd-left">
+                            <i class="sys-icon thumb-tack bx-def-margin-thd-left" title="<bx_text_attribute:_bx_timeline_txt_pinned />"></i>
+                        </span>
+                    </bx_if:show_pinned>
+                </div>
+            </div>
+        </div>
+		<div class="__style_prefix__-item-content bx-def-margin-leftright bx-def-margin-top bx-clearfix">__content__</div>
+		<bx_if:show_location>
+		    <div class="__style_prefix__-item-location bx-def-margin-leftright bx-def-margin-top bx-def-font-grayed bx-clearfix">__location__</div>
+		</bx_if:show_location>
+    </div>
+</div>