Răsfoiți Sursa

Ticket #4711 - Agents: Ask asistant block.

AntonLV 2 ani în urmă
părinte
comite
71dadda73f

+ 5 - 0
inc/classes/BxDolAI.php

@@ -105,6 +105,11 @@ class BxDolAI extends BxDolFactory implements iBxDolSingleton
         return ($iId = (int)getParam('sys_agents_live_search_assistant')) != 0 ? $iId : 0;
     }
 
+    public static function getAssistantForAskBlock()
+    {
+        return ($iId = (int)getParam('sys_agents_ask_block_assistant')) != 0 ? $iId : 0;
+    }
+
     public function getProfileId()
     {
         return $this->_iProfileId;

+ 5 - 0
inc/classes/BxDolAIAssistant.php

@@ -140,6 +140,11 @@ class BxDolAIAssistant extends BxDol
 
         return $sResult;
     }
+    
+    public function getAskBlock($aParams = [])
+    {
+        return $this->getAskChat();
+    }
 
     public function deleteChat($mixedChat)
     {

+ 6 - 2
install/sql/system.sql

@@ -844,7 +844,9 @@ SET @iCategoryId = LAST_INSERT_ID();
 INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
 (@iCategoryId, 'sys_agents_asst_chats_trans_del', '_adm_stg_cpt_option_sys_agents_asst_chats_trans_del', 'on', 'checkbox', '', '', '', 1),
 (@iCategoryId, 'sys_agents_studio_assistant', '_adm_stg_cpt_option_sys_agents_sa', '', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:28:"get_options_studio_assistant";s:5:"class";s:13:"TemplServices";}', '', '', 10),
-(@iCategoryId, 'sys_agents_live_search_assistant', '_adm_stg_cpt_option_sys_agents_lsa', '', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:33:"get_options_live_search_assistant";s:5:"class";s:13:"TemplServices";}', '', '', 15);
+(@iCategoryId, 'sys_agents_live_search_assistant', '_adm_stg_cpt_option_sys_agents_lsa', '', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:33:"get_options_live_search_assistant";s:5:"class";s:13:"TemplServices";}', '', '', 15),
+(@iCategoryId, 'sys_agents_ask_block_assistant', '_adm_stg_cpt_option_sys_agents_aba', '', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:31:"get_options_ask_block_assistant";s:5:"class";s:13:"TemplServices";}', '', '', 20);
+
 
 --
 -- Table structure for table `sys_options_mixes`
@@ -6002,7 +6004,9 @@ INSERT INTO `sys_pages_blocks` (`object`, `cell_id`, `module`, `title_system`, `
 ('', 0, 'system', '_sys_page_block_title_sys_author', '_sys_page_block_title_author', 3, 0, 0, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:16:"get_block_author";s:6:"params";a:2:{i:0;s:8:"{module}";i:1;s:4:"{id}";}s:5:"class";s:13:"TemplServices";}', 0, 1, 1, @iBlockOrder + 5),
 
 ('', 0, 'system', '_sys_page_block_title_sys_recom_friends', '_sys_page_block_title_recom_friends', 11, 1, 0, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:30:"browse_recommendations_friends";s:6:"params";a:0:{}s:5:"class";s:20:"TemplServiceProfiles";}', 0, 1, 1, @iBlockOrder + 6),
-('', 0, 'system', '_sys_page_block_title_sys_recom_subscriptions', '_sys_page_block_title_recom_subscriptions', 11, 1, 0, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:36:"browse_recommendations_subscriptions";s:6:"params";a:0:{}s:5:"class";s:20:"TemplServiceProfiles";}', 0, 1, 1, @iBlockOrder + 6);
+('', 0, 'system', '_sys_page_block_title_sys_recom_subscriptions', '_sys_page_block_title_recom_subscriptions', 11, 1, 0, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:36:"browse_recommendations_subscriptions";s:6:"params";a:0:{}s:5:"class";s:20:"TemplServiceProfiles";}', 0, 1, 1, @iBlockOrder + 7),
+
+('', 0, 'system', '_sys_page_block_title_sys_ask_aqssistant', '_sys_page_block_title_ask_aqssistant', 11, 0, 0, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:23:"get_block_ask_assistant";s:6:"params";a:1:{i:0;a:0:{}}s:5:"class";s:13:"TemplServices";}', 0, 1, 1, @iBlockOrder + 8);
 
 -- content blocks
 INSERT INTO `sys_pages_blocks` (`object`, `cell_id`, `module`, `title_system`, `title`, `designbox_id`, `tabs`, `async`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES

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

@@ -1788,6 +1788,7 @@
     <string name="_adm_stg_cpt_option_sys_agents_asst_chats_trans_del"><![CDATA[Auto delete transient chats everyday]]></string>
     <string name="_adm_stg_cpt_option_sys_agents_sa"><![CDATA[Assistant for Studio]]></string>
     <string name="_adm_stg_cpt_option_sys_agents_lsa"><![CDATA[Assistant for Live search]]></string>
+    <string name="_adm_stg_cpt_option_sys_agents_aba"><![CDATA[Assistant for 'Ask AI' block]]></string>
     <string name="_adm_stg_cpt_option_sys_viewport_meta_tag"><![CDATA[Viewport meta tag]]></string>
 
     <string name="_adm_stg_cpt_category_pwa_manifest"><![CDATA[Manifest]]></string>
@@ -3524,6 +3525,8 @@ If it is not enabled then please consider implement this optimization, since it
     <string name="_sys_page_block_title_create_account"><![CDATA[Sign up]]></string>
     <string name="_sys_page_block_title_sys_author"><![CDATA[Author]]></string>
     <string name="_sys_page_block_title_author"><![CDATA[Author]]></string>
+    <string name="_sys_page_block_title_sys_ask_aqssistant"><![CDATA[Ask AI]]></string>
+    <string name="_sys_page_block_title_ask_aqssistant"><![CDATA[Ask AI]]></string>
     <string name="_sys_page_block_title_sys_recom_friends"><![CDATA[Recommended Friends]]></string>
     <string name="_sys_page_block_title_recom_friends"><![CDATA[Friend Suggestions]]></string>
     <string name="_sys_page_block_title_sys_recom_subscriptions"><![CDATA[Recommended Subscriptions]]></string>

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

@@ -1764,6 +1764,7 @@
     <string name="_adm_stg_cpt_option_sys_agents_asst_chats_trans_del"><![CDATA[Автоматическое удаление временных чатов каждый день]]></string>
     <string name="_adm_stg_cpt_option_sys_agents_sa"><![CDATA[Помощник по студии]]></string>
     <string name="_adm_stg_cpt_option_sys_agents_lsa"><![CDATA[Помощник для интерактивного поиска]]></string>
+    <string name="_adm_stg_cpt_option_sys_agents_aba"><![CDATA[Помощник для блока "Спросите ИИ"]]></string>
     <string name="_adm_stg_cpt_option_sys_viewport_meta_tag"><![CDATA[Метатег области просмотра]]></string>
 
     <string name="_adm_stg_cpt_category_pwa_manifest"><![CDATA[Manifest]]></string>
@@ -3480,6 +3481,8 @@
 	<string name="_sys_page_block_title_create_account"><![CDATA[Присоединиться]]></string>
         <string name="_sys_page_block_title_sys_author"><![CDATA[Автор]]></string>
 	<string name="_sys_page_block_title_author"><![CDATA[Автор]]></string>
+        <string name="_sys_page_block_title_sys_ask_aqssistant"><![CDATA[Спросите ИИ]]></string>
+        <string name="_sys_page_block_title_ask_aqssistant"><![CDATA[Спросите ИИ]]></string>
         <string name="_sys_page_block_title_sys_recom_friends"><![CDATA[Рекомендуемые друзья]]></string>
         <string name="_sys_page_block_title_recom_friends"><![CDATA[С кем дружить]]></string>
         <string name="_sys_page_block_title_sys_recom_subscriptions"><![CDATA[Рекомендуемые подписки]]></string>

+ 14 - 0
template/scripts/BxBaseServices.php

@@ -794,6 +794,15 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
         ]]);
     }
 
+    public function serviceGetBlockAskAssistant($aParams = [])
+    {
+        $iAssistant = BxDolAI::getAssistantForAskBlock();
+        if(!$iAssistant)
+            return '';
+
+        return BxDolAIAssistant::getObjectInstance($iAssistant)->getAskBlock($aParams);
+    }
+
     public function serviceGetMenu($aParams)
     {
         $bIsApi = bx_is_api();
@@ -1353,6 +1362,11 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
         return ['' => _t('_Select_one')] + BxDolAI::getInstance()->getAssistants(['active' => true, 'hidden' => false]);
     }
 
+    public function serviceGetOptionsAskBlockAssistant()
+    {
+        return ['' => _t('_Select_one')] + BxDolAI::getInstance()->getAssistants(['active' => true, 'hidden' => false]);
+    }
+
     public function serviceRedirect($sUrl = false)
     {
         if (!getParam('sys_confirmation_before_redirect')) {