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

Ticket #4170 - Allow to select currently active Tailwind build.

AntonLV 3 лет назад
Родитель
Сommit
c1439bd8eb

+ 1 - 0
install/sql/system.sql

@@ -358,6 +358,7 @@ INSERT INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `ex
 (@iCategoryId, 'sys_fixed_header', '_adm_stg_cpt_option_sys_fixed_header', '', 'checkbox', '', '', '', '', 170),
 
 (@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_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),

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

@@ -1673,6 +1673,7 @@
     <string name="_adm_stg_cpt_option_sys_notify_to_approve_by_role"><![CDATA[Notify context member with necessary role to approve content in the context]]></string>
     <string name="_adm_stg_cpt_option_sys_fixed_header"><![CDATA[Fixed header]]></string>
     <string name="_adm_stg_cpt_option_sys_css_media_classes"><![CDATA[CSS @media intervals]]></string>
+    <string name="_adm_stg_cpt_option_sys_css_tailwind_default"><![CDATA[Active Tailwind build]]></string>
     <string name="_adm_stg_cpt_option_sys_files_ext_images"><![CDATA[Allowed extensions for image's files]]></string>
     <string name="_adm_stg_cpt_option_sys_files_ext_video"><![CDATA[Allowed extensions for video files]]></string>
     <string name="_adm_stg_cpt_option_sys_files_ext_imagevideo"><![CDATA[Disallowed extensions for files]]></string>

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

@@ -1652,6 +1652,7 @@
     <string name="_adm_stg_cpt_option_sys_notify_to_approve_by_role"><![CDATA[Оповещать участников контекста с определенной ролью о необходимости одобрять контент в контексте]]></string>
     <string name="_adm_stg_cpt_option_sys_fixed_header"><![CDATA[Статический заголовок]]></string>
     <string name="_adm_stg_cpt_option_sys_css_media_classes"><![CDATA[CSS @media интервалы]]></string>
+    <string name="_adm_stg_cpt_option_sys_css_tailwind_default"><![CDATA[Активная сборка Tailwind]]></string>
     <string name="_adm_stg_cpt_option_sys_files_ext_images"><![CDATA[Разрешенные расширения для файлов изображений]]></string>
     <string name="_adm_stg_cpt_option_sys_files_ext_video"><![CDATA[Разрешенные расширения для видеофайлов]]></string>
     <string name="_adm_stg_cpt_option_sys_files_ext_imagevideo"><![CDATA[Разрешенные расширения для файлов изображений и видео]]></string>

+ 31 - 8
template/scripts/BxBaseServices.php

@@ -75,14 +75,11 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
 
         switch($sName) {
             case 'tailwind':
-                /**
-                 * Note. For now Tailwind isn't needed in Studio.
-                 */
-                //list($sPageUrl, $sPageParams) = bx_get_base_url_inline();
-               // if(!empty($sPageUrl) && strncmp($sPageUrl, BX_DOL_URL_STUDIO, strlen(BX_DOL_URL_STUDIO)) == 0)
-                //    break;
-
-                $sResult = '{dir_plugins_public}tailwind/css/|tailwind.min.css';
+                $sFile = getParam('sys_css_tailwind_default');
+                if(empty($sFile))
+                    $sFile = 'tailwind.min.css';
+
+                $sResult = '{dir_plugins_public}tailwind/css/|' . $sFile;
                 break;
         }
 
@@ -1097,6 +1094,32 @@ class BxBaseServices extends BxDol implements iBxDolProfileService
         return BxDolFormQuery::getDataItems('sys_content_filter');
     }
 
+    public function serviceGetOptionsTaiwindDefault()
+    {
+        $sPath = BX_DIRECTORY_PATH_PLUGINS_PUBLIC . 'tailwind/css';
+        $aExcludes = ['.', '..', 'tailwind.css'];
+
+        $aResults = [];
+        if(($oHandle = opendir($sPath)) !== false) {
+            while(($sFile = readdir($oHandle)) !== false) {
+                if(in_array($sFile, $aExcludes))
+                    continue;
+
+                if(($oHandlerFile = fopen($sPath . '/' . $sFile, 'r')) === false)
+                    continue;
+
+                if(($sContent = fread($oHandlerFile, 1024)) !== false && strpos($sContent, '@tailwind base') === false)
+                    $aResults[$sFile] = $sFile;
+
+                fclose($oHandlerFile);
+            }
+
+            closedir($oHandle);
+        }
+
+        return $aResults;
+    }
+
     public function serviceRedirect($sUrl = false)
     {
         if (false === $sUrl)