Просмотр исходного кода

Ticket #5395 - Agents: Improve functionality. Point 2.

AntonLV 8 месяцев назад
Родитель
Сommit
b4cd11d9f6

+ 16 - 5
inc/classes/BxDolAIAssistant.php

@@ -96,13 +96,14 @@ class BxDolAIAssistant extends BxDol
             'onclick' => "javascrip:bx_agents_action(this, 'asst', 'ask', {id: " . $this->_iId . ", text: '" . $sText . "'})"
         ]);
     }
-    
-    public function getAskChat($sName = '', $sText = '', $oTemplate = false)
+
+    public function getAskChat($sName = '', $sDescription = '', $sText = '', $oTemplate = false)
     {
         if(!$oTemplate)
             $oTemplate = BxDolTemplate::getInstance();
 
         $bName = !empty($sName);
+        $bDescription = !empty($sDescription);
         $bText = !empty($sText);
 
         $iChatId = 0;
@@ -113,13 +114,22 @@ class BxDolAIAssistant extends BxDol
         }
 
         if(empty($iChatId)) {
-            if(!$bName)
-                $sName = self::getChatName($bText ? strmaxtextlen($sText, 8) : genRndPwd());
+            if(!$bName) {
+                if($bDescription)
+                    $sName = strmaxtextlen(_t($sDescription), 8);
+                else if($bText)
+                    $sName = strmaxtextlen($sText, 8);
+                else
+                    $sName = genRndPwd();
+
+                $sName = self::getChatName($sName);
+            }
 
             $iChatId = $this->_oDb->insertChat([
                 'name' => $sName,
                 'type' => BX_DOL_AI_ASST_TYPE_TRANSIENT,
                 'assistant_id' => $this->_iId, 
+                'description' => $sDescription,
                 'added' => time(),
             ]);
         }
@@ -143,7 +153,7 @@ class BxDolAIAssistant extends BxDol
     
     public function getAskBlock($aParams = [])
     {
-        return $this->getAskChat();
+        return $this->getAskChat('sys_block_assistant', '_sys_agents_assistants_chat_dsc_block');
     }
 
     public function deleteChat($mixedChat)
@@ -248,6 +258,7 @@ class BxDolAIAssistant extends BxDol
             'name' => self::getChatName(strmaxtextlen($sText, 8)),
             'type' => BX_DOL_AI_ASST_TYPE_TRANSIENT,
             'assistant_id' => $this->_iId, 
+            'description' => '_sys_agents_assistants_chat_dsc_live_search',
             'added' => time(),
         ]);
 

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

@@ -2350,6 +2350,9 @@
     <string name="_sys_agents_assistants_field_result"><![CDATA[Result]]></string>
     <string name="_sys_agents_assistants_popup_add"><![CDATA[Add assistant]]></string>
     <string name="_sys_agents_assistants_popup_edit"><![CDATA[Edit assistant]]></string>
+    <string name="_sys_agents_assistants_chat_dsc_studio"><![CDATA[Studio assistant]]></string>
+    <string name="_sys_agents_assistants_chat_dsc_block"><![CDATA['Ask AI' assistant]]></string>
+    <string name="_sys_agents_assistants_chat_dsc_live_search"><![CDATA[Live search assistant]]></string>
     <string name="_sys_agents_assistants_chats_txt_name"><![CDATA[Name]]></string>
     <string name="_sys_agents_assistants_chats_txt_type"><![CDATA[Type]]></string>
     <string name="_sys_agents_assistants_chats_txt_type_1"><![CDATA[Permanent]]></string>

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

@@ -2325,6 +2325,9 @@
         <string name="_sys_agents_assistants_field_result"><![CDATA[Результат]]></string>
         <string name="_sys_agents_assistants_popup_add"><![CDATA[Добавить ассистента]]></string>
         <string name="_sys_agents_assistants_popup_edit"><![CDATA[Редактировать ассистента]]></string>
+        <string name="_sys_agents_assistants_chat_dsc_studio"><![CDATA[Помощник в студии]]></string>
+        <string name="_sys_agents_assistants_chat_dsc_block"><![CDATA[Помощник «Спроси ИИ»]]></string>
+        <string name="_sys_agents_assistants_chat_dsc_live_search"><![CDATA[Помощник в интерактивном поиске]]></string>
         <string name="_sys_agents_assistants_chats_txt_name"><![CDATA[Название]]></string>
         <string name="_sys_agents_assistants_chats_txt_type"><![CDATA[Тип]]></string>
         <string name="_sys_agents_assistants_chats_txt_type_1"><![CDATA[Постоянный]]></string>

+ 4 - 2
studio/classes/BxDolStudioPage.php

@@ -29,7 +29,8 @@ class BxDolStudioPage extends BxDol
     protected $sPageRssHelpId;
 
     protected $iPageAssistantId;
-    protected $iPageAssistantChatName;
+    protected $sPageAssistantChatName;
+    protected $sPageAssistantChatDescription;
 
     protected $_sTypesPreList;
 
@@ -58,7 +59,8 @@ class BxDolStudioPage extends BxDol
         $this->iPageRssHelpLength = 5;
 
         $this->iPageAssistantId = BxDolAI::getAssistantForStudio();
-        $this->iPageAssistantChatName = 'sys_studio_page_assistant';
+        $this->sPageAssistantChatName = 'sys_studio_page_assistant';
+        $this->sPageAssistantChatDescription = '_sys_agents_assistants_chat_dsc_studio';
 
         $this->_sTypesPreList = 'sys_studio_widget_types';
 

+ 1 - 1
studio/template/scripts/BxBaseStudioPage.php

@@ -220,7 +220,7 @@ class BxBaseStudioPage extends BxDolStudioPage
 
         $oTemplate = BxDolStudioTemplate::getInstance();
 
-        $sContent = $oAssistant->getAskChat($this->iPageAssistantChatName, '', $oTemplate);
+        $sContent = $oAssistant->getAskChat($this->sPageAssistantChatName, $this->sPageAssistantChatDescription, '', $oTemplate);
         if(!$sContent)
             return '';