Przeglądaj źródła

Ticket #5222 - Iconsset: select setting from predefined values instead of free editing.

AntonLV 1 rok temu
rodzic
commit
a508c5f013

+ 1 - 1
inc/classes/BxDolIconset.php

@@ -33,7 +33,7 @@ class BxDolIconset extends BxDolFactory implements iBxDolFactoryObject
         if(isset($GLOBALS['bxDolClasses']['BxDolIconset!'.$sObject]))
             return $GLOBALS['bxDolClasses']['BxDolIconset!'.$sObject];
 
-        $aObject = BxDolIconsetQuery::getIconsetObject($sObject);
+        $aObject = BxDolIconsetQuery::getObject($sObject);
         if(!$aObject || !is_array($aObject))
             return false;
 

+ 8 - 14
inc/classes/BxDolIconsetQuery.php

@@ -11,28 +11,22 @@
  * Database queries for iconset objects.
  * @see BxDolIconset
  */
-class BxDolIconsetQuery extends BxDolDb
+class BxDolIconsetQuery extends BxDolFactoryObjectQuery
 {
-    protected $_aObject;
-
     public function __construct($aObject)
     {
-        parent::__construct();
-
-        $this->_aObject = $aObject;
+        parent::__construct($aObject);
     }
 
-    static public function getIconsetObject ($sObject)
+    static public function getObject ($sObject)
     {
-        $oDb = BxDolDb::getInstance();
-
-        $aObject = $oDb->getRow("SELECT * FROM `sys_objects_iconset` WHERE `object` = :object", ['object' => $sObject]);
-        if(!$aObject || !is_array($aObject))
-            return false;
-
-        return $aObject;
+        return parent::getObjectFromTable($sObject, 'sys_objects_iconset');
     }
 
+    static public function getObjects ()
+    {
+        return parent::getObjectsFromTable('sys_objects_iconset');
+    }
 }
 
 /** @} */

+ 1 - 1
install/sql/system.sql

@@ -440,7 +440,7 @@ INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `ex
 
 (@iCategoryId, 'sys_css_media_classes', '_adm_stg_cpt_option_sys_css_media_classes', '{"phone":"(max-width:720px)","phone2":"(min-width:533px) and (max-width:720px)","tablet":"(min-width:720px) and (max-width:1280px)","tablet2":"(min-width:1024px) and (max-width:1280px)","desktop":"(min-width:1280px)"}', 'digit', '', '', '', '', 180),
 (@iCategoryId, 'sys_css_tailwind_default', '_adm_stg_cpt_option_sys_css_tailwind_default', 'tailwind.min.css', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:27:"get_options_taiwind_default";s:5:"class";s:13:"TemplServices";}', '', '', '', 181),
-(@iCategoryId, 'sys_iconset_default', '_adm_stg_cpt_option_sys_iconset_default', 'sys_fontawesome', 'digit', '', '', '', '', 185),
+(@iCategoryId, 'sys_iconset_default', '_adm_stg_cpt_option_sys_iconset_default', 'sys_fontawesome', 'select', 'a:3:{s:6:"module";s:6:"system";s:6:"method";s:27:"get_options_iconset_default";s:5:"class";s:13:"TemplServices";}', '', '', '', 185),
 
 (@iCategoryId, 'sys_files_ext_images', '_adm_stg_cpt_option_sys_files_ext_images', 'jpg,jpeg,jpe,gif,png,webp', 'digit', '', '', '', '', 200),
 (@iCategoryId, 'sys_files_ext_video', '_adm_stg_cpt_option_sys_files_ext_video', 'avi,flv,mpg,mpeg,wmv,mp4,m4v,mov,qt,divx,xvid,3gp,3g2,webm,mkv,ogv,ogg,rm,rmvb,asf,drc,ts', 'digit', '', '', '', '', 210),

+ 9 - 0
template/scripts/BxBaseServices.php

@@ -1459,6 +1459,15 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
         return $aResults;
     }
 
+    public function serviceGetOptionsIconsetDefault()
+    {
+        $aObjects = BxDolIconsetQuery::getObjects();
+        foreach($aObjects as $aObject)
+            $aResults[$aObject['object']] = $aObject['title'];
+
+        return $aResults;
+    }
+
     public function serviceGetOptionsApiMenuTop()
     {
         $aMenus = BxDolMenuQuery::getMenuObjects();