Procházet zdrojové kódy

#1917 Froala: froala classes aren't working outside of froala editor

Alex Trofimov před 7 roky
rodič
revize
bd21db05c8

+ 2 - 1
inc/classes/BxDolPreloader.php

@@ -47,7 +47,8 @@ class BxDolPreloader extends BxDolFactory implements iBxDolSingleton
             $this->_aTypes[$sType] = 'add' . bx_gen_method_name($sType);
             $this->_aTypes[$sType] = 'add' . bx_gen_method_name($sType);
 
 
         $this->_aMarkers = array(
         $this->_aMarkers = array(
-            'dir_plugins_public' => BX_DIRECTORY_PATH_PLUGINS_PUBLIC
+            'dir_plugins_public' => BX_DIRECTORY_PATH_PLUGINS_PUBLIC,
+            'dir_plugins_modules' => BX_DIRECTORY_PATH_MODULES,
         );
         );
     }
     }
 
 

+ 0 - 29
modules/boonex/froala/classes/BxFroalaAlerts.php

@@ -1,29 +0,0 @@
-<?php defined('BX_DOL') or die('hack attempt');
-/**
- * Copyright (c) UNA, Inc - https://una.io
- * MIT License - https://opensource.org/licenses/MIT
- *
- * @defgroup    Froala Froala editor integration
- * @ingroup     UnaModules
- *
- * @{
- */
-
-class BxFroalaAlerts extends BxDolAlertsResponse
-{
-    protected $_oModule;
-    function __construct()
-    {
-        parent::__construct();
-        $this->_oModule = BxDolModule::getInstance('bx_froala');
-    }
-
-    public function response($o)
-    {
-        if ('system' == $o->sUnit && 'save_setting' == $o->sAction && 'bx_froala_option_list_id' == $o->aExtras['option']) {
-            $this->_oModule->serviceUpdateMergeFields();
-        }
-    }    
-}
-
-/** @} */

+ 17 - 0
modules/boonex/froala/classes/BxFroalaModule.php

@@ -16,6 +16,23 @@ class BxFroalaModule extends BxDolModule
         parent::__construct($aModule);
         parent::__construct($aModule);
     }
     }
 
 
+    public function serviceInjection()
+    {
+        return "
+        <script>
+            var fFroalaAddClass = function (s) {
+                $('.bx-content-description,.cmt-body,.bx-base-text-entity-content').addClass('fr-view');
+            };
+            
+            if (typeof glOnProcessHtml === 'undefined')
+                glOnProcessHtml = [];
+            if (glOnProcessHtml instanceof Array)
+                glOnProcessHtml.push(fFroalaAddClass);
+
+            fFroalaAddClass();
+        </script>";
+    }
+
     public function actionUpload()
     public function actionUpload()
     {
     {
         header('Content-Type: application/json; charset=utf-8');
         header('Content-Type: application/json; charset=utf-8');

+ 5 - 4
modules/boonex/froala/install/sql/disable.sql

@@ -9,9 +9,10 @@ DELETE FROM `sys_objects_editor` WHERE `object` = 'bx_froala';
 
 
 UPDATE `sys_options` SET `value` = 'sys_tinymce' WHERE `name` = 'sys_editor_default';
 UPDATE `sys_options` SET `value` = 'sys_tinymce' WHERE `name` = 'sys_editor_default';
 
 
--- Alerts
+-- Injections
 
 
-SET @iHandlerId := (SELECT `id` FROM `sys_alerts_handlers` WHERE `name` = 'bx_froala');
+DELETE FROM `sys_injections` WHERE `name` IN('bx_froala');
 
 
-DELETE FROM `sys_alerts_handlers` WHERE `id`  = @iHandlerId;
-DELETE FROM `sys_alerts` WHERE `handler_id` =  @iHandlerId ;
+-- Preloader
+
+DELETE FROM `sys_preloader` WHERE `module` = 'bx_froala';

+ 7 - 7
modules/boonex/froala/install/sql/enable.sql

@@ -23,13 +23,13 @@ INSERT INTO `sys_objects_editor` (`object`, `title`, `skin`, `override_class_nam
 
 
 UPDATE `sys_options` SET `value` = 'bx_froala' WHERE `name` = 'sys_editor_default';
 UPDATE `sys_options` SET `value` = 'bx_froala' WHERE `name` = 'sys_editor_default';
 
 
+-- Injections
 
 
--- Alerts
+INSERT INTO `sys_injections` (`name`, `page_index`, `key`, `type`, `data`, `replace`, `active`) VALUES
+('bx_froala', 0, 'injection_footer', 'service', 'a:2:{s:6:"module";s:9:"bx_froala";s:6:"method";s:9:"injection";}', 0, 1);
 
 
-INSERT INTO `sys_alerts_handlers` SET `name` = 'bx_froala', `class` = 'BxFroalaAlerts', `file` = 'modules/boonex/froala/classes/BxFroalaAlerts.php';
-
-SET @iHandlerId := (SELECT `id` FROM `sys_alerts_handlers`  WHERE `name` = 'bx_froala');
-
-INSERT INTO `sys_alerts` (`unit`, `action`, `handler_id`) VALUES
-('system', 'save_setting', @iHandlerId);
+-- Preloader
 
 
+SET @iMaxOrder = (SELECT `order` FROM `sys_preloader` WHERE `type` = 'css_system' ORDER BY `order` DESC LIMIT 1);
+INSERT INTO `sys_preloader`(`module`, `type`, `content`, `active`, `order`) VALUES
+('bx_froala', 'css_system', '{dir_plugins_modules}boonex/froala/plugins/froala/css/|froala_style.min.css',  '1',  @iMaxOrder + 1);

+ 1 - 0
template/css/common.css

@@ -37,6 +37,7 @@ blockquote {
     padding-left: 10px;
     padding-left: 10px;
 }
 }
 
 
+.bx-base-text-entity-content pre,
 .bx-content-description pre,
 .bx-content-description pre,
 .cmt-body pre {
 .cmt-body pre {
     /* NOTE: this style was copied to editor.css */
     /* NOTE: this style was copied to editor.css */