Quellcode durchsuchen

Ticket #960 - Use Star and Like votes in the same time.

AntonLV vor 9 Jahren
Ursprung
Commit
1c67b862e9

+ 1 - 0
modules/boonex/videos/classes/BxVideosConfig.php

@@ -86,6 +86,7 @@ class BxVideosConfig extends BxBaseModTextConfig
         	'OBJECT_REPORTS' => 'bx_videos',
             'OBJECT_VIEWS' => 'bx_videos',
             'OBJECT_VOTES' => 'bx_videos',
+            'OBJECT_VOTES_STARS' => 'bx_videos_stars',
         	'OBJECT_FAVORITES' => 'bx_videos',
             'OBJECT_FEATURED' => 'bx_videos',
             'OBJECT_METATAGS' => 'bx_videos',

+ 0 - 8
modules/boonex/videos/classes/BxVideosModule.php

@@ -70,14 +70,6 @@ class BxVideosModule extends BxBaseModTextModule
     {
     	return $this->_serviceTemplateFunc ('entryRating', $iContentId);
     }
-
-    protected function _entitySocialSharing ($iId, $aParams = array())
-    {
-        $CNF = &$this->_oConfig->CNF;
-        return parent::_entitySocialSharing($iId, array_merge($aParams, array(
-        	'object_vote' => ''
-        )));
-    }
 }
 
 /** @} */

+ 6 - 1
modules/boonex/videos/classes/BxVideosTemplate.php

@@ -65,7 +65,7 @@ class BxVideosTemplate extends BxBaseModTextTemplate
         $CNF = &$this->getModule()->_oConfig->CNF;
 
     	$sVotes = '';
-        $oVotes = BxDolVote::getObjectInstance($CNF['OBJECT_VOTES'], $aData['id']);
+        $oVotes = BxDolVote::getObjectInstance($CNF['OBJECT_VOTES_STARS'], $aData['id']);
         if($oVotes) {
 			$sVotes = $oVotes->getElementBlock(array('show_counter' => true, 'show_legend' => true));
 			if(!empty($sVotes))
@@ -84,6 +84,11 @@ class BxVideosTemplate extends BxBaseModTextTemplate
         $this->_checkDuration($aData);
 
         $aUnit = parent::getUnit($aData, $aParams);
+
+        $oVotes = BxDolVote::getObjectInstance($CNF['OBJECT_VOTES_STARS'], $aData['id']);
+        if($oVotes)
+            $aUnit['entry_rating'] = $oVotes->getElementInline(array('show_counter' => true));
+
         $aUnit['entry_views'] = _t('_bx_videos_txt_n_views', $aData[$CNF['FIELD_VIEWS']]);
         $aUnit['bx_if:thumb']['content']['duration'] = _t_format_duration($aData[$CNF['FIELD_DURATION']]);
 

+ 22 - 1
modules/boonex/videos/install/sql/install.sql

@@ -16,6 +16,8 @@ CREATE TABLE IF NOT EXISTS `bx_videos_entries` (
   `views` int(11) NOT NULL default '0',
   `rate` float NOT NULL default '0',
   `votes` int(11) NOT NULL default '0',
+  `srate` float NOT NULL default '0',
+  `svotes` int(11) NOT NULL default '0',
   `favorites` int(11) NOT NULL default '0',
   `comments` int(11) NOT NULL default '0',
   `reports` int(11) NOT NULL default '0',
@@ -114,6 +116,24 @@ CREATE TABLE IF NOT EXISTS `bx_videos_votes_track` (
   KEY `vote` (`object_id`, `author_nip`)
 ) ENGINE=MYISAM DEFAULT CHARSET=utf8;
 
+CREATE TABLE IF NOT EXISTS `bx_videos_svotes` (
+  `object_id` int(11) NOT NULL default '0',
+  `count` int(11) NOT NULL default '0',
+  `sum` int(11) NOT NULL default '0',
+  UNIQUE KEY `object_id` (`object_id`)
+) ENGINE=MYISAM DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `bx_videos_svotes_track` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `object_id` int(11) NOT NULL default '0',
+  `author_id` int(11) NOT NULL default '0',
+  `author_nip` int(11) unsigned NOT NULL default '0',
+  `value` tinyint(4) NOT NULL default '0',
+  `date` int(11) NOT NULL default '0',
+  PRIMARY KEY (`id`),
+  KEY `vote` (`object_id`, `author_nip`)
+) ENGINE=MYISAM DEFAULT CHARSET=utf8;
+
 -- TABLE: views
 CREATE TABLE `bx_videos_views_track` (
   `object_id` int(11) NOT NULL default '0',
@@ -303,7 +323,8 @@ INSERT INTO `sys_objects_cmts` (`Name`, `Module`, `Table`, `CharsPostMin`, `Char
 
 -- VOTES
 INSERT INTO `sys_objects_vote` (`Name`, `TableMain`, `TableTrack`, `PostTimeout`, `MinValue`, `MaxValue`, `IsUndo`, `IsOn`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldRate`, `TriggerFieldRateCount`, `ClassName`, `ClassFile`) VALUES 
-('bx_videos', 'bx_videos_votes', 'bx_videos_votes_track', '604800', '1', '5', '0', '1', 'bx_videos_entries', 'id', 'author', 'rate', 'votes', '', '');
+('bx_videos', 'bx_videos_votes', 'bx_videos_votes_track', '604800', '1', '1', '0', '1', 'bx_videos_entries', 'id', 'author', 'rate', 'votes', '', ''),
+('bx_videos_stars', 'bx_videos_svotes', 'bx_videos_svotes_track', '604800', '1', '5', '0', '1', 'bx_videos_entries', 'id', 'author', 'srate', 'svotes', '', '');
 
 
 -- REPORTS

+ 2 - 2
modules/boonex/videos/install/sql/uninstall.sql

@@ -1,6 +1,6 @@
 
 -- TABLES
-DROP TABLE IF EXISTS `bx_videos_entries`, `bx_videos_photos`, `bx_videos_videos`, `bx_videos_media_resized`, `bx_videos_cmts`, `bx_videos_votes`, `bx_videos_votes_track`, `bx_videos_views_track`, `bx_videos_meta_keywords`, `bx_videos_meta_locations`, `bx_videos_reports`, `bx_videos_reports_track`, `bx_videos_favorites_track`;
+DROP TABLE IF EXISTS `bx_videos_entries`, `bx_videos_photos`, `bx_videos_videos`, `bx_videos_media_resized`, `bx_videos_cmts`, `bx_videos_votes`, `bx_videos_votes_track`, `bx_videos_svotes`, `bx_videos_svotes_track`, `bx_videos_views_track`, `bx_videos_meta_keywords`, `bx_videos_meta_locations`, `bx_videos_reports`, `bx_videos_reports_track`, `bx_videos_favorites_track`;
 
 
 -- STORAGES & TRANSCODERS
@@ -31,7 +31,7 @@ DELETE FROM `sys_objects_cmts` WHERE `Name` = 'bx_videos';
 
 
 -- VOTES
-DELETE FROM `sys_objects_vote` WHERE `Name` = 'bx_videos';
+DELETE FROM `sys_objects_vote` WHERE `Name` IN ('bx_videos', 'bx_videos_stars');
 
 
 -- REPORTS

+ 5 - 3
modules/boonex/videos/template/unit.html

@@ -7,10 +7,12 @@
     </bx_if:thumb>
     <div class="bx-base-text-unit-text bx-def-padding bx-def-box-sizing">
         <h2 class="bx-base-text-unit-title"><a href="__content_url__">__title__</a></h2>
-        <div class="bx-base-text-unit-info bx-def-margin-sec-top bx-def-font-small">
-            <span class="bx-def-font-grayed">__entry_posting_date__</span>
+        <div class="bx-base-text-unit-info bx-def-margin-sec-top">
+            <span class="bx-def-font-small bx-def-font-grayed">__entry_posting_date__</span>
             <span class="bx-base-text-unit-info-div bx-def-font-grayed">&#183;</span>
-            <a class="bx-base-text-unit-author" href="__author_url__">__author__</a>
+            <span>__entry_rating__</span>
+            <span class="bx-base-text-unit-info-div bx-def-font-grayed">&#183;</span>
+            <a class="bx-base-text-unit-author bx-def-font-small" href="__author_url__">__author__</a>
         </div>
         <div class="bx-base-text-unit-summary bx-def-margin-sec-top bx-clearfix">
             __summary__