Ver código fonte

#4075 Move Captcha setting to Settings > SECURITY

Alex Trofimov 4 anos atrás
pai
commit
4fdcff78bc

+ 6 - 1
inc/classes/BxDolCaptchaQuery.php

@@ -11,7 +11,7 @@
  * Database queries for captcha objects.
  * @see BxDolCaptcha
  */
-class BxDolCaptchaQuery extends BxDolDb
+class BxDolCaptchaQuery extends BxDolFactoryObjectQuery
 {
     protected $_aObject;
 
@@ -23,6 +23,7 @@ class BxDolCaptchaQuery extends BxDolDb
 
     static public function getCaptchaObject ($sObject)
     {
+        return parent::getObjectFromTable($sObject, 'sys_objects_captcha');
         $oDb = BxDolDb::getInstance();
         $sQuery = $oDb->prepare("SELECT * FROM `sys_objects_captcha` WHERE `object` = ?", $sObject);
         $aObject = $oDb->getRow($sQuery);
@@ -32,6 +33,10 @@ class BxDolCaptchaQuery extends BxDolDb
         return $aObject;
     }
 
+    static public function getObjects ()
+    {
+        return parent::getObjectsFromTable('sys_objects_captcha');
+    }
 }
 
 /** @} */

+ 1 - 1
install/sql/system.sql

@@ -491,7 +491,7 @@ SET @iCategoryId = LAST_INSERT_ID();
 INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_error`, `order`) VALUES
 (@iCategoryId, 'sys_security_form_token_enable', '_adm_stg_cpt_option_sys_security_form_token_enable', 'on', 'checkbox', '', '', '', 10),
 (@iCategoryId, 'sys_security_form_token_lifetime', '_adm_stg_cpt_option_sys_security_form_token_lifetime', '86400', 'digit', '', '', '', 11),
-(@iCategoryId, 'sys_captcha_default', '_adm_stg_cpt_option_sys_captcha_default', 'sys_recaptcha_new', 'select', 'sys_recaptcha_new,sys_recaptcha_invisible,sys_hcaptcha', '', '', 19),
+(@iCategoryId, 'sys_captcha_default', '_adm_stg_cpt_option_sys_captcha_default', 'sys_recaptcha_new', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:27:"get_options_captcha_default";s:5:"class";s:13:"TemplServices";}', '', '', 19),
 (@iCategoryId, 'sys_recaptcha_key_public', '_adm_stg_cpt_option_sys_recaptcha_key_public', '', 'digit', '', '', '', 20),
 (@iCategoryId, 'sys_recaptcha_key_private', '_adm_stg_cpt_option_sys_recaptcha_key_private', '', 'digit', '', '', '', 21),
 (@iCategoryId, 'sys_add_nofollow', '_adm_stg_cpt_option_sys_add_nofollow', 'on', 'checkbox', '', '', '', 30),

+ 10 - 0
template/scripts/BxBaseServices.php

@@ -980,6 +980,16 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
     }
     
 
+    public function serviceGetOptionsCaptchaDefault()
+    {
+        $aResults = [];
+        $aObjects = BxDolCaptchaQuery::getObjects();
+        foreach($aObjects as $aObject)
+            $aResults[$aObject['object']] = $aObject['title'];
+
+        return $aResults;
+    }
+
     public function serviceGetOptionsEmbedDefault()
     {
         $aResults = array(