AntonLV 9 лет назад
Родитель
Сommit
d73b78bcdc

+ 6 - 1
inc/classes/BxDolSearchExtended.php

@@ -95,9 +95,14 @@ class BxDolSearchExtended extends BxDolFactory implements iBxDolFactoryObject
         return isset($this->_aObject['active']) && (int)$this->_aObject['active'] != 0;
     }
 
+    public function clean()
+    {
+        return $this->_oDb->deleteFields(array('object' => $this->_sObject)) !== false;
+    }
+
     public function reset()
     {
-        if($this->_oDb->deleteFields(array('object' => $this->_sObject)) === false)
+        if(!$this->clean())
             return false;
 
         $this->_aObject['fields'] = BxDolSearchExtendedQuery::getSearchFields($this->_aObject);

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

@@ -1440,6 +1440,8 @@
 	<string name="_adm_txt_modules_process_storages"><![CDATA[Process storages:]]></string>
 	<string name="_adm_txt_modules_process_failed"><![CDATA[Failed]]></string>
 	<string name="_adm_txt_modules_process_success"><![CDATA[Done]]></string>
+	<string name="_adm_txt_modules_register_esearches"><![CDATA[Register search forms:]]></string>
+	<string name="_adm_txt_modules_unregister_esearches"><![CDATA[Unregister search forms:]]></string>
 	<string name="_adm_txt_modules_register_transcoders"><![CDATA[Register transcoders:]]></string>
 	<string name="_adm_txt_modules_unregister_transcoders"><![CDATA[Unregister transcoders:]]></string>
 	<string name="_adm_txt_modules_show_conclusion"><![CDATA[Conclusion from vendor:]]></string>

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

@@ -1438,6 +1438,8 @@
 	<string name="_adm_txt_modules_process_storages"><![CDATA[Обработка хранилищ:]]></string>
 	<string name="_adm_txt_modules_process_failed"><![CDATA[Неудача]]></string>
 	<string name="_adm_txt_modules_process_success"><![CDATA[Выполнено]]></string>
+	<string name="_adm_txt_modules_register_esearches"><![CDATA[Зарегистрировать формы поиска:]]></string>
+	<string name="_adm_txt_modules_unregister_esearches"><![CDATA[Разрегистрировать формы поиска:]]></string>
 	<string name="_adm_txt_modules_register_transcoders"><![CDATA[Зарегистрировать транскодеры:]]></string>
 	<string name="_adm_txt_modules_unregister_transcoders"><![CDATA[Разрегистрировать транскодеры:]]></string>
 	<string name="_adm_txt_modules_show_conclusion"><![CDATA[Вывод от продавца:]]></string>

+ 38 - 0
studio/classes/BxDolStudioInstaller.php

@@ -127,6 +127,12 @@ class BxDolStudioInstaller extends BxDolInstallerUtils
             'unregister_transcoders' => array(
                 'title' => _t('_adm_txt_modules_unregister_transcoders'),
             ),
+            'register_esearches' => array(
+                'title' => _t('_adm_txt_modules_register_esearches'),
+            ),
+            'unregister_esearches' => array(
+                'title' => _t('_adm_txt_modules_unregister_esearches'),
+            ),
             'clear_db_cache' => array(
                 'title' => _t('_adm_txt_modules_clear_db_cache'),
             ),
@@ -846,6 +852,38 @@ class BxDolStudioInstaller extends BxDolInstallerUtils
 		return BX_DOL_STUDIO_INSTALLER_SUCCESS;
     }
 
+	/**
+     * 
+     * Register the list of extended search forms provided in config array. 
+     * @param string $sOperation - operation type.
+     */
+    protected function actionRegisterEsearches($sOperation)
+    {
+    	if(empty($this->_aConfig['esearches'])) 
+        	return BX_DOL_STUDIO_INSTALLER_FAILED;
+
+        foreach($this->_aConfig['esearches'] as $sObject)
+		    BxDolSearchExtended::getObjectInstance($sObject);
+
+		return BX_DOL_STUDIO_INSTALLER_SUCCESS;
+    }
+
+	/**
+     * 
+     * Unregister the list of extended search forms provided in config array. 
+     * @param string $sOperation - operation type.
+     */
+    protected function actionUnregisterEsearches($sOperation)
+    {
+    	if(empty($this->_aConfig['esearches'])) 
+        	return BX_DOL_STUDIO_INSTALLER_FAILED;
+
+		foreach($this->_aConfig['esearches'] as $sObject)
+		    BxDolSearchExtended::getObjectInstance($sObject)->clean();
+
+		return BX_DOL_STUDIO_INSTALLER_SUCCESS;
+    }
+
     protected function actionClearDbCache($sOperation)
     {
         $oCache = $this->oDb->getDbCacheObject();