Răsfoiți Sursa

Ticket #562 - Anonymous and Hidden results modes.

AntonLV 9 ani în urmă
părinte
comite
d238417f8f

+ 2 - 0
modules/boonex/polls/classes/BxPollsConfig.php

@@ -40,6 +40,8 @@ class BxPollsConfig extends BxBaseModTextConfig
             'FIELD_TEXT_ID' => 'poll-text',
         	'FIELD_SUBENTRIES' => 'subentries',
             'FIELD_ALLOW_VIEW_TO' => 'allow_view_to',
+        	'FIELD_ANONYMOUS' => 'anonymous',
+        	'FIELD_HIDDEN_RESULTS' => 'hidden_results',
             'FIELD_PHOTO' => 'pictures',
             'FIELD_THUMB' => 'thumb',
             'FIELD_COMMENTS' => 'comments',

+ 14 - 1
modules/boonex/polls/classes/BxPollsVoteSubentries.php

@@ -22,7 +22,9 @@ class BxPollsVoteSubentries extends BxTemplVote
     	$this->MODULE = 'bx_polls';
     	$this->_oModule = BxDolModule::getInstance($this->MODULE);
 
-        parent::__construct($sSystem, $iId, $iInit);
+        parent::__construct($sSystem, $iId, $iInit, $this->_oModule->_oTemplate);
+
+        $CNF = $this->_oModule->_oConfig->CNF;
 
         $this->_aElementDefaults['likes'] = array_merge($this->_aElementDefaults['likes'], array(
             'show_do_vote_label' => true
@@ -34,6 +36,17 @@ class BxPollsVoteSubentries extends BxTemplVote
 
     public function getCounter($aParams = array())
     {
+        $CNF = $this->_oModule->_oConfig->CNF;
+
+        $iObjectId = $this->getId();
+		$iAuthorId = $this->_getAuthorId();
+        if((int)$this->_aContentInfo[$CNF['FIELD_HIDDEN_RESULTS']] == 1)
+            if(!$this->isPerformed($iObjectId, $iAuthorId))
+                return '';
+
+        if((int)$this->_aContentInfo[$CNF['FIELD_ANONYMOUS']] == 1)
+            $this->_sTmplNameCounter = 'subentries_vc_text.html';
+
         return '(' . parent::getCounter($aParams) . ')';
     }
 

+ 4 - 0
modules/boonex/polls/install/langs/en.xml

@@ -38,6 +38,10 @@
 	<string name="_bx_polls_form_entry_input_delete_confirm_error"><![CDATA[Please check this checkbox if you really want to delete the poll]]></string>
 	<string name="_bx_polls_form_entry_input_sys_pictures"><![CDATA[Pictures]]></string>
 	<string name="_bx_polls_form_entry_input_pictures"><![CDATA[Pictures]]></string>
+	<string name="_bx_polls_form_profile_input_sys_anonymous"><![CDATA[Anonymous]]></string>
+    <string name="_bx_polls_form_profile_input_anonymous"><![CDATA[Anonymous vote]]></string>
+    <string name="_bx_polls_form_profile_input_sys_hidden_results"><![CDATA[Hidden Results]]></string>
+    <string name="_bx_polls_form_profile_input_hidden_results"><![CDATA[Hide results until voted]]></string>
     <string name="_bx_polls_form_entry_input_sys_allow_view_to"><![CDATA[Visibility]]></string>
     <string name="_bx_polls_form_entry_input_allow_view_to"><![CDATA[Visibility]]></string>
     <string name="_bx_polls_form_entry_input_picture_use_as_thumb"><![CDATA[Cover Image]]></string>

+ 2 - 2
modules/boonex/polls/install/sql/enable.sql

@@ -50,8 +50,8 @@ INSERT INTO `sys_objects_page`(`object`, `title_system`, `title`, `module`, `lay
 ('bx_polls_view_entry', '_bx_polls_page_title_sys_view_entry', '_bx_polls_page_title_view_entry', 'bx_polls', 10, 2147483647, 1, 'view-poll', '', '', '', '', 0, 1, 0, 'BxPollsPageEntry', 'modules/boonex/polls/classes/BxPollsPageEntry.php');
 
 INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES 
-('bx_polls_view_entry', 1, 'bx_polls', '', '_bx_polls_page_block_title_entry_subentries', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_polls\";s:6:\"method\";s:23:\"entity_subentries_block\";}', 0, 0, 1, 1),
-('bx_polls_view_entry', 1, 'bx_polls', '', '_bx_polls_page_block_title_entry_text', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_polls\";s:6:\"method\";s:17:\"entity_text_block\";}', 0, 0, 1, 2),
+('bx_polls_view_entry', 1, 'bx_polls', '', '_bx_polls_page_block_title_entry_text', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_polls\";s:6:\"method\";s:17:\"entity_text_block\";}', 0, 0, 1, 1),
+('bx_polls_view_entry', 1, 'bx_polls', '', '_bx_polls_page_block_title_entry_subentries', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_polls\";s:6:\"method\";s:23:\"entity_subentries_block\";}', 0, 0, 1, 2),
 ('bx_polls_view_entry', 2, 'bx_polls', '', '_bx_polls_page_block_title_entry_author', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_polls\";s:6:\"method\";s:13:\"entity_author\";}', 0, 0, 1, 0),
 ('bx_polls_view_entry', 3, 'bx_polls', '', '_bx_polls_page_block_title_entry_info', 11, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_polls\";s:6:\"method\";s:11:\"entity_info\";}', 0, 0, 1, 1),
 ('bx_polls_view_entry', 3, 'bx_polls', '', '_bx_polls_page_block_title_entry_location', 13, 2147483647, 'service', 'a:2:{s:6:\"module\";s:8:\"bx_polls\";s:6:\"method\";s:15:\"entity_location\";}', 0, 0, 0, 2),

+ 11 - 4
modules/boonex/polls/install/sql/install.sql

@@ -18,6 +18,8 @@ CREATE TABLE IF NOT EXISTS `bx_polls_entries` (
   `comments` int(11) NOT NULL default '0',
   `reports` int(11) NOT NULL default '0',
   `allow_view_to` int(11) NOT NULL DEFAULT '3',
+  `anonymous` tinyint(4) NOT NULL DEFAULT '0',
+  `hidden_results` tinyint(4) NOT NULL DEFAULT '0',
   `status` enum('active','hidden') NOT NULL DEFAULT 'active',
   `status_admin` enum('active','hidden') NOT NULL DEFAULT 'active',
   PRIMARY KEY (`id`),
@@ -217,6 +219,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_polls', 'bx_polls', 'title', '', '', 0, 'text', '_bx_polls_form_entry_input_sys_title', '_bx_polls_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_polls_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_polls', 'bx_polls', 'subentries', '', '', 0, 'custom', '_bx_polls_form_entry_input_sys_subentries', '_bx_polls_form_entry_input_subentries', '_bx_polls_form_entry_input_subentries_inf', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'cat', '', '#!bx_polls_cats', 0, 'select', '_bx_polls_form_entry_input_sys_cat', '_bx_polls_form_entry_input_cat', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_polls_form_entry_input_cat_err', 'Xss', '', 1, 0),
+('bx_polls', 'bx_polls', 'anonymous', 1, '', 0, 'switcher', '_bx_polls_form_profile_input_sys_anonymous', '_bx_polls_form_profile_input_anonymous', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
+('bx_polls', 'bx_polls', 'hidden_results', 1, '', 0, 'switcher', '_bx_polls_form_profile_input_sys_hidden_results', '_bx_polls_form_profile_input_hidden_results', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
 ('bx_polls', 'bx_polls', 'added', '', '', 0, 'datetime', '_bx_polls_form_entry_input_sys_date_added', '_bx_polls_form_entry_input_date_added', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'changed', '', '', 0, 'datetime', '_bx_polls_form_entry_input_sys_date_changed', '_bx_polls_form_entry_input_date_changed', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0);
 
@@ -228,8 +232,10 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_polls_entry_add', 'text', 2147483647, 1, 4),
 ('bx_polls_entry_add', 'pictures', 2147483647, 1, 5),
 ('bx_polls_entry_add', 'allow_view_to', 2147483647, 1, 6),
-('bx_polls_entry_add', 'location', 2147483647, 1, 7),
-('bx_polls_entry_add', 'do_publish', 2147483647, 1, 8),
+('bx_polls_entry_add', 'anonymous', 2147483647, 1, 7),
+('bx_polls_entry_add', 'hidden_results', 2147483647, 1, 8),
+('bx_polls_entry_add', 'location', 2147483647, 1, 9),
+('bx_polls_entry_add', 'do_publish', 2147483647, 1, 10),
 
 ('bx_polls_entry_delete', 'delete_confirm', 2147483647, 1, 1),
 ('bx_polls_entry_delete', 'do_submit', 2147483647, 1, 2),
@@ -240,8 +246,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_polls_entry_edit', 'text', 2147483647, 1, 4),
 ('bx_polls_entry_edit', 'pictures', 2147483647, 1, 5),
 ('bx_polls_entry_edit', 'allow_view_to', 2147483647, 1, 6),
-('bx_polls_entry_edit', 'location', 2147483647, 1, 7),
-('bx_polls_entry_edit', 'do_submit', 2147483647, 1, 8),
+('bx_polls_entry_edit', 'hidden_results', 2147483647, 1, 7),
+('bx_polls_entry_edit', 'location', 2147483647, 1, 8),
+('bx_polls_entry_edit', 'do_submit', 2147483647, 1, 9),
 
 ('bx_polls_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_polls_entry_view', 'added', 2147483647, 1, 2),

+ 1 - 0
modules/boonex/polls/template/subentries_vc_text.html

@@ -0,0 +1 @@
+<span title="__title__">__content__</span>

+ 4 - 0
modules/boonex/russian/data/langs/bx_polls/ru.xml

@@ -38,6 +38,10 @@
 	<string name="_bx_polls_form_entry_input_delete_confirm_error"><![CDATA[Пожалуйста, отметьте этот флажок, если действительно хотите удалить голосование]]></string>
 	<string name="_bx_polls_form_entry_input_sys_pictures"><![CDATA[Картинки]]></string>
 	<string name="_bx_polls_form_entry_input_pictures"><![CDATA[Картинки]]></string>
+    <string name="_bx_polls_form_profile_input_sys_anonymous"><![CDATA[Анонимный]]></string>
+    <string name="_bx_polls_form_profile_input_anonymous"><![CDATA[Анонимное голосование]]></string>
+    <string name="_bx_polls_form_profile_input_sys_hidden_results"><![CDATA[Скрытые результаты]]></string>
+    <string name="_bx_polls_form_profile_input_hidden_results"><![CDATA[Скрывать результаты до голосования]]></string>
     <string name="_bx_polls_form_entry_input_sys_allow_view_to"><![CDATA[Видимость]]></string>
     <string name="_bx_polls_form_entry_input_allow_view_to"><![CDATA[Видимость]]></string>
     <string name="_bx_polls_form_entry_input_picture_use_as_thumb"><![CDATA[Изображение обложки]]></string>