AntonLV 7 лет назад
Родитель
Сommit
e1f82c2fe8

+ 10 - 0
modules/base/general/classes/BxBaseModGeneralMenuSnippetMeta.php

@@ -106,6 +106,16 @@ class BxBaseModGeneralMenuSnippetMeta extends BxTemplMenuUnitMeta
         return $this->getUnitMetaItemText(_t('_view_n_views', $this->_aContentInfo[$CNF['FIELD_VIEWS']]));
     }
 
+    protected function _getMenuItemVotes($aItem)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
+        if(empty($CNF['OBJECT_VOTES']) || (empty($this->_aContentInfo[$CNF['FIELD_VOTES']]) && !$this->_bShowZeros))
+            return false;
+        
+        return $this->getUnitMetaItemText(_t('_vote_n_votes', $this->_aContentInfo[$CNF['FIELD_VOTES']]));
+    }
+
     protected function _getMenuItemRating($aItem)
     {
         $CNF = &$this->_oModule->_oConfig->CNF;

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

@@ -2207,6 +2207,7 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_menu_item_title_sm_category"><![CDATA[Category]]></string>
     <string name="_sys_menu_item_title_sm_tags"><![CDATA[Tags]]></string>
     <string name="_sys_menu_item_title_sm_views"><![CDATA[Views]]></string>
+    <string name="_sys_menu_item_title_sm_votes"><![CDATA[Votes]]></string>
     <string name="_sys_menu_item_title_sm_rating"><![CDATA[Rating]]></string>
     <string name="_sys_menu_item_title_sm_comments"><![CDATA[Comments]]></string>
     <string name="_sys_menu_item_title_sm_actions"><![CDATA[Actions]]></string>
@@ -2286,6 +2287,7 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_menu_item_title_system_sm_category"><![CDATA[Category]]></string>
     <string name="_sys_menu_item_title_system_sm_tags"><![CDATA[Tags]]></string>
     <string name="_sys_menu_item_title_system_sm_views"><![CDATA[Views]]></string>
+    <string name="_sys_menu_item_title_system_sm_votes"><![CDATA[Votes]]></string>
     <string name="_sys_menu_item_title_system_sm_rating"><![CDATA[Rating]]></string>
     <string name="_sys_menu_item_title_system_sm_comments"><![CDATA[Comments]]></string>
     <string name="_sys_menu_item_title_system_sm_actions"><![CDATA[Actions]]></string>
@@ -2754,6 +2756,7 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_vote_do_by"><![CDATA[Thanked by]]></string>
 	<string name="_vote_err_not_enabled"><![CDATA[The feature is not available right now. Please, try again later.]]></string>
 	<string name="_vote_err_duplicate_vote"><![CDATA[Duplicate vote]]></string>
+        <string name="_vote_n_votes"><![CDATA[{0} votes]]></string>
 	<string name="_week_fri"><![CDATA[Friday]]></string>
 	<string name="_week_mon"><![CDATA[Monday]]></string>
 	<string name="_week_sat"><![CDATA[Saturday]]></string>

+ 42 - 34
modules/boonex/forum/classes/BxForumConfig.php

@@ -18,13 +18,13 @@ class BxForumConfig extends BxBaseModTextConfig
         $aMenuItems2Methods = array (
             'subscribe-discussion' => 'checkAllowedSubscribe',
             'unsubscribe-discussion' => 'checkAllowedUnsubscribe',
-        	'stick-discussion' => 'checkAllowedStickAnyEntry',
-        	'unstick-discussion' => 'checkAllowedUnstickAnyEntry',
-        	'lock-discussion' => 'checkAllowedLockAnyEntry',
-        	'unlock-discussion' => 'checkAllowedUnlockAnyEntry',
-        	'hide-discussion' => 'checkAllowedHideAnyEntry',
-        	'unhide-discussion' => 'checkAllowedUnhideAnyEntry',
-        	'edit-discussion' => 'checkAllowedEdit',
+            'stick-discussion' => 'checkAllowedStickAnyEntry',
+            'unstick-discussion' => 'checkAllowedUnstickAnyEntry',
+            'lock-discussion' => 'checkAllowedLockAnyEntry',
+            'unlock-discussion' => 'checkAllowedUnlockAnyEntry',
+            'hide-discussion' => 'checkAllowedHideAnyEntry',
+            'unhide-discussion' => 'checkAllowedUnhideAnyEntry',
+            'edit-discussion' => 'checkAllowedEdit',
             'delete-discussion' => 'checkAllowedDelete'
         );
 
@@ -46,36 +46,41 @@ class BxForumConfig extends BxBaseModTextConfig
             'FIELD_TEXT' => 'text',
             'FIELD_TEXT_ID' => 'discussion-text',
             'FIELD_TEXT_COMMENTS' => 'text_comments',
-        	'FIELD_CATEGORY' => 'cat',
+            'FIELD_CATEGORY' => 'cat',
+            'FIELD_LR_AUTHOR' => 'lr_profile_id',
+            'FIELD_LR_ADDED' => 'lr_timestamp',
+            'FIELD_LR_COMMENT_ID' => 'lr_comment_id',
             'FIELD_ALLOW_VIEW_TO' => 'allow_view_to',
             'FIELD_PHOTO' => 'attachments',
             'FIELD_THUMB' => 'thumb',
+            'FIELD_VIEWS' => 'views',
+            'FIELD_VOTES' => 'votes',
             'FIELD_COMMENTS' => 'comments',
-        	'FIELD_STICK' => 'stick',
-        	'FIELD_LOCK' => 'lock',
-        	'FIELD_STATUS' => 'status',
+            'FIELD_STICK' => 'stick',
+            'FIELD_LOCK' => 'lock',
+            'FIELD_STATUS' => 'status',
             'FIELD_STATUS_ADMIN' => 'status_admin',
             'FIELD_LABELS' => 'labels',
             'FIELD_ANONYMOUS' => 'anonymous',
-	        'FIELDS_WITH_KEYWORDS' => 'auto', // can be 'auto', array of fields or comma separated string of field names, works only when OBJECT_METATAGS is specified
+            'FIELDS_WITH_KEYWORDS' => 'auto', // can be 'auto', array of fields or comma separated string of field names, works only when OBJECT_METATAGS is specified
 
             // page URIs
             'URI_VIEW_ENTRY' => 'view-discussion',
             'URI_AUTHOR_ENTRIES' => 'discussions-author',
             'URI_ENTRIES_BY_CONTEXT' => 'discussions-context',
-        	'URI_CATEGORY_ENTRIES' => 'discussions-category',
-        	'URI_KEYWORD_ENTRIES' => 'discussions-keyword',
+            'URI_CATEGORY_ENTRIES' => 'discussions-category',
+            'URI_KEYWORD_ENTRIES' => 'discussions-keyword',
             'URI_ADD_ENTRY' => 'create-discussion',
-        	'URI_EDIT_ENTRY' => 'edit-discussion',
-        	'URI_MANAGE_COMMON' => 'discussions-manage',
+            'URI_EDIT_ENTRY' => 'edit-discussion',
+            'URI_MANAGE_COMMON' => 'discussions-manage',
 
             'URL_HOME' => 'page.php?i=discussions-home',
-        	'URL_UPDATED' => 'page.php?i=discussions-updated',
-        	'URL_NEW' => 'page.php?i=discussions-new',
+            'URL_UPDATED' => 'page.php?i=discussions-updated',
+            'URL_NEW' => 'page.php?i=discussions-new',
             'URL_TOP' => 'page.php?i=discussions-top',
-        	'URL_POPULAR' => 'page.php?i=discussions-popular',
-        	'URL_MANAGE_COMMON' => 'page.php?i=discussions-manage',
-        	'URL_MANAGE_ADMINISTRATION' => 'page.php?i=discussions-administration',
+            'URL_POPULAR' => 'page.php?i=discussions-popular',
+            'URL_MANAGE_COMMON' => 'page.php?i=discussions-manage',
+            'URL_MANAGE_ADMINISTRATION' => 'page.php?i=discussions-administration',
 
             // some params
             'PARAM_CHARS_SUMMARY' => 'bx_forum_summary_chars',
@@ -88,39 +93,42 @@ class BxForumConfig extends BxBaseModTextConfig
 
             // objects
             'OBJECT_GRID' => 'bx_forum',
-        	'OBJECT_GRID_FAVORITE' => 'bx_forum_favorite',
+            'OBJECT_GRID_FAVORITE' => 'bx_forum_favorite',
             'OBJECT_GRID_FEATURE' => 'bx_forum_feature',
-        	'OBJECT_GRID_ADMINISTRATION' => 'bx_forum_administration',
-        	'OBJECT_GRID_COMMON' => 'bx_forum_common',
-        	'OBJECT_GRID_CATEGORIES' => 'bx_forum_categories',
+            'OBJECT_GRID_ADMINISTRATION' => 'bx_forum_administration',
+            'OBJECT_GRID_COMMON' => 'bx_forum_common',
+            'OBJECT_GRID_CATEGORIES' => 'bx_forum_categories',
             'OBJECT_STORAGE' => 'bx_forum_files',
-        	'OBJECT_STORAGE_CMTS' => 'bx_forum_files_cmts',
+            'OBJECT_STORAGE_CMTS' => 'bx_forum_files_cmts',
             'OBJECT_IMAGES_TRANSCODER_PREVIEW' => 'bx_forum_preview',
-        	'OBJECT_IMAGES_TRANSCODER_PREVIEW_CMTS' => 'bx_forum_preview_cmts',
+            'OBJECT_IMAGES_TRANSCODER_PREVIEW_CMTS' => 'bx_forum_preview_cmts',
             'OBJECT_IMAGES_TRANSCODER_GALLERY' => 'bx_forum_gallery',
-        	'OBJECT_IMAGES_TRANSCODER_COVER' => 'bx_forum_cover',
+            'OBJECT_IMAGES_TRANSCODER_COVER' => 'bx_forum_cover',
             'OBJECT_VIDEOS_TRANSCODERS' => array(),
             'OBJECT_REPORTS' => 'bx_forum',
             'OBJECT_VIEWS' => 'bx_forum',
             'OBJECT_VOTES' => 'bx_forum',
-        	'OBJECT_SCORES' => 'bx_forum',
-        	'OBJECT_FAVORITES' => 'bx_forum',
-        	'OBJECT_FEATURED' => 'bx_forum',
-        	'OBJECT_CATEGORY' => 'bx_forum_cats',
+            'OBJECT_SCORES' => 'bx_forum',
+            'OBJECT_FAVORITES' => 'bx_forum',
+            'OBJECT_FEATURED' => 'bx_forum',
+            'OBJECT_CATEGORY' => 'bx_forum_cats',
             'OBJECT_COMMENTS' => 'bx_forum',
-        	'OBJECT_METATAGS' => 'bx_forum',
+            'OBJECT_METATAGS' => 'bx_forum',
             'OBJECT_PRIVACY_VIEW' => 'bx_forum_allow_view_to',
             'OBJECT_FORM_ENTRY' => 'bx_forum',
             'OBJECT_FORM_ENTRY_DISPLAY_VIEW' => 'bx_forum_entry_view',
             'OBJECT_FORM_ENTRY_DISPLAY_ADD' => 'bx_forum_entry_add',
             'OBJECT_FORM_ENTRY_DISPLAY_EDIT' => 'bx_forum_entry_edit',
             'OBJECT_FORM_ENTRY_DISPLAY_DELETE' => 'bx_forum_entry_delete',
-        	'OBJECT_FORM_SEARCH' => 'bx_forum_search',
+            'OBJECT_FORM_SEARCH' => 'bx_forum_search',
             'OBJECT_FORM_SEARCH_DISPLAY_FULL' => 'bx_forum_search_full',
             'OBJECT_MENU_ACTIONS_VIEW_ENTRY' => 'bx_forum_view', // actions menu on view entry page
             'OBJECT_MENU_ACTIONS_VIEW_ENTRY_MORE' => 'bx_forum_view_more', // more actions menu on view entry page
             'OBJECT_MENU_ACTIONS_VIEW_ENTRY_ALL' => 'bx_forum_view_actions', // all actions menu on view entry page
             'OBJECT_MENU_ACTIONS_MY_ENTRIES' => 'bx_forum_my', // actions menu on my entries page
+            'OBJECT_MENU_SNIPPET_META_MAIN' => 'bx_forum_snippet_meta_main', // menu for 'main' snippet meta info
+            'OBJECT_MENU_SNIPPET_META_COUNTERS' => 'bx_forum_snippet_meta_counters', // menu for 'counters' snippet meta info
+            'OBJECT_MENU_SNIPPET_META_REPLY' => 'bx_forum_snippet_meta_reply', // menu for 'reply' snippet meta info
             'OBJECT_MENU_MANAGE_TOOLS' => 'bx_forum_menu_manage_tools', //manage menu in content administration tools
             'OBJECT_MENU_SUBMENU' => 'bx_forum_submenu', // main module submenu
             'OBJECT_MENU_SUBMENU_VIEW_ENTRY' => '', // view entry submenu

+ 9 - 9
modules/boonex/forum/classes/BxForumGrid.php

@@ -95,25 +95,25 @@ class BxForumGrid extends BxTemplGrid
     	return array();
     }
 
-    protected function _getCellAuthor($mixedValue, $sKey, $aField, $aRow)
+    protected function _getCellDefault ($mixedValue, $sKey, $aField, $aRow)
     {
-    	$mixedValue = $this->_oModule->_oTemplate->getEntryAuthor($aRow);
+        $aField['attr_cell']['class'] = 'bx-grid-table-cell-' . $sKey;
 
         return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
     }
 
-    protected function _getCellLrTimestamp($mixedValue, $sKey, $aField, $aRow)
+    protected function _getCellAuthor($mixedValue, $sKey, $aField, $aRow)
     {
-        $mixedValue = $this->_oModule->_oTemplate->getEntryPreview($aRow);
+    	$mixedValue = $this->_oModule->_oTemplate->getEntryAuthor($aRow);
 
-        return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
+        return self::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
     }
 
-    protected function _getCellComments($mixedValue, $sKey, $aField, $aRow)
+    protected function _getCellText($mixedValue, $sKey, $aField, $aRow)
     {
-        $mixedValue = $this->_oModule->_oTemplate->getEntryLabel($aRow, array('show_count' => 1));
+        $mixedValue = $this->_oModule->_oTemplate->getEntryPreview($aRow);
 
-        return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
+        return self::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
     }
 
     protected function _addJsCss()
@@ -121,7 +121,7 @@ class BxForumGrid extends BxTemplGrid
         parent::_addJsCss();
 
         $this->_oModule->_oTemplate->addJs(array('main.js'));
-        $this->_oModule->_oTemplate->addCss(array('main-media-tablet.css', 'main-media-desktop.css'));
+        $this->_oModule->_oTemplate->addCss(array('main.css', 'main-media-phone.css', 'main-media-tablet.css', 'main-media-desktop.css'));
     }
 
     protected function _getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage)

+ 100 - 0
modules/boonex/forum/classes/BxForumMenuSnippetMeta.php

@@ -0,0 +1,100 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Forum Forum
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxForumMenuSnippetMeta extends BxBaseModTextMenuSnippetMeta
+{
+    public function __construct($aObject, $oTemplate = false)
+    {
+        $this->_sModule = 'bx_forum';
+
+        parent::__construct($aObject, $oTemplate);
+    }
+
+    protected function _getMenuItemViews($aItem)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
+        if(empty($CNF['FIELD_VIEWS']) || empty($CNF['FIELD_VIEWS']) || (empty($this->_aContentInfo[$CNF['FIELD_VIEWS']]) && !$this->_bShowZeros))
+            return false;
+
+        $oViews = BxDolView::getObjectInstance($CNF['OBJECT_VIEWS'], $this->_aContentInfo[$CNF['FIELD_ID']]);
+        if(!$oViews || !$oViews->isEnabled())
+            return false;
+
+        return $this->getUnitMetaItemCustom($oViews->getElementInline(array('show_counter' => true)));
+    }
+
+    protected function _getMenuItemVotes($aItem)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
+        if(empty($CNF['OBJECT_VOTES']) || empty($CNF['FIELD_VOTES']) || (empty($this->_aContentInfo[$CNF['FIELD_VOTES']]) && !$this->_bShowZeros))
+            return false;
+
+        $oVotes = BxDolVote::getObjectInstance($CNF['OBJECT_VOTES'], $this->_aContentInfo[$CNF['FIELD_ID']]);
+        if(!$oVotes || !$oVotes->isEnabled())
+            return false;
+
+        return $this->getUnitMetaItemCustom($oVotes->getElementInline(array('show_counter' => true)));
+    }
+
+    protected function _getMenuItemComments($aItem)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
+        if(empty($CNF['OBJECT_COMMENTS']) || empty($CNF['FIELD_COMMENTS']) || (empty($this->_aContentInfo[$CNF['FIELD_COMMENTS']]) && !$this->_bShowZeros))
+            return false;
+
+        $oComments = BxDolCmts::getObjectInstance($CNF['OBJECT_COMMENTS'], $this->_aContentInfo[$CNF['FIELD_ID']]);
+        if(!$oComments || !$oComments->isEnabled())
+            return false;
+
+        return $this->getUnitMetaItemCustom($oComments->getElementInline(array('show_counter' => true)));
+    }
+
+    protected function _getMenuItemReplyAuthor($aItem)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+        if(empty($this->_aContentInfo[$CNF['FIELD_LR_COMMENT_ID']]))
+            return '';
+
+        $oProfile = BxDolProfile::getInstanceMagic($this->_aContentInfo[$CNF['FIELD_LR_AUTHOR']]);
+        return $this->getUnitMetaItemLink($oProfile->getDisplayName(), array(
+            'href' => $oProfile->getUrl(),
+            'class' => 'bx-base-text-unit-author'
+        ));
+    }
+
+    protected function _getMenuItemReplyDate($aItem)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+        if(empty($this->_aContentInfo[$CNF['FIELD_LR_COMMENT_ID']]))
+            return '';
+
+        return $this->getUnitMetaItemText(bx_time_js($this->_aContentInfo[$CNF['FIELD_LR_ADDED']], BX_FORMAT_DATE));
+    }
+
+    protected function _getMenuItemReplyText($aItem)
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+        if(empty($this->_aContentInfo[$CNF['FIELD_LR_COMMENT_ID']]))
+            return '';
+
+        $iComment = $this->_aContentInfo[$CNF['FIELD_LR_COMMENT_ID']];
+        $aComment = BxDolCmts::getObjectInstance($CNF['OBJECT_COMMENTS'], $this->_aContentInfo[$CNF['FIELD_ID']])->getCommentRow($iComment);
+        if(empty($aComment) || !is_array($aComment))
+            return '';
+
+        return $this->getUnitMetaItemText(strmaxtextlen($aComment['cmt_text'], 100), array('class' => $this->_sModule . '-gpm-reply-text'));
+    }
+}
+
+/** @} */

+ 45 - 32
modules/boonex/forum/classes/BxForumTemplate.php

@@ -133,27 +133,6 @@ class BxForumTemplate extends BxBaseModTextTemplate
     	));
     }
 
-	function getEntryLabel($aRow, $aParams = array())
-    {
-        $bShowCount = isset($aParams['show_count']) ? (int)$aParams['show_count'] == 1 : false;
-        $bShowLastReplier = isset($aParams['last_replier']) ? (int)$aParams['last_replier'] == 1 : true;
-
-        $oProfileLast = BxDolProfile::getInstanceMagic($aRow['lr_profile_id']);
-
-        return $this->parseHtmlByName('entry-label.html', array(
-        	'bx_if:show_count' => array(
-        		'condition' => $bShowCount,
-        		'content' => array(
-        			'count' => (int)$aRow['comments'] + 1
-				)
-        	),
-            'bx_if:show_viewer_is_last_replier' => array(
-                'condition' => $bShowLastReplier && $oProfileLast->id() == bx_get_logged_profile_id(),
-                'content' => array (),
-            )
-        ));
-    }
-
     function getEntryPreview($aRow)
     {
         $oModule = BxDolModule::getInstance($this->MODULE);
@@ -161,22 +140,56 @@ class BxForumTemplate extends BxBaseModTextTemplate
 
         $oProfileLast = BxDolProfile::getInstanceMagic($aRow['lr_profile_id']);
 
-		$sTitle = strmaxtextlen($aRow['title'], 100);
-        $sText = strmaxtextlen(!empty($aRow['cmt_text']) ? $aRow['cmt_text'] : $aRow['text'], 100);
+        $sTitle = strmaxtextlen($aRow[$CNF['FIELD_TITLE']], 100);
+        $sText = strmaxtextlen($aRow[$CNF['FIELD_TEXT']], 100);
+
+        $aMetas = array('main' => false, 'counters' => false, 'reply' => false);
+        foreach(array_keys($aMetas) as $sMeta) {
+            $sKey = 'OBJECT_MENU_SNIPPET_META_' . strtoupper($sMeta);
+            if(empty($CNF[$sKey]))
+                continue;
+
+            $oMenuMeta = BxDolMenu::getObjectInstance($CNF[$sKey], $this);
+            if(!$oMenuMeta) 
+                continue;
+
+            $oMenuMeta->setContentId($aRow[$CNF['FIELD_ID']]);
+            $sMenuMeta = $oMenuMeta->getCode();
+            if(empty($sMenuMeta))
+                continue;
+
+            $aMetas[$sMeta] = array(
+                'content' => $sMenuMeta
+            );
+        }
 
         return $this->parseHtmlByName('entry-preview.html', array(
-        	'bx_if:show_stick' => array(
-        		'condition' => (int)$aRow[$CNF['FIELD_STICK']] == 1,
-        		'content' => array()
-        	),
-        	'bx_if:show_lock' => array(
-        		'condition' => (int)$aRow[$CNF['FIELD_LOCK']] == 1,
-        		'content' => array()
-        	),
+            'bx_if:show_stick' => array(
+                'condition' => (int)$aRow[$CNF['FIELD_STICK']] == 1,
+                'content' => array()
+            ),
+            'bx_if:show_lock' => array(
+                'condition' => (int)$aRow[$CNF['FIELD_LOCK']] == 1,
+                'content' => array()
+            ),
             'url' => BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink('page.php?i=' . $oModule->_oConfig->CNF['URI_VIEW_ENTRY'] . '&id=' . $aRow['id']),
             'title' => $sTitle ? $sTitle : _t('_Empty'),
             'text' => $sText,
-            'lr_time_and_replier' => _t('_bx_forum_x_date_by_x_replier', bx_time_js($aRow['lr_timestamp'], BX_FORMAT_DATE), $oProfileLast->getDisplayName()),
+            'bx_if:meta_main' => array(
+                'condition' => $aMetas['main'] !== false,
+                'content' => $aMetas['main']
+            ),
+            'bx_if:meta_counters' => array(
+                'condition' => $aMetas['counters'] !== false,
+                'content' => $aMetas['counters']
+            ),
+            'bx_if:meta_reply' => array(
+                'condition' => $aMetas['reply'] !== false,
+                'content' => $aMetas['reply']
+            ),
+            
+            
+            //'lr_time_and_replier' => _t('_bx_forum_x_date_by_x_replier', bx_time_js($aRow['lr_timestamp'], BX_FORMAT_DATE), $oProfileLast->getDisplayName()),
         ));
     }
 

+ 24 - 17
modules/boonex/forum/install/langs/en.xml

@@ -217,18 +217,26 @@
     <string name="_bx_forum_menu_title_manage_tools"><![CDATA[Manage Tools Submenu]]></string>
     <string name="_bx_forum_menu_item_title_system_manage_account"><![CDATA[Manage account]]></string>
     <string name="_bx_forum_menu_item_title_manage_account"><![CDATA[Manage account]]></string>
-	<string name="_bx_forum_menu_item_title_system_admt_discussions"><![CDATA[Discussions]]></string>
-	<string name="_bx_forum_menu_item_title_admt_discussions"><![CDATA[Discussions - {addon} hidden]]></string>
-	<string name="_bx_forum_menu_item_title_manage_my"><![CDATA[My Discussions]]></string>
-	<string name="_bx_forum_menu_item_title_manage_all"><![CDATA[All Discussions]]></string>
+    <string name="_bx_forum_menu_item_title_system_admt_discussions"><![CDATA[Discussions]]></string>
+    <string name="_bx_forum_menu_item_title_admt_discussions"><![CDATA[Discussions - {addon} hidden]]></string>
+    <string name="_bx_forum_menu_item_title_manage_my"><![CDATA[My Discussions]]></string>
+    <string name="_bx_forum_menu_item_title_manage_all"><![CDATA[All Discussions]]></string>
     <string name="_bx_forum_menu_item_title_system_discussions"><![CDATA[Discussions number]]></string>
     <string name="_bx_forum_menu_item_title_discussions"><![CDATA[Discussions]]></string>
     <string name="_bx_forum_lmi_cpt_categories"><![CDATA[Categories]]></string>
+    <string name="_bx_forum_menu_title_snippet_meta_main"><![CDATA[Snippet Meta Info: Main]]></string>
+    <string name="_bx_forum_menu_set_title_snippet_meta_main"><![CDATA[Snippet Meta Info: Main]]></string>
+    <string name="_bx_forum_menu_title_snippet_meta_counters"><![CDATA[Snippet Meta Info: Counters]]></string>
+    <string name="_bx_forum_menu_set_title_snippet_meta_counters"><![CDATA[Snippet Meta Info: Counters]]></string>
+    <string name="_bx_forum_menu_title_snippet_meta_reply"><![CDATA[Snippet Meta Info: Reply]]></string>
+    <string name="_bx_forum_menu_set_title_snippet_meta_reply"><![CDATA[Snippet Meta Info: Reply]]></string>
+    <string name="_bx_forum_menu_item_title_system_sm_reply_text"><![CDATA[Reply text]]></string>
+    <string name="_bx_forum_menu_item_title_sm_reply_text"><![CDATA[Reply text]]></string>
 
-	<string name="_bx_forum_grid_filter_item_title_adm_select_one_filter1"><![CDATA[All Statuses]]></string>
-	<string name="_bx_forum_grid_filter_item_title_adm_active"><![CDATA[Active]]></string>
-	<string name="_bx_forum_grid_filter_item_title_adm_hidden"><![CDATA[Hidden]]></string>
-	<string name="_bx_forum_grid_column_title_adm_active"><![CDATA[Active]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_select_one_filter1"><![CDATA[All Statuses]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_active"><![CDATA[Active]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_hidden"><![CDATA[Hidden]]></string>
+    <string name="_bx_forum_grid_column_title_adm_active"><![CDATA[Active]]></string>
     <string name="_bx_forum_grid_column_title_adm_title"><![CDATA[Title]]></string>
     <string name="_bx_forum_grid_column_title_adm_added"><![CDATA[Added]]></string>
     <string name="_bx_forum_grid_column_title_adm_author"><![CDATA[Author]]></string>
@@ -245,14 +253,14 @@
     <string name="_bx_forum_grid_show_to_popup"><![CDATA[Show category to:]]></string>
     <string name="_bx_forum_grid_txt_visible_for"><![CDATA[Visible For]]></string>
     <string name="_bx_forum_grid_txt_visible_for_all"><![CDATA[Anyone]]></string>
-	<string name="_bx_forum_grid_txt_visible_for_levels"><![CDATA[Select Levels]]></string>
-	<string name="_bx_forum_grid_txt_visible_for_selected"><![CDATA[Selected levels]]></string>
-	<string name="_bx_forum_grid_inf_visible_for_levels"><![CDATA[Select user levels that can view this category]]></string>
-	<string name="_bx_forum_grid_err_show_to"><![CDATA[Cannot update category.]]></string>
-	<string name="_bx_forum_grid_btn_save"><![CDATA[Save]]></string>
-	<string name="_bx_forum_grid_btn_cancel"><![CDATA[Cancel]]></string>
+    <string name="_bx_forum_grid_txt_visible_for_levels"><![CDATA[Select Levels]]></string>
+    <string name="_bx_forum_grid_txt_visible_for_selected"><![CDATA[Selected levels]]></string>
+    <string name="_bx_forum_grid_inf_visible_for_levels"><![CDATA[Select user levels that can view this category]]></string>
+    <string name="_bx_forum_grid_err_show_to"><![CDATA[Cannot update category.]]></string>
+    <string name="_bx_forum_grid_btn_save"><![CDATA[Save]]></string>
+    <string name="_bx_forum_grid_btn_cancel"><![CDATA[Cancel]]></string>
 
-	<string name="_bx_forum_pre_lists_cats"><![CDATA[Forum categories]]></string>
+    <string name="_bx_forum_pre_lists_cats"><![CDATA[Forum categories]]></string>
     <string name="_bx_forum_cat_General"><![CDATA[General]]></string>
 
     <string name="_bx_forum_chart_growth"><![CDATA[Discussions: Growth]]></string>
@@ -266,13 +274,12 @@
     <string name="_bx_forum_participant_author"><![CDATA[author]]></string>
     <string name="_bx_forum_participant_last_replier"><![CDATA[last replier]]></string>
     <string name="_bx_forum_txt_entry_locked"><![CDATA[Locked discussion]]></string>
-	<string name="_bx_forum_txt_entry_sticked"><![CDATA[Pinned discussion]]></string>
+    <string name="_bx_forum_txt_entry_sticked"><![CDATA[Pinned discussion]]></string>
     <string name="_bx_forum_txt_sample_comment_single"><![CDATA[comment to discussion]]></string>
     <string name="_bx_forum_txt_sample_vote_single"><![CDATA[vote to discussion]]></string>
     <string name="_bx_forum_txt_sample_single"><![CDATA[discussion]]></string>
     <string name="_bx_forum_txt_sample_single_with_article"><![CDATA[a discussion]]></string>
     <string name="_bx_forum_x_date_by_x_replier"><![CDATA[{0} by {1}]]></string>
-    <string name="_bx_forum_you_are_last_replier"><![CDATA[You are last replier]]></string>
 
     <string name="_bx_forum_txt_all_entries_in"><![CDATA[<a href="{0}">All Discussions in {1} ({2})</a>]]></string>
     <string name="_bx_forum_email_new_reply"><![CDATA[New reply]]></string>

+ 1 - 1
modules/boonex/forum/install/sql/disable.sql

@@ -17,7 +17,7 @@ DELETE FROM `sys_pages_blocks` WHERE `module` = @sName OR `object` LIKE 'bx_foru
 -- MENU
 DELETE FROM `sys_objects_menu` WHERE `module` = @sName;
 DELETE FROM `sys_menu_sets` WHERE `module` = @sName;
-DELETE FROM `sys_menu_items` WHERE `module` = @sName OR `set_name` IN('bx_forum_view', 'bx_forum_view_more', 'bx_forum_view_actions', 'bx_forum_submenu', 'bx_forum_my', 'bx_forum_menu_manage_tools');
+DELETE FROM `sys_menu_items` WHERE `module` = @sName OR `set_name` IN('bx_forum_view', 'bx_forum_view_more', 'bx_forum_view_actions', 'bx_forum_submenu', 'bx_forum_my', 'bx_forum_snippet_meta_main', 'bx_forum_snippet_meta_counters', 'bx_forum_snippet_meta_reply', 'bx_forum_menu_manage_tools');
 
 
 -- GRID

+ 38 - 2
modules/boonex/forum/install/sql/enable.sql

@@ -286,6 +286,43 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_forum_submenu', @sName, 'discussions-search', '_bx_forum_menu_item_title_system_entries_search', '_bx_forum_menu_item_title_entries_search', 'page.php?i=discussions-search', '', '', '', '', 2147483647, 1, 1, 5),
 ('bx_forum_submenu', @sName, 'discussions-manage', '_bx_forum_menu_item_title_system_entries_manage', '_bx_forum_menu_item_title_entries_manage', 'page.php?i=discussions-manage', '', '', '', '', 2147483646, 1, 1, 6);
 
+-- MENU: custom menu for 'main' snippet meta info
+INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
+('bx_forum_snippet_meta_main', '_bx_forum_menu_title_snippet_meta_main', 'bx_forum_snippet_meta_main', 'bx_forum', 15, 0, 1, 'BxForumMenuSnippetMeta', 'modules/boonex/forum/classes/BxForumMenuSnippetMeta.php');
+
+INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
+('bx_forum_snippet_meta_main', 'bx_forum', '_bx_forum_menu_set_title_snippet_meta_main', 0);
+
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `editable`, `order`) VALUES 
+('bx_forum_snippet_meta_main', 'bx_forum', 'author', '_sys_menu_item_title_system_sm_author', '_sys_menu_item_title_sm_author', '', '', '', '', '', 2147483647, 1, 0, 1, 1),
+('bx_forum_snippet_meta_main', 'bx_forum', 'date', '_sys_menu_item_title_system_sm_date', '_sys_menu_item_title_sm_date', '', '', '', '', '', 2147483647, 1, 0, 1, 2),
+('bx_forum_snippet_meta_main', 'bx_forum', 'category', '_sys_menu_item_title_system_sm_category', '_sys_menu_item_title_sm_category', '', '', '', '', '', 2147483647, 1, 0, 1, 3);
+
+-- MENU: custom menu for 'counters' snippet meta info
+INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
+('bx_forum_snippet_meta_counters', '_bx_forum_menu_title_snippet_meta_counters', 'bx_forum_snippet_meta_counters', 'bx_forum', 15, 0, 1, 'BxForumMenuSnippetMeta', 'modules/boonex/forum/classes/BxForumMenuSnippetMeta.php');
+
+INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
+('bx_forum_snippet_meta_counters', 'bx_forum', '_bx_forum_menu_set_title_snippet_meta_counters', 0);
+
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `editable`, `order`) VALUES 
+('bx_forum_snippet_meta_counters', 'bx_forum', 'views', '_sys_menu_item_title_system_sm_views', '_sys_menu_item_title_sm_views', '', '', '', '', '', 2147483647, 1, 0, 1, 1),
+('bx_forum_snippet_meta_counters', 'bx_forum', 'votes', '_sys_menu_item_title_system_sm_votes', '_sys_menu_item_title_sm_votes', '', '', '', '', '', 2147483647, 1, 0, 1, 2),
+('bx_forum_snippet_meta_counters', 'bx_forum', 'comments', '_sys_menu_item_title_system_sm_comments', '_sys_menu_item_title_sm_comments', '', '', '', '', '', 2147483647, 1, 0, 1, 3);
+
+-- MENU: custom menu for 'reply' snippet meta info
+INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
+('bx_forum_snippet_meta_reply', '_bx_forum_menu_title_snippet_meta_reply', 'bx_forum_snippet_meta_reply', 'bx_forum', 15, 0, 1, 'BxForumMenuSnippetMeta', 'modules/boonex/forum/classes/BxForumMenuSnippetMeta.php');
+
+INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES 
+('bx_forum_snippet_meta_reply', 'bx_forum', '_bx_forum_menu_set_title_snippet_meta_reply', 0);
+
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `editable`, `order`) VALUES 
+('bx_forum_snippet_meta_reply', 'bx_forum', 'reply-author', '_sys_menu_item_title_system_sm_author', '_sys_menu_item_title_sm_author', '', '', '', '', '', 2147483647, 1, 0, 1, 1),
+('bx_forum_snippet_meta_reply', 'bx_forum', 'reply-date', '_sys_menu_item_title_system_sm_date', '_sys_menu_item_title_sm_date', '', '', '', '', '', 2147483647, 1, 0, 1, 2),
+('bx_forum_snippet_meta_reply', 'bx_forum', 'reply-text', '_bx_forum_menu_item_title_system_sm_reply_text', '_bx_forum_menu_item_title_sm_reply_text', '', '', '', '', '', 2147483647, 1, 0, 1, 3);
+
+
 -- MENU: manage tools submenu
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
 ('bx_forum_menu_manage_tools', '_bx_forum_menu_title_manage_tools', 'bx_forum_menu_manage_tools', 'bx_forum', 6, 0, 1, 'BxForumMenuManageTools', 'modules/boonex/forum/classes/BxForumMenuManageTools.php');
@@ -318,8 +355,7 @@ INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `fie
 
 INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `params`, `order`) VALUES
 (@sName, 'author', '', '10%', '', 1),
-(@sName, 'lr_timestamp', '', '85%', '', 2),
-(@sName, 'comments', '', '5%', '', 3),
+(@sName, 'text', '', '90%', '', 2),
 
 ('bx_forum_favorite', 'author', '', '10%', '', 1),
 ('bx_forum_favorite', 'lr_timestamp', '', '85%', '', 2),

+ 31 - 10
modules/boonex/forum/template/css/main.css

@@ -90,19 +90,40 @@
     line-height:1.15em;
 }
 
-.bx-forum-grid-author .bx-base-pofile-unit-wo-info {
+.bx-grid-table-cell-author {
+    vertical-align: top;
+}
+
+.bx-grid-table-cell-author .bx-base-pofile-unit-wo-info {
 	display: inline-block;
 }
 
-.bx-forum-grid-preview div {
-    white-space:nowrap;
-    text-overflow:ellipsis;
-    overflow:hidden;
-    line-height:1.4em;
+.bx-forum-grid-preview .bx-forum-gp-title,
+.bx-forum-grid-preview .bx-forum-gp-text {
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
 }
 
-/*--- Snippet ---*/
-.bx-base-text-unit .bx-forum-grid-field-replies {
-	display: inline-block;
-	vertical-align: middle;
+.bx-forum-grid-preview .bx-forum-gp-meta {
+    display: -webkit-flex;
+    display: flex;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-flex-wrap: wrap;
+    flex-wrap: wrap;
+}
+
+.bx-forum-grid-preview .bx-forum-gp-meta.bx-forum-gpm-top {
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+}
+
+.bx-forum-grid-preview .bx-forum-gp-meta.bx-forum-gpm-bottom .bx-forum-gpm-reply i,
+.bx-forum-grid-preview .bx-forum-gp-meta.bx-forum-gpm-bottom .bx-forum-gpm-reply ul {
+    display: inline-block;
+    vertical-align: middle;
+}
+.bx-forum-grid-preview .bx-forum-gp-meta.bx-forum-gpm-bottom .bx-forum-gpm-reply .bx-forum-gpm-reply-text {
+    color: 
 }

+ 0 - 4
modules/boonex/forum/template/entry-label.html

@@ -1,4 +0,0 @@
-<div class="bx-forum-grid-field-replies">
-	<bx_if:show_count><span>__count__</span></bx_if:show_count>
-	<bx_if:show_viewer_is_last_replier><div class="bx-forum-grid-field-label bx-def-margin-thd-left"><i title="<bx_text_attribute:_bx_forum_you_are_last_replier />" class="sys-icon reply bx-def-font-grayed"></i></div></bx_if:show_viewer_is_last_replier>
-</div>

+ 9 - 3
modules/boonex/forum/template/entry-preview.html

@@ -1,9 +1,15 @@
 <div class="bx-forum-grid-preview">
-    <div class="bx-def-font">
+    <div class="bx-forum-gp-meta bx-forum-gpm-top bx-def-font-small">
+        <bx_if:meta_main><div class="bx-base-general-unit-meta bx-def-padding-sec-bottom">__content__</div></bx_if:meta_main>
+        <bx_if:meta_counters><div class="bx-base-general-unit-meta bx-def-padding-sec-bottom bx-def-media-phone-hide">__content__</div></bx_if:meta_counters>
+    </div>
+    <div class="bx-forum-gp-title bx-def-font">
     	<bx_if:show_stick><i class="sys-icon thumbtack" title="<bx_text_attribute:_bx_forum_txt_entry_sticked />"></i></bx_if:show_stick>
     	<bx_if:show_lock><i class="sys-icon lock" title="<bx_text_attribute:_bx_forum_txt_entry_locked />"></i></bx_if:show_lock>
     	<a href="__url__">__title__</a>
     </div>
-    <div class="bx-def-font-middle">__text__</div>
-    <div class="bx-def-font-small bx-def-font-grayed">__lr_time_and_replier__</div>
+    <div class="bx-forum-gp-text bx-def-font-middle bx-def-padding-thd-top">__text__</div>
+    <div class="bx-forum-gp-meta bx-forum-gpm-bottom bx-def-font-small">
+        <bx_if:meta_reply><div class="bx-base-general-unit-meta bx-forum-gpm-reply bx-def-padding-sec-top"><i class="sys-icon comments bx-def-padding-sec-right"></i>__content__</div></bx_if:meta_reply>
+    </div>
 </div>

+ 32 - 25
modules/boonex/russian/data/langs/bx_forum/ru.xml

@@ -202,7 +202,7 @@
     <string name="_bx_forum_menu_item_title_entries_top"><![CDATA[ТОП]]></string>
     <string name="_bx_forum_menu_item_title_system_entries_categories"><![CDATA[Категории]]></string>
     <string name="_bx_forum_menu_item_title_entries_categories"><![CDATA[Категории]]></string>
-	<string name="_bx_forum_menu_item_title_system_entries_search"><![CDATA[Поиск]]></string>
+    <string name="_bx_forum_menu_item_title_system_entries_search"><![CDATA[Поиск]]></string>
     <string name="_bx_forum_menu_item_title_entries_search"><![CDATA[Поиск]]></string>
     <string name="_bx_forum_menu_set_title_view_entry"><![CDATA[Действия для тем]]></string>
     <string name="_bx_forum_menu_title_view_entry"><![CDATA[Действия для тем]]></string>
@@ -212,24 +212,32 @@
     <string name="_bx_forum_menu_item_title_view_entries_author"><![CDATA[Обсуждения]]></string>
     <string name="_bx_forum_menu_item_title_system_view_entries_in_context"><![CDATA[Обсуждения]]></string>
     <string name="_bx_forum_menu_item_title_view_entries_in_context"><![CDATA[Обсуждения]]></string>
-  <string name="_bx_forum_menu_title_entries_my"><![CDATA[Мои Обсуждения - Меню действий]]></string>
+    <string name="_bx_forum_menu_title_entries_my"><![CDATA[Мои Обсуждения - Меню действий]]></string>
     <string name="_bx_forum_menu_set_title_entries_my"><![CDATA[Мои Обсуждения - Меню]]></string>
     <string name="_bx_forum_menu_set_title_manage_tools"><![CDATA[Инструменты управления - Подменю]]></string>
     <string name="_bx_forum_menu_title_manage_tools"><![CDATA[Инструменты управления - Подменю]]></string>
     <string name="_bx_forum_menu_item_title_system_manage_account"><![CDATA[Управление аккаунтом]]></string>
     <string name="_bx_forum_menu_item_title_manage_account"><![CDATA[Управление аккаунтом]]></string>
-	<string name="_bx_forum_menu_item_title_system_admt_discussions"><![CDATA[Обсуждения]]></string>
-	<string name="_bx_forum_menu_item_title_admt_discussions"><![CDATA[Обсуждения - {addon} спрятано]]></string>
-	<string name="_bx_forum_menu_item_title_manage_my"><![CDATA[Мои обсуждения]]></string>
-	<string name="_bx_forum_menu_item_title_manage_all"><![CDATA[Все обсуждения]]></string>
+    <string name="_bx_forum_menu_item_title_system_admt_discussions"><![CDATA[Обсуждения]]></string>
+    <string name="_bx_forum_menu_item_title_admt_discussions"><![CDATA[Обсуждения - {addon} спрятано]]></string>
+    <string name="_bx_forum_menu_item_title_manage_my"><![CDATA[Мои обсуждения]]></string>
+    <string name="_bx_forum_menu_item_title_manage_all"><![CDATA[Все обсуждения]]></string>
     <string name="_bx_forum_menu_item_title_system_discussions"><![CDATA[Количество дискуссий]]></string>
     <string name="_bx_forum_menu_item_title_discussions"><![CDATA[Дискуссий]]></string>
     <string name="_bx_forum_lmi_cpt_categories"><![CDATA[Категории]]></string>
+    <string name="_bx_forum_menu_title_snippet_meta_main"><![CDATA[Мета информация в карточке: Главное]]></string>
+    <string name="_bx_forum_menu_set_title_snippet_meta_main"><![CDATA[Мета информация в карточке: Главное]]></string>
+    <string name="_bx_forum_menu_title_snippet_meta_conters"><![CDATA[Мета информация в карточке: Счетчики]]></string>
+    <string name="_bx_forum_menu_set_title_snippet_meta_conters"><![CDATA[Мета информация в карточке: Счетчики]]></string>
+    <string name="_bx_forum_menu_title_snippet_meta_reply"><![CDATA[Мета информация в карточке: Ответ]]></string>
+    <string name="_bx_forum_menu_set_title_snippet_meta_reply"><![CDATA[Мета информация в карточке: Ответ]]></string>
+    <string name="_bx_forum_menu_item_title_system_sm_reply_text"><![CDATA[Текст ответа]]></string>
+    <string name="_bx_forum_menu_item_title_sm_reply_text"><![CDATA[Текст ответа]]></string>
 
-	<string name="_bx_forum_grid_filter_item_title_adm_select_one_filter1"><![CDATA[Все статусы]]></string>
-	<string name="_bx_forum_grid_filter_item_title_adm_active"><![CDATA[Активные]]></string>
-	<string name="_bx_forum_grid_filter_item_title_adm_hidden"><![CDATA[Спрятанные]]></string>
-	<string name="_bx_forum_grid_column_title_adm_active"><![CDATA[Активные]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_select_one_filter1"><![CDATA[Все статусы]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_active"><![CDATA[Активные]]></string>
+    <string name="_bx_forum_grid_filter_item_title_adm_hidden"><![CDATA[Спрятанные]]></string>
+    <string name="_bx_forum_grid_column_title_adm_active"><![CDATA[Активные]]></string>
     <string name="_bx_forum_grid_column_title_adm_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_forum_grid_column_title_adm_added"><![CDATA[Добавленные]]></string>
     <string name="_bx_forum_grid_column_title_adm_author"><![CDATA[Автор]]></string>
@@ -242,16 +250,16 @@
     <string name="_bx_forum_grid_action_title_show_to"><![CDATA[Показать]]></string>
     <string name="_bx_forum_grid_action_err_delete"><![CDATA[Невозможно удалить выбранное(ные) обсуждение(ния).]]></string>
     <string name="_bx_forum_grid_txt_account_manager"><![CDATA[Перенаправить в Управление аккаунтом.]]></string>
-	<string name="_bx_forum_grid_txt_manage_visibility"><![CDATA[Управление настройками видимости.]]></string>
-	<string name="_bx_forum_grid_show_to_popup"><![CDATA[Категория видна:]]></string>
+    <string name="_bx_forum_grid_txt_manage_visibility"><![CDATA[Управление настройками видимости.]]></string>
+    <string name="_bx_forum_grid_show_to_popup"><![CDATA[Категория видна:]]></string>
     <string name="_bx_forum_grid_txt_visible_for"><![CDATA[Видимо для]]></string>
     <string name="_bx_forum_grid_txt_visible_for_all"><![CDATA[Всех]]></string>
-	<string name="_bx_forum_grid_txt_visible_for_levels"><![CDATA[Выбрать уровни]]></string>
-	<string name="_bx_forum_grid_txt_visible_for_selected"><![CDATA[Выбранные уровни]]></string>
-	<string name="_bx_forum_grid_inf_visible_for_levels"><![CDATA[Выбрать членства, которым разрешено просматривать данную категорию.]]></string>
-	<string name="_bx_forum_grid_err_show_to"><![CDATA[Невозможно обновить категорию.]]></string>
-	<string name="_bx_forum_grid_btn_save"><![CDATA[Сохранить]]></string>
-	<string name="_bx_forum_grid_btn_cancel"><![CDATA[Отменить]]></string>
+    <string name="_bx_forum_grid_txt_visible_for_levels"><![CDATA[Выбрать уровни]]></string>
+    <string name="_bx_forum_grid_txt_visible_for_selected"><![CDATA[Выбранные уровни]]></string>
+    <string name="_bx_forum_grid_inf_visible_for_levels"><![CDATA[Выбрать членства, которым разрешено просматривать данную категорию.]]></string>
+    <string name="_bx_forum_grid_err_show_to"><![CDATA[Невозможно обновить категорию.]]></string>
+    <string name="_bx_forum_grid_btn_save"><![CDATA[Сохранить]]></string>
+    <string name="_bx_forum_grid_btn_cancel"><![CDATA[Отменить]]></string>
 
     <string name="_bx_forum_pre_lists_cats"><![CDATA[Категории обсуждений]]></string>
     <string name="_bx_forum_cat_General"><![CDATA[Общие]]></string>
@@ -267,14 +275,13 @@
     <string name="_bx_forum_participant_author"><![CDATA[автор]]></string>
     <string name="_bx_forum_participant_last_replier"><![CDATA[последний ответивший]]></string>
     <string name="_bx_forum_txt_entry_locked"><![CDATA[Заблокированное обсуждение]]></string>
-	<string name="_bx_forum_txt_entry_sticked"><![CDATA[Закрепленное обсуждение]]></string>
-	<string name="_bx_forum_txt_sample_comment_single"><![CDATA[комментарий к обсуждению]]></string>
-	<string name="_bx_forum_txt_sample_vote_single"><![CDATA[голос за обсуждение]]></string>
-  <string name="_bx_forum_txt_all_entries_in"><![CDATA[<a href="{0}">Все обсуждения в {1} ({2})</a>]]></string>
-	<string name="_bx_forum_txt_sample_single"><![CDATA[обсуждение]]></string>
-	<string name="_bx_forum_txt_sample_single_with_article"><![CDATA[обсуждение]]></string>
+    <string name="_bx_forum_txt_entry_sticked"><![CDATA[Закрепленное обсуждение]]></string>
+    <string name="_bx_forum_txt_sample_comment_single"><![CDATA[комментарий к обсуждению]]></string>
+    <string name="_bx_forum_txt_sample_vote_single"><![CDATA[голос за обсуждение]]></string>
+    <string name="_bx_forum_txt_all_entries_in"><![CDATA[<a href="{0}">Все обсуждения в {1} ({2})</a>]]></string>
+    <string name="_bx_forum_txt_sample_single"><![CDATA[обсуждение]]></string>
+    <string name="_bx_forum_txt_sample_single_with_article"><![CDATA[обсуждение]]></string>
     <string name="_bx_forum_x_date_by_x_replier"><![CDATA[{0} {1}]]></string>
-    <string name="_bx_forum_you_are_last_replier"><![CDATA[Вы - последний ответивший]]></string>
 
     <string name="_bx_forum_email_new_reply"><![CDATA[Новый ответ]]></string>
     <string name="_bx_forum_email_new_reply_subject"><![CDATA[Новый ответ в "{PageTitle}" дискуссии]]></string>

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

@@ -2206,6 +2206,7 @@
     <string name="_sys_menu_item_title_sm_category"><![CDATA[Категория]]></string>
     <string name="_sys_menu_item_title_sm_tags"><![CDATA[Тэги]]></string>
     <string name="_sys_menu_item_title_sm_views"><![CDATA[Просмотры]]></string>
+    <string name="_sys_menu_item_title_sm_votes"><![CDATA[Голоса]]></string>
     <string name="_sys_menu_item_title_sm_rating"><![CDATA[Рейтинг]]></string>
     <string name="_sys_menu_item_title_sm_comments"><![CDATA[Комментарии]]></string>
     <string name="_sys_menu_item_title_sm_actions"><![CDATA[Действия]]></string>
@@ -2284,6 +2285,7 @@
     <string name="_sys_menu_item_title_system_sm_category"><![CDATA[Категория]]></string>
     <string name="_sys_menu_item_title_system_sm_tags"><![CDATA[Тэги]]></string>
     <string name="_sys_menu_item_title_system_sm_views"><![CDATA[Просмотры]]></string>
+    <string name="_sys_menu_item_title_system_sm_votes"><![CDATA[Голоса]]></string>
     <string name="_sys_menu_item_title_system_sm_rating"><![CDATA[Рейтинг]]></string>
     <string name="_sys_menu_item_title_system_sm_comments"><![CDATA[Комментарии]]></string>
     <string name="_sys_menu_item_title_system_sm_actions"><![CDATA[Действия]]></string>
@@ -2749,6 +2751,7 @@
 	<string name="_vote_do_by"><![CDATA[Поблагодарили]]></string>
 	<string name="_vote_err_not_enabled"><![CDATA[Ваш голос не может быть принят в данный момент. Пожалуйста, попробуйте позднее.]]></string>
 	<string name="_vote_err_duplicate_vote"><![CDATA[Повторный голос]]></string>
+        <string name="_vote_n_votes"><![CDATA[{0} голосов]]></string>
 	<string name="_week_fri"><![CDATA[Пятница]]></string>
 	<string name="_week_mon"><![CDATA[Понедельник]]></string>
 	<string name="_week_sat"><![CDATA[Суббота]]></string>

+ 4 - 0
template/css/grid.css

@@ -70,6 +70,10 @@
 .bx-grid-table td:first-child {
     padding-left:10px;
 }
+.bx-grid-table th:last-child,
+.bx-grid-table td:last-child {
+    padding-right:10px;
+}
 
 .bx-grid-actions-divider {
     float:left;