Browse Source

#2991 - Rateable fields

RomanL 6 years ago
parent
commit
82a38c0481

+ 4 - 3
inc/classes/BxDolFormQuery.php

@@ -266,16 +266,17 @@ class BxDolFormQuery extends BxDolDb
         return $bResult;
     }
     
-    static public function addFormField($sObjectForm, $sFieldName, $iContentId, $iAuthorId)
+    static public function addFormField($sObjectForm, $sFieldName, $iContentId, $iAuthorId, $sModuleName)
     {
         $oDb = BxDolDb::getInstance();
         $aBindings = array(
             'object_form' => $sObjectForm,
             'field_name' => $sFieldName,
             'content_id' => $iContentId,
-            'author_id' => $iAuthorId
+            'author_id' => $iAuthorId,
+            'module' => $sModuleName
         );
-        $oDb->query("INSERT `sys_form_fields_ids` SET `object_form`=:object_form, `field_name`=:field_name, `content_id`=:content_id, `author_id`=:author_id", $aBindings);
+        $oDb->query("INSERT `sys_form_fields_ids` SET `object_form`=:object_form, `field_name`=:field_name, `content_id`=:content_id, `author_id`=:author_id, `module`=:module", $aBindings);
     }
     
     static public function getFormField($sObjectForm, $sFieldName, $iContentId)

+ 3 - 1
install/sql/system.sql

@@ -3531,6 +3531,7 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 CREATE TABLE `sys_form_fields_ids` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `object_form` varchar(64) NOT NULL default '',
+  `module` varchar(32) NOT NULL,
   `field_name` varchar(255) NOT NULL default '',
   `content_id` int(11) NOT NULL DEFAULT '0',
   `author_id` int(10) NOT NULL DEFAULT '0',
@@ -3540,7 +3541,8 @@ CREATE TABLE `sys_form_fields_ids` (
   `rrate` float NOT NULL DEFAULT '0',
   `rvotes` int(11) NOT NULL DEFAULT '0',
   PRIMARY KEY (`id`),
-  KEY `system_form_fields_id` (`object_form`, `content_id`, `nested_content_id`)
+  KEY `system_form_fields_id` (`object_form`, `content_id`, `nested_content_id`),
+  KEY `system_form_fields_id_module` (`module`)
 );
 
 CREATE TABLE `sys_form_pre_lists` (

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

@@ -260,7 +260,7 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
         
         foreach($this->aInputs as $aInput) {
             if ($aInput['rateable']){
-                BxDolFormQuery::addFormField($this->id, $aInput['name'], $iContentId, $aValsToAdd[$CNF['FIELD_AUTHOR']]);
+                BxDolFormQuery::addFormField($this->id, $aInput['name'], $iContentId, $aValsToAdd[$CNF['FIELD_AUTHOR']], $this->_oModule->getName());
             }
         }
         
@@ -478,7 +478,7 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
         return $this->oTemplate->parseHtmlByName('form_view_row.html', array(
             'type' => $aInput['type'], 
             'caption' => isset($aInput['caption']) ? bx_process_output($aInput['caption']) : '',
-            'value' => $sValue . $sReactions.$aInput['rateable']
+            'value' => $sValue . $sReactions
         ));
     }
 

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

@@ -733,6 +733,7 @@
 	<string name="_adm_form_dsc_field_html"><![CDATA[Выбрать тип HTML-редактора]]></string>
 	<string name="_adm_form_dsc_field_info"><![CDATA[Введите описание поля (необязательно)]]></string>
         <string name="_adm_form_dsc_field_privacy"><![CDATA[Отметьте, если для данного поля настройки "Конфиденциальности" могут быть изменены]]></string>
+  <string name="_adm_form_dsc_field_rateable"><![CDATA[Добавляет возможность оценки значений]]></string>
 	<string name="_adm_form_dsc_field_required"><![CDATA[Отметьте, если поле должно иметь значение]]></string>
 	<string name="_adm_form_dsc_field_unique"><![CDATA[Отметьте, если поле должно иметь уникальное значение]]></string>
 	<string name="_adm_form_dsc_field_value_button"><![CDATA[Введите заголовок для кнопки]]></string>
@@ -866,6 +867,10 @@
 	<string name="_adm_form_txt_field_name"><![CDATA[Имя]]></string>
 	<string name="_adm_form_txt_field_object"><![CDATA[Форма]]></string>
         <string name="_adm_form_txt_field_privacy"><![CDATA[Конфиденциальность]]></string>
+  <string name="_adm_form_txt_field_rateable"><![CDATA[Оценивать]]></string>
+  <string name="_adm_form_txt_field_rateable_value_non"><![CDATA[Без оценки]]></string>
+  <string name="_adm_form_txt_field_rateable_value_votes"><![CDATA[Использовать лайков]]></string>
+  <string name="_adm_form_txt_field_rateable_value_reactions"><![CDATA[Использовать реакции]]></string>
 	<string name="_adm_form_txt_field_required"><![CDATA[Необходимое]]></string>
 	<string name="_adm_form_txt_field_show_to_popup"><![CDATA[Показывать "{0}" поле формы для: ]]></string>
         <string name="_adm_form_txt_field_type_block_end"><![CDATA[конец блока]]></string>