Version Description
- Show premium extensions list in Dashboard Widget instead of Scripts Packages
- Framework update that makes CJT functionality more extendable
- Remove: Editor Toolbox Buttons and Block File, Edit and View menu as it now presented in separated extension
- Remove: Editor Themes Switcher list as it now presented in separated extension
- Remove: Import and Export Tools as it not presented in separated extension
- Fix: Conflict with other themes like X Theme
Download this release
Release Info
Developer | xpointer |
Plugin | CSS & JavaScript Toolbox |
Version | 8.0 |
Comparing to | |
See all releases |
Code changes from version 7.2 to 8.0
- access.points/ajax.accesspoint.php +9 -0
- access.points/extensions.accesspoint.php +2 -2
- access.points/setup.accesspoint.php +69 -0
- autoload.inc.php +2 -0
- controllers/auto-upgrade.php +25 -24
- controllers/blocks-ajax.php +1 -1
- controllers/blocks-coupling.php +23 -13
- controllers/blocks.php +8 -0
- controllers/setup.php +4 -1
- css-javascript-toolbox.xml +8 -0
- css-js-toolbox.class.php +11 -9
- css-js-toolbox.php +6 -22
- framework/access-points/access-point.class.php +28 -1
- framework/autoload/loader.php +42 -5
- framework/db/mysql/xtable.inc.php +9 -0
- framework/extensions/extensions.class.php +33 -6
- framework/js/ace/theme-ambiance.js +0 -1
- framework/js/ace/theme-chaos.js +0 -1
- framework/js/ace/theme-chrome.js +0 -1
- framework/js/ace/theme-clouds.js +0 -1
- framework/js/ace/theme-clouds_midnight.js +0 -1
- framework/js/ace/theme-cobalt.js +0 -1
- framework/js/ace/theme-crimson_editor.js +0 -1
- framework/js/ace/theme-dawn.js +0 -1
- framework/js/ace/theme-dreamweaver.js +0 -1
- framework/js/ace/theme-eclipse.js +0 -1
- framework/js/ace/theme-github.js +0 -1
- framework/js/ace/theme-idle_fingers.js +0 -1
- framework/js/ace/theme-katzenmilch.js +0 -1
- framework/js/ace/theme-kr.js +0 -1
- framework/js/ace/theme-kuroir.js +0 -1
- framework/js/ace/theme-merbivore.js +0 -1
- framework/js/ace/theme-merbivore_soft.js +0 -1
- framework/js/ace/theme-mono_industrial.js +0 -1
- framework/js/ace/theme-monokai.js +0 -1
- framework/js/ace/theme-pastel_on_dark.js +0 -1
- framework/js/ace/theme-solarized_dark.js +0 -1
- framework/js/ace/theme-solarized_light.js +0 -1
- framework/js/ace/theme-terminal.js +0 -1
- framework/js/ace/theme-textmate.js +0 -1
- framework/js/ace/theme-tomorrow.js +0 -1
- framework/js/ace/theme-tomorrow_night.js +0 -1
- framework/js/ace/theme-tomorrow_night_blue.js +0 -1
- framework/js/ace/theme-tomorrow_night_bright.js +0 -1
- framework/js/ace/theme-tomorrow_night_eighties.js +0 -1
- framework/js/ace/theme-twilight.js +0 -1
- framework/js/ace/theme-vibrant_ink.js +0 -1
- framework/js/ace/theme-xcode.js +0 -1
- framework/js/ajax/cjt-module-server/cjt-module-server.js +81 -0
- framework/js/ajax/cjt-server/cjt-server.js +4 -3
- framework/mvc/controller-ajax.inc.php +9 -0
- framework/mvc/controller.inc.php +63 -23
- framework/mvc/model.inc.php +12 -4
- framework/mvc/view.inc.php +18 -10
- framework/wordpress/feed.php +44 -6
- models/blocks.php +16 -12
- models/package-file.php +12 -176
- models/package.php +3 -20
- models/package/xml/definition/abstract.php +25 -6
- models/package/xml/definition/{objects/block/files.php → frag/frag.php} +2 -2
- models/package/xml/definition/frag/frag/block.php +50 -0
- models/package/xml/definition/{objects/block/params.php → frag/frag/block/files.php} +1 -1
- models/package/xml/definition/{objects → frag/frag}/block/files/file.php +1 -1
- models/package/xml/definition/frag/frag/block/links.php +19 -0
- models/package/xml/definition/frag/frag/block/links/link.php +38 -0
- models/package/xml/definition/frag/frag/block/links/link/package.php +61 -0
- models/package/xml/definition/frag/frag/block/package.php +34 -0
- models/package/xml/definition/{objects/block/params/list/param/typeParams.php → frag/frag/block/params.php} +1 -1
- models/package/xml/definition/{objects → frag/frag}/block/params/form.php +1 -1
- models/package/xml/definition/frag/frag/block/params/form/groups.php +12 -0
- models/package/xml/definition/{objects → frag/frag}/block/params/form/groups/group.php +15 -1
- models/package/xml/definition/{objects → frag/frag}/block/params/form/groups/group/xfields.php +1 -1
- models/package/xml/definition/frag/frag/block/params/list.php +12 -0
- models/package/xml/definition/{objects → frag/frag}/block/params/list/param.php +1 -1
- models/package/xml/definition/{objects → frag/frag}/block/params/list/param/group.php +2 -2
- models/package/xml/definition/frag/frag/block/params/list/param/group/definition.php +10 -0
- models/package/xml/definition/{objects → frag/frag}/block/params/list/param/group/definition/type.php +1 -1
- models/package/xml/definition/frag/frag/block/params/list/param/group/rendererParams.php +19 -0
- models/package/xml/definition/frag/frag/block/params/list/param/params.php +19 -0
- models/package/xml/definition/{objects/block/params/list/param/group/definition.php → frag/frag/block/params/list/param/typeParams.php} +1 -1
- models/package/xml/definition/{objects → frag/frag}/block/params/list/param/typeparams/param.php +1 -1
- models/package/xml/definition/frag/frag/package.php +32 -0
- models/package/xml/definition/frag/frag/template.php +76 -0
- models/package/xml/definition/frag/frag/template/folders.php +19 -0
- models/package/xml/definition/frag/frag/template/folders/folder.php +48 -0
- models/package/xml/definition/frag/frag/template/package.php +34 -0
- models/package/xml/definition/fragpackage.php +70 -0
- models/package/xml/definition/interface/element.php +5 -0
- models/package/xml/definition/objects/block.php +0 -33
- models/package/xml/definition/objects/block/params/form/groups.php +0 -12
- models/package/xml/definition/objects/block/params/list.php +0 -12
- models/package/xml/definition/objects/block/params/list/param/group/rendererParams.php +0 -19
- models/package/xml/definition/objects/block/params/list/param/params.php +0 -19
- models/package/xml/definition/objects/template.php +0 -28
- models/package/xml/definition/package/package.php +10 -0
- models/package/xml/definition/package/package/block.php +27 -0
- models/package/xml/definition/package/package/block/files.php +10 -0
- models/package/xml/definition/package/package/block/files/file.php +10 -0
- models/package/xml/definition/package/package/block/links.php +10 -0
- models/package/xml/definition/package/package/block/links/link.php +36 -0
- models/package/xml/definition/package/package/block/params.php +10 -0
- models/package/xml/definition/package/package/block/params/form.php +10 -0
- models/package/xml/definition/package/package/block/params/form/groups.php +10 -0
- models/package/xml/definition/package/package/block/params/form/groups/group.php +10 -0
- models/package/xml/definition/package/package/block/params/form/groups/group/xfields.php +10 -0
- models/package/xml/definition/package/package/block/params/list.php +10 -0
- models/package/xml/definition/package/package/block/params/list/param.php +10 -0
- models/package/xml/definition/package/package/block/params/list/param/group.php +10 -0
- models/package/xml/definition/package/package/block/params/list/param/group/definition.php +10 -0
- models/package/xml/definition/package/package/block/params/list/param/group/definition/type.php +10 -0
- models/package/xml/definition/package/package/block/params/list/param/group/rendererParams.php +19 -0
- models/package/xml/definition/package/package/block/params/list/param/params.php +19 -0
- models/package/xml/definition/package/package/block/params/list/param/typeParams.php +10 -0
- models/package/xml/definition/package/package/block/params/list/param/typeparams/param.php +10 -0
- models/package/xml/definition/package/package/objects.php +10 -0
- models/package/xml/definition/package/package/objects/object.php +71 -0
- models/package/xml/definition/package/package/template.php +27 -0
- models/package/xml/definition/package/package/template/folders.php +10 -0
- models/package/xml/definition/package/package/template/folders/folder.php +10 -0
- models/package/xml/definition/packagehelper.php +72 -0
- models/package/xml/factory.php +22 -10
- models/setup.php +59 -13
- models/statistics-metabox.php +22 -23
- models/template.php +6 -4
- readme.txt +61 -51
- views/blocks/block/public/css/block.css +1 -26
- views/blocks/block/public/css/menu.css +0 -61
- views/blocks/block/public/images/editor-toolbox/clear-block.png +0 -0
- views/blocks/block/public/images/editor-toolbox/font-large.png +0 -0
- views/blocks/block/public/images/editor-toolbox/font-reset.png +0 -0
- views/blocks/block/public/images/editor-toolbox/font-small.png +0 -0
- views/blocks/block/public/images/editor-toolbox/maximise-editor.png +0 -0
- views/blocks/block/public/images/editor-toolbox/minimise-editor.png +0 -0
- views/blocks/block/public/images/editor-toolbox/theme.png +0 -0
- views/blocks/block/public/js/jquery.block/jquery.block.js +13 -319
- views/blocks/block/public/js/jquery.block/jquery.block.localization.php +0 -35
- views/blocks/block/public/js/menu/block.js +0 -203
- views/blocks/block/public/js/menu/menu.js +0 -87
- views/blocks/block/public/js/plugins/dockmodule.js +35 -0
- views/blocks/block/tmpl/menu/menu.html.tmpl +0 -51
- views/blocks/block/tmpl/templates/editor-toolbox.html.tmpl +1 -10
- views/blocks/block/view.php +1 -4
- views/blocks/cjt-block/public/css/block.css +1 -3
- views/blocks/cjt-block/public/images/editor-toolbox/close-panel.png +0 -0
- views/blocks/cjt-block/public/images/editor-toolbox/open-panel.png +0 -0
- views/blocks/cjt-block/public/js/jquery.block/jquery.block.js +0 -61
- views/blocks/cjt-block/public/js/jquery.block/jquery.block.localization.php +0 -2
- views/blocks/manager/public/css/blocks.css +2 -24
- views/blocks/manager/public/js/blocks-page/blocks-page.js +0 -1
- views/blocks/manager/tmpl/blocks.html.tmpl +12 -7
- views/blocks/manager/view.php +10 -0
- views/blocks/metabox/public/js/jquery.block/jquery.block.js +4 -49
- views/blocks/metabox/public/js/metabox/metabox.js +0 -1
- views/blocks/metabox/tmpl/metabox.html.tmpl +4 -1
- views/blocks/metabox/view.php +10 -0
- views/dashboard/metabox/statistics/public/css/default.css +11 -12
- views/dashboard/metabox/statistics/tmpl/default.html.tmpl +53 -41
- views/extensions/plugins-list/tmpl/default_setup_action.html.tmpl +1 -1
- views/extensions/plugins-list/view.php +7 -3
- views/packages/install/public/js/install/install.js +19 -0
- views/packages/install/tmpl/default.html.tmpl +9 -1
- views/packages/install/view.php +34 -0
- views/packages/manager/public/js/manager/manager.js +2 -0
- views/setup/activation-form/public/js/default/default.js +3 -2
- views/setup/activation-form/public/js/default/default.localization.php +1 -1
- views/setup/activation-form/tmpl/default.html.tmpl +22 -7
- views/setup/activation-form/view.php +9 -1
- views/setup/setup/tmpl/default.html.tmpl +2 -2
- views/templates/template/public/js/template/template.js +0 -1
access.points/ajax.accesspoint.php
CHANGED
@@ -44,6 +44,15 @@ class CJTAjaxAccessPoint extends CJTAccessPoint {
|
|
44 |
if (CJTPlugin::getInstance()->isInstalled() || in_array($this->controllerName, $notInstalledAllowedControllers)) {
|
45 |
// Connected!
|
46 |
$this->connected();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
// Instantiate controller.
|
48 |
$controller = parent::route($loadView, $request);
|
49 |
// Dispatch the call as its originally requested from ajax action!
|
44 |
if (CJTPlugin::getInstance()->isInstalled() || in_array($this->controllerName, $notInstalledAllowedControllers)) {
|
45 |
// Connected!
|
46 |
$this->connected();
|
47 |
+
// IF Module-Prefix passed THEN Point to correct Controller path
|
48 |
+
if (isset($_REQUEST['cjtajaxmodule'])) {
|
49 |
+
# try to get module associated to passed module
|
50 |
+
$accessPointClassLoader = CJT_Framework_Autoload_Loader::autoLoad($_REQUEST['cjtajaxmodule']);
|
51 |
+
if ($accessPointClassLoader) {
|
52 |
+
$this->overrideControllersPath = $accessPointClassLoader->getPath() . DIRECTORY_SEPARATOR . 'controllers';
|
53 |
+
$this->overrideControllersPrefix = $accessPointClassLoader->getPrefix();
|
54 |
+
}
|
55 |
+
}
|
56 |
// Instantiate controller.
|
57 |
$controller = parent::route($loadView, $request);
|
58 |
// Dispatch the call as its originally requested from ajax action!
|
access.points/extensions.accesspoint.php
CHANGED
@@ -14,7 +14,7 @@ class CJTExtensionsAccessPoint extends CJTAccessPoint {
|
|
14 |
/**
|
15 |
*
|
16 |
*/
|
17 |
-
const MENU_POSITION_INDEX =
|
18 |
|
19 |
/**
|
20 |
*
|
@@ -40,7 +40,7 @@ class CJTExtensionsAccessPoint extends CJTAccessPoint {
|
|
40 |
// Only if permitted!
|
41 |
if ($this->hasAccess()) {
|
42 |
// Add menu pages.
|
43 |
-
add_action('admin_menu', array(&$this, 'menu'),
|
44 |
}
|
45 |
}
|
46 |
|
14 |
/**
|
15 |
*
|
16 |
*/
|
17 |
+
const MENU_POSITION_INDEX = 3;
|
18 |
|
19 |
/**
|
20 |
*
|
40 |
// Only if permitted!
|
41 |
if ($this->hasAccess()) {
|
42 |
// Add menu pages.
|
43 |
+
add_action('admin_menu', array(&$this, 'menu'), 13);
|
44 |
}
|
45 |
}
|
46 |
|
access.points/setup.accesspoint.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
// Disallow direct access.
|
7 |
+
defined('ABSPATH') or die("Access denied");
|
8 |
+
|
9 |
+
/**
|
10 |
+
*
|
11 |
+
*/
|
12 |
+
class CJTSetupAccessPoint extends CJTPageAccessPoint {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* put your comment there...
|
16 |
+
*
|
17 |
+
*/
|
18 |
+
public function __construct() {
|
19 |
+
// Initialize Access Point base!
|
20 |
+
parent::__construct();
|
21 |
+
// Set access point name!
|
22 |
+
$this->name = 'setup';
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* put your comment there...
|
27 |
+
*
|
28 |
+
*/
|
29 |
+
protected function doListen() {
|
30 |
+
// Only if permitted!
|
31 |
+
if ($this->hasAccess()) {
|
32 |
+
// Add menu page.
|
33 |
+
add_action('admin_menu', array(&$this, 'menu'), 12);
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* put your comment there...
|
39 |
+
*
|
40 |
+
*/
|
41 |
+
public function menu() {
|
42 |
+
// Setup Page.
|
43 |
+
$pageHookId = add_submenu_page(
|
44 |
+
CJTPlugin::PLUGIN_REQUEST_ID,
|
45 |
+
cssJSToolbox::getText('CSS & Javascript Toolbox - Setup'),
|
46 |
+
cssJSToolbox::getText('Setup'),
|
47 |
+
'administrator',
|
48 |
+
CJTPlugin::PLUGIN_REQUEST_ID . '-setup',
|
49 |
+
array(&$this->controller, '_doAction')
|
50 |
+
);
|
51 |
+
// Process when its installed!!
|
52 |
+
add_action("load-{$pageHookId}", array($this, 'getPage'));
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* put your comment there...
|
57 |
+
*
|
58 |
+
*/
|
59 |
+
public function route($loadView = null, $request = array('view' => 'setup/setup')) {
|
60 |
+
// Set MVC request parameters.
|
61 |
+
parent::route($loadView, $request)
|
62 |
+
// Set action name.
|
63 |
+
->setAction('setup');
|
64 |
+
}
|
65 |
+
|
66 |
+
} // End class.
|
67 |
+
|
68 |
+
// Hookable!
|
69 |
+
CJTSetupAccessPoint::define('CJTSetupAccessPoint', array('hookType' => CJTWordpressEvents::HOOK_FILTER));
|
autoload.inc.php
CHANGED
@@ -21,3 +21,5 @@ $map->offsetSet('CJTBlocksTable', 'tables/blocks.php');
|
|
21 |
$map->offsetSet('CJTBlockFilesTable', 'tables/block-files.php');
|
22 |
$map->offsetSet('CJTBlockModel', 'models/block.php');
|
23 |
$map->offsetSet('CJTBlocksModel', 'models/blocks.php');
|
|
|
|
21 |
$map->offsetSet('CJTBlockFilesTable', 'tables/block-files.php');
|
22 |
$map->offsetSet('CJTBlockModel', 'models/block.php');
|
23 |
$map->offsetSet('CJTBlocksModel', 'models/blocks.php');
|
24 |
+
$map->offsetSet('CJTAccessPoint', 'framework/access-points/access-point.class.php');
|
25 |
+
$map->offsetSet('CJTPageAccessPoint', 'framework/access-points/page.class.php');
|
controllers/auto-upgrade.php
CHANGED
@@ -26,37 +26,38 @@ class CJTAutoUpgradeController extends CJTController {
|
|
26 |
// Initializing!
|
27 |
$model = $this->model;
|
28 |
$cjtWebServer = cssJSToolbox::getCJTWebSiteURL();
|
|
|
29 |
// Get all CJT-Plugins (Include CJT Plugin itself + all its extensions) that has activate
|
30 |
// license key!
|
31 |
$activeLicenses = $model->getStatedLicenses();
|
32 |
-
// Always REQUEST CJT server even if not key activated yet.
|
33 |
-
// FREE edition will just do normal check @Wordpress:reporioty
|
34 |
-
if (!isset($activeLicenses[CJTSetupModel::EDD_PRODUCT_NAME]) && (CJTPlugin::Edition != 'free')) {
|
35 |
-
$activeLicenses[CJTSetupModel::EDD_PRODUCT_NAME] = array(
|
36 |
-
'plugin' => array('Version' => CJTPlugin::VERSION, 'AuthorName' => 'CTK'),
|
37 |
-
'license' => array('key' => str_repeat('0', 32)),
|
38 |
-
'component' => array('pluginBase' => 'css-javascript-toolbox/css-js-toolbox.php')
|
39 |
-
);
|
40 |
-
}
|
41 |
// Import EDD updater Class!
|
42 |
cssJSToolbox::import('framework:third-party:easy-digital-download:auto-upgrade.class.php');
|
43 |
// Activate Automatic upgrade for all activated licenses/components!
|
44 |
foreach ($activeLicenses as $name => $state) {
|
45 |
-
//
|
46 |
-
|
47 |
-
//
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
}
|
62 |
} // End class.
|
26 |
// Initializing!
|
27 |
$model = $this->model;
|
28 |
$cjtWebServer = cssJSToolbox::getCJTWebSiteURL();
|
29 |
+
$extensions =& CJTPlugin::getInstance()->extensions();
|
30 |
// Get all CJT-Plugins (Include CJT Plugin itself + all its extensions) that has activate
|
31 |
// license key!
|
32 |
$activeLicenses = $model->getStatedLicenses();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
// Import EDD updater Class!
|
34 |
cssJSToolbox::import('framework:third-party:easy-digital-download:auto-upgrade.class.php');
|
35 |
// Activate Automatic upgrade for all activated licenses/components!
|
36 |
foreach ($activeLicenses as $name => $state) {
|
37 |
+
// Get extension def doc.
|
38 |
+
// Act only if extension has XMl DOC! This might happened i fthe extension
|
39 |
+
// removed while its key still in the database
|
40 |
+
if ($extDef = $extensions->getDefDoc(dirname($state['component']['pluginBase']))) {
|
41 |
+
// Check CJT Server only if updateSrc points to Wordpress Repository
|
42 |
+
$updateSrcServer = (string) $extDef->license->attributes()->updateSrc;
|
43 |
+
if (!$updateSrcServer || ($updateSrcServer == 'CJT')) {
|
44 |
+
// Initializingn vars for a single state/component!
|
45 |
+
$pluginFile = ABSPATH . PLUGINDIR . '/' . $state['component']['pluginBase'];
|
46 |
+
// Stop using Cached Data as it causes issue, always
|
47 |
+
// get fresh plugin data.
|
48 |
+
$plugin = get_plugin_data($pluginFile);
|
49 |
+
$license =& $state['license'];
|
50 |
+
// Edd API parameter to be send along with he check!
|
51 |
+
$requestParams= array(
|
52 |
+
'version' => $plugin['Version'],
|
53 |
+
'author' => $plugin['AuthorName'],
|
54 |
+
'license' => $license['key'],
|
55 |
+
'item_name' => $name,
|
56 |
+
);
|
57 |
+
// Set EDD Automatic Updater!
|
58 |
+
$updated = new CJT_EDD_SL_Plugin_Updater($cjtWebServer, $pluginFile, $requestParams);
|
59 |
+
}
|
60 |
+
}
|
61 |
}
|
62 |
}
|
63 |
} // End class.
|
controllers/blocks-ajax.php
CHANGED
@@ -96,7 +96,7 @@ class CJTBlocksAjaxController extends CJTAjaxController {
|
|
96 |
$block = new CJTBlockModel($blockData);
|
97 |
// Add block.
|
98 |
$blocksModel =& $this->model;
|
99 |
-
$blockId = $blocksModel->add($block->getValues());
|
100 |
$blocksModel->save();
|
101 |
// Read newly added block from database.
|
102 |
$newBlockData = $blocksModel->getBlock($blockId, array('returnCodeFile' => true));
|
96 |
$block = new CJTBlockModel($blockData);
|
97 |
// Add block.
|
98 |
$blocksModel =& $this->model;
|
99 |
+
$blockId = $blocksModel->add($block->getValues(), true);
|
100 |
$blocksModel->save();
|
101 |
// Read newly added block from database.
|
102 |
$newBlockData = $blocksModel->getBlock($blockId, array('returnCodeFile' => true));
|
controllers/blocks-coupling.php
CHANGED
@@ -70,7 +70,14 @@ class CJTBlocksCouplingController extends CJTController {
|
|
70 |
* @var mixed
|
71 |
*/
|
72 |
protected $onappendcode = array('parameters' => array('code'));
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
/**
|
75 |
* put your comment there...
|
76 |
*
|
@@ -328,19 +335,22 @@ class CJTBlocksCouplingController extends CJTController {
|
|
328 |
continue;
|
329 |
}
|
330 |
}
|
331 |
-
//
|
332 |
-
$block
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
}
|
341 |
-
$this->blocks['code'][$block->location] .= $this->onappendcode($evaluatedCode);
|
342 |
-
// Store all used Ids in the CORRECT ORDER.
|
343 |
-
$this->addOnActionIds($blockId);
|
344 |
}
|
345 |
}
|
346 |
$templates = $this->onActionIds ? $this->model->getLinkedTemplates($this->onActionIds) : array();
|
70 |
* @var mixed
|
71 |
*/
|
72 |
protected $onappendcode = array('parameters' => array('code'));
|
73 |
+
|
74 |
+
/**
|
75 |
+
* put your comment there...
|
76 |
+
*
|
77 |
+
* @var mixed
|
78 |
+
*/
|
79 |
+
protected $onblockmatched = array('parameters' => array('block'));
|
80 |
+
|
81 |
/**
|
82 |
* put your comment there...
|
83 |
*
|
335 |
continue;
|
336 |
}
|
337 |
}
|
338 |
+
// Allow extensions to control to prevent block from being in the output
|
339 |
+
if ($block = $this->onblockmatched($block)) {
|
340 |
+
// Retrieve block code-files.
|
341 |
+
$block->code = $this->model->getBlockCode($block->id);
|
342 |
+
// Import Executable (PHP and HTML) templates.
|
343 |
+
$block->code = $block->code . $this->model->getExecTemplatesCode($block->id);
|
344 |
+
// For every location store blocks code into single string
|
345 |
+
$evaluatedCode = CJTPHPCodeEvaluator::getInstance($block)->exec()->getOutput();
|
346 |
+
/** @todo Include Debuging info only if we're in debuging mode! */
|
347 |
+
if (1) {
|
348 |
+
$evaluatedCode = "\n<!-- Block ({$blockId}) START-->\n{$evaluatedCode}\n<!-- Block ({$blockId}) END -->\n";
|
349 |
+
}
|
350 |
+
$this->blocks['code'][$block->location] .= $this->onappendcode($evaluatedCode);
|
351 |
+
// Store all used Ids in the CORRECT ORDER.
|
352 |
+
$this->addOnActionIds($blockId);
|
353 |
}
|
|
|
|
|
|
|
354 |
}
|
355 |
}
|
356 |
$templates = $this->onActionIds ? $this->model->getLinkedTemplates($this->onActionIds) : array();
|
controllers/blocks.php
CHANGED
@@ -95,4 +95,12 @@ class CJTBlocksController extends CJTController {
|
|
95 |
}
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
} // End class.
|
95 |
}
|
96 |
}
|
97 |
|
98 |
+
/**
|
99 |
+
* put your comment there...
|
100 |
+
*
|
101 |
+
*/
|
102 |
+
public function setupAction() {
|
103 |
+
echo parent::displayAction();
|
104 |
+
}
|
105 |
+
|
106 |
} // End class.
|
controllers/setup.php
CHANGED
@@ -48,7 +48,10 @@ class CJTsetupController extends CJTAjaxController {
|
|
48 |
*
|
49 |
*/
|
50 |
protected function getStateAction() {
|
51 |
-
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
/**
|
48 |
*
|
49 |
*/
|
50 |
protected function getStateAction() {
|
51 |
+
# Get component product types
|
52 |
+
$licenseTypes = $this->model->getExtensionProductTypes($_REQUEST['component']);
|
53 |
+
# Return license state back
|
54 |
+
$this->response = $this->model->getStateStruct($licenseTypes);
|
55 |
}
|
56 |
|
57 |
/**
|
css-javascript-toolbox.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="utf-8"?>
|
2 |
+
<cjt>
|
3 |
+
<license updateSrc="WPR">
|
4 |
+
<name text="PRO" description="" link="">CJT Pro</name>
|
5 |
+
<name text="PRO 12" description="" link="">CJT Pro12</name>
|
6 |
+
<name text="DEV" description="" link="">CJT Dev</name>
|
7 |
+
</license>
|
8 |
+
</cjt>
|
css-js-toolbox.class.php
CHANGED
@@ -47,12 +47,7 @@ define('CJTOOLBOX_HTML_CONPONENTS_URL', CJTOOLBOX_URL . '/framework/html/compone
|
|
47 |
* @version 0.3
|
48 |
*/
|
49 |
class cssJSToolbox extends CJTHookableClass {
|
50 |
-
|
51 |
-
/**
|
52 |
-
*
|
53 |
-
*/
|
54 |
-
const CJT_SCRTIPS_WEB_SITE_DOMAIN = 'cjt-scripts.com';
|
55 |
-
|
56 |
/**
|
57 |
*
|
58 |
*/
|
@@ -151,7 +146,7 @@ class cssJSToolbox extends CJTHookableClass {
|
|
151 |
* put your comment there...
|
152 |
*
|
153 |
*/
|
154 |
-
public function getDBDriver() {
|
155 |
return $this->dbDriver;
|
156 |
}
|
157 |
|
@@ -160,7 +155,7 @@ class cssJSToolbox extends CJTHookableClass {
|
|
160 |
*
|
161 |
* @return cssJSToolbox
|
162 |
*/
|
163 |
-
public static function getInstance() {
|
164 |
if (!self::$instance) {
|
165 |
self::$instance = self::trigger('cssJSToolbox.instantiate', (new cssJSToolbox()));
|
166 |
}
|
@@ -236,8 +231,15 @@ class cssJSToolbox extends CJTHookableClass {
|
|
236 |
* @param mixed $base
|
237 |
*/
|
238 |
public static function resolvePath($vPath, $base = CJTOOLBOX_PATH) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
// Replace all :'s with /'s.
|
240 |
-
$path =
|
241 |
$path = "{$base}/{$path}";
|
242 |
return self::trigger('cssJSToolbox.resolvepath', $path, $vPath);
|
243 |
}
|
47 |
* @version 0.3
|
48 |
*/
|
49 |
class cssJSToolbox extends CJTHookableClass {
|
50 |
+
|
|
|
|
|
|
|
|
|
|
|
51 |
/**
|
52 |
*
|
53 |
*/
|
146 |
* put your comment there...
|
147 |
*
|
148 |
*/
|
149 |
+
public function & getDBDriver() {
|
150 |
return $this->dbDriver;
|
151 |
}
|
152 |
|
155 |
*
|
156 |
* @return cssJSToolbox
|
157 |
*/
|
158 |
+
public static function & getInstance() {
|
159 |
if (!self::$instance) {
|
160 |
self::$instance = self::trigger('cssJSToolbox.instantiate', (new cssJSToolbox()));
|
161 |
}
|
231 |
* @param mixed $base
|
232 |
*/
|
233 |
public static function resolvePath($vPath, $base = CJTOOLBOX_PATH) {
|
234 |
+
// Resolve CJT extensions path
|
235 |
+
if (strpos($vPath, 'extension://') === 0) {
|
236 |
+
// Remove extension wrapper
|
237 |
+
$vPath = str_replace('extension://', '', $vPath);
|
238 |
+
// Point to plugin directory
|
239 |
+
$base = WP_PLUGIN_DIR;
|
240 |
+
}
|
241 |
// Replace all :'s with /'s.
|
242 |
+
$path = preg_replace('/(\w)\:(\w)/', '$1/$2', $vPath);
|
243 |
$path = "{$base}/{$path}";
|
244 |
return self::trigger('cssJSToolbox.resolvepath', $path, $vPath);
|
245 |
}
|
css-js-toolbox.php
CHANGED
@@ -1,27 +1,16 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: CSS & JavaScript Toolbox
|
4 |
-
Plugin URI: http://css-javascript-toolbox.com/
|
5 |
Description: CJT Plugin for WordPress to easily add custom CSS and JavaScript to individual pages
|
6 |
-
Version:
|
7 |
Author: Wipeout Media
|
8 |
Author URI: http://css-javascript-toolbox.com
|
9 |
License:
|
10 |
|
11 |
-
|
12 |
-
This program is free software; you can redistribute it and/or
|
13 |
-
modify it under the terms of the GNU General Public License
|
14 |
-
as published by the Free Software Foundation; either version 2
|
15 |
-
of the License, or (at your option) any later version.
|
16 |
|
17 |
-
|
18 |
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
19 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
20 |
-
GNU General Public License for more details.
|
21 |
-
|
22 |
-
You should have received a copy of the GNU General Public License
|
23 |
-
along with this program; if not, write to the Free Software
|
24 |
-
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
25 |
*/
|
26 |
|
27 |
// Disallow direct access.
|
@@ -95,17 +84,12 @@ class CJTPlugin extends CJTHookableClass {
|
|
95 |
/**
|
96 |
*
|
97 |
*/
|
98 |
-
const
|
99 |
-
|
100 |
-
/**
|
101 |
-
*
|
102 |
-
*/
|
103 |
-
const FW_Version = '3.0';
|
104 |
|
105 |
/**
|
106 |
*
|
107 |
*/
|
108 |
-
const VERSION = '
|
109 |
|
110 |
/**
|
111 |
*
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: CSS & JavaScript Toolbox
|
4 |
+
Plugin URI: http://css-javascript-toolbox.com/
|
5 |
Description: CJT Plugin for WordPress to easily add custom CSS and JavaScript to individual pages
|
6 |
+
Version: 8.0
|
7 |
Author: Wipeout Media
|
8 |
Author URI: http://css-javascript-toolbox.com
|
9 |
License:
|
10 |
|
11 |
+
The Software is package as a WordPress¨ plugin. The PHP code associated with the Software is licensed under the GPL version 2.0 license (as found at http://www.gnu.org/licenses/gpl-2.0.txt GNU/GPLv2 or "GPLv2"). You may redistribute, repackage, and modify the PHP code as you see fit and as consistent with GPLv2.
|
|
|
|
|
|
|
|
|
12 |
|
13 |
+
The remaining portions of the Software ("Proprietary Portion"), which includes all images, cascading style sheets, and JavaScript are NOT licensed under GPLv2 and are considered proprietary to Licensor and are solely licensed under the remaining terms of this Agreement. The Proprietary Portion may not be redistributed, repackaged, or otherwise modified.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
*/
|
15 |
|
16 |
// Disallow direct access.
|
84 |
/**
|
85 |
*
|
86 |
*/
|
87 |
+
const FW_Version = '4.0';
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
/**
|
90 |
*
|
91 |
*/
|
92 |
+
const VERSION = '8.0' ;
|
93 |
|
94 |
/**
|
95 |
*
|
framework/access-points/access-point.class.php
CHANGED
@@ -80,6 +80,20 @@ abstract class CJTAccessPoint extends CJTHookableClass implements CJTIAccessPoin
|
|
80 |
*/
|
81 |
protected $onsetcontroller = array('parameters' => array('controller'));
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
/**
|
84 |
* put your comment there...
|
85 |
*
|
@@ -94,6 +108,12 @@ abstract class CJTAccessPoint extends CJTHookableClass implements CJTIAccessPoin
|
|
94 |
public function __construct($defaultController = 'blocks') {
|
95 |
// Initialize Hookable.
|
96 |
parent::__construct();
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
// Initialize!
|
98 |
$this->controllerName = $this->ongetdefaultcontrollername(isset($_REQUEST['controller']) ? $_REQUEST['controller'] : $defaultController);
|
99 |
}
|
@@ -183,7 +203,14 @@ abstract class CJTAccessPoint extends CJTHookableClass implements CJTIAccessPoin
|
|
183 |
// Import view class.
|
184 |
require_once CJTOOLBOX_MVC_FRAMEWOK . '/view.inc.php';
|
185 |
// Instantiate controller!
|
186 |
-
$this->controller = $this->onsetcontroller(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
}
|
188 |
return $this->controller;
|
189 |
}
|
80 |
*/
|
81 |
protected $onsetcontroller = array('parameters' => array('controller'));
|
82 |
|
83 |
+
/**
|
84 |
+
* put your comment there...
|
85 |
+
*
|
86 |
+
* @var mixed
|
87 |
+
*/
|
88 |
+
protected $overrideControllersPath = null;
|
89 |
+
|
90 |
+
/**
|
91 |
+
* put your comment there...
|
92 |
+
*
|
93 |
+
* @var mixed
|
94 |
+
*/
|
95 |
+
protected $overrideControllersPrefix = null;
|
96 |
+
|
97 |
/**
|
98 |
* put your comment there...
|
99 |
*
|
108 |
public function __construct($defaultController = 'blocks') {
|
109 |
// Initialize Hookable.
|
110 |
parent::__construct();
|
111 |
+
// Overrides controllers path using current Access Point model class path
|
112 |
+
$accessPointClassLoader =& CJT_Framework_Autoload_Loader::findClassLoader(get_class($this));
|
113 |
+
if ($accessPointClassLoader) {
|
114 |
+
$this->overrideControllersPath = $accessPointClassLoader->getPath() . DIRECTORY_SEPARATOR . 'controllers';
|
115 |
+
$this->overrideControllersPrefix = $accessPointClassLoader->getPrefix();
|
116 |
+
}
|
117 |
// Initialize!
|
118 |
$this->controllerName = $this->ongetdefaultcontrollername(isset($_REQUEST['controller']) ? $_REQUEST['controller'] : $defaultController);
|
119 |
}
|
203 |
// Import view class.
|
204 |
require_once CJTOOLBOX_MVC_FRAMEWOK . '/view.inc.php';
|
205 |
// Instantiate controller!
|
206 |
+
$this->controller = $this->onsetcontroller(
|
207 |
+
CJTController::getInstance(
|
208 |
+
$this->controllerName,
|
209 |
+
$loadView,
|
210 |
+
$request,
|
211 |
+
$this->overrideControllersPath,
|
212 |
+
$this->overrideControllersPrefix
|
213 |
+
));
|
214 |
}
|
215 |
return $this->controller;
|
216 |
}
|
framework/autoload/loader.php
CHANGED
@@ -14,6 +14,13 @@ defined('ABSPATH') or die("Access denied");
|
|
14 |
*/
|
15 |
class CJT_Framework_Autoload_Loader {
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
/**
|
18 |
* put your comment there...
|
19 |
*
|
@@ -59,15 +66,29 @@ class CJT_Framework_Autoload_Loader {
|
|
59 |
* @param mixed $path
|
60 |
*/
|
61 |
public static function autoLoad($prefix = null, $path = null) {
|
62 |
-
// Hold all auto load instances.
|
63 |
-
static $instances = array();
|
64 |
// Identify instances by prefixes!
|
65 |
-
if (!isset(
|
66 |
-
|
67 |
}
|
68 |
-
return $instances[$prefix];
|
69 |
}
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
/**
|
72 |
* put your comment there...
|
73 |
*
|
@@ -120,6 +141,22 @@ class CJT_Framework_Autoload_Loader {
|
|
120 |
return $path . DIRECTORY_SEPARATOR . $file;
|
121 |
}
|
122 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
/**
|
124 |
* put your comment there...
|
125 |
*
|
14 |
*/
|
15 |
class CJT_Framework_Autoload_Loader {
|
16 |
|
17 |
+
/**
|
18 |
+
*
|
19 |
+
*
|
20 |
+
* @var mixed
|
21 |
+
*/
|
22 |
+
protected static $instances = array();
|
23 |
+
|
24 |
/**
|
25 |
* put your comment there...
|
26 |
*
|
66 |
* @param mixed $path
|
67 |
*/
|
68 |
public static function autoLoad($prefix = null, $path = null) {
|
|
|
|
|
69 |
// Identify instances by prefixes!
|
70 |
+
if (!isset(self::$instances[$prefix])) {
|
71 |
+
self::$instances[$prefix] = new CJT_Framework_Autoload_Loader($prefix, $path);
|
72 |
}
|
73 |
+
return isset(self::$instances[$prefix]) ? self::$instances[$prefix] : null;
|
74 |
}
|
75 |
|
76 |
+
/**
|
77 |
+
* Find ClassAutoloader instance used for loading specific class.
|
78 |
+
*
|
79 |
+
* The method is using Prefix algorithm for finding class autoloader
|
80 |
+
*
|
81 |
+
* @param mixed $className
|
82 |
+
*/
|
83 |
+
public static function & findClassLoader($className) {
|
84 |
+
# Getting class prefix
|
85 |
+
$classComponents = explode('_', $className);
|
86 |
+
$prefix = $classComponents[0];
|
87 |
+
# Find autoloader
|
88 |
+
$instance = isset(self::$instances[$prefix]) ? self::$instances[$prefix] : null;
|
89 |
+
return $instance;
|
90 |
+
}
|
91 |
+
|
92 |
/**
|
93 |
* put your comment there...
|
94 |
*
|
141 |
return $path . DIRECTORY_SEPARATOR . $file;
|
142 |
}
|
143 |
|
144 |
+
/**
|
145 |
+
* put your comment there...
|
146 |
+
*
|
147 |
+
*/
|
148 |
+
public function getPath() {
|
149 |
+
return $this->path;
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* put your comment there...
|
154 |
+
*
|
155 |
+
*/
|
156 |
+
public function getPrefix() {
|
157 |
+
return $this->prefix;
|
158 |
+
}
|
159 |
+
|
160 |
/**
|
161 |
* put your comment there...
|
162 |
*
|
framework/db/mysql/xtable.inc.php
CHANGED
@@ -327,6 +327,15 @@ abstract class CJTxTable extends CJTHookableClass {
|
|
327 |
return $this;
|
328 |
}
|
329 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
/**
|
331 |
* put your comment there...
|
332 |
*
|
327 |
return $this;
|
328 |
}
|
329 |
|
330 |
+
/**
|
331 |
+
* put your comment there...
|
332 |
+
*
|
333 |
+
* @param mixed $values
|
334 |
+
*/
|
335 |
+
public function loadAsKey($values) {
|
336 |
+
return $this->setData($values)->load(array_keys($values));
|
337 |
+
}
|
338 |
+
|
339 |
/**
|
340 |
* put your comment there...
|
341 |
*
|
framework/extensions/extensions.class.php
CHANGED
@@ -26,6 +26,13 @@ class CJTExtensions extends CJTHookableClass {
|
|
26 |
*/
|
27 |
const PREFIX = 'cjte-';
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
/**
|
30 |
* put your comment there...
|
31 |
*
|
@@ -184,7 +191,6 @@ class CJTExtensions extends CJTHookableClass {
|
|
184 |
//Resting!
|
185 |
$this->file2Classmap = array();
|
186 |
$extensions = array();
|
187 |
-
$edition = CJTPlugin::Edition;
|
188 |
// filter all installed Plugins to fetch all out Extensions!
|
189 |
$activePlugins = $this->ongetactiveplugins(wp_get_active_and_valid_plugins());
|
190 |
foreach ($activePlugins as $file) {
|
@@ -195,15 +201,15 @@ class CJTExtensions extends CJTHookableClass {
|
|
195 |
// CJT Extsnsion must has the definition XML file!
|
196 |
// First try for Edition-Specific file
|
197 |
// if not exists try the generic one.
|
198 |
-
$xmlFile = "{$pluginDir}/{$pluginName}
|
199 |
-
if (file_exists($xmlFile)
|
200 |
// Get Plugin primary data!
|
201 |
$extension = array();
|
202 |
$extension['pluginFile'] = $file;
|
203 |
$extension['file'] = basename($file);
|
204 |
$extension['defFile'] = basename($pluginDir) . DIRECTORY_SEPARATOR . basename($xmlFile);
|
205 |
// Its useful to use ABS path only at runtime as it might changed as host might get moved.
|
206 |
-
$extension['dir'] =
|
207 |
$extension['name'] = $pluginName;
|
208 |
// Cache XML file.
|
209 |
$extension['definition']['raw'] = file_get_contents($xmlFile);
|
@@ -223,8 +229,6 @@ class CJTExtensions extends CJTHookableClass {
|
|
223 |
}
|
224 |
}
|
225 |
}
|
226 |
-
// Update the cache Cache!
|
227 |
-
// ----update_option(self::CACHE_OPTION_NAME, $extensions);
|
228 |
}
|
229 |
$this->extensions = $this->onload($extensions);
|
230 |
// Chaining
|
@@ -310,6 +314,29 @@ class CJTExtensions extends CJTHookableClass {
|
|
310 |
}
|
311 |
}
|
312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
/**
|
314 |
* put your comment there...
|
315 |
*
|
26 |
*/
|
27 |
const PREFIX = 'cjte-';
|
28 |
|
29 |
+
/**
|
30 |
+
* put your comment there...
|
31 |
+
*
|
32 |
+
* @var mixed
|
33 |
+
*/
|
34 |
+
protected $defDocs;
|
35 |
+
|
36 |
/**
|
37 |
* put your comment there...
|
38 |
*
|
191 |
//Resting!
|
192 |
$this->file2Classmap = array();
|
193 |
$extensions = array();
|
|
|
194 |
// filter all installed Plugins to fetch all out Extensions!
|
195 |
$activePlugins = $this->ongetactiveplugins(wp_get_active_and_valid_plugins());
|
196 |
foreach ($activePlugins as $file) {
|
201 |
// CJT Extsnsion must has the definition XML file!
|
202 |
// First try for Edition-Specific file
|
203 |
// if not exists try the generic one.
|
204 |
+
$xmlFile = "{$pluginDir}/{$pluginName}.xml";
|
205 |
+
if (file_exists($xmlFile)) {
|
206 |
// Get Plugin primary data!
|
207 |
$extension = array();
|
208 |
$extension['pluginFile'] = $file;
|
209 |
$extension['file'] = basename($file);
|
210 |
$extension['defFile'] = basename($pluginDir) . DIRECTORY_SEPARATOR . basename($xmlFile);
|
211 |
// Its useful to use ABS path only at runtime as it might changed as host might get moved.
|
212 |
+
$extension['dir'] = basename($pluginDir);
|
213 |
$extension['name'] = $pluginName;
|
214 |
// Cache XML file.
|
215 |
$extension['definition']['raw'] = file_get_contents($xmlFile);
|
229 |
}
|
230 |
}
|
231 |
}
|
|
|
|
|
232 |
}
|
233 |
$this->extensions = $this->onload($extensions);
|
234 |
// Chaining
|
314 |
}
|
315 |
}
|
316 |
|
317 |
+
/**
|
318 |
+
* put your comment there...
|
319 |
+
*
|
320 |
+
* @param mixed $pluginName
|
321 |
+
*/
|
322 |
+
public function & getDefDoc($pluginName) {
|
323 |
+
# Find if cached or create it
|
324 |
+
if (!isset($this->defDocs[$pluginName])) {
|
325 |
+
// Add CJT Def doc to def docs list
|
326 |
+
$pluginXMLFile = WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . $pluginName . DIRECTORY_SEPARATOR . "{$pluginName}.xml";
|
327 |
+
// Extension might removed while its license key still in the database
|
328 |
+
// Make sure the extension still exists
|
329 |
+
if (file_exists($pluginXMLFile)) {
|
330 |
+
$this->defDocs[$pluginName] = new SimpleXMLElement(file_get_contents($pluginXMLFile));
|
331 |
+
}
|
332 |
+
else {
|
333 |
+
# Return null when extension is absent!
|
334 |
+
$this->defDocs[$pluginName] = null;
|
335 |
+
}
|
336 |
+
}
|
337 |
+
return $this->defDocs[$pluginName];
|
338 |
+
}
|
339 |
+
|
340 |
/**
|
341 |
* put your comment there...
|
342 |
*
|
framework/js/ace/theme-ambiance.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/ambiance",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-ambiance",t.cssText=".ace-ambiance .ace_gutter {background-color: #3d3d3d;background-image: -moz-linear-gradient(left, #3D3D3D, #333);background-image: -ms-linear-gradient(left, #3D3D3D, #333);background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#3D3D3D), to(#333));background-image: -webkit-linear-gradient(left, #3D3D3D, #333);background-image: -o-linear-gradient(left, #3D3D3D, #333);background-image: linear-gradient(left, #3D3D3D, #333);background-repeat: repeat-x;border-right: 1px solid #4d4d4d;text-shadow: 0px 1px 1px #4d4d4d;color: #222;}.ace-ambiance .ace_gutter-layer {background: repeat left top;}.ace-ambiance .ace_fold-widget {text-align: center;}.ace-ambiance .ace_fold-widget:hover {color: #777;}.ace-ambiance .ace_fold-widget.ace_start,.ace-ambiance .ace_fold-widget.ace_end,.ace-ambiance .ace_fold-widget.ace_closed{background: none;border: none;box-shadow: none;}.ace-ambiance .ace_fold-widget.ace_start:after {content: '▾'}.ace-ambiance .ace_fold-widget.ace_end:after {content: '▴'}.ace-ambiance .ace_fold-widget.ace_closed:after {content: '‣'}.ace-ambiance .ace_print-margin {border-left: 1px dotted #2D2D2D;right: 0;background: #262626;}.ace-ambiance .ace_scroller {-webkit-box-shadow: inset 0 0 10px black;-moz-box-shadow: inset 0 0 10px black;-o-box-shadow: inset 0 0 10px black;box-shadow: inset 0 0 10px black;}.ace-ambiance {color: #E6E1DC;background-color: #202020;}.ace-ambiance .ace_cursor {border-left: 1px solid #7991E8;}.ace-ambiance .ace_overwrite-cursors .ace_cursor {border: 1px solid #FFE300;background: #766B13;}.ace-ambiance.normal-mode .ace_cursor-layer {z-index: 0;}.ace-ambiance .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20);}.ace-ambiance .ace_marker-layer .ace_selected-word {border-radius: 4px;border: 8px solid #3f475d;box-shadow: 0 0 4px black;}.ace-ambiance .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-ambiance .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25);}.ace-ambiance .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031);}.ace-ambiance .ace_invisible {color: #333;}.ace-ambiance .ace_paren {color: #24C2C7;}.ace-ambiance .ace_keyword {color: #cda869;}.ace-ambiance .ace_keyword.ace_operator {color: #fa8d6a;}.ace-ambiance .ace_punctuation.ace_operator {color: #fa8d6a;}.ace-ambiance .ace_identifier {}.ace-ambiance .ace-statement {color: #cda869;}.ace-ambiance .ace_constant {color: #CF7EA9;}.ace-ambiance .ace_constant.ace_language {color: #CF7EA9;}.ace-ambiance .ace_constant.ace_library {}.ace-ambiance .ace_constant.ace_numeric {color: #78CF8A;}.ace-ambiance .ace_invalid {text-decoration: underline;}.ace-ambiance .ace_invalid.ace_illegal {color:#F8F8F8;background-color: rgba(86, 45, 86, 0.75);}.ace-ambiance .ace_invalid,.ace-ambiance .ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1;}.ace-ambiance .ace_support {color: #9B859D;}.ace-ambiance .ace_support.ace_function {color: #DAD085;}.ace-ambiance .ace_function.ace_buildin {color: #9b859d;}.ace-ambiance .ace_string {color: #8f9d6a;}.ace-ambiance .ace_string.ace_regexp {color: #DAD085;}.ace-ambiance .ace_comment {font-style: italic;color: #555;}.ace-ambiance .ace_comment.ace_doc {}.ace-ambiance .ace_comment.ace_doc.ace_tag {color: #666;font-style: normal;}.ace-ambiance .ace_definition,.ace-ambiance .ace_type {color: #aac6e3;}.ace-ambiance .ace_variable {color: #9999cc;}.ace-ambiance .ace_variable.ace_language {color: #9b859d;}.ace-ambiance .ace_xml-pe {color: #494949;}.ace-ambiance .ace_gutter-layer,.ace-ambiance .ace_text-layer {background-image: url(\"data:image/png;base64,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\");}.ace-ambiance .ace_indent-guide {background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC\") right repeat-y;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-chaos.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/chaos",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-chaos",t.cssText=".ace-chaos .ace_gutter {background: #141414;color: #595959;border-right: 1px solid #282828;}.ace-chaos .ace_gutter-cell.ace_warning {background-image: none;background: #FC0;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_gutter-cell.ace_error {background-position: -6px center;background-image: none;background: #F10;border-left: none;padding-left: 0;color: #000;}.ace-chaos .ace_print-margin {border-left: 1px solid #555;right: 0;background: #1D1D1D;}.ace-chaos {background-color: #161616;color: #E6E1DC;}.ace-chaos .ace_cursor {border-left: 2px solid #FFFFFF;}.ace-chaos .ace_cursor.ace_overwrite {border-left: 0px;border-bottom: 1px solid #FFFFFF;}.ace-chaos .ace_marker-layer .ace_selection {background: #494836;}.ace-chaos .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-chaos .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #FCE94F;}.ace-chaos .ace_marker-layer .ace_active-line {background: #333;}.ace-chaos .ace_gutter-active-line {background-color: #222;}.ace-chaos .ace_invisible {color: #404040;}.ace-chaos .ace_keyword {color:#00698F;}.ace-chaos .ace_keyword.ace_operator {color:#FF308F;}.ace-chaos .ace_constant {color:#1EDAFB;}.ace-chaos .ace_constant.ace_language {color:#FDC251;}.ace-chaos .ace_constant.ace_library {color:#8DFF0A;}.ace-chaos .ace_constant.ace_numeric {color:#58C554;}.ace-chaos .ace_invalid {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_invalid.ace_deprecated {color:#FFFFFF;background-color:#990000;}.ace-chaos .ace_support {color: #999;}.ace-chaos .ace_support.ace_function {color:#00AEEF;}.ace-chaos .ace_function {color:#00AEEF;}.ace-chaos .ace_string {color:#58C554;}.ace-chaos .ace_comment {color:#555;font-style:italic;padding-bottom: 0px;}.ace-chaos .ace_variable {color:#997744;}.ace-chaos .ace_meta.ace_tag {color:#BE53E6;}.ace-chaos .ace_entity.ace_other.ace_attribute-name {color:#FFFF89;}.ace-chaos .ace_markup.ace_underline {text-decoration: underline;}.ace-chaos .ace_fold-widget {text-align: center;}.ace-chaos .ace_fold-widget:hover {color: #777;}.ace-chaos .ace_fold-widget.ace_start,.ace-chaos .ace_fold-widget.ace_end,.ace-chaos .ace_fold-widget.ace_closed{background: none;border: none;box-shadow: none;}.ace-chaos .ace_fold-widget.ace_start:after {content: '▾'}.ace-chaos .ace_fold-widget.ace_end:after {content: '▴'}.ace-chaos .ace_fold-widget.ace_closed:after {content: '‣'}.ace-chaos .ace_indent-guide {border-right:1px dotted #333;margin-right:-1px;}.ace-chaos .ace_fold { background: #222; border-radius: 3px; color: #7AF; border: none; }.ace-chaos .ace_fold:hover {background: #CCC; color: #000;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-chrome.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-clouds.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/clouds",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-clouds",t.cssText='.ace-clouds .ace_gutter {background: #ebebeb;color: #333}.ace-clouds .ace_print-margin {width: 1px;background: #e8e8e8}.ace-clouds {background-color: #FFFFFF;color: #000000}.ace-clouds .ace_cursor {color: #000000}.ace-clouds .ace_marker-layer .ace_selection {background: #BDD5FC}.ace-clouds.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-clouds .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-clouds .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds .ace_marker-layer .ace_active-line {background: #FFFBD1}.ace-clouds .ace_gutter-active-line {background-color : #dcdcdc}.ace-clouds .ace_marker-layer .ace_selected-word {border: 1px solid #BDD5FC}.ace-clouds .ace_invisible {color: #BFBFBF}.ace-clouds .ace_keyword,.ace-clouds .ace_meta,.ace-clouds .ace_support.ace_constant.ace_property-value {color: #AF956F}.ace-clouds .ace_keyword.ace_operator {color: #484848}.ace-clouds .ace_keyword.ace_other.ace_unit {color: #96DC5F}.ace-clouds .ace_constant.ace_language {color: #39946A}.ace-clouds .ace_constant.ace_numeric {color: #46A609}.ace-clouds .ace_constant.ace_character.ace_entity {color: #BF78CC}.ace-clouds .ace_invalid {background-color: #FF002A}.ace-clouds .ace_fold {background-color: #AF956F;border-color: #000000}.ace-clouds .ace_storage,.ace-clouds .ace_support.ace_class,.ace-clouds .ace_support.ace_function,.ace-clouds .ace_support.ace_other,.ace-clouds .ace_support.ace_type {color: #C52727}.ace-clouds .ace_string {color: #5D90CD}.ace-clouds .ace_comment {color: #BCC8BA}.ace-clouds .ace_entity.ace_name.ace_tag,.ace-clouds .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-clouds_midnight.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/clouds_midnight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-clouds-midnight",t.cssText=".ace-clouds-midnight .ace_gutter {background: #232323;color: #929292}.ace-clouds-midnight .ace_print-margin {width: 1px;background: #232323}.ace-clouds-midnight {background-color: #191919;color: #929292}.ace-clouds-midnight .ace_cursor {color: #7DA5DC}.ace-clouds-midnight .ace_marker-layer .ace_selection {background: #000000}.ace-clouds-midnight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #191919;border-radius: 2px}.ace-clouds-midnight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-clouds-midnight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-clouds-midnight .ace_marker-layer .ace_active-line {background: rgba(215, 215, 215, 0.031)}.ace-clouds-midnight .ace_gutter-active-line {background-color: rgba(215, 215, 215, 0.031)}.ace-clouds-midnight .ace_marker-layer .ace_selected-word {border: 1px solid #000000}.ace-clouds-midnight .ace_invisible {color: #BFBFBF}.ace-clouds-midnight .ace_keyword,.ace-clouds-midnight .ace_meta,.ace-clouds-midnight .ace_support.ace_constant.ace_property-value {color: #927C5D}.ace-clouds-midnight .ace_keyword.ace_operator {color: #4B4B4B}.ace-clouds-midnight .ace_keyword.ace_other.ace_unit {color: #366F1A}.ace-clouds-midnight .ace_constant.ace_language {color: #39946A}.ace-clouds-midnight .ace_constant.ace_numeric {color: #46A609}.ace-clouds-midnight .ace_constant.ace_character.ace_entity {color: #A165AC}.ace-clouds-midnight .ace_invalid {color: #FFFFFF;background-color: #E92E2E}.ace-clouds-midnight .ace_fold {background-color: #927C5D;border-color: #929292}.ace-clouds-midnight .ace_storage,.ace-clouds-midnight .ace_support.ace_class,.ace-clouds-midnight .ace_support.ace_function,.ace-clouds-midnight .ace_support.ace_other,.ace-clouds-midnight .ace_support.ace_type {color: #E92E2E}.ace-clouds-midnight .ace_string {color: #5D90CD}.ace-clouds-midnight .ace_comment {color: #3C403B}.ace-clouds-midnight .ace_entity.ace_name.ace_tag,.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name {color: #606060}.ace-clouds-midnight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-cobalt.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/cobalt",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-cobalt",t.cssText=".ace-cobalt .ace_gutter {background: #011e3a;color: #fff}.ace-cobalt .ace_print-margin {width: 1px;background: #011e3a}.ace-cobalt {background-color: #002240;color: #FFFFFF}.ace-cobalt .ace_cursor {color: #FFFFFF}.ace-cobalt .ace_marker-layer .ace_selection {background: rgba(179, 101, 57, 0.75)}.ace-cobalt.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002240;border-radius: 2px}.ace-cobalt .ace_marker-layer .ace_step {background: rgb(127, 111, 19)}.ace-cobalt .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_marker-layer .ace_selected-word {border: 1px solid rgba(179, 101, 57, 0.75)}.ace-cobalt .ace_invisible {color: rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_keyword,.ace-cobalt .ace_meta {color: #FF9D00}.ace-cobalt .ace_constant,.ace-cobalt .ace_constant.ace_character,.ace-cobalt .ace_constant.ace_character.ace_escape,.ace-cobalt .ace_constant.ace_other {color: #FF628C}.ace-cobalt .ace_invalid {color: #F8F8F8;background-color: #800F00}.ace-cobalt .ace_support {color: #80FFBB}.ace-cobalt .ace_support.ace_constant {color: #EB939A}.ace-cobalt .ace_fold {background-color: #FF9D00;border-color: #FFFFFF}.ace-cobalt .ace_support.ace_function {color: #FFB054}.ace-cobalt .ace_storage {color: #FFEE80}.ace-cobalt .ace_entity {color: #FFDD00}.ace-cobalt .ace_string {color: #3AD900}.ace-cobalt .ace_string.ace_regexp {color: #80FFC2}.ace-cobalt .ace_comment {font-style: italic;color: #0088FF}.ace-cobalt .ace_heading,.ace-cobalt .ace_markup.ace_heading {color: #C8E4FD;background-color: #001221}.ace-cobalt .ace_list,.ace-cobalt .ace_markup.ace_list {background-color: #130D26}.ace-cobalt .ace_variable {color: #CCCCCC}.ace-cobalt .ace_variable.ace_language {color: #FF80E1}.ace-cobalt .ace_meta.ace_tag {color: #9EFFFF}.ace-cobalt .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHCLSvkPAAP3AgSDTRd4AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-crimson_editor.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssText='.ace-crimson-editor .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-crimson-editor .ace_gutter-layer {width: 100%;text-align: right;}.ace-crimson-editor .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-crimson-editor {background-color: #FFFFFF;color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor {color: black;}.ace-crimson-editor .ace_invisible {color: rgb(191, 191, 191);}.ace-crimson-editor .ace_identifier {color: black;}.ace-crimson-editor .ace_keyword {color: blue;}.ace-crimson-editor .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-crimson-editor .ace_constant.ace_language {color: rgb(255, 156, 0);}.ace-crimson-editor .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_invalid {text-decoration: line-through;color: rgb(224, 0, 0);}.ace-crimson-editor .ace_fold {}.ace-crimson-editor .ace_support.ace_function {color: rgb(192, 0, 0);}.ace-crimson-editor .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_support.ace_type,.ace-crimson-editor .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-crimson-editor .ace_keyword.ace_operator {color: rgb(49, 132, 149);}.ace-crimson-editor .ace_string {color: rgb(128, 0, 128);}.ace-crimson-editor .ace_comment {color: rgb(76, 136, 107);}.ace-crimson-editor .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-crimson-editor .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-crimson-editor .ace_constant.ace_numeric {color: rgb(0, 0, 64);}.ace-crimson-editor .ace_variable {color: rgb(0, 64, 128);}.ace-crimson-editor .ace_xml-pe {color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254);}.ace-crimson-editor .ace_gutter-active-line {background-color : #dcdcdc;}.ace-crimson-editor .ace_meta.ace_tag {color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex {color: rgb(192, 0, 192);}.ace-crimson-editor .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-crimson-editor";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-dawn.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dawn",t.cssText=".ace-dawn .ace_gutter {background: #ebebeb;color: #333}.ace-dawn .ace_print-margin {width: 1px;background: #e8e8e8}.ace-dawn {background-color: #F9F9F9;color: #080808}.ace-dawn .ace_cursor {color: #000000}.ace-dawn .ace_marker-layer .ace_selection {background: rgba(39, 95, 255, 0.30)}.ace-dawn.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #F9F9F9;border-radius: 2px}.ace-dawn .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-dawn .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(75, 75, 126, 0.50)}.ace-dawn .ace_marker-layer .ace_active-line {background: rgba(36, 99, 180, 0.12)}.ace-dawn .ace_gutter-active-line {background-color : #dcdcdc}.ace-dawn .ace_marker-layer .ace_selected-word {border: 1px solid rgba(39, 95, 255, 0.30)}.ace-dawn .ace_invisible {color: rgba(75, 75, 126, 0.50)}.ace-dawn .ace_keyword,.ace-dawn .ace_meta {color: #794938}.ace-dawn .ace_constant,.ace-dawn .ace_constant.ace_character,.ace-dawn .ace_constant.ace_character.ace_escape,.ace-dawn .ace_constant.ace_other {color: #811F24}.ace-dawn .ace_invalid.ace_illegal {text-decoration: underline;font-style: italic;color: #F8F8F8;background-color: #B52A1D}.ace-dawn .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #B52A1D}.ace-dawn .ace_support {color: #691C97}.ace-dawn .ace_support.ace_constant {color: #B4371F}.ace-dawn .ace_fold {background-color: #794938;border-color: #080808}.ace-dawn .ace_list,.ace-dawn .ace_markup.ace_list,.ace-dawn .ace_support.ace_function {color: #693A17}.ace-dawn .ace_storage {font-style: italic;color: #A71D5D}.ace-dawn .ace_string {color: #0B6125}.ace-dawn .ace_string.ace_regexp {color: #CF5628}.ace-dawn .ace_comment {font-style: italic;color: #5A525F}.ace-dawn .ace_heading,.ace-dawn .ace_markup.ace_heading {color: #19356D}.ace-dawn .ace_variable {color: #234A97}.ace-dawn .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-dreamweaver.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/dreamweaver",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-dreamweaver",t.cssText='.ace-dreamweaver .ace_gutter {background: #e8e8e8;color: #333;}.ace-dreamweaver .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-dreamweaver {background-color: #FFFFFF;}.ace-dreamweaver .ace_fold {background-color: #757AD8;}.ace-dreamweaver .ace_cursor {color: black;}.ace-dreamweaver .ace_invisible {color: rgb(191, 191, 191);}.ace-dreamweaver .ace_storage,.ace-dreamweaver .ace_keyword {color: blue;}.ace-dreamweaver .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-dreamweaver .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-dreamweaver .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-dreamweaver .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-dreamweaver .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-dreamweaver .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-dreamweaver .ace_support.ace_type,.ace-dreamweaver .ace_support.ace_class {color: #009;}.ace-dreamweaver .ace_support.ace_php_tag {color: #f00;}.ace-dreamweaver .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-dreamweaver .ace_string {color: #00F;}.ace-dreamweaver .ace_comment {color: rgb(76, 136, 107);}.ace-dreamweaver .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-dreamweaver .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-dreamweaver .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-dreamweaver .ace_variable {color: #06F}.ace-dreamweaver .ace_xml-pe {color: rgb(104, 104, 91);}.ace-dreamweaver .ace_entity.ace_name.ace_function {color: #00F;}.ace-dreamweaver .ace_heading {color: rgb(12, 7, 255);}.ace-dreamweaver .ace_list {color:rgb(185, 6, 144);}.ace-dreamweaver .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-dreamweaver .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-dreamweaver .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-dreamweaver .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-dreamweaver .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-dreamweaver .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-dreamweaver .ace_meta.ace_tag {color:#009;}.ace-dreamweaver .ace_meta.ace_tag.ace_anchor {color:#060;}.ace-dreamweaver .ace_meta.ace_tag.ace_form {color:#F90;}.ace-dreamweaver .ace_meta.ace_tag.ace_image {color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_script {color:#900;}.ace-dreamweaver .ace_meta.ace_tag.ace_style {color:#909;}.ace-dreamweaver .ace_meta.ace_tag.ace_table {color:#099;}.ace-dreamweaver .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-dreamweaver .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-eclipse.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/eclipse",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssText='.ace-eclipse .ace_gutter {background: #ebebeb;border-right: 1px solid rgb(159, 159, 159);color: rgb(136, 136, 136);}.ace-eclipse .ace_print-margin {width: 1px;background: #ebebeb;}.ace-eclipse {background-color: #FFFFFF;}.ace-eclipse .ace_fold {background-color: rgb(60, 76, 114);}.ace-eclipse .ace_cursor {color: black;}.ace-eclipse .ace_storage,.ace-eclipse .ace_keyword,.ace-eclipse .ace_variable {color: rgb(127, 0, 85);}.ace-eclipse .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-eclipse .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-eclipse .ace_function {color: rgb(60, 76, 114);}.ace-eclipse .ace_string {color: rgb(42, 0, 255);}.ace-eclipse .ace_comment {color: rgb(113, 150, 130);}.ace-eclipse .ace_comment.ace_doc {color: rgb(63, 95, 191);}.ace-eclipse .ace_comment.ace_doc.ace_tag {color: rgb(127, 159, 191);}.ace-eclipse .ace_constant.ace_numeric {color: darkblue;}.ace-eclipse .ace_tag {color: rgb(25, 118, 116);}.ace-eclipse .ace_type {color: rgb(127, 0, 127);}.ace-eclipse .ace_xml-pe {color: rgb(104, 104, 91);}.ace-eclipse .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-eclipse .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-eclipse .ace_meta.ace_tag {color:rgb(25, 118, 116);}.ace-eclipse .ace_invisible {color: #ddd;}.ace-eclipse .ace_entity.ace_other.ace_attribute-name {color:rgb(127, 0, 127);}.ace-eclipse .ace_marker-layer .ace_step {background: rgb(255, 255, 0);}.ace-eclipse .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254);}.ace-eclipse .ace_marker-layer .ace_selected-word {border: 1px solid rgb(181, 213, 255);}.ace-eclipse .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.cssClass="ace-eclipse";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-github.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/github",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-github",t.cssText='/* CSS style content from github\'s default pygments highlighter template.Cursor and selection styles from textmate.css. */.ace-github .ace_gutter {background: #e8e8e8;color: #AAA;}.ace-github {background: #fff;color: #000;}.ace-github .ace_keyword {font-weight: bold;}.ace-github .ace_string {color: #D14;}.ace-github .ace_variable.ace_class {color: teal;}.ace-github .ace_constant.ace_numeric {color: #099;}.ace-github .ace_constant.ace_buildin {color: #0086B3;}.ace-github .ace_support.ace_function {color: #0086B3;}.ace-github .ace_comment {color: #998;font-style: italic;}.ace-github .ace_variable.ace_language {color: #0086B3;}.ace-github .ace_paren {font-weight: bold;}.ace-github .ace_boolean {font-weight: bold;}.ace-github .ace_string.ace_regexp {color: #009926;font-weight: normal;}.ace-github .ace_variable.ace_instance {color: teal;}.ace-github .ace_constant.ace_language {font-weight: bold;}.ace-github .ace_cursor {color: black;}.ace-github .ace_marker-layer .ace_active-line {background: rgb(255, 255, 204);}.ace-github .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-github.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}/* bold keywords cause cursor issues for some fonts *//* this disables bold style for editor and keeps for static highlighter */.ace-github.ace_nobold .ace_line > span {font-weight: normal !important;}.ace-github .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-github .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-github .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-github .ace_gutter-active-line {background-color : rgba(0, 0, 0, 0.07);}.ace-github .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-github .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-github .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-idle_fingers.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/idle_fingers",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-idle-fingers",t.cssText=".ace-idle-fingers .ace_gutter {background: #3b3b3b;color: #fff}.ace-idle-fingers .ace_print-margin {width: 1px;background: #3b3b3b}.ace-idle-fingers {background-color: #323232;color: #FFFFFF}.ace-idle-fingers .ace_cursor {color: #91FF00}.ace-idle-fingers .ace_marker-layer .ace_selection {background: rgba(90, 100, 126, 0.88)}.ace-idle-fingers.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #323232;border-radius: 2px}.ace-idle-fingers .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-idle-fingers .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-idle-fingers .ace_marker-layer .ace_active-line {background: #353637}.ace-idle-fingers .ace_gutter-active-line {background-color: #353637}.ace-idle-fingers .ace_marker-layer .ace_selected-word {border: 1px solid rgba(90, 100, 126, 0.88)}.ace-idle-fingers .ace_invisible {color: #404040}.ace-idle-fingers .ace_keyword,.ace-idle-fingers .ace_meta {color: #CC7833}.ace-idle-fingers .ace_constant,.ace-idle-fingers .ace_constant.ace_character,.ace-idle-fingers .ace_constant.ace_character.ace_escape,.ace-idle-fingers .ace_constant.ace_other,.ace-idle-fingers .ace_support.ace_constant {color: #6C99BB}.ace-idle-fingers .ace_invalid {color: #FFFFFF;background-color: #FF0000}.ace-idle-fingers .ace_fold {background-color: #CC7833;border-color: #FFFFFF}.ace-idle-fingers .ace_support.ace_function {color: #B83426}.ace-idle-fingers .ace_variable.ace_parameter {font-style: italic}.ace-idle-fingers .ace_string {color: #A5C261}.ace-idle-fingers .ace_string.ace_regexp {color: #CCCC33}.ace-idle-fingers .ace_comment {font-style: italic;color: #BC9458}.ace-idle-fingers .ace_meta.ace_tag {color: #FFE5BB}.ace-idle-fingers .ace_entity.ace_name {color: #FFC66D}.ace-idle-fingers .ace_collab.ace_user1 {color: #323232;background-color: #FFF980}.ace-idle-fingers .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMwMjLyZYiPj/8PAAreAwAI1+g0AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-katzenmilch.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/katzenmilch",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-katzenmilch",t.cssText=".ace-katzenmilch .ace_gutter,/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css (UUID: ) */.ace-katzenmilch .ace_gutter {background: #e8e8e8;color: #333}.ace-katzenmilch .ace_print-margin {width: 1px;background: #e8e8e8}.ace-katzenmilch {background-color: #f3f2f3;color: rgba(15, 0, 9, 1.0)}.ace-katzenmilch .ace_cursor {border-left: 2px solid #100011}.ace-katzenmilch .ace_overwrite-cursors .ace_cursor {border-left: 0px;border-bottom: 1px solid #100011}.ace-katzenmilch .ace_marker-layer .ace_selection {background: rgba(100, 5, 208, 0.27)}.ace-katzenmilch.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #f3f2f3;border-radius: 2px}.ace-katzenmilch .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-katzenmilch .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #000000}.ace-katzenmilch .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254)}.ace-katzenmilch .ace_gutter-active-line {background-color: rgb(232, 242, 254)}.ace-katzenmilch .ace_marker-layer .ace_selected-word {border: 1px solid rgba(100, 5, 208, 0.27)}.ace-katzenmilch .ace_fold {background-color: rgba(2, 95, 73, 0.97);border-color: rgba(15, 0, 9, 1.0)}.ace-katzenmilch .ace_keyword {color: #674Aa8;rbackground-color: rgba(163, 170, 216, 0.055)}.ace-katzenmilch .ace_constant.ace_language {color: #7D7e52;rbackground-color: rgba(189, 190, 130, 0.059)}.ace-katzenmilch .ace_constant.ace_numeric {color: rgba(79, 130, 123, 0.93);rbackground-color: rgba(119, 194, 187, 0.059)}.ace-katzenmilch .ace_constant.ace_character,.ace-katzenmilch .ace_constant.ace_other {color: rgba(2, 95, 105, 1.0);rbackground-color: rgba(127, 34, 153, 0.063)}.ace-katzenmilch .ace_support.ace_function {color: #9D7e62;rbackground-color: rgba(189, 190, 130, 0.039)}.ace-katzenmilch .ace_support.ace_class {color: rgba(239, 106, 167, 1.0);rbackground-color: rgba(239, 106, 167, 0.063)}.ace-katzenmilch .ace_storage {color: rgba(123, 92, 191, 1.0);rbackground-color: rgba(139, 93, 223, 0.051)}.ace-katzenmilch .ace_invalid {color: #DFDFD5;rbackground-color: #CC1B27}.ace-katzenmilch .ace_string {color: #5a5f9b;rbackground-color: rgba(170, 175, 219, 0.035)}.ace-katzenmilch .ace_comment {font-style: italic;color: rgba(64, 79, 80, 0.67);rbackground-color: rgba(95, 15, 255, 0.0078)}.ace-katzenmilch .ace_entity.ace_name.ace_function,.ace-katzenmilch .ace_variable {color: rgba(2, 95, 73, 0.97);rbackground-color: rgba(34, 255, 73, 0.12)}.ace-katzenmilch .ace_variable.ace_language {color: #316fcf;rbackground-color: rgba(58, 175, 255, 0.039)}.ace-katzenmilch .ace_variable.ace_parameter {font-style: italic;color: rgba(51, 150, 159, 0.87);rbackground-color: rgba(5, 214, 249, 0.043)}.ace-katzenmilch .ace_entity.ace_other.ace_attribute-name {color: rgba(73, 70, 194, 0.93);rbackground-color: rgba(73, 134, 194, 0.035)}.ace-katzenmilch .ace_entity.ace_name.ace_tag {color: #3976a2;rbackground-color: rgba(73, 166, 210, 0.039)}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-kr.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/kr",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-kr-theme",t.cssText=".ace-kr-theme .ace_gutter {background: #1c1917;color: #FCFFE0}.ace-kr-theme .ace_print-margin {width: 1px;background: #1c1917}.ace-kr-theme {background-color: #0B0A09;color: #FCFFE0}.ace-kr-theme .ace_cursor {color: #FF9900}.ace-kr-theme .ace_marker-layer .ace_selection {background: rgba(170, 0, 255, 0.45)}.ace-kr-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #0B0A09;border-radius: 2px}.ace-kr-theme .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-kr-theme .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 177, 111, 0.32)}.ace-kr-theme .ace_marker-layer .ace_active-line {background: #38403D}.ace-kr-theme .ace_gutter-active-line {background-color : #38403D}.ace-kr-theme .ace_marker-layer .ace_selected-word {border: 1px solid rgba(170, 0, 255, 0.45)}.ace-kr-theme .ace_invisible {color: rgba(255, 177, 111, 0.32)}.ace-kr-theme .ace_keyword,.ace-kr-theme .ace_meta {color: #949C8B}.ace-kr-theme .ace_constant,.ace-kr-theme .ace_constant.ace_character,.ace-kr-theme .ace_constant.ace_character.ace_escape,.ace-kr-theme .ace_constant.ace_other {color: rgba(210, 117, 24, 0.76)}.ace-kr-theme .ace_invalid {color: #F8F8F8;background-color: #A41300}.ace-kr-theme .ace_support {color: #9FC28A}.ace-kr-theme .ace_support.ace_constant {color: #C27E66}.ace-kr-theme .ace_fold {background-color: #949C8B;border-color: #FCFFE0}.ace-kr-theme .ace_support.ace_function {color: #85873A}.ace-kr-theme .ace_storage {color: #FFEE80}.ace-kr-theme .ace_string {color: rgba(164, 161, 181, 0.8)}.ace-kr-theme .ace_string.ace_regexp {color: rgba(125, 255, 192, 0.65)}.ace-kr-theme .ace_comment {font-style: italic;color: #706D5B}.ace-kr-theme .ace_variable {color: #D1A796}.ace-kr-theme .ace_list,.ace-kr-theme .ace_markup.ace_list {background-color: #0F0040}.ace-kr-theme .ace_variable.ace_language {color: #FF80E1}.ace-kr-theme .ace_meta.ace_tag {color: #BABD9C}.ace-kr-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-kuroir.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/kuroir",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-kuroir",t.cssText="/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css (UUID: 467560D0-6ACE-4409-82FD-4791420837AC) */.ace-kuroir .ace_gutter {background: #e8e8e8;color: #333;}.ace-kuroir .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-kuroir {background-color: #E8E9E8;color: #363636;}.ace-kuroir .ace_cursor {color: #202020;}.ace-kuroir .ace_marker-layer .ace_selection {background: rgba(245, 170, 0, 0.57);}.ace-kuroir.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #E8E9E8;border-radius: 2px;}.ace-kuroir .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-kuroir .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(0, 0, 0, 0.29);}.ace-kuroir .ace_marker-layer .ace_active-line {background: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_gutter-active-line {background-color: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_marker-layer .ace_selected-word {border: 1px solid rgba(245, 170, 0, 0.57);}.ace-kuroir .ace_fold {background-color: ;border-color: #363636;}.ace-kuroir .ace_constant{color:#CD6839;}.ace-kuroir .ace_constant.ace_numeric{color:#9A5925;}.ace-kuroir .ace_support{color:#104E8B;}.ace-kuroir .ace_support.ace_function{color:#005273;}.ace-kuroir .ace_support.ace_constant{color:#CF6A4C;}.ace-kuroir .ace_storage{color:#A52A2A;}.ace-kuroir .ace_invalid.ace_illegal{color:#FD1224;background-color:rgba(255, 6, 0, 0.15);}.ace-kuroir .ace_invalid.ace_deprecated{text-decoration:underline;font-style:italic;color:#FD1732;background-color:#E8E9E8;}.ace-kuroir .ace_string{color:#639300;}.ace-kuroir .ace_string.ace_regexp{color:#417E00;background-color:#C9D4BE;}.ace-kuroir .ace_comment{color:rgba(148, 148, 148, 0.91);background-color:rgba(220, 220, 220, 0.56);}.ace-kuroir .ace_variable{color:#009ACD;}.ace-kuroir .ace_meta.ace_tag{color:#005273;}.ace-kuroir .ace_markup.ace_heading{color:#B8012D;background-color:rgba(191, 97, 51, 0.051);}.ace-kuroir .ace_markup.ace_list{color:#8F5B26;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-merbivore.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/merbivore",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-merbivore",t.cssText=".ace-merbivore .ace_gutter {background: #202020;color: #E6E1DC}.ace-merbivore .ace_print-margin {width: 1px;background: #555651}.ace-merbivore {background-color: #161616;color: #E6E1DC}.ace-merbivore .ace_cursor {color: #FFFFFF}.ace-merbivore .ace_marker-layer .ace_selection {background: #454545}.ace-merbivore.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #161616;border-radius: 2px}.ace-merbivore .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-merbivore .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-merbivore .ace_marker-layer .ace_active-line {background: #333435}.ace-merbivore .ace_gutter-active-line {background-color: #333435}.ace-merbivore .ace_marker-layer .ace_selected-word {border: 1px solid #454545}.ace-merbivore .ace_invisible {color: #404040}.ace-merbivore .ace_entity.ace_name.ace_tag,.ace-merbivore .ace_keyword,.ace-merbivore .ace_meta,.ace-merbivore .ace_meta.ace_tag,.ace-merbivore .ace_storage,.ace-merbivore .ace_support.ace_function {color: #FC6F09}.ace-merbivore .ace_constant,.ace-merbivore .ace_constant.ace_character,.ace-merbivore .ace_constant.ace_character.ace_escape,.ace-merbivore .ace_constant.ace_other,.ace-merbivore .ace_support.ace_type {color: #1EDAFB}.ace-merbivore .ace_constant.ace_character.ace_escape {color: #519F50}.ace-merbivore .ace_constant.ace_language {color: #FDC251}.ace-merbivore .ace_constant.ace_library,.ace-merbivore .ace_string,.ace-merbivore .ace_support.ace_constant {color: #8DFF0A}.ace-merbivore .ace_constant.ace_numeric {color: #58C554}.ace-merbivore .ace_invalid {color: #FFFFFF;background-color: #990000}.ace-merbivore .ace_fold {background-color: #FC6F09;border-color: #E6E1DC}.ace-merbivore .ace_comment {font-style: italic;color: #AD2EA4}.ace-merbivore .ace_entity.ace_other.ace_attribute-name {color: #FFFF89}.ace-merbivore .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQFxf3ZXB1df0PAAdsAmERTkEHAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-merbivore_soft.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-merbivore-soft",t.cssText=".ace-merbivore-soft .ace_gutter {background: #262424;color: #E6E1DC}.ace-merbivore-soft .ace_print-margin {width: 1px;background: #262424}.ace-merbivore-soft {background-color: #1C1C1C;color: #E6E1DC}.ace-merbivore-soft .ace_cursor {color: #FFFFFF}.ace-merbivore-soft .ace_marker-layer .ace_selection {background: #494949}.ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1C1C1C;border-radius: 2px}.ace-merbivore-soft .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-merbivore-soft .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-merbivore-soft .ace_marker-layer .ace_active-line {background: #333435}.ace-merbivore-soft .ace_gutter-active-line {background-color: #333435}.ace-merbivore-soft .ace_marker-layer .ace_selected-word {border: 1px solid #494949}.ace-merbivore-soft .ace_invisible {color: #404040}.ace-merbivore-soft .ace_entity.ace_name.ace_tag,.ace-merbivore-soft .ace_keyword,.ace-merbivore-soft .ace_meta,.ace-merbivore-soft .ace_meta.ace_tag,.ace-merbivore-soft .ace_storage {color: #FC803A}.ace-merbivore-soft .ace_constant,.ace-merbivore-soft .ace_constant.ace_character,.ace-merbivore-soft .ace_constant.ace_character.ace_escape,.ace-merbivore-soft .ace_constant.ace_other,.ace-merbivore-soft .ace_support.ace_type {color: #68C1D8}.ace-merbivore-soft .ace_constant.ace_character.ace_escape {color: #B3E5B4}.ace-merbivore-soft .ace_constant.ace_language {color: #E1C582}.ace-merbivore-soft .ace_constant.ace_library,.ace-merbivore-soft .ace_string,.ace-merbivore-soft .ace_support.ace_constant {color: #8EC65F}.ace-merbivore-soft .ace_constant.ace_numeric {color: #7FC578}.ace-merbivore-soft .ace_invalid,.ace-merbivore-soft .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #FE3838}.ace-merbivore-soft .ace_fold {background-color: #FC803A;border-color: #E6E1DC}.ace-merbivore-soft .ace_comment,.ace-merbivore-soft .ace_meta {font-style: italic;color: #AC4BB8}.ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {color: #EAF1A3}.ace-merbivore-soft .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkpLyZfD09PwPAAfYAnaStpHRAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-mono_industrial.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/mono_industrial",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-mono-industrial",t.cssText=".ace-mono-industrial .ace_gutter {background: #1d2521;color: #C5C9C9}.ace-mono-industrial .ace_print-margin {width: 1px;background: #555651}.ace-mono-industrial {background-color: #222C28;color: #FFFFFF}.ace-mono-industrial .ace_cursor {color: #FFFFFF}.ace-mono-industrial .ace_marker-layer .ace_selection {background: rgba(145, 153, 148, 0.40)}.ace-mono-industrial.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #222C28;border-radius: 2px}.ace-mono-industrial .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-mono-industrial .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(102, 108, 104, 0.50)}.ace-mono-industrial .ace_marker-layer .ace_active-line {background: rgba(12, 13, 12, 0.25)}.ace-mono-industrial .ace_gutter-active-line {background-color: rgba(12, 13, 12, 0.25)}.ace-mono-industrial .ace_marker-layer .ace_selected-word {border: 1px solid rgba(145, 153, 148, 0.40)}.ace-mono-industrial .ace_invisible {color: rgba(102, 108, 104, 0.50)}.ace-mono-industrial .ace_string {background-color: #151C19;color: #FFFFFF}.ace-mono-industrial .ace_keyword,.ace-mono-industrial .ace_meta {color: #A39E64}.ace-mono-industrial .ace_constant,.ace-mono-industrial .ace_constant.ace_character,.ace-mono-industrial .ace_constant.ace_character.ace_escape,.ace-mono-industrial .ace_constant.ace_numeric,.ace-mono-industrial .ace_constant.ace_other {color: #E98800}.ace-mono-industrial .ace_entity.ace_name.ace_function,.ace-mono-industrial .ace_keyword.ace_operator,.ace-mono-industrial .ace_variable {color: #A8B3AB}.ace-mono-industrial .ace_invalid {color: #FFFFFF;background-color: rgba(153, 0, 0, 0.68)}.ace-mono-industrial .ace_support.ace_constant {color: #C87500}.ace-mono-industrial .ace_fold {background-color: #A8B3AB;border-color: #FFFFFF}.ace-mono-industrial .ace_support.ace_function {color: #588E60}.ace-mono-industrial .ace_entity.ace_name,.ace-mono-industrial .ace_support.ace_class,.ace-mono-industrial .ace_support.ace_type {color: #5778B6}.ace-mono-industrial .ace_storage {color: #C23B00}.ace-mono-industrial .ace_variable.ace_language,.ace-mono-industrial .ace_variable.ace_parameter {color: #648BD2}.ace-mono-industrial .ace_comment {color: #666C68;background-color: #151C19}.ace-mono-industrial .ace_entity.ace_other.ace_attribute-name {color: #909993}.ace-mono-industrial .ace_entity.ace_name.ace_tag {color: #A65EFF}.ace-mono-industrial .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ1NbwZfALD/4PAAlTArlEC4r/AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-monokai.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;border-radius: 2px}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-pastel_on_dark.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-pastel-on-dark",t.cssText=".ace-pastel-on-dark .ace_gutter {background: #353030;color: #8F938F}.ace-pastel-on-dark .ace_print-margin {width: 1px;background: #353030}.ace-pastel-on-dark {background-color: #2C2828;color: #8F938F}.ace-pastel-on-dark .ace_cursor {color: #A7A7A7}.ace-pastel-on-dark .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2C2828;border-radius: 2px}.ace-pastel-on-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-pastel-on-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_keyword,.ace-pastel-on-dark .ace_meta {color: #757aD8}.ace-pastel-on-dark .ace_constant,.ace-pastel-on-dark .ace_constant.ace_character,.ace-pastel-on-dark .ace_constant.ace_character.ace_escape,.ace-pastel-on-dark .ace_constant.ace_other {color: #4FB7C5}.ace-pastel-on-dark .ace_keyword.ace_operator {color: #797878}.ace-pastel-on-dark .ace_constant.ace_character {color: #AFA472}.ace-pastel-on-dark .ace_constant.ace_language {color: #DE8E30}.ace-pastel-on-dark .ace_constant.ace_numeric {color: #CCCCCC}.ace-pastel-on-dark .ace_invalid,.ace-pastel-on-dark .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-pastel-on-dark .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-pastel-on-dark .ace_fold {background-color: #757aD8;border-color: #8F938F}.ace-pastel-on-dark .ace_support.ace_function {color: #AEB2F8}.ace-pastel-on-dark .ace_string {color: #66A968}.ace-pastel-on-dark .ace_string.ace_regexp {color: #E9C062}.ace-pastel-on-dark .ace_comment {color: #A6C6FF}.ace-pastel-on-dark .ace_variable {color: #BEBF55}.ace-pastel-on-dark .ace_variable.ace_language {color: #C1C144}.ace-pastel-on-dark .ace_xml-pe {color: #494949}.ace-pastel-on-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYIiPj/8PAARgAh2NTMh8AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-solarized_dark.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/solarized_dark",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-solarized-dark",t.cssText=".ace-solarized-dark .ace_gutter {background: #01313f;color: #d0edf7}.ace-solarized-dark .ace_print-margin {width: 1px;background: #33555E}.ace-solarized-dark {background-color: #002B36;color: #93A1A1}.ace-solarized-dark .ace_entity.ace_other.ace_attribute-name,.ace-solarized-dark .ace_storage {color: #93A1A1}.ace-solarized-dark .ace_cursor,.ace-solarized-dark .ace_string.ace_regexp {color: #D30102}.ace-solarized-dark .ace_marker-layer .ace_active-line,.ace-solarized-dark .ace_marker-layer .ace_selection {background: rgba(255, 255, 255, 0.1)}.ace-solarized-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002B36;border-radius: 2px}.ace-solarized-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-solarized-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_gutter-active-line {background-color: #0d3440}.ace-solarized-dark .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-dark .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-dark .ace_keyword,.ace-solarized-dark .ace_meta,.ace-solarized-dark .ace_support.ace_class,.ace-solarized-dark .ace_support.ace_type {color: #859900}.ace-solarized-dark .ace_constant.ace_character,.ace-solarized-dark .ace_constant.ace_other {color: #CB4B16}.ace-solarized-dark .ace_constant.ace_language {color: #B58900}.ace-solarized-dark .ace_constant.ace_numeric {color: #D33682}.ace-solarized-dark .ace_fold {background-color: #268BD2;border-color: #93A1A1}.ace-solarized-dark .ace_entity.ace_name.ace_function,.ace-solarized-dark .ace_entity.ace_name.ace_tag,.ace-solarized-dark .ace_support.ace_function,.ace-solarized-dark .ace_variable,.ace-solarized-dark .ace_variable.ace_language {color: #268BD2}.ace-solarized-dark .ace_string {color: #2AA198}.ace-solarized-dark .ace_comment {font-style: italic;color: #657B83}.ace-solarized-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNg0Db1ZVCxc/sPAAd4AlUHlLenAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-solarized_light.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/solarized_light",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-solarized-light",t.cssText=".ace-solarized-light .ace_gutter {background: #fbf1d3;color: #333}.ace-solarized-light .ace_print-margin {width: 1px;background: #e8e8e8}.ace-solarized-light {background-color: #FDF6E3;color: #586E75}.ace-solarized-light .ace_cursor {color: #000000}.ace-solarized-light .ace_marker-layer .ace_selection {background: rgba(7, 54, 67, 0.09)}.ace-solarized-light.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FDF6E3;border-radius: 2px}.ace-solarized-light .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-solarized-light .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_marker-layer .ace_active-line {background: #EEE8D5}.ace-solarized-light .ace_gutter-active-line {background-color : #EDE5C1}.ace-solarized-light .ace_marker-layer .ace_selected-word {border: 1px solid #073642}.ace-solarized-light .ace_invisible {color: rgba(147, 161, 161, 0.50)}.ace-solarized-light .ace_keyword,.ace-solarized-light .ace_meta,.ace-solarized-light .ace_support.ace_class,.ace-solarized-light .ace_support.ace_type {color: #859900}.ace-solarized-light .ace_constant.ace_character,.ace-solarized-light .ace_constant.ace_other {color: #CB4B16}.ace-solarized-light .ace_constant.ace_language {color: #B58900}.ace-solarized-light .ace_constant.ace_numeric {color: #D33682}.ace-solarized-light .ace_fold {background-color: #268BD2;border-color: #586E75}.ace-solarized-light .ace_entity.ace_name.ace_function,.ace-solarized-light .ace_entity.ace_name.ace_tag,.ace-solarized-light .ace_support.ace_function,.ace-solarized-light .ace_variable,.ace-solarized-light .ace_variable.ace_language {color: #268BD2}.ace-solarized-light .ace_storage {color: #073642}.ace-solarized-light .ace_string {color: #2AA198}.ace-solarized-light .ace_string.ace_regexp {color: #D30102}.ace-solarized-light .ace_comment,.ace-solarized-light .ace_entity.ace_other.ace_attribute-name {color: #93A1A1}.ace-solarized-light .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHjy8NJ/AAjgA5fzQUmBAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-terminal.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/terminal",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-terminal-theme",t.cssText=".ace-terminal-theme .ace_gutter {background: #1a0005;color: steelblue}.ace-terminal-theme .ace_print-margin {width: 1px;background: #1a1a1a}.ace-terminal-theme {background-color: black;color: #DEDEDE}.ace-terminal-theme .ace_cursor {color: #9F9F9F}.ace-terminal-theme .ace_marker-layer .ace_selection {background: #424242}.ace-terminal-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px black;border-radius: 2px}.ace-terminal-theme .ace_marker-layer .ace_step {background: rgb(0, 0, 0)}.ace-terminal-theme .ace_marker-layer .ace_bracket {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-start {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-unmatched {margin: -1px 0 0 -1px;border: 1px solid #900}.ace-terminal-theme .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-terminal-theme .ace_gutter-active-line {background-color: #2A112A}.ace-terminal-theme .ace_marker-layer .ace_selected-word {border: 1px solid #424242}.ace-terminal-theme .ace_invisible {color: #343434}.ace-terminal-theme .ace_keyword,.ace-terminal-theme .ace_meta,.ace-terminal-theme .ace_storage,.ace-terminal-theme .ace_storage.ace_type,.ace-terminal-theme .ace_support.ace_type {color: tomato}.ace-terminal-theme .ace_keyword.ace_operator {color: deeppink}.ace-terminal-theme .ace_constant.ace_character,.ace-terminal-theme .ace_constant.ace_language,.ace-terminal-theme .ace_constant.ace_numeric,.ace-terminal-theme .ace_keyword.ace_other.ace_unit,.ace-terminal-theme .ace_support.ace_constant,.ace-terminal-theme .ace_variable.ace_parameter {color: #E78C45}.ace-terminal-theme .ace_constant.ace_other {color: gold}.ace-terminal-theme .ace_invalid {color: yellow;background-color: red}.ace-terminal-theme .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-terminal-theme .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-terminal-theme .ace_entity.ace_name.ace_function,.ace-terminal-theme .ace_support.ace_function,.ace-terminal-theme .ace_variable {color: #7AA6DA}.ace-terminal-theme .ace_support.ace_class,.ace-terminal-theme .ace_support.ace_type {color: #E7C547}.ace-terminal-theme .ace_heading,.ace-terminal-theme .ace_string {color: #B9CA4A}.ace-terminal-theme .ace_entity.ace_name.ace_tag,.ace-terminal-theme .ace_entity.ace_other.ace_attribute-name,.ace-terminal-theme .ace_meta.ace_tag,.ace-terminal-theme .ace_string.ace_regexp,.ace-terminal-theme .ace_variable {color: #D54E53}.ace-terminal-theme .ace_comment {color: orangered}.ace-terminal-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLBWV/8PAAK4AYnhiq+xAAAAAElFTkSuQmCC) right repeat-y;}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-textmate.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-tomorrow.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-tomorrow",t.cssText=".ace-tomorrow .ace_gutter {background: #f6f6f6;color: #4D4D4C}.ace-tomorrow .ace_print-margin {width: 1px;background: #f6f6f6}.ace-tomorrow {background-color: #FFFFFF;color: #4D4D4C}.ace-tomorrow .ace_cursor {color: #AEAFAD}.ace-tomorrow .ace_marker-layer .ace_selection {background: #D6D6D6}.ace-tomorrow.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-tomorrow .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-tomorrow .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #D1D1D1}.ace-tomorrow .ace_marker-layer .ace_active-line {background: #EFEFEF}.ace-tomorrow .ace_gutter-active-line {background-color : #dcdcdc}.ace-tomorrow .ace_marker-layer .ace_selected-word {border: 1px solid #D6D6D6}.ace-tomorrow .ace_invisible {color: #D1D1D1}.ace-tomorrow .ace_keyword,.ace-tomorrow .ace_meta,.ace-tomorrow .ace_storage,.ace-tomorrow .ace_storage.ace_type,.ace-tomorrow .ace_support.ace_type {color: #8959A8}.ace-tomorrow .ace_keyword.ace_operator {color: #3E999F}.ace-tomorrow .ace_constant.ace_character,.ace-tomorrow .ace_constant.ace_language,.ace-tomorrow .ace_constant.ace_numeric,.ace-tomorrow .ace_keyword.ace_other.ace_unit,.ace-tomorrow .ace_support.ace_constant,.ace-tomorrow .ace_variable.ace_parameter {color: #F5871F}.ace-tomorrow .ace_constant.ace_other {color: #666969}.ace-tomorrow .ace_invalid {color: #FFFFFF;background-color: #C82829}.ace-tomorrow .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #8959A8}.ace-tomorrow .ace_fold {background-color: #4271AE;border-color: #4D4D4C}.ace-tomorrow .ace_entity.ace_name.ace_function,.ace-tomorrow .ace_support.ace_function,.ace-tomorrow .ace_variable {color: #4271AE}.ace-tomorrow .ace_support.ace_class,.ace-tomorrow .ace_support.ace_type {color: #C99E00}.ace-tomorrow .ace_heading,.ace-tomorrow .ace_markup.ace_heading,.ace-tomorrow .ace_string {color: #718C00}.ace-tomorrow .ace_entity.ace_name.ace_tag,.ace-tomorrow .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow .ace_meta.ace_tag,.ace-tomorrow .ace_string.ace_regexp,.ace-tomorrow .ace_variable {color: #C82829}.ace-tomorrow .ace_comment {color: #8E908C}.ace-tomorrow .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-tomorrow_night.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/tomorrow_night",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night",t.cssText=".ace-tomorrow-night .ace_gutter {background: #25282c;color: #C5C8C6}.ace-tomorrow-night .ace_print-margin {width: 1px;background: #25282c}.ace-tomorrow-night {background-color: #1D1F21;color: #C5C8C6}.ace-tomorrow-night .ace_cursor {color: #AEAFAD}.ace-tomorrow-night .ace_marker-layer .ace_selection {background: #373B41}.ace-tomorrow-night.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1D1F21;border-radius: 2px}.ace-tomorrow-night .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #4B4E55}.ace-tomorrow-night .ace_marker-layer .ace_active-line {background: #282A2E}.ace-tomorrow-night .ace_gutter-active-line {background-color: #282A2E}.ace-tomorrow-night .ace_marker-layer .ace_selected-word {border: 1px solid #373B41}.ace-tomorrow-night .ace_invisible {color: #4B4E55}.ace-tomorrow-night .ace_keyword,.ace-tomorrow-night .ace_meta,.ace-tomorrow-night .ace_storage,.ace-tomorrow-night .ace_storage.ace_type,.ace-tomorrow-night .ace_support.ace_type {color: #B294BB}.ace-tomorrow-night .ace_keyword.ace_operator {color: #8ABEB7}.ace-tomorrow-night .ace_constant.ace_character,.ace-tomorrow-night .ace_constant.ace_language,.ace-tomorrow-night .ace_constant.ace_numeric,.ace-tomorrow-night .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night .ace_support.ace_constant,.ace-tomorrow-night .ace_variable.ace_parameter {color: #DE935F}.ace-tomorrow-night .ace_constant.ace_other {color: #CED1CF}.ace-tomorrow-night .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night .ace_fold {background-color: #81A2BE;border-color: #C5C8C6}.ace-tomorrow-night .ace_entity.ace_name.ace_function,.ace-tomorrow-night .ace_support.ace_function,.ace-tomorrow-night .ace_variable {color: #81A2BE}.ace-tomorrow-night .ace_support.ace_class,.ace-tomorrow-night .ace_support.ace_type {color: #F0C674}.ace-tomorrow-night .ace_heading,.ace-tomorrow-night .ace_markup.ace_heading,.ace-tomorrow-night .ace_string {color: #B5BD68}.ace-tomorrow-night .ace_entity.ace_name.ace_tag,.ace-tomorrow-night .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night .ace_meta.ace_tag,.ace-tomorrow-night .ace_string.ace_regexp,.ace-tomorrow-night .ace_variable {color: #CC6666}.ace-tomorrow-night .ace_comment {color: #969896}.ace-tomorrow-night .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-tomorrow_night_blue.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/tomorrow_night_blue",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-blue",t.cssText=".ace-tomorrow-night-blue .ace_gutter {background: #00204b;color: #7388b5}.ace-tomorrow-night-blue .ace_print-margin {width: 1px;background: #00204b}.ace-tomorrow-night-blue {background-color: #002451;color: #FFFFFF}.ace-tomorrow-night-blue .ace_constant.ace_other,.ace-tomorrow-night-blue .ace_cursor {color: #FFFFFF}.ace-tomorrow-night-blue .ace_marker-layer .ace_selection {background: #003F8E}.ace-tomorrow-night-blue.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002451;border-radius: 2px}.ace-tomorrow-night-blue .ace_marker-layer .ace_step {background: rgb(127, 111, 19)}.ace-tomorrow-night-blue .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404F7D}.ace-tomorrow-night-blue .ace_marker-layer .ace_active-line {background: #00346E}.ace-tomorrow-night-blue .ace_gutter-active-line {background-color: #022040}.ace-tomorrow-night-blue .ace_marker-layer .ace_selected-word {border: 1px solid #003F8E}.ace-tomorrow-night-blue .ace_invisible {color: #404F7D}.ace-tomorrow-night-blue .ace_keyword,.ace-tomorrow-night-blue .ace_meta,.ace-tomorrow-night-blue .ace_storage,.ace-tomorrow-night-blue .ace_storage.ace_type,.ace-tomorrow-night-blue .ace_support.ace_type {color: #EBBBFF}.ace-tomorrow-night-blue .ace_keyword.ace_operator {color: #99FFFF}.ace-tomorrow-night-blue .ace_constant.ace_character,.ace-tomorrow-night-blue .ace_constant.ace_language,.ace-tomorrow-night-blue .ace_constant.ace_numeric,.ace-tomorrow-night-blue .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-blue .ace_support.ace_constant,.ace-tomorrow-night-blue .ace_variable.ace_parameter {color: #FFC58F}.ace-tomorrow-night-blue .ace_invalid {color: #FFFFFF;background-color: #F99DA5}.ace-tomorrow-night-blue .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #EBBBFF}.ace-tomorrow-night-blue .ace_fold {background-color: #BBDAFF;border-color: #FFFFFF}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_function,.ace-tomorrow-night-blue .ace_support.ace_function,.ace-tomorrow-night-blue .ace_variable {color: #BBDAFF}.ace-tomorrow-night-blue .ace_support.ace_class,.ace-tomorrow-night-blue .ace_support.ace_type {color: #FFEEAD}.ace-tomorrow-night-blue .ace_heading,.ace-tomorrow-night-blue .ace_markup.ace_heading,.ace-tomorrow-night-blue .ace_string {color: #D1F1A9}.ace-tomorrow-night-blue .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-blue .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-blue .ace_meta.ace_tag,.ace-tomorrow-night-blue .ace_string.ace_regexp,.ace-tomorrow-night-blue .ace_variable {color: #FF9DA4}.ace-tomorrow-night-blue .ace_comment {color: #7285B7}.ace-tomorrow-night-blue .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYJDzqfwPAANXAeNsiA+ZAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-tomorrow_night_bright.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/tomorrow_night_bright",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-bright",t.cssText=".ace-tomorrow-night-bright .ace_gutter {background: #1a1a1a;color: #DEDEDE}.ace-tomorrow-night-bright .ace_print-margin {width: 1px;background: #1a1a1a}.ace-tomorrow-night-bright {background-color: #000000;color: #DEDEDE}.ace-tomorrow-night-bright .ace_cursor {color: #9F9F9F}.ace-tomorrow-night-bright .ace_marker-layer .ace_selection {background: #424242}.ace-tomorrow-night-bright.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #000000;border-radius: 2px}.ace-tomorrow-night-bright .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night-bright .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #888888}.ace-tomorrow-night-bright .ace_marker-layer .ace_highlight {border: 1px solid rgb(110, 119, 0);border-bottom: 0;box-shadow: inset 0 -1px rgb(110, 119, 0);margin: -1px 0 0 -1px;background: rgba(255, 235, 0, 0.1);}.ace-tomorrow-night-bright .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-tomorrow-night-bright .ace_gutter-active-line {background-color: #2A2A2A}.ace-tomorrow-night-bright .ace_stack {background-color: rgb(66, 90, 44)}.ace-tomorrow-night-bright .ace_marker-layer .ace_selected-word {border: 1px solid #888888}.ace-tomorrow-night-bright .ace_invisible {color: #343434}.ace-tomorrow-night-bright .ace_keyword,.ace-tomorrow-night-bright .ace_meta,.ace-tomorrow-night-bright .ace_storage,.ace-tomorrow-night-bright .ace_storage.ace_type,.ace-tomorrow-night-bright .ace_support.ace_type {color: #C397D8}.ace-tomorrow-night-bright .ace_keyword.ace_operator {color: #70C0B1}.ace-tomorrow-night-bright .ace_constant.ace_character,.ace-tomorrow-night-bright .ace_constant.ace_language,.ace-tomorrow-night-bright .ace_constant.ace_numeric,.ace-tomorrow-night-bright .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-bright .ace_support.ace_constant,.ace-tomorrow-night-bright .ace_variable.ace_parameter {color: #E78C45}.ace-tomorrow-night-bright .ace_constant.ace_other {color: #EEEEEE}.ace-tomorrow-night-bright .ace_invalid {color: #CED2CF;background-color: #DF5F5F}.ace-tomorrow-night-bright .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-tomorrow-night-bright .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_function,.ace-tomorrow-night-bright .ace_support.ace_function,.ace-tomorrow-night-bright .ace_variable {color: #7AA6DA}.ace-tomorrow-night-bright .ace_support.ace_class,.ace-tomorrow-night-bright .ace_support.ace_type {color: #E7C547}.ace-tomorrow-night-bright .ace_heading,.ace-tomorrow-night-bright .ace_markup.ace_heading,.ace-tomorrow-night-bright .ace_string {color: #B9CA4A}.ace-tomorrow-night-bright .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-bright .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-bright .ace_meta.ace_tag,.ace-tomorrow-night-bright .ace_string.ace_regexp,.ace-tomorrow-night-bright .ace_variable {color: #D54E53}.ace-tomorrow-night-bright .ace_comment {color: #969896}.ace-tomorrow-night-bright .ace_c9searchresults.ace_keyword {color: #C2C280;}.ace-tomorrow-night-bright .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-tomorrow_night_eighties.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/tomorrow_night_eighties",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-tomorrow-night-eighties",t.cssText=".ace-tomorrow-night-eighties .ace_gutter {background: #272727;color: #CCC}.ace-tomorrow-night-eighties .ace_print-margin {width: 1px;background: #272727}.ace-tomorrow-night-eighties {background-color: #2D2D2D;color: #CCCCCC}.ace-tomorrow-night-eighties .ace_constant.ace_other,.ace-tomorrow-night-eighties .ace_cursor {color: #CCCCCC}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selection {background: #515151}.ace-tomorrow-night-eighties.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2D2D2D;border-radius: 2px}.ace-tomorrow-night-eighties .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #6A6A6A}.ace-tomorrow-night-bright .ace_stack {background: rgb(66, 90, 44)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_active-line {background: #393939}.ace-tomorrow-night-eighties .ace_gutter-active-line {background-color: #393939}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selected-word {border: 1px solid #515151}.ace-tomorrow-night-eighties .ace_invisible {color: #6A6A6A}.ace-tomorrow-night-eighties .ace_keyword,.ace-tomorrow-night-eighties .ace_meta,.ace-tomorrow-night-eighties .ace_storage,.ace-tomorrow-night-eighties .ace_storage.ace_type,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #CC99CC}.ace-tomorrow-night-eighties .ace_keyword.ace_operator {color: #66CCCC}.ace-tomorrow-night-eighties .ace_constant.ace_character,.ace-tomorrow-night-eighties .ace_constant.ace_language,.ace-tomorrow-night-eighties .ace_constant.ace_numeric,.ace-tomorrow-night-eighties .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-eighties .ace_support.ace_constant,.ace-tomorrow-night-eighties .ace_variable.ace_parameter {color: #F99157}.ace-tomorrow-night-eighties .ace_invalid {color: #CDCDCD;background-color: #F2777A}.ace-tomorrow-night-eighties .ace_invalid.ace_deprecated {color: #CDCDCD;background-color: #CC99CC}.ace-tomorrow-night-eighties .ace_fold {background-color: #6699CC;border-color: #CCCCCC}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function,.ace-tomorrow-night-eighties .ace_support.ace_function,.ace-tomorrow-night-eighties .ace_variable {color: #6699CC}.ace-tomorrow-night-eighties .ace_support.ace_class,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #FFCC66}.ace-tomorrow-night-eighties .ace_heading,.ace-tomorrow-night-eighties .ace_markup.ace_heading,.ace-tomorrow-night-eighties .ace_string {color: #99CC99}.ace-tomorrow-night-eighties .ace_comment {color: #999999}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-eighties .ace_meta.ace_tag,.ace-tomorrow-night-eighties .ace_variable {color: #F2777A}.ace-tomorrow-night-eighties .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ09NrYAgMjP4PAAtGAwchHMyAAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-twilight.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/twilight",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-twilight",t.cssText=".ace-twilight .ace_gutter {background: #232323;color: #E2E2E2}.ace-twilight .ace_print-margin {width: 1px;background: #232323}.ace-twilight {background-color: #141414;color: #F8F8F8}.ace-twilight .ace_cursor {color: #A7A7A7}.ace-twilight .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-twilight.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #141414;border-radius: 2px}.ace-twilight .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-twilight .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-twilight .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-twilight .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-twilight .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-twilight .ace_keyword,.ace-twilight .ace_meta {color: #CDA869}.ace-twilight .ace_constant,.ace-twilight .ace_constant.ace_character,.ace-twilight .ace_constant.ace_character.ace_escape,.ace-twilight .ace_constant.ace_other,.ace-twilight .ace_heading,.ace-twilight .ace_markup.ace_heading,.ace-twilight .ace_support.ace_constant {color: #CF6A4C}.ace-twilight .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-twilight .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-twilight .ace_support {color: #9B859D}.ace-twilight .ace_fold {background-color: #AC885B;border-color: #F8F8F8}.ace-twilight .ace_support.ace_function {color: #DAD085}.ace-twilight .ace_list,.ace-twilight .ace_markup.ace_list,.ace-twilight .ace_storage {color: #F9EE98}.ace-twilight .ace_entity.ace_name.ace_function,.ace-twilight .ace_meta.ace_tag,.ace-twilight .ace_variable {color: #AC885B}.ace-twilight .ace_string {color: #8F9D6A}.ace-twilight .ace_string.ace_regexp {color: #E9C062}.ace-twilight .ace_comment {font-style: italic;color: #5F5A60}.ace-twilight .ace_variable {color: #7587A6}.ace-twilight .ace_xml-pe {color: #494949}.ace-twilight .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-vibrant_ink.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/vibrant_ink",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-vibrant-ink",t.cssText=".ace-vibrant-ink .ace_gutter {background: #1a1a1a;color: #BEBEBE}.ace-vibrant-ink .ace_print-margin {width: 1px;background: #1a1a1a}.ace-vibrant-ink {background-color: #0F0F0F;color: #FFFFFF}.ace-vibrant-ink .ace_cursor {color: #FFFFFF}.ace-vibrant-ink .ace_marker-layer .ace_selection {background: #6699CC}.ace-vibrant-ink.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #0F0F0F;border-radius: 2px}.ace-vibrant-ink .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-vibrant-ink .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-vibrant-ink .ace_marker-layer .ace_active-line {background: #333333}.ace-vibrant-ink .ace_gutter-active-line {background-color: #333333}.ace-vibrant-ink .ace_marker-layer .ace_selected-word {border: 1px solid #6699CC}.ace-vibrant-ink .ace_invisible {color: #404040}.ace-vibrant-ink .ace_keyword,.ace-vibrant-ink .ace_meta {color: #FF6600}.ace-vibrant-ink .ace_constant,.ace-vibrant-ink .ace_constant.ace_character,.ace-vibrant-ink .ace_constant.ace_character.ace_escape,.ace-vibrant-ink .ace_constant.ace_other {color: #339999}.ace-vibrant-ink .ace_constant.ace_numeric {color: #99CC99}.ace-vibrant-ink .ace_invalid,.ace-vibrant-ink .ace_invalid.ace_deprecated {color: #CCFF33;background-color: #000000}.ace-vibrant-ink .ace_fold {background-color: #FFCC00;border-color: #FFFFFF}.ace-vibrant-ink .ace_entity.ace_name.ace_function,.ace-vibrant-ink .ace_support.ace_function,.ace-vibrant-ink .ace_variable {color: #FFCC00}.ace-vibrant-ink .ace_variable.ace_parameter {font-style: italic}.ace-vibrant-ink .ace_string {color: #66FF00}.ace-vibrant-ink .ace_string.ace_regexp {color: #44B4CC}.ace-vibrant-ink .ace_comment {color: #9933CC}.ace-vibrant-ink .ace_entity.ace_other.ace_attribute-name {font-style: italic;color: #99CC99}.ace-vibrant-ink .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYNDTc/oPAALPAZ7hxlbYAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ace/theme-xcode.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
ace.define("ace/theme/xcode",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-xcode",t.cssText=".ace-xcode .ace_gutter,/* THIS THEME WAS AUTOGENERATED BY Theme.tmpl.css (UUID: EE3AD170-2B7F-4DE1-B724-C75F13FE0085) */.ace-xcode .ace_gutter {background: #e8e8e8;color: #333}.ace-xcode .ace_print-margin {width: 1px;background: #e8e8e8}.ace-xcode {background-color: #FFFFFF;color: #000000}.ace-xcode .ace_cursor {color: #000000}.ace-xcode .ace_marker-layer .ace_selection {background: #B5D5FF}.ace-xcode.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;border-radius: 2px}.ace-xcode .ace_marker-layer .ace_step {background: rgb(198, 219, 174)}.ace-xcode .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #BFBFBF}.ace-xcode .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.071)}.ace-xcode .ace_marker-layer .ace_selected-word {border: 1px solid #B5D5FF}.ace-xcode .ace_constant.ace_language,.ace-xcode .ace_keyword,.ace-xcode .ace_meta,.ace-xcode .ace_variable.ace_language {color: #C800A4}.ace-xcode .ace_invisible {color: #BFBFBF}.ace-xcode .ace_constant.ace_character,.ace-xcode .ace_constant.ace_other {color: #275A5E}.ace-xcode .ace_constant.ace_numeric {color: #3A00DC}.ace-xcode .ace_entity.ace_other.ace_attribute-name,.ace-xcode .ace_support.ace_constant,.ace-xcode .ace_support.ace_function {color: #450084}.ace-xcode .ace_fold {background-color: #C800A4;border-color: #000000}.ace-xcode .ace_entity.ace_name.ace_tag,.ace-xcode .ace_support.ace_class,.ace-xcode .ace_support.ace_type {color: #790EAD}.ace-xcode .ace_storage {color: #C900A4}.ace-xcode .ace_string {color: #DF0002}.ace-xcode .ace_comment {color: #008E00}.ace-xcode .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)})
|
|
framework/js/ajax/cjt-module-server/cjt-module-server.js
ADDED
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* @version $ Id; cjtserver.js 21-03-2012 03:22:10 Ahmed Said $
|
3 |
+
*
|
4 |
+
* CJT Ajax core class.
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*
|
8 |
+
* Put CJTServer class at global scope.
|
9 |
+
*/
|
10 |
+
var CJTModuleServer;
|
11 |
+
|
12 |
+
/*
|
13 |
+
* JQuery wrapper for the CJTServer object.
|
14 |
+
*/
|
15 |
+
(function($){
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Module server prototype
|
19 |
+
*
|
20 |
+
* @param moduleName
|
21 |
+
*/
|
22 |
+
CJTModuleServer = function(moduleName) {
|
23 |
+
|
24 |
+
/**
|
25 |
+
* put your comment there...
|
26 |
+
*
|
27 |
+
* @param moduleName
|
28 |
+
*/
|
29 |
+
var $this = this;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* put your comment there...
|
33 |
+
*
|
34 |
+
* @type Object
|
35 |
+
*/
|
36 |
+
var CJTServer = window.top.CJTServer;
|
37 |
+
|
38 |
+
/**
|
39 |
+
*
|
40 |
+
*/
|
41 |
+
this.moduleNameParamName = 'cjtajaxmodule';
|
42 |
+
|
43 |
+
/**
|
44 |
+
* put your comment there...
|
45 |
+
*
|
46 |
+
* @param data
|
47 |
+
*/
|
48 |
+
var injectModuleName = function(data) {
|
49 |
+
// Copy data object
|
50 |
+
var newData = $.extend({}, data);
|
51 |
+
/// Inject Module
|
52 |
+
newData[$this.moduleNameParamName] = moduleName;
|
53 |
+
// Return new data
|
54 |
+
return newData;
|
55 |
+
};
|
56 |
+
|
57 |
+
/**
|
58 |
+
*
|
59 |
+
*/
|
60 |
+
this.getRequestURL = function(controller, action, data) {
|
61 |
+
return CJTServer.getRequestURL(controller, action, injectModuleName(data));
|
62 |
+
};
|
63 |
+
|
64 |
+
/**
|
65 |
+
*
|
66 |
+
*/
|
67 |
+
this.send = function(controller, action, data, requestMethod, returnType, inSettings) {
|
68 |
+
// Add module name to the request parameters
|
69 |
+
|
70 |
+
// Requesting CJT Service
|
71 |
+
return CJTServer.send(controller,
|
72 |
+
action,
|
73 |
+
injectModuleName(data),
|
74 |
+
requestMethod,
|
75 |
+
returnType,
|
76 |
+
inSettings);
|
77 |
+
};
|
78 |
+
|
79 |
+
};
|
80 |
+
|
81 |
+
})(jQuery);
|
framework/js/ajax/cjt-server/cjt-server.js
CHANGED
@@ -55,6 +55,7 @@ var CJTServer;
|
|
55 |
packages : 'packages',
|
56 |
packageFile : 'package-file',
|
57 |
'package' : 'package',
|
|
|
58 |
},
|
59 |
|
60 |
/*
|
@@ -141,12 +142,12 @@ var CJTServer;
|
|
141 |
getRequestObject : function(controller, action, data) {
|
142 |
var requestObject = {};
|
143 |
var requestTime = new Date();
|
|
|
|
|
144 |
// CJT Wordpress Ajax Access Point!
|
145 |
var accessPoint = this.pageId + '_api';
|
146 |
// Action & Controller parameter always in the URL -- not posted.
|
147 |
-
var queryString = 'action=' + accessPoint +
|
148 |
-
'&controller=' + CJTServer.controllers[controller] +
|
149 |
-
'&CJTAjaxAction=' + action;
|
150 |
var url = CJTServer.ajaxURL + '?' + queryString;
|
151 |
// Prepare request object.
|
152 |
var requestToken = {
|
55 |
packages : 'packages',
|
56 |
packageFile : 'package-file',
|
57 |
'package' : 'package',
|
58 |
+
tools : 'tools'
|
59 |
},
|
60 |
|
61 |
/*
|
142 |
getRequestObject : function(controller, action, data) {
|
143 |
var requestObject = {};
|
144 |
var requestTime = new Date();
|
145 |
+
// Stop controller name mapping!!!
|
146 |
+
controller = (CJTServer.controllers[controller] !== undefined) ? CJTServer.controllers[controller] : controller;
|
147 |
// CJT Wordpress Ajax Access Point!
|
148 |
var accessPoint = this.pageId + '_api';
|
149 |
// Action & Controller parameter always in the URL -- not posted.
|
150 |
+
var queryString = 'action=' + accessPoint + '&controller=' + controller + '&CJTAjaxAction=' + action;
|
|
|
|
|
151 |
var url = CJTServer.ajaxURL + '?' + queryString;
|
152 |
// Prepare request object.
|
153 |
var requestToken = {
|
framework/mvc/controller-ajax.inc.php
CHANGED
@@ -92,6 +92,15 @@ abstract class CJTAjaxController extends CJTController {
|
|
92 |
$this->httpCode = "403 Not Authorized";
|
93 |
}
|
94 |
else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
// Dispatch action.
|
96 |
$action = current_filter();
|
97 |
// Get method name from frrom Wordpress action name!
|
92 |
$this->httpCode = "403 Not Authorized";
|
93 |
}
|
94 |
else {
|
95 |
+
// Clear Wordpress scripts object when using AJAX
|
96 |
+
// This is to solve conflict caused by other Plugins
|
97 |
+
// That uses admin_init hook to enqueue their scripts
|
98 |
+
// Ajax request here is only for CJT no other Plugin
|
99 |
+
// should involve any scripts with CJT
|
100 |
+
// Remove all scritps enqueued before CJT Ajax Controller (this) received
|
101 |
+
// the controller!
|
102 |
+
global $wp_scripts;
|
103 |
+
$wp_scripts = new WP_Scripts();
|
104 |
// Dispatch action.
|
105 |
$action = current_filter();
|
106 |
// Get method name from frrom Wordpress action name!
|
framework/mvc/controller.inc.php
CHANGED
@@ -98,9 +98,14 @@ abstract class CJTController extends CJTHookableClass {
|
|
98 |
*
|
99 |
* @param mixed $hasView
|
100 |
* @param mixed $request
|
|
|
|
|
101 |
* @return CJTController
|
102 |
*/
|
103 |
-
public function __construct($hasView = null,
|
|
|
|
|
|
|
104 |
// Initialize hookable!
|
105 |
parent::__construct();
|
106 |
// Read request parameters.
|
@@ -111,7 +116,11 @@ abstract class CJTController extends CJTHookableClass {
|
|
111 |
if (!isset($this->controllerInfo['model_file'])) {
|
112 |
$this->controllerInfo['model_file'] = null;
|
113 |
}
|
114 |
-
$this->model = CJTModel::create($this->controllerInfo['model'],
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
// Create default view.
|
117 |
if ($hasView === null) { // Default value for $hasView = true
|
@@ -120,7 +129,10 @@ abstract class CJTController extends CJTHookableClass {
|
|
120 |
(isset($this->controllerInfo['view']) ? $this->controllerInfo['view'] : null)
|
121 |
);
|
122 |
if ($view) {
|
123 |
-
$this->view = self::getView($view
|
|
|
|
|
|
|
124 |
// Push data into view.
|
125 |
->setModel($this->model)
|
126 |
->setRequest($this->request);
|
@@ -151,20 +163,25 @@ abstract class CJTController extends CJTHookableClass {
|
|
151 |
/**
|
152 |
* put your comment there...
|
153 |
*
|
154 |
-
* @deprecated Use CJTController::getInstance() instead!
|
155 |
-
*
|
156 |
* @param mixed $name
|
|
|
157 |
* @param mixed $request
|
|
|
|
|
158 |
*/
|
159 |
-
public static function create($name,
|
|
|
|
|
|
|
|
|
160 |
// Import controller file.
|
161 |
-
$pathToControllers = CJTOOLBOX_CONTROLLERS_PATH;
|
162 |
$controllerFile = "{$pathToControllers}/{$name}.php";
|
163 |
require_once self::trigger('CJTController.loadcontroller', $controllerFile, $name);
|
164 |
// Get controller class name.
|
165 |
-
$class = self::getClassName($name, 'Controller');
|
166 |
// Instantiate controller class.
|
167 |
-
return new $class($hasView, $request);
|
168 |
}
|
169 |
|
170 |
/**
|
@@ -188,16 +205,21 @@ abstract class CJTController extends CJTHookableClass {
|
|
188 |
$content = ob_get_clean();
|
189 |
return $content;
|
190 |
}
|
191 |
-
|
192 |
/**
|
193 |
* put your comment there...
|
194 |
*
|
195 |
* @param mixed $name
|
196 |
* @param mixed $hasView
|
197 |
* @param mixed $request
|
|
|
198 |
*/
|
199 |
-
public static function getInstance($name,
|
200 |
-
|
|
|
|
|
|
|
|
|
201 |
}
|
202 |
|
203 |
/**
|
@@ -205,9 +227,13 @@ abstract class CJTController extends CJTHookableClass {
|
|
205 |
*
|
206 |
* @deprecated No longer used.
|
207 |
*/
|
208 |
-
public static function getModel($name,
|
|
|
|
|
|
|
|
|
209 |
$model = null;
|
210 |
-
$pathToModels = CJTOOLBOX_MODELS_PATH;
|
211 |
if (!$file) {
|
212 |
$file = $name;
|
213 |
}
|
@@ -215,7 +241,7 @@ abstract class CJTController extends CJTHookableClass {
|
|
215 |
$modelFile = "{$pathToModels}/{$file}.php";
|
216 |
require_once $modelFile;
|
217 |
// Create model object.
|
218 |
-
$modelClass = self::getClassName($name, 'Model');
|
219 |
if (!class_exists($modelClass)) {
|
220 |
throw new Exception("Model class {$modelClass} doesn't exists!!!");
|
221 |
}
|
@@ -226,14 +252,19 @@ abstract class CJTController extends CJTHookableClass {
|
|
226 |
/**
|
227 |
* @deprecated No longer used.
|
228 |
*/
|
229 |
-
public static function getClassName($name, $type) {
|
|
|
230 |
$className = '';
|
|
|
|
|
|
|
|
|
231 |
// Every word start with uppercase character.
|
232 |
$sanitizedName = ucfirst(str_replace(array('-', '_'), ' ', "{$name} {$type}"));
|
233 |
// Remove spaces.
|
234 |
$sanitizedName = str_replace(' ', '', $sanitizedName);
|
235 |
// Filter.
|
236 |
-
$className = self::trigger('CJTController.getclassname', "
|
237 |
return $className;
|
238 |
}
|
239 |
|
@@ -252,14 +283,17 @@ abstract class CJTController extends CJTHookableClass {
|
|
252 |
*
|
253 |
* @deprecated
|
254 |
*/
|
255 |
-
public static function getView($path,
|
|
|
|
|
|
|
256 |
$view = null;
|
257 |
// Import view file.
|
258 |
-
$viewInfo = self::getViewInfo($path);
|
259 |
require_once $viewInfo['viewFile'];
|
260 |
// Create view object.
|
261 |
$name = str_replace(' ', '', ucwords(str_replace('/', ' ',$path)));
|
262 |
-
$viewClass = self::getClassName($name, 'view');
|
263 |
$view = new $viewClass($viewInfo, $params);
|
264 |
return $view;
|
265 |
}
|
@@ -268,16 +302,22 @@ abstract class CJTController extends CJTHookableClass {
|
|
268 |
* put your comment there...
|
269 |
*
|
270 |
*/
|
271 |
-
public static function getViewInfo($path) {
|
|
|
|
|
|
|
|
|
272 |
// Path to views dir.
|
273 |
-
$pathToViews = CJTOOLBOX_VIEWS_PATH;
|
274 |
// Get view name.
|
275 |
$name = basename($path);
|
276 |
// View info struct.
|
277 |
$viewInfo = array(
|
278 |
'name' => $path,
|
279 |
-
'url' =>
|
280 |
'path' => "{$pathToViews}/{$path}",
|
|
|
|
|
281 |
'viewFile' => "{$pathToViews}/{$path}/view.php",
|
282 |
);
|
283 |
return $viewInfo;
|
98 |
*
|
99 |
* @param mixed $hasView
|
100 |
* @param mixed $request
|
101 |
+
* @param mixed $overrideControllerPath
|
102 |
+
* @param mixed $overrideContollerPrefix
|
103 |
* @return CJTController
|
104 |
*/
|
105 |
+
public function __construct($hasView = null,
|
106 |
+
$request = null,
|
107 |
+
$overrideControllerPath = null,
|
108 |
+
$overrideContollerPrefix = null) {
|
109 |
// Initialize hookable!
|
110 |
parent::__construct();
|
111 |
// Read request parameters.
|
116 |
if (!isset($this->controllerInfo['model_file'])) {
|
117 |
$this->controllerInfo['model_file'] = null;
|
118 |
}
|
119 |
+
$this->model = CJTModel::create($this->controllerInfo['model'],
|
120 |
+
$this->request,
|
121 |
+
$this->controllerInfo['model_file'],
|
122 |
+
dirname($overrideControllerPath),
|
123 |
+
$overrideContollerPrefix);
|
124 |
}
|
125 |
// Create default view.
|
126 |
if ($hasView === null) { // Default value for $hasView = true
|
129 |
(isset($this->controllerInfo['view']) ? $this->controllerInfo['view'] : null)
|
130 |
);
|
131 |
if ($view) {
|
132 |
+
$this->view = self::getView($view,
|
133 |
+
null,
|
134 |
+
dirname($overrideControllerPath),
|
135 |
+
$overrideContollerPrefix)
|
136 |
// Push data into view.
|
137 |
->setModel($this->model)
|
138 |
->setRequest($this->request);
|
163 |
/**
|
164 |
* put your comment there...
|
165 |
*
|
|
|
|
|
166 |
* @param mixed $name
|
167 |
+
* @param mixed $hasView
|
168 |
* @param mixed $request
|
169 |
+
* @param mixed $overrideControllersPath
|
170 |
+
* @param mixed $overrideControllersPrefix
|
171 |
*/
|
172 |
+
public static function create($name,
|
173 |
+
$hasView = null,
|
174 |
+
$request = null,
|
175 |
+
$overrideControllersPath = null,
|
176 |
+
$overrideControllersPrefix = null) {
|
177 |
// Import controller file.
|
178 |
+
$pathToControllers = $overrideControllersPath ? $overrideControllersPath : CJTOOLBOX_CONTROLLERS_PATH;
|
179 |
$controllerFile = "{$pathToControllers}/{$name}.php";
|
180 |
require_once self::trigger('CJTController.loadcontroller', $controllerFile, $name);
|
181 |
// Get controller class name.
|
182 |
+
$class = self::getClassName($name, 'Controller', $overrideControllersPrefix);
|
183 |
// Instantiate controller class.
|
184 |
+
return new $class($hasView, $request, $overrideControllersPath, $overrideControllersPrefix);
|
185 |
}
|
186 |
|
187 |
/**
|
205 |
$content = ob_get_clean();
|
206 |
return $content;
|
207 |
}
|
208 |
+
|
209 |
/**
|
210 |
* put your comment there...
|
211 |
*
|
212 |
* @param mixed $name
|
213 |
* @param mixed $hasView
|
214 |
* @param mixed $request
|
215 |
+
* @param mixed $overrideControllersPath
|
216 |
*/
|
217 |
+
public static function getInstance($name,
|
218 |
+
$hasView = null,
|
219 |
+
$request = null,
|
220 |
+
$overrideControllersPath = null,
|
221 |
+
$overrideControllersPrefix = null) {
|
222 |
+
return self::create($name, $hasView, $request, $overrideControllersPath, $overrideControllersPrefix);
|
223 |
}
|
224 |
|
225 |
/**
|
227 |
*
|
228 |
* @deprecated No longer used.
|
229 |
*/
|
230 |
+
public static function getModel($name,
|
231 |
+
$params = array(),
|
232 |
+
$file = null,
|
233 |
+
$overrideModelsPath = null,
|
234 |
+
$overrideModelsPrefix = null) {
|
235 |
$model = null;
|
236 |
+
$pathToModels = $overrideModelsPath ? ($overrideModelsPath . DIRECTORY_SEPARATOR . 'models') : CJTOOLBOX_MODELS_PATH;
|
237 |
if (!$file) {
|
238 |
$file = $name;
|
239 |
}
|
241 |
$modelFile = "{$pathToModels}/{$file}.php";
|
242 |
require_once $modelFile;
|
243 |
// Create model object.
|
244 |
+
$modelClass = self::getClassName($name, 'Model', $overrideModelsPrefix);
|
245 |
if (!class_exists($modelClass)) {
|
246 |
throw new Exception("Model class {$modelClass} doesn't exists!!!");
|
247 |
}
|
252 |
/**
|
253 |
* @deprecated No longer used.
|
254 |
*/
|
255 |
+
public static function getClassName($name, $type, $prefix = null) {
|
256 |
+
// Init vars
|
257 |
$className = '';
|
258 |
+
// Getting default prefix
|
259 |
+
if (!$prefix) {
|
260 |
+
$prefix = 'CJT';
|
261 |
+
}
|
262 |
// Every word start with uppercase character.
|
263 |
$sanitizedName = ucfirst(str_replace(array('-', '_'), ' ', "{$name} {$type}"));
|
264 |
// Remove spaces.
|
265 |
$sanitizedName = str_replace(' ', '', $sanitizedName);
|
266 |
// Filter.
|
267 |
+
$className = self::trigger('CJTController.getclassname', "{$prefix}{$sanitizedName}", $name, $type);
|
268 |
return $className;
|
269 |
}
|
270 |
|
283 |
*
|
284 |
* @deprecated
|
285 |
*/
|
286 |
+
public static function getView($path,
|
287 |
+
$params = null,
|
288 |
+
$overrideViewsPath = null,
|
289 |
+
$overrideViewsPrefix = null) {
|
290 |
$view = null;
|
291 |
// Import view file.
|
292 |
+
$viewInfo = self::getViewInfo($path, $overrideViewsPath, $overrideViewsPrefix);
|
293 |
require_once $viewInfo['viewFile'];
|
294 |
// Create view object.
|
295 |
$name = str_replace(' ', '', ucwords(str_replace('/', ' ',$path)));
|
296 |
+
$viewClass = self::getClassName($name, 'view', $overrideViewsPrefix);
|
297 |
$view = new $viewClass($viewInfo, $params);
|
298 |
return $view;
|
299 |
}
|
302 |
* put your comment there...
|
303 |
*
|
304 |
*/
|
305 |
+
public static function getViewInfo($path, $overrideViewsPath = null, $overrideViewsPrefix = null) {
|
306 |
+
// Plugin views Url
|
307 |
+
$viewsUrl = $overrideViewsPath ?
|
308 |
+
WP_PLUGIN_URL . '/' . basename(dirname($overrideViewsPath)) :
|
309 |
+
CJTOOLBOX_VIEWS_URL;
|
310 |
// Path to views dir.
|
311 |
+
$pathToViews = $overrideViewsPath ? ($overrideViewsPath . DIRECTORY_SEPARATOR . 'views') : CJTOOLBOX_VIEWS_PATH;
|
312 |
// Get view name.
|
313 |
$name = basename($path);
|
314 |
// View info struct.
|
315 |
$viewInfo = array(
|
316 |
'name' => $path,
|
317 |
+
'url' => "{$viewsUrl}/{$path}",
|
318 |
'path' => "{$pathToViews}/{$path}",
|
319 |
+
'viewsPath' => $pathToViews,
|
320 |
+
'viewsUrl' => $viewsUrl,
|
321 |
'viewFile' => "{$pathToViews}/{$path}/view.php",
|
322 |
);
|
323 |
return $viewInfo;
|
framework/mvc/model.inc.php
CHANGED
@@ -35,8 +35,12 @@ abstract class CJTModel {
|
|
35 |
*
|
36 |
* @deprecated Use CJTModel::getInstance.
|
37 |
*/
|
38 |
-
public static function create($model,
|
39 |
-
|
|
|
|
|
|
|
|
|
40 |
}
|
41 |
|
42 |
/**
|
@@ -46,8 +50,12 @@ abstract class CJTModel {
|
|
46 |
* @param mixed $params
|
47 |
* @param mixed $file
|
48 |
*/
|
49 |
-
public static function getInstance($model,
|
50 |
-
|
|
|
|
|
|
|
|
|
51 |
}
|
52 |
|
53 |
/**
|
35 |
*
|
36 |
* @deprecated Use CJTModel::getInstance.
|
37 |
*/
|
38 |
+
public static function create($model,
|
39 |
+
$params = array(),
|
40 |
+
$file = null,
|
41 |
+
$overrideModelsPath = null,
|
42 |
+
$overrideModelsPrefix = null) {
|
43 |
+
return self::getInstance($model, $params, $file, $overrideModelsPath, $overrideModelsPrefix);
|
44 |
}
|
45 |
|
46 |
/**
|
50 |
* @param mixed $params
|
51 |
* @param mixed $file
|
52 |
*/
|
53 |
+
public static function getInstance($model,
|
54 |
+
$params = array(),
|
55 |
+
$file = null,
|
56 |
+
$overrideModelsPath = null,
|
57 |
+
$overrideModelsPrefix = null) {
|
58 |
+
return CJTController::getModel($model, $params, $file, $overrideModelsPath, $overrideModelsPrefix);
|
59 |
}
|
60 |
|
61 |
/**
|
framework/mvc/view.inc.php
CHANGED
@@ -203,7 +203,7 @@ abstract class CJTView extends CJTHookableClass {
|
|
203 |
* @param mixed $destination
|
204 |
*/
|
205 |
public function getPath($destination) {
|
206 |
-
return self::getViewPath($this->viewInfo['name'], $destination);
|
207 |
}
|
208 |
|
209 |
/**
|
@@ -236,12 +236,12 @@ abstract class CJTView extends CJTHookableClass {
|
|
236 |
}
|
237 |
// filter parameters.
|
238 |
$params = $this->ontemplateparameters($params, $name, $dir, $extension);
|
239 |
-
// Get template content into variable.
|
240 |
-
ob_start();
|
241 |
// Push params into the local scope.
|
242 |
extract($params);
|
243 |
// Templates collected under the view/tmpl directory.
|
244 |
$templateFile = $this->getPath("{$dir}/{$name}{$extension}");
|
|
|
|
|
245 |
require $this->onimporttemplate($templateFile);
|
246 |
$template = $this->onloadtemplate(ob_get_clean(), $name);
|
247 |
return $template;
|
@@ -252,7 +252,7 @@ abstract class CJTView extends CJTHookableClass {
|
|
252 |
*
|
253 |
*/
|
254 |
public function getURI($destination) {
|
255 |
-
return self::getViewURI($this->viewInfo['name'], $destination);
|
256 |
}
|
257 |
|
258 |
/**
|
@@ -261,8 +261,12 @@ abstract class CJTView extends CJTHookableClass {
|
|
261 |
* @param mixed $view
|
262 |
* @param mixed $destination
|
263 |
*/
|
264 |
-
public static function getViewPath($view, $destination) {
|
265 |
-
|
|
|
|
|
|
|
|
|
266 |
$destination = $destination ? "/{$destination}" : '';
|
267 |
return "{$viewPath}{$destination}";
|
268 |
}
|
@@ -270,10 +274,15 @@ abstract class CJTView extends CJTHookableClass {
|
|
270 |
/**
|
271 |
* put your comment there...
|
272 |
*
|
273 |
-
* @param mixed $
|
|
|
|
|
274 |
*/
|
275 |
-
public static function getViewURI($view, $destination) {
|
276 |
-
|
|
|
|
|
|
|
277 |
return "{$viewURI}/{$destination}";
|
278 |
}
|
279 |
|
@@ -398,7 +407,6 @@ abstract class CJTView extends CJTHookableClass {
|
|
398 |
// Plugin parts/components can use it to know how script file work.
|
399 |
$stack[$name]->cjt = (object) $stack[$name]->cjt;
|
400 |
}
|
401 |
-
|
402 |
// If localization file exists localize JS.
|
403 |
if (file_exists($localizationFile)) {
|
404 |
// Get localization text array.
|
203 |
* @param mixed $destination
|
204 |
*/
|
205 |
public function getPath($destination) {
|
206 |
+
return self::getViewPath($this->viewInfo['name'], $destination, $this->viewInfo['viewsPath']);
|
207 |
}
|
208 |
|
209 |
/**
|
236 |
}
|
237 |
// filter parameters.
|
238 |
$params = $this->ontemplateparameters($params, $name, $dir, $extension);
|
|
|
|
|
239 |
// Push params into the local scope.
|
240 |
extract($params);
|
241 |
// Templates collected under the view/tmpl directory.
|
242 |
$templateFile = $this->getPath("{$dir}/{$name}{$extension}");
|
243 |
+
// Get template content into variable.
|
244 |
+
ob_start();
|
245 |
require $this->onimporttemplate($templateFile);
|
246 |
$template = $this->onloadtemplate(ob_get_clean(), $name);
|
247 |
return $template;
|
252 |
*
|
253 |
*/
|
254 |
public function getURI($destination) {
|
255 |
+
return self::getViewURI($this->viewInfo['name'], $destination, $this->viewInfo['viewsUrl']);
|
256 |
}
|
257 |
|
258 |
/**
|
261 |
* @param mixed $view
|
262 |
* @param mixed $destination
|
263 |
*/
|
264 |
+
public static function getViewPath($view, $destination, $overrideViewPath = null) {
|
265 |
+
# Use passed view path or use CJT constants if not passed
|
266 |
+
if (!$overrideViewPath) {
|
267 |
+
$overrideViewPath = CJTOOLBOX_VIEWS_PATH;
|
268 |
+
}
|
269 |
+
$viewPath = $overrideViewPath . DIRECTORY_SEPARATOR . $view;
|
270 |
$destination = $destination ? "/{$destination}" : '';
|
271 |
return "{$viewPath}{$destination}";
|
272 |
}
|
274 |
/**
|
275 |
* put your comment there...
|
276 |
*
|
277 |
+
* @param mixed $view
|
278 |
+
* @param mixed $destination
|
279 |
+
* @param mixed $overrideViewUrl
|
280 |
*/
|
281 |
+
public static function getViewURI($view, $destination, $overrideViewUrl = null) {
|
282 |
+
if (!$overrideViewUrl) {
|
283 |
+
$overrideViewUrl = CJTOOLBOX_VIEWS_URL;
|
284 |
+
}
|
285 |
+
$viewURI = "{$overrideViewUrl}/{$view}/public";
|
286 |
return "{$viewURI}/{$destination}";
|
287 |
}
|
288 |
|
407 |
// Plugin parts/components can use it to know how script file work.
|
408 |
$stack[$name]->cjt = (object) $stack[$name]->cjt;
|
409 |
}
|
|
|
410 |
// If localization file exists localize JS.
|
411 |
if (file_exists($localizationFile)) {
|
412 |
// Get localization text array.
|
framework/wordpress/feed.php
CHANGED
@@ -50,9 +50,42 @@ class CJT_Framework_Wordpress_Feed {
|
|
50 |
$this->fields = $fields;
|
51 |
# Request server => get raw XML feed
|
52 |
$feed = wp_remote_get("http://{$this->site}/{$this->path}");
|
53 |
-
|
54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
}
|
|
|
|
|
56 |
}
|
57 |
|
58 |
/**
|
@@ -61,12 +94,17 @@ class CJT_Framework_Wordpress_Feed {
|
|
61 |
* @param mixed $count
|
62 |
*/
|
63 |
public function getLatestItems($count) {
|
64 |
-
|
65 |
$items = array();
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
67 |
for ($currentIndex = 0; $currentIndex < $count; $currentIndex++) {
|
68 |
# Copy only title and link.
|
69 |
-
$xmlItem = $
|
70 |
# Read fields.
|
71 |
$item = array();
|
72 |
foreach ($this->fields as $field) {
|
@@ -100,7 +138,7 @@ class CJT_Framework_Wordpress_Feed {
|
|
100 |
*
|
101 |
*/
|
102 |
public function isError() {
|
103 |
-
return !$this->feed;
|
104 |
}
|
105 |
|
106 |
} // End class.
|
50 |
$this->fields = $fields;
|
51 |
# Request server => get raw XML feed
|
52 |
$feed = wp_remote_get("http://{$this->site}/{$this->path}");
|
53 |
+
# Getting XML content
|
54 |
+
$xmlContent = ((gettype($feed) !== 'WP_Error') && ($feed['response']['code'] == 200)) ?
|
55 |
+
wp_remote_retrieve_body($feed) :
|
56 |
+
'<cjterrorrequest>
|
57 |
+
<channel cjt_error="true">
|
58 |
+
<item>
|
59 |
+
<title>ERROR</title>
|
60 |
+
<description>ERROR</description>
|
61 |
+
<link>http://css-javascript-toolbox.com/</link>
|
62 |
+
</item>
|
63 |
+
</channel>
|
64 |
+
</cjterrorrequest>';
|
65 |
+
# Creating feed
|
66 |
+
$this->feed = new SimpleXMLElement($xmlContent);
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* put your comment there...
|
71 |
+
*
|
72 |
+
*/
|
73 |
+
public function getAllItems() {
|
74 |
+
// Initialize.
|
75 |
+
$items = array();
|
76 |
+
$xmlItems = $this->feed->channel->xpath('item');
|
77 |
+
// Read only items count specifed by $count param.
|
78 |
+
foreach ($xmlItems as $xmlItem) {
|
79 |
+
# Read fields.
|
80 |
+
$item = array();
|
81 |
+
foreach ($this->fields as $field) {
|
82 |
+
$item[$field] = (string) $xmlItem->$field;
|
83 |
+
}
|
84 |
+
# Add to list
|
85 |
+
$items[] = $item;
|
86 |
}
|
87 |
+
# Return items.
|
88 |
+
return $items;
|
89 |
}
|
90 |
|
91 |
/**
|
94 |
* @param mixed $count
|
95 |
*/
|
96 |
public function getLatestItems($count) {
|
97 |
+
# Initialize.
|
98 |
$items = array();
|
99 |
+
$xmlItems = $this->feed->channel->xpath('item');
|
100 |
+
# Get all available items if the total items count is less that what is originally requested
|
101 |
+
if (count($xmlItems) < $count) {
|
102 |
+
$count = count($xmlItems);
|
103 |
+
}
|
104 |
+
# Read only items count specifed by $count param.
|
105 |
for ($currentIndex = 0; $currentIndex < $count; $currentIndex++) {
|
106 |
# Copy only title and link.
|
107 |
+
$xmlItem = $xmlItems[$currentIndex];
|
108 |
# Read fields.
|
109 |
$item = array();
|
110 |
foreach ($this->fields as $field) {
|
138 |
*
|
139 |
*/
|
140 |
public function isError() {
|
141 |
+
return !$this->feed || $this->feed->channel->attributes()->cjt_error;
|
142 |
}
|
143 |
|
144 |
} // End class.
|
models/blocks.php
CHANGED
@@ -46,11 +46,10 @@ class CJTBlocksModel {
|
|
46 |
/**
|
47 |
* put your comment there...
|
48 |
*
|
49 |
-
* @param mixed $
|
50 |
-
* @param mixed $
|
51 |
-
* @param mixed $customPins
|
52 |
*/
|
53 |
-
public function add($block) {
|
54 |
// Make sure it array and not stdClass as it has been used from various areas!
|
55 |
$block = (array) $block;
|
56 |
// Create Tables objects.
|
@@ -60,16 +59,21 @@ class CJTBlocksModel {
|
|
60 |
if (!isset($block['id']) || !$block['id']) {
|
61 |
$block['id'] = $blocks->getNextId();
|
62 |
}
|
63 |
-
//
|
64 |
-
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
// Add new block.
|
67 |
$blocks->insert($block);
|
68 |
-
// Add code files.
|
69 |
-
$codeFile->set('blockId', $block['id'])
|
70 |
-
->set('id', 1)
|
71 |
-
->set('name', 'Master')
|
72 |
-
->save(true, true);
|
73 |
// Return Newly added block id.
|
74 |
return $block['id'];
|
75 |
}
|
46 |
/**
|
47 |
* put your comment there...
|
48 |
*
|
49 |
+
* @param mixed $block
|
50 |
+
* @param mixed $forceAddCodeBlock
|
|
|
51 |
*/
|
52 |
+
public function add($block, $forceAddCodeBlock = false) {
|
53 |
// Make sure it array and not stdClass as it has been used from various areas!
|
54 |
$block = (array) $block;
|
55 |
// Create Tables objects.
|
59 |
if (!isset($block['id']) || !$block['id']) {
|
60 |
$block['id'] = $blocks->getNextId();
|
61 |
}
|
62 |
+
// Backward compatibility for old block style
|
63 |
+
// that has code field inside blocks table.
|
64 |
+
/// if passed create master code file for the code field.
|
65 |
+
if ($forceAddCodeBlock || isset($block['code'])) {
|
66 |
+
// Cache code for MASTER file.
|
67 |
+
$codeFile->set('code', $block['code']);
|
68 |
+
unset($block['code']); // If it passed it mist be removed from blocks data(avoid field not found)
|
69 |
+
// Add code files.
|
70 |
+
$codeFile->set('blockId', $block['id'])
|
71 |
+
->set('id', 1)
|
72 |
+
->set('name', 'Master')
|
73 |
+
->save(true, true);
|
74 |
+
}
|
75 |
// Add new block.
|
76 |
$blocks->insert($block);
|
|
|
|
|
|
|
|
|
|
|
77 |
// Return Newly added block id.
|
78 |
return $block['id'];
|
79 |
}
|
models/package-file.php
CHANGED
@@ -33,157 +33,19 @@ class CJTPackageFileModel extends CJTHookableClass {
|
|
33 |
* @param CJTPackageFile
|
34 |
*/
|
35 |
public function install($package) {
|
36 |
-
//
|
37 |
-
$
|
38 |
-
|
39 |
-
$
|
40 |
-
//
|
41 |
-
|
42 |
-
$
|
43 |
-
//
|
44 |
-
$
|
45 |
-
|
46 |
-
|
47 |
-
$this->state['error']['msg'] = cssJSToolbox::getText('The uploaded package is already installed!');
|
48 |
-
// Terminate!
|
49 |
-
return $this;
|
50 |
-
}
|
51 |
-
// Map definition xml TYPE attribute to CJT Model object to handle addding
|
52 |
-
// objecs types.
|
53 |
-
$objectModels = array('template' => 'template', 'block' => 'blocks');
|
54 |
-
// Initialize Wordpress file system object.
|
55 |
-
WP_Filesystem();
|
56 |
-
$fileSystem =& $GLOBALS['wp_filesystem'];
|
57 |
-
// Read all objects defined by the package.
|
58 |
-
foreach ($package->document()->objects->object as $object) {
|
59 |
-
// Prepare object + getting item to be saved into database.
|
60 |
-
$item = $package->getItem($object);
|
61 |
-
// Get current object type name.
|
62 |
-
$objectType = (string) $object->attributes()->type;
|
63 |
-
// Instantiate template model if not previously instantiated.
|
64 |
-
if (!is_object($objectModels[$objectType])) {
|
65 |
-
$objectModels[$objectType] = CJTModel::getInstance($objectModels[$objectType]);
|
66 |
-
}
|
67 |
-
// Referencing the model for current object type.
|
68 |
-
$model = $objectModels[$objectType];
|
69 |
-
$objectId = 0; // Always reset -- to don't map to package if nothing added!
|
70 |
-
// Handle different object types.
|
71 |
-
switch ($objectType) {
|
72 |
-
case 'template':
|
73 |
-
// Insert template only if not exists.
|
74 |
-
if (!$model->exists($item['name'])) {
|
75 |
-
// Import template(s) helper.
|
76 |
-
cssJSToolbox::import('includes:templates:templates.class.php');
|
77 |
-
// Set template revision.
|
78 |
-
$model->inputs['item']['revision']['code'] = $item['code'];
|
79 |
-
unset($item['code']);
|
80 |
-
// Set template main data.
|
81 |
-
$model->inputs['item']['template'] = $item;
|
82 |
-
/** Get template Type!
|
83 |
-
* Get type from external file extension if
|
84 |
-
* the template code was linked to file.
|
85 |
-
* If the template code were inline
|
86 |
-
* then the type must be provided under
|
87 |
-
* TYPE element!
|
88 |
-
*/
|
89 |
-
// If no type specified get it from the external file extension
|
90 |
-
if (!isset($model->inputs['item']['template']['type'])) {
|
91 |
-
// @WARNING: Get locatted file!
|
92 |
-
$codeFileName = (string) $object->code->attributes()->locatted;
|
93 |
-
if ($codeFileName) {
|
94 |
-
// Get type from extension.
|
95 |
-
$fileComponent = pathinfo($codeFileName);
|
96 |
-
$model->inputs['item']['template']['type'] = CJTTemplates::getExtensionType($fileComponent['extension']);
|
97 |
-
}
|
98 |
-
}
|
99 |
-
// Add template.
|
100 |
-
$addedTemplate = $model->save();
|
101 |
-
// Expose Object ID to be added to the addedObjects List.
|
102 |
-
$objectId = $addedTemplate->templateId;
|
103 |
-
// Copy template folders.
|
104 |
-
if ($foldersCollection = $object->folders) {
|
105 |
-
// Get absolute path to template directory!
|
106 |
-
$templateDirectory = ABSPATH . dirname($addedTemplate->file);
|
107 |
-
// Process all <folders> tags!
|
108 |
-
foreach ($foldersCollection as $folders) {
|
109 |
-
// Get <folders> tag common path.
|
110 |
-
$foldersPath = (string) $folders->attributes()->path;
|
111 |
-
// Process <folder> tag.
|
112 |
-
foreach ($folders as $folder) {
|
113 |
-
// Folder absolute path.
|
114 |
-
if ($detinationName = (string) $folder->attributes()->destination) {
|
115 |
-
$folderPath = $detinationName;
|
116 |
-
}
|
117 |
-
else {
|
118 |
-
$folderPath = $folder->attributes()->path;
|
119 |
-
}
|
120 |
-
$folderAbsPath = $package->getDirectory() . "/{$foldersPath}/{$folderPath}";
|
121 |
-
// Create destination path.
|
122 |
-
$folderDestinationPath = "{$templateDirectory}/{$folderPath}";
|
123 |
-
if (!file_exists($folderDestinationPath)) {
|
124 |
-
mkdir($folderDestinationPath, 0775);
|
125 |
-
}
|
126 |
-
// Copy files (FLAT)!!.
|
127 |
-
foreach (new DirectoryIterator($folderAbsPath) as $file) {
|
128 |
-
if (!$file->isDot() && $file->isFile()) {
|
129 |
-
$fileSystem->copy($file->getPathName(), "{$folderDestinationPath}/{$file->getFileName()}");
|
130 |
-
}
|
131 |
-
}
|
132 |
-
}
|
133 |
-
}
|
134 |
-
}
|
135 |
-
}
|
136 |
-
break;
|
137 |
-
case 'block';
|
138 |
-
// Set other block internal data.
|
139 |
-
$item['created'] = $item['lastModified'] = current_time('mysql');
|
140 |
-
$item['owner'] = get_current_user_id();
|
141 |
-
// Insert block into database.
|
142 |
-
$objectId = $model->add($item);
|
143 |
-
$model->save();
|
144 |
-
// Initialize for linking templates.
|
145 |
-
$modelTemplate = $objectModels['template'];
|
146 |
-
// Link block templates.
|
147 |
-
$links = $object->links->link ? $object->links->link : array();
|
148 |
-
foreach ($links as $link) {
|
149 |
-
// Get template object to link.
|
150 |
-
$templateToLinkAttributes = (array) $link->attributes();
|
151 |
-
$templateToLinkAttributes = $templateToLinkAttributes['@attributes'];
|
152 |
-
$tblTemplate = CJTxTable::getInstance('template')
|
153 |
-
->setData($templateToLinkAttributes) // Query by the given attributes.
|
154 |
-
->load(array_keys($templateToLinkAttributes));
|
155 |
-
if ($tblTemplate->get('id')) {
|
156 |
-
// Cache template id.
|
157 |
-
$templateId = $tblTemplate->get('id');
|
158 |
-
// Always link as the block should be newely added
|
159 |
-
// and in the normal cases its impossible to be alread linked!
|
160 |
-
$tableBlockTemplate = CJTxTable::getInstance('block-template');
|
161 |
-
$tableBlockTemplate->set('blockId', $objectId)
|
162 |
-
->set('templateId', $templateId)
|
163 |
-
->save();
|
164 |
-
// Add only LINKED objects to the package objects map table!
|
165 |
-
if (!key_exists($templateId, $addedObjects['template'])) {
|
166 |
-
$addedObjects['template'][$templateId] = array('objectId' => $templateId, 'relType' => 'link');
|
167 |
-
}
|
168 |
-
}
|
169 |
-
}
|
170 |
-
break;
|
171 |
-
default:
|
172 |
-
//throw new Exception('Invalid object type specified!');
|
173 |
-
break;
|
174 |
-
}
|
175 |
-
// Support pluggable nodes that will parsed only when it really used.
|
176 |
-
$this->pluggables($object, $objectId, $package);
|
177 |
-
// Add (associate with the package) last objectId only if the object is added
|
178 |
-
// as a part of the package.
|
179 |
-
if ($objectId) {
|
180 |
-
$addedObjects[$objectType][$objectId] = array('objectId' => $objectId);
|
181 |
-
}
|
182 |
-
}
|
183 |
-
// Add package to database!
|
184 |
-
$packageId = $modelPackage->save($packageInfo, $addedObjects);
|
185 |
// Return package Id
|
186 |
-
return $packageId;
|
187 |
}
|
188 |
|
189 |
/**
|
@@ -210,32 +72,6 @@ class CJTPackageFileModel extends CJTHookableClass {
|
|
210 |
return $package;
|
211 |
}
|
212 |
|
213 |
-
/**
|
214 |
-
* put your comment there...
|
215 |
-
*
|
216 |
-
* @param mixed $node
|
217 |
-
* @param mixed $objectId
|
218 |
-
* @param mixed $package
|
219 |
-
* @return CJTPackageFileModel
|
220 |
-
*/
|
221 |
-
public function pluggables($node, $objectId, & $package) {
|
222 |
-
// Get packages definition xml factory.
|
223 |
-
$factory = new CJT_Models_Package_Xml_Factory('models/package/xml/definition/objects');
|
224 |
-
// Based on the object type get instance of the object
|
225 |
-
// parser with the object node passed.
|
226 |
-
// call plug method so the object would start parsing the
|
227 |
-
// and plug the child elements.
|
228 |
-
$object = $factory->create(null, (string) $node->attributes()->type, $node); // OBJECT CONSTR&UCTED HERE!
|
229 |
-
// Set object id!
|
230 |
-
$object->register()->offsetSet('id', $objectId);
|
231 |
-
$object->register()->offsetSet('packageParser', $package);
|
232 |
-
// Plug it!
|
233 |
-
$object->transit()
|
234 |
-
->processInners();
|
235 |
-
// Chaining.
|
236 |
-
return $this;
|
237 |
-
}
|
238 |
-
|
239 |
/**
|
240 |
* put your comment there...
|
241 |
*
|
33 |
* @param CJTPackageFile
|
34 |
*/
|
35 |
public function install($package) {
|
36 |
+
// Get packages definition xml factory.
|
37 |
+
$factory = new CJT_Models_Package_Xml_Factory('models/package/xml/definition/package');
|
38 |
+
// Process the full document starting by the ROOT package tag down to the latest descendant.
|
39 |
+
$packageObject = $factory->create(null, 'package', $package->document()); // OBJECT CONSTR&UCTED HERE!
|
40 |
+
// Share vars to nodes.
|
41 |
+
$register = $packageObject->register();
|
42 |
+
$register->offsetSet('packageParser', $package);
|
43 |
+
// Process package object.
|
44 |
+
$packageObject->transit()
|
45 |
+
// Go down the tree.
|
46 |
+
->processInners();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
// Return package Id
|
48 |
+
return $register['packageId'];
|
49 |
}
|
50 |
|
51 |
/**
|
72 |
return $package;
|
73 |
}
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
/**
|
76 |
* put your comment there...
|
77 |
*
|
models/package.php
CHANGED
@@ -108,29 +108,12 @@ class CJTPackageModel extends CJTHookableClass {
|
|
108 |
* put your comment there...
|
109 |
*
|
110 |
* @param mixed $package
|
111 |
-
* @param mixed $objects
|
112 |
-
* @return CJTxTable
|
113 |
*/
|
114 |
-
public function save($package
|
115 |
// Add package.
|
116 |
-
|
117 |
->setData($package)
|
118 |
-
->save();
|
119 |
-
// Add package objects map.
|
120 |
-
$tablePackageObjects = CJTxTable::getInstance('package-objects');
|
121 |
-
// Fetch objects under each type (block ,template).
|
122 |
-
foreach ($types as $type => $objects) {
|
123 |
-
// For each types get all object IDs!
|
124 |
-
foreach ($objects as $object) {
|
125 |
-
$tablePackageObjects->setItem() // Reset is needed as the object used accross multiple records
|
126 |
-
// and might cause interfering between records!
|
127 |
-
->setData($object)
|
128 |
-
->set('packageId', $tablePackage->get('id'))
|
129 |
-
->set('objectType', $type)
|
130 |
-
->save();
|
131 |
-
}
|
132 |
-
}
|
133 |
-
return $tablePackage->get('id');
|
134 |
}
|
135 |
|
136 |
/**
|
108 |
* put your comment there...
|
109 |
*
|
110 |
* @param mixed $package
|
|
|
|
|
111 |
*/
|
112 |
+
public function save($package) {
|
113 |
// Add package.
|
114 |
+
return CJTxTable::getInstance('package')
|
115 |
->setData($package)
|
116 |
+
->save()->get('id');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
|
119 |
/**
|
models/package/xml/definition/abstract.php
CHANGED
@@ -30,6 +30,13 @@ implements CJT_Models_Package_Xml_Definition_Interface_Element {
|
|
30 |
*/
|
31 |
protected $factory = null;
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
/**
|
34 |
* put your comment there...
|
35 |
*
|
@@ -144,11 +151,11 @@ implements CJT_Models_Package_Xml_Definition_Interface_Element {
|
|
144 |
$childs = $this->getNode()->children();
|
145 |
// For every child node that has childs create an object!
|
146 |
foreach ($childs as $childNode) {
|
147 |
-
//
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
// Initialize object factory details.
|
153 |
$objectInfo = array();
|
154 |
// Get rule.
|
@@ -177,7 +184,7 @@ implements CJT_Models_Package_Xml_Definition_Interface_Element {
|
|
177 |
* put your comment there...
|
178 |
*
|
179 |
*/
|
180 |
-
public function register() {
|
181 |
return $this->register;
|
182 |
}
|
183 |
|
@@ -189,4 +196,16 @@ implements CJT_Models_Package_Xml_Definition_Interface_Element {
|
|
189 |
return $this;
|
190 |
}
|
191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
} // End class.
|
30 |
*/
|
31 |
protected $factory = null;
|
32 |
|
33 |
+
/**
|
34 |
+
* put your comment there...
|
35 |
+
*
|
36 |
+
* @var mixed
|
37 |
+
*/
|
38 |
+
protected $forceProcess = array();
|
39 |
+
|
40 |
/**
|
41 |
* put your comment there...
|
42 |
*
|
151 |
$childs = $this->getNode()->children();
|
152 |
// For every child node that has childs create an object!
|
153 |
foreach ($childs as $childNode) {
|
154 |
+
// Get node name.
|
155 |
+
$nodeName = $childNode->getName();
|
156 |
+
// Process only childs with childs neested or what added to the force-process-map.
|
157 |
+
// Don't process scalars until they're on the force-process-map!
|
158 |
+
if (in_array($nodeName, $this->forceProcess) || count($childNode->children())) {
|
159 |
// Initialize object factory details.
|
160 |
$objectInfo = array();
|
161 |
// Get rule.
|
184 |
* put your comment there...
|
185 |
*
|
186 |
*/
|
187 |
+
public function & register() {
|
188 |
return $this->register;
|
189 |
}
|
190 |
|
196 |
return $this;
|
197 |
}
|
198 |
|
199 |
+
/**
|
200 |
+
* Default implementation to return physical path
|
201 |
+
* relative to the current package document.
|
202 |
+
*
|
203 |
+
*/
|
204 |
+
public function virtualPath() {
|
205 |
+
// Initialize.
|
206 |
+
$factory =& $this->factory;
|
207 |
+
// Return physical path relative to package document.
|
208 |
+
return $factory->getClassRelativePath(get_class($this));
|
209 |
+
}
|
210 |
+
|
211 |
} // End class.
|
models/package/xml/definition/{objects/block/files.php → frag/frag.php}
RENAMED
@@ -6,5 +6,5 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
-
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class.
|
models/package/xml/definition/frag/frag/block.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
*/
|
15 |
+
const VIRTUAL_PATH = 'block';
|
16 |
+
|
17 |
+
/**
|
18 |
+
* put your comment there...
|
19 |
+
*
|
20 |
+
*/
|
21 |
+
public function transit() {
|
22 |
+
// Initialize.
|
23 |
+
$model = CJTModel::getInstance('blocks');
|
24 |
+
$register = $this->register();
|
25 |
+
// Prepare object + getting item to be saved into database.
|
26 |
+
$block = $register['packageParser']->getItem($this->getNode());
|
27 |
+
// Set other block internal data.
|
28 |
+
$block['created'] = $block['lastModified'] = current_time('mysql');
|
29 |
+
$block['owner'] = get_current_user_id();
|
30 |
+
// Create Block.
|
31 |
+
/// Expose BlockId for other nodes.
|
32 |
+
$register['blockId'] = $model->add($block);
|
33 |
+
$model->save();
|
34 |
+
// Chaining.
|
35 |
+
return $this;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* put your comment there...
|
40 |
+
*
|
41 |
+
*/
|
42 |
+
public function virtualPath() {
|
43 |
+
// Block object is unique accross all the file
|
44 |
+
// use unique global path that can be accessed from everywhere
|
45 |
+
// without knowing the real path as it might change based on the
|
46 |
+
// child model!
|
47 |
+
return self::VIRTUAL_PATH;
|
48 |
+
}
|
49 |
+
|
50 |
+
} // End class
|
models/package/xml/definition/{objects/block/params.php → frag/frag/block/files.php}
RENAMED
@@ -6,5 +6,5 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Files
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
models/package/xml/definition/{objects → frag/frag}/block/files/file.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Files_File
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
models/package/xml/definition/frag/frag/block/links.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Links
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
* @var mixed
|
16 |
+
*/
|
17 |
+
protected $forceProcess = array('link');
|
18 |
+
|
19 |
+
} // End class
|
models/package/xml/definition/frag/frag/block/links/link.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Links_Link
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
*/
|
16 |
+
public function transit() {
|
17 |
+
// Initialize for linking templates.
|
18 |
+
$register = $this->register();
|
19 |
+
$link = $this->getNode();
|
20 |
+
// Link block templates.
|
21 |
+
// Get template object to link.
|
22 |
+
$templateToLinkAttributes = (array) $link->attributes();
|
23 |
+
$templateToLinkAttributes = $templateToLinkAttributes['@attributes'];
|
24 |
+
$tblTemplate = CJTxTable::getInstance('template')
|
25 |
+
->setData($templateToLinkAttributes) // Query by the given attributes.
|
26 |
+
->load(array_keys($templateToLinkAttributes));
|
27 |
+
if ($register['linkedTemplateId'] = $tblTemplate->get('id')) {
|
28 |
+
// Always link as the block should be newely added
|
29 |
+
// and in the normal cases its impossible to be alread linked!
|
30 |
+
$tableBlockTemplate = CJTxTable::getInstance('block-template');
|
31 |
+
$tableBlockTemplate->set('blockId', $register['blockId'])
|
32 |
+
->set('templateId', $register['linkedTemplateId'])
|
33 |
+
->save();
|
34 |
+
}
|
35 |
+
return $this;
|
36 |
+
}
|
37 |
+
|
38 |
+
} // End class
|
models/package/xml/definition/frag/frag/block/links/link/package.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Links_Link_Package
|
10 |
+
extends CJT_Models_Package_Xml_Definition_FragPackage {
|
11 |
+
|
12 |
+
|
13 |
+
/**
|
14 |
+
* put your comment there...
|
15 |
+
*
|
16 |
+
* @var mixed
|
17 |
+
*/
|
18 |
+
protected $objectIdKeyName = 'linkedTemplateId';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* put your comment there...
|
22 |
+
*
|
23 |
+
* @var mixed
|
24 |
+
*/
|
25 |
+
protected $objectTypeName = 'template';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* put your comment there...
|
29 |
+
*
|
30 |
+
* @var mixed
|
31 |
+
*/
|
32 |
+
protected $relationTypeName = 'link';
|
33 |
+
|
34 |
+
/**
|
35 |
+
* put your comment there...
|
36 |
+
*
|
37 |
+
* @param mixed $tblPackage
|
38 |
+
* @param mixed $packageId
|
39 |
+
*/
|
40 |
+
protected function save(CJTxTable & $tblPckObjects, $packageId) {
|
41 |
+
// Initialize.
|
42 |
+
$register =& $this->register();
|
43 |
+
// Add Package Ref record,
|
44 |
+
// only if this template is not bundled with the package.
|
45 |
+
$data = array(
|
46 |
+
'packageId' => $packageId,
|
47 |
+
'objectId' => $register[$this->objectIdKeyName],
|
48 |
+
'objectType' => $this->objectTypeName
|
49 |
+
);
|
50 |
+
$tblPckObjects->loadAsKey($data);
|
51 |
+
if (!$tblPckObjects->get('relType')) {
|
52 |
+
// Reset object.
|
53 |
+
$tblPckObjects->setItem();
|
54 |
+
// Save package object ref.
|
55 |
+
parent::save($tblPckObjects, $packageId);
|
56 |
+
}
|
57 |
+
// Chain.
|
58 |
+
return $this;
|
59 |
+
}
|
60 |
+
|
61 |
+
} // End class
|
models/package/xml/definition/frag/frag/block/package.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Package
|
10 |
+
extends CJT_Models_Package_Xml_Definition_FragPackage {
|
11 |
+
|
12 |
+
|
13 |
+
/**
|
14 |
+
* put your comment there...
|
15 |
+
*
|
16 |
+
* @var mixed
|
17 |
+
*/
|
18 |
+
protected $objectIdKeyName = 'blockId';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* put your comment there...
|
22 |
+
*
|
23 |
+
* @var mixed
|
24 |
+
*/
|
25 |
+
protected $objectTypeName = 'block';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* put your comment there...
|
29 |
+
*
|
30 |
+
* @var mixed
|
31 |
+
*/
|
32 |
+
protected $relationTypeName = 'add';
|
33 |
+
|
34 |
+
} // End class
|
models/package/xml/definition/{objects/block/params/list/param/typeParams.php → frag/frag/block/params.php}
RENAMED
@@ -6,5 +6,5 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
models/package/xml/definition/{objects → frag/frag}/block/params/form.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
models/package/xml/definition/frag/frag/block/params/form/groups.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form_Groups
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
} // End class
|
models/package/xml/definition/{objects → frag/frag}/block/params/form/groups/group.php
RENAMED
@@ -6,9 +6,14 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
|
|
|
|
|
|
|
|
|
|
12 |
/**
|
13 |
* Required by block/params/list/param/params/group object
|
14 |
* to search for the associated group!
|
@@ -50,5 +55,14 @@ extends CJT_Models_Package_Xml_Definition_Abstract {
|
|
50 |
// Chaining.
|
51 |
return $this;
|
52 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
} // End class
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form_Groups_Group
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
*/
|
15 |
+
const VIRTUA_PATH = 'form/group';
|
16 |
+
|
17 |
/**
|
18 |
* Required by block/params/list/param/params/group object
|
19 |
* to search for the associated group!
|
55 |
// Chaining.
|
56 |
return $this;
|
57 |
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* put your comment there...
|
61 |
+
*
|
62 |
+
*/
|
63 |
+
public function virtualPath() {
|
64 |
+
return self::VIRTUA_PATH;
|
65 |
+
}
|
66 |
+
|
67 |
|
68 |
} // End class
|
models/package/xml/definition/{objects → frag/frag}/block/params/form/groups/group/xfields.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form_Groups_Group_xFields
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
models/package/xml/definition/frag/frag/block/params/list.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
} // End class
|
models/package/xml/definition/{objects → frag/frag}/block/params/list/param.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
models/package/xml/definition/{objects → frag/frag}/block/params/list/param/group.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
@@ -20,7 +20,7 @@ extends CJT_Models_Package_Xml_Definition_Abstract {
|
|
20 |
$groupParamData = new CJT_Framework_Xml_Fetchscalars($this->getNode());
|
21 |
// Find group!
|
22 |
$factory = $this->getFactory();
|
23 |
-
$groups = $factory->getCreatedObjects('
|
24 |
$paramGroupName = (string) $this->getNode()->attributes()->name;
|
25 |
// Find the group to be associated with the parameter.
|
26 |
foreach ($groups as $group) {
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
20 |
$groupParamData = new CJT_Framework_Xml_Fetchscalars($this->getNode());
|
21 |
// Find group!
|
22 |
$factory = $this->getFactory();
|
23 |
+
$groups = $factory->getCreatedObjects('form/group');
|
24 |
$paramGroupName = (string) $this->getNode()->attributes()->name;
|
25 |
// Find the group to be associated with the parameter.
|
26 |
foreach ($groups as $group) {
|
models/package/xml/definition/frag/frag/block/params/list/param/group/definition.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group_Definition
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
models/package/xml/definition/{objects → frag/frag}/block/params/list/param/group/definition/type.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group_Definition_Type
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
models/package/xml/definition/frag/frag/block/params/list/param/group/rendererParams.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group_RendererParams
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
* @var mixed
|
16 |
+
*/
|
17 |
+
protected $map = array('param' => 'frag/block/params/list/param/typeparams/param');
|
18 |
+
|
19 |
+
} // End class
|
models/package/xml/definition/frag/frag/block/params/list/param/params.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Params
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
* @var mixed
|
16 |
+
*/
|
17 |
+
protected $map = array('param' => 'frag/block/params/list/param');
|
18 |
+
|
19 |
+
} // End class
|
models/package/xml/definition/{objects/block/params/list/param/group/definition.php → frag/frag/block/params/list/param/typeParams.php}
RENAMED
@@ -6,5 +6,5 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_TypeParams
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {} // End class
|
models/package/xml/definition/{objects → frag/frag}/block/params/list/param/typeparams/param.php
RENAMED
@@ -6,7 +6,7 @@
|
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
-
class
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
6 |
/**
|
7 |
*
|
8 |
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_TypeParams_Param
|
10 |
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
|
12 |
/**
|
models/package/xml/definition/frag/frag/package.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Package
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Do nothing!
|
14 |
+
*
|
15 |
+
*/
|
16 |
+
public function transit() {
|
17 |
+
// Initialize.
|
18 |
+
$register = $this->register();
|
19 |
+
$modelPackage = CJTModel::getInstance('package');
|
20 |
+
// Fetch package information with all readme and license tags locatted if
|
21 |
+
// bundled with external files!
|
22 |
+
$packageInfo = $register['packageParser']->getItem(
|
23 |
+
$this->getNode(),
|
24 |
+
array('readme' => 'readme.txt', 'license' => 'license.txt')
|
25 |
+
);
|
26 |
+
// Add package to database!
|
27 |
+
$register['packageId'] = $modelPackage->save($packageInfo);
|
28 |
+
// Chain.
|
29 |
+
return $this;
|
30 |
+
}
|
31 |
+
|
32 |
+
} // End class
|
models/package/xml/definition/frag/frag/template.php
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Template
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
*/
|
15 |
+
const VIRTUAL_PATH = 'template';
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Do nothing!
|
19 |
+
*
|
20 |
+
*/
|
21 |
+
public function transit() {
|
22 |
+
// Initialize.
|
23 |
+
$model = CJTModel::getInstance('template');
|
24 |
+
$node = $this->getNode();
|
25 |
+
$register = $this->register();
|
26 |
+
// Prepare object + getting item to be saved into database.
|
27 |
+
$template = $register['packageParser']->getItem($node);
|
28 |
+
// Insert template only if not exists.
|
29 |
+
if (!$model->exists($template['name'])) {
|
30 |
+
// Import template(s) helper.
|
31 |
+
cssJSToolbox::import('includes:templates:templates.class.php');
|
32 |
+
// Set template revision.
|
33 |
+
$model->inputs['item']['revision']['code'] = $template['code'];
|
34 |
+
unset($template['code']);
|
35 |
+
// Set template main data.
|
36 |
+
$model->inputs['item']['template'] = $template;
|
37 |
+
/** Get template Type!
|
38 |
+
* Get type from external file extension if
|
39 |
+
* the template code was linked to file.
|
40 |
+
* If the template code were inline
|
41 |
+
* then the type must be provided under
|
42 |
+
* TYPE element!
|
43 |
+
*/
|
44 |
+
// If no type specified get it from the external file extension
|
45 |
+
if (!isset($model->inputs['item']['template']['type'])) {
|
46 |
+
// @WARNING: Get locatted file!
|
47 |
+
$codeFileName = (string) $node->code->attributes()->locatted;
|
48 |
+
if ($codeFileName) {
|
49 |
+
// Get type from extension.
|
50 |
+
$fileComponent = pathinfo($codeFileName);
|
51 |
+
$model->inputs['item']['template']['type'] = CJTTemplates::getExtensionType($fileComponent['extension']);
|
52 |
+
}
|
53 |
+
}
|
54 |
+
// Add template.
|
55 |
+
$addedTemplate = $model->save();
|
56 |
+
// Expose template fields to be by used by other objects.
|
57 |
+
$register['templateId'] = $addedTemplate->templateId;
|
58 |
+
$register['templateFile'] = $addedTemplate->file;
|
59 |
+
}
|
60 |
+
// Chaining.
|
61 |
+
return $this;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* put your comment there...
|
66 |
+
*
|
67 |
+
*/
|
68 |
+
public function virtualPath() {
|
69 |
+
// Block object is unique accross all the file
|
70 |
+
// use unique global path that can be accessed from everywhere
|
71 |
+
// without knowing the real path as it might change based on the
|
72 |
+
// child model!
|
73 |
+
return self::VIRTUAL_PATH;
|
74 |
+
}
|
75 |
+
|
76 |
+
} // End class
|
models/package/xml/definition/frag/frag/template/folders.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Template_Folders
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
* @var mixed
|
16 |
+
*/
|
17 |
+
protected $forceProcess = array('folder');
|
18 |
+
|
19 |
+
} // End class
|
models/package/xml/definition/frag/frag/template/folders/folder.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Template_Folders_Folder
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
*/
|
16 |
+
public function transit() {
|
17 |
+
// Initialize.
|
18 |
+
$register = $this->register();
|
19 |
+
$node = $this->getNode();
|
20 |
+
$fileSystem =& $GLOBALS['wp_filesystem'];
|
21 |
+
// Get absolute path to template directory!
|
22 |
+
$templateDirectory = ABSPATH . dirname($register['templateFile']);
|
23 |
+
// Get <folders> tag common path.
|
24 |
+
$foldersPath = (string) $this->getParent()->getNode()->attributes()->path;
|
25 |
+
// Folder absolute path.
|
26 |
+
if ($detinationName = (string) $node->attributes()->destination) {
|
27 |
+
$folderPath = $detinationName;
|
28 |
+
}
|
29 |
+
else {
|
30 |
+
$folderPath = $node->attributes()->path;
|
31 |
+
}
|
32 |
+
$folderAbsPath = $register['packageParser']->getDirectory() . "/{$foldersPath}/{$folderPath}";
|
33 |
+
// Create destination path.
|
34 |
+
$folderDestinationPath = "{$templateDirectory}/{$folderPath}";
|
35 |
+
if (!file_exists($folderDestinationPath)) {
|
36 |
+
mkdir($folderDestinationPath, 0775);
|
37 |
+
}
|
38 |
+
// Copy files (FLAT)!!.
|
39 |
+
foreach (new DirectoryIterator($folderAbsPath) as $file) {
|
40 |
+
if (!$file->isDot() && $file->isFile()) {
|
41 |
+
$fileSystem->copy($file->getPathName(), "{$folderDestinationPath}/{$file->getFileName()}");
|
42 |
+
}
|
43 |
+
}
|
44 |
+
// Chain.
|
45 |
+
return $this;
|
46 |
+
}
|
47 |
+
|
48 |
+
} // End class
|
models/package/xml/definition/frag/frag/template/package.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Frag_Frag_Template_Package
|
10 |
+
extends CJT_Models_Package_Xml_Definition_FragPackage {
|
11 |
+
|
12 |
+
|
13 |
+
/**
|
14 |
+
* put your comment there...
|
15 |
+
*
|
16 |
+
* @var mixed
|
17 |
+
*/
|
18 |
+
protected $objectIdKeyName = 'templateId';
|
19 |
+
|
20 |
+
/**
|
21 |
+
* put your comment there...
|
22 |
+
*
|
23 |
+
* @var mixed
|
24 |
+
*/
|
25 |
+
protected $objectTypeName = 'template';
|
26 |
+
|
27 |
+
/**
|
28 |
+
* put your comment there...
|
29 |
+
*
|
30 |
+
* @var mixed
|
31 |
+
*/
|
32 |
+
protected $relationTypeName = 'add';
|
33 |
+
|
34 |
+
} // End class
|
models/package/xml/definition/fragpackage.php
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
abstract class CJT_Models_Package_Xml_Definition_FragPackage
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
* @var mixed
|
16 |
+
*/
|
17 |
+
protected $objectIdKeyName;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* put your comment there...
|
21 |
+
*
|
22 |
+
* @var mixed
|
23 |
+
*/
|
24 |
+
protected $objectTypeName;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* put your comment there...
|
28 |
+
*
|
29 |
+
* @var mixed
|
30 |
+
*/
|
31 |
+
protected $relationTypeName;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* put your comment there...
|
35 |
+
*
|
36 |
+
* @param mixed $tblPackage
|
37 |
+
* @param mixed $packageId
|
38 |
+
*/
|
39 |
+
protected function save(CJTxTable & $tblPckObjects, $packageId) {
|
40 |
+
// Initialize.
|
41 |
+
$register =& $this->register();
|
42 |
+
// Save Package object ref
|
43 |
+
$tblPckObjects->setData(array(
|
44 |
+
'packageId' => $packageId,
|
45 |
+
'objectId' => $register[$this->objectIdKeyName],
|
46 |
+
'objectType' => $this->objectTypeName,
|
47 |
+
'relType' => $this->relationTypeName,
|
48 |
+
))->save();
|
49 |
+
// Chain/
|
50 |
+
return $this;
|
51 |
+
}
|
52 |
+
/**
|
53 |
+
* Do nothing!
|
54 |
+
*
|
55 |
+
*/
|
56 |
+
public function transit() {
|
57 |
+
// Initialize.
|
58 |
+
$tblPckObjects = CJTxTable::getInstance('package-objects');
|
59 |
+
// Query package id.
|
60 |
+
$tblPck = CJTxTable::getInstance('package');
|
61 |
+
$pckData = new CJT_Framework_Xml_Fetchscalars($this->getNode());
|
62 |
+
$tblPck->setData($pckData)
|
63 |
+
->load(array('name'));
|
64 |
+
// Add Block-Template-Link=>Package reference.
|
65 |
+
$this->save($tblPckObjects, $tblPck->get('id'));
|
66 |
+
// Chain.
|
67 |
+
return $this;
|
68 |
+
}
|
69 |
+
|
70 |
+
}
|
models/package/xml/definition/interface/element.php
CHANGED
@@ -34,4 +34,9 @@ interface CJT_Models_Package_Xml_Definition_Interface_Element {
|
|
34 |
*/
|
35 |
public function transit();
|
36 |
|
|
|
|
|
|
|
|
|
|
|
37 |
} // End class.
|
34 |
*/
|
35 |
public function transit();
|
36 |
|
37 |
+
/**
|
38 |
+
* Return virual path to current doc object
|
39 |
+
*/
|
40 |
+
public function virtualPath();
|
41 |
+
|
42 |
} // End class.
|
models/package/xml/definition/objects/block.php
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
*/
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
*/
|
9 |
-
class CJT_Models_Package_Xml_Definition_Objects_Block
|
10 |
-
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
-
|
12 |
-
/**
|
13 |
-
* put your comment there...
|
14 |
-
*
|
15 |
-
* @var mixed
|
16 |
-
*/
|
17 |
-
protected $rules = array('links' => false);
|
18 |
-
|
19 |
-
/**
|
20 |
-
* put your comment there...
|
21 |
-
*
|
22 |
-
*/
|
23 |
-
public function transit() {
|
24 |
-
// Do transit.
|
25 |
-
parent::transit();
|
26 |
-
// Use blockId key instead of 'id' key.
|
27 |
-
$register = $this->register();
|
28 |
-
$register['blockId'] = $register['id'];
|
29 |
-
unset($register['id']);
|
30 |
-
// Chaining.
|
31 |
-
return $this;
|
32 |
-
}
|
33 |
-
} // End class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
models/package/xml/definition/objects/block/params/form/groups.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
*/
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
*/
|
9 |
-
class CJT_Models_Package_Xml_Definition_Objects_Block_Params_Form_Groups
|
10 |
-
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
-
|
12 |
-
} // End class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
models/package/xml/definition/objects/block/params/list.php
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
*/
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
*/
|
9 |
-
class CJT_Models_Package_Xml_Definition_Objects_Block_Params_List
|
10 |
-
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
-
|
12 |
-
} // End class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
models/package/xml/definition/objects/block/params/list/param/group/rendererParams.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
*/
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
*/
|
9 |
-
class CJT_Models_Package_Xml_Definition_Objects_Block_Params_List_Param_Group_RendererParams
|
10 |
-
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
-
|
12 |
-
/**
|
13 |
-
* put your comment there...
|
14 |
-
*
|
15 |
-
* @var mixed
|
16 |
-
*/
|
17 |
-
protected $map = array('param' => 'block/params/list/param/typeParams/param');
|
18 |
-
|
19 |
-
} // End class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
models/package/xml/definition/objects/block/params/list/param/params.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
*/
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
*/
|
9 |
-
class CJT_Models_Package_Xml_Definition_Objects_Block_Params_List_Param_Params
|
10 |
-
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
-
|
12 |
-
/**
|
13 |
-
* put your comment there...
|
14 |
-
*
|
15 |
-
* @var mixed
|
16 |
-
*/
|
17 |
-
protected $map = array('param' => 'block/params/list/param');
|
18 |
-
|
19 |
-
} // End class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
models/package/xml/definition/objects/template.php
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
*/
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
*/
|
9 |
-
class CJT_Models_Package_Xml_Definition_Objects_Template
|
10 |
-
extends CJT_Models_Package_Xml_Definition_Abstract {
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Do nothing!
|
14 |
-
*
|
15 |
-
*/
|
16 |
-
public function processInners() {
|
17 |
-
return $this;
|
18 |
-
}
|
19 |
-
|
20 |
-
/**
|
21 |
-
* Do nothing!
|
22 |
-
*
|
23 |
-
*/
|
24 |
-
public function transit() {
|
25 |
-
return $this;
|
26 |
-
}
|
27 |
-
|
28 |
-
} // End class
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
models/package/xml/definition/package/package.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Package {} // End class
|
models/package/xml/definition/package/package/block.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
*/
|
16 |
+
public function transit() {
|
17 |
+
// Transit Block.
|
18 |
+
parent::transit();
|
19 |
+
$register = $this->register();
|
20 |
+
// Add Package Ref record.
|
21 |
+
$pckHelper = new CJT_Models_Package_Xml_Definition_PackageHelper($register['packageId']);
|
22 |
+
$pckHelper->associateObject($register['blockId'], 'block', 'add');
|
23 |
+
// Chaining.
|
24 |
+
return $this;
|
25 |
+
}
|
26 |
+
|
27 |
+
} // End class
|
models/package/xml/definition/package/package/block/files.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Files
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Files {} // End class
|
models/package/xml/definition/package/package/block/files/file.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Files_File
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Files_File {} // End class
|
models/package/xml/definition/package/package/block/links.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Links
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Links {} // End class
|
models/package/xml/definition/package/package/block/links/link.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Links_Link
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Links_Link {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
*/
|
16 |
+
public function transit() {
|
17 |
+
// Transit Link.
|
18 |
+
parent::transit();
|
19 |
+
$register = $this->register();
|
20 |
+
// Add Package Ref record
|
21 |
+
// ,only if this template is not bundled with the package.
|
22 |
+
$packObjectsTbl = CJTxTable::getInstance('package-objects')
|
23 |
+
->loadAsKey(array(
|
24 |
+
'packageId' => $register['packageId'],
|
25 |
+
'objectId' => $register['linkedTemplateId'],
|
26 |
+
'objectType' => 'template'
|
27 |
+
));
|
28 |
+
if (!$packObjectsTbl->get('relType')) {
|
29 |
+
$pckHelper = new CJT_Models_Package_Xml_Definition_PackageHelper($register['packageId']);
|
30 |
+
$pckHelper->associateObject($register['linkedTemplateId'], 'template', 'link');
|
31 |
+
}
|
32 |
+
// Chaining.
|
33 |
+
return $this;
|
34 |
+
}
|
35 |
+
|
36 |
+
} // End class
|
models/package/xml/definition/package/package/block/params.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params {} // End class
|
models/package/xml/definition/package/package/block/params/form.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_Form
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form {} // End class
|
models/package/xml/definition/package/package/block/params/form/groups.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_Form_Groups
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form_Groups {} // End class
|
models/package/xml/definition/package/package/block/params/form/groups/group.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_Form_Groups_Group
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form_Groups_Group {} // End class
|
models/package/xml/definition/package/package/block/params/form/groups/group/xfields.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_Form_Groups_Group_xFields
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_Form_Groups_Group_xFields {} // End class
|
models/package/xml/definition/package/package/block/params/list.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List {} // End class
|
models/package/xml/definition/package/package/block/params/list/param.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param {} // End class
|
models/package/xml/definition/package/package/block/params/list/param/group.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param_Group
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group {} // End class
|
models/package/xml/definition/package/package/block/params/list/param/group/definition.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param_Group_Definition
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group_Definition {} // End class
|
models/package/xml/definition/package/package/block/params/list/param/group/definition/type.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param_Group_Definition_Type
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group_Definition_Type {} // End class
|
models/package/xml/definition/package/package/block/params/list/param/group/rendererParams.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param_Group_RendererParams
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Group_RendererParams {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
* @var mixed
|
16 |
+
*/
|
17 |
+
protected $map = array('param' => 'package/block/params/list/param/typeParams/param');
|
18 |
+
|
19 |
+
} // End class
|
models/package/xml/definition/package/package/block/params/list/param/params.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param_Params
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_Params {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
* @var mixed
|
16 |
+
*/
|
17 |
+
protected $map = array('param' => 'package/block/params/list/param');
|
18 |
+
|
19 |
+
} // End class
|
models/package/xml/definition/package/package/block/params/list/param/typeParams.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param_TypeParams
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_TypeParams {} // End class
|
models/package/xml/definition/package/package/block/params/list/param/typeparams/param.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Block_Params_List_Param_TypeParams_Param
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Block_Params_List_Param_TypeParams_Param {} // End class
|
models/package/xml/definition/package/package/objects.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Objects
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Abstract {}
|
models/package/xml/definition/package/package/objects/object.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
* As the package definition xml file is initially created
|
8 |
+
* to use <object> tag for both <block> and <template> type objects
|
9 |
+
* and then it start to use a tag for evey object type CJT has it then needs
|
10 |
+
* a way to redirect/proxing the call to the new implementation objects
|
11 |
+
* <block> and <template>
|
12 |
+
*
|
13 |
+
*/
|
14 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Objects_Object
|
15 |
+
implements CJT_Models_Package_Xml_Definition_Interface_Element {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* put your comment there...
|
19 |
+
*
|
20 |
+
* @var mixed
|
21 |
+
*/
|
22 |
+
protected $object;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* put your comment there...
|
26 |
+
*
|
27 |
+
* @param SimpleXMLElement $node
|
28 |
+
* @param mixed $parent
|
29 |
+
* @param mixed $factory
|
30 |
+
* @return CJT_Models_Package_Xml_Definition_Package_Package_Object
|
31 |
+
*/
|
32 |
+
public function __construct(SimpleXMLElement $node, $parent, $factory) {
|
33 |
+
// Construct type object.
|
34 |
+
$objectTypeName = (string) $node->attributes()->type;
|
35 |
+
$objectTypeClass = "CJT_Models_Package_Xml_Definition_Package_Package_{$objectTypeName}";
|
36 |
+
$this->object = new $objectTypeClass($node, $parent, $factory);
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* put your comment there...
|
41 |
+
*
|
42 |
+
*/
|
43 |
+
public function processInners() {
|
44 |
+
return $this->object->processInner();
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* put your comment there...
|
49 |
+
*
|
50 |
+
*/
|
51 |
+
public function register() {
|
52 |
+
return $this->object->register();
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* put your comment there...
|
57 |
+
*
|
58 |
+
*/
|
59 |
+
public function transit() {
|
60 |
+
return $this->object->transit();
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* put your comment there...
|
65 |
+
*
|
66 |
+
*/
|
67 |
+
public function virtualPath() {
|
68 |
+
return $this->object->virtualPath();
|
69 |
+
}
|
70 |
+
|
71 |
+
} // End class.
|
models/package/xml/definition/package/package/template.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Template
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Template {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* put your comment there...
|
14 |
+
*
|
15 |
+
*/
|
16 |
+
public function transit() {
|
17 |
+
// Transit Template.
|
18 |
+
parent::transit();
|
19 |
+
$register = $this->register();
|
20 |
+
// Add Package Ref record.
|
21 |
+
$pckHelper = new CJT_Models_Package_Xml_Definition_PackageHelper($register['packageId']);
|
22 |
+
$pckHelper->associateObject($register['templateId'], 'template', 'add');
|
23 |
+
// Chaining.
|
24 |
+
return $this;
|
25 |
+
}
|
26 |
+
|
27 |
+
} // End class
|
models/package/xml/definition/package/package/template/folders.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Template_Folders
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Template_Folders {} // End class
|
models/package/xml/definition/package/package/template/folders/folder.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_Package_Package_Template_Folders_Folder
|
10 |
+
extends CJT_Models_Package_Xml_Definition_Frag_Frag_Template_Folders_Folder {} // End class
|
models/package/xml/definition/packagehelper.php
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
*/
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
class CJT_Models_Package_Xml_Definition_PackageHelper {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* put your comment there...
|
13 |
+
*
|
14 |
+
* @var mixed
|
15 |
+
*/
|
16 |
+
protected $id;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* put your comment there...
|
20 |
+
*
|
21 |
+
* @var mixed
|
22 |
+
*/
|
23 |
+
protected $name;
|
24 |
+
|
25 |
+
/**
|
26 |
+
* put your comment there...
|
27 |
+
*
|
28 |
+
* @param mixed $packageId
|
29 |
+
* @return CJT_Models_Package_Xml_Definition_Package_Helper
|
30 |
+
*/
|
31 |
+
public function __construct($id) {
|
32 |
+
$this->id = $id;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* put your comment there...
|
37 |
+
*
|
38 |
+
* @param mixed $objectId
|
39 |
+
* @param mixed $objectType
|
40 |
+
* @param mixed $relType
|
41 |
+
*/
|
42 |
+
public function associateObject($objectId, $objectType, $relType) {
|
43 |
+
// Initialize.
|
44 |
+
$tblPckObjects = CJTxTable::getInstance('package-objects');
|
45 |
+
// Add Block-Template-Link=>Package reference.
|
46 |
+
$tblPckObjects->setData(array(
|
47 |
+
'packageId' => $this->getId(),
|
48 |
+
'objectId' => $objectId,
|
49 |
+
'objectType' => $objectType,
|
50 |
+
'relType' => $relType,
|
51 |
+
))->save();
|
52 |
+
// Chain.
|
53 |
+
return $this;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* put your comment there...
|
58 |
+
*
|
59 |
+
*/
|
60 |
+
public function getId() {
|
61 |
+
return $this->id;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* put your comment there...
|
66 |
+
*
|
67 |
+
*/
|
68 |
+
public function getName() {
|
69 |
+
return $this->name;
|
70 |
+
}
|
71 |
+
|
72 |
+
} // ENd class.
|
models/package/xml/factory.php
CHANGED
@@ -41,19 +41,18 @@ class CJT_Models_Package_Xml_Factory {
|
|
41 |
* @param mixed $node
|
42 |
*/
|
43 |
public function create($current, $path, $node) {
|
44 |
-
// Get loader.
|
45 |
-
$loader = CJT_Framework_Autoload_Loader::autoLoad('CJT');
|
46 |
// Get object element class name
|
47 |
$classPath = "{$this->basePath}/{$path}";
|
48 |
$className = 'CJT_' . str_replace(' ', '_', ucwords(str_replace('/', ' ', $classPath)));
|
49 |
// Instantiate class.
|
50 |
$object = new $className($node, $current, $this);
|
|
|
51 |
// Cache all instantiated objects so it can be accessed
|
52 |
// anywhere inside!
|
53 |
-
if (!isset($this->yields[$
|
54 |
-
$this->yields[$
|
55 |
}
|
56 |
-
$this->yields[$
|
57 |
// Return new object.
|
58 |
return $object;
|
59 |
}
|
@@ -66,12 +65,26 @@ class CJT_Models_Package_Xml_Factory {
|
|
66 |
return $this->basePath;
|
67 |
}
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
/**
|
70 |
* put your comment there...
|
71 |
*
|
72 |
* @param mixed $path
|
73 |
*/
|
74 |
-
public function getCreatedObjects($path) {
|
75 |
// Initialize.
|
76 |
$objects = array();
|
77 |
/// E_ALL complans
|
@@ -81,6 +94,7 @@ class CJT_Models_Package_Xml_Factory {
|
|
81 |
// Return objects.
|
82 |
return $objects;
|
83 |
}
|
|
|
84 |
/**
|
85 |
* put your comment there...
|
86 |
*
|
@@ -88,10 +102,8 @@ class CJT_Models_Package_Xml_Factory {
|
|
88 |
* @param mixed $path
|
89 |
*/
|
90 |
public function obtainRelativePath($class, $innerPath) {
|
91 |
-
// Get class path.
|
92 |
-
$
|
93 |
-
// Remove base path from the class path.
|
94 |
-
$classRelativePath = str_replace("cjt/{$this->basePath}/", '', $classPath);
|
95 |
// Build child relatoive path.
|
96 |
$path = "{$classRelativePath}/{$innerPath}";
|
97 |
return $path;
|
41 |
* @param mixed $node
|
42 |
*/
|
43 |
public function create($current, $path, $node) {
|
|
|
|
|
44 |
// Get object element class name
|
45 |
$classPath = "{$this->basePath}/{$path}";
|
46 |
$className = 'CJT_' . str_replace(' ', '_', ucwords(str_replace('/', ' ', $classPath)));
|
47 |
// Instantiate class.
|
48 |
$object = new $className($node, $current, $this);
|
49 |
+
$objectPath = $object->virtualPath();
|
50 |
// Cache all instantiated objects so it can be accessed
|
51 |
// anywhere inside!
|
52 |
+
if (!isset($this->yields[$objectPath])) {
|
53 |
+
$this->yields[$objectPath] = array();
|
54 |
}
|
55 |
+
$this->yields[$objectPath][] = $object;
|
56 |
// Return new object.
|
57 |
return $object;
|
58 |
}
|
65 |
return $this->basePath;
|
66 |
}
|
67 |
|
68 |
+
/**
|
69 |
+
* put your comment there...
|
70 |
+
*
|
71 |
+
* @param mixed $class
|
72 |
+
*/
|
73 |
+
public function getClassRelativePath($class) {
|
74 |
+
// Get class path.
|
75 |
+
$classPath = strtolower(str_replace('_', '/', $class));
|
76 |
+
// Remove base path from the class path.
|
77 |
+
$classRelativePath = str_replace("cjt/{$this->basePath}/", '', $classPath);
|
78 |
+
// returns
|
79 |
+
return $classRelativePath;
|
80 |
+
}
|
81 |
+
|
82 |
/**
|
83 |
* put your comment there...
|
84 |
*
|
85 |
* @param mixed $path
|
86 |
*/
|
87 |
+
public function & getCreatedObjects($path) {
|
88 |
// Initialize.
|
89 |
$objects = array();
|
90 |
/// E_ALL complans
|
94 |
// Return objects.
|
95 |
return $objects;
|
96 |
}
|
97 |
+
|
98 |
/**
|
99 |
* put your comment there...
|
100 |
*
|
102 |
* @param mixed $path
|
103 |
*/
|
104 |
public function obtainRelativePath($class, $innerPath) {
|
105 |
+
// Get class path relative to the package doc.
|
106 |
+
$classRelativePath = $this->getClassRelativePath($class);
|
|
|
|
|
107 |
// Build child relatoive path.
|
108 |
$path = "{$classRelativePath}/{$innerPath}";
|
109 |
return $path;
|
models/setup.php
CHANGED
@@ -11,11 +11,6 @@ defined('ABSPATH') or die("Access denied");
|
|
11 |
*/
|
12 |
class CJTSetupModel {
|
13 |
|
14 |
-
/**
|
15 |
-
*
|
16 |
-
*/
|
17 |
-
const EDD_PRODUCT_NAME = 'CJT Free';
|
18 |
-
|
19 |
/**
|
20 |
*
|
21 |
*/
|
@@ -78,7 +73,7 @@ class CJTSetupModel {
|
|
78 |
$request['item_name'] = urlencode($component['name']);
|
79 |
$request['license'] = $license['key'];
|
80 |
/* CJT Extra Fields For EDD */
|
81 |
-
|
82 |
// Request the server!
|
83 |
$response = wp_remote_get(add_query_arg($request, cssJSToolbox::getCJTWebSiteURL()));
|
84 |
// We need only the JSON object returned by EDD APIs.
|
@@ -97,11 +92,45 @@ class CJTSetupModel {
|
|
97 |
public function getCJTComponentData() {
|
98 |
$component = array();
|
99 |
// Set info!
|
100 |
-
$component['name'] = self::EDD_PRODUCT_NAME;
|
101 |
$component['pluginBase'] = CJTOOLBOX_PLUGIN_BASE;
|
|
|
102 |
return $component;
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
/**
|
106 |
* put your comment there...
|
107 |
*
|
@@ -133,16 +162,33 @@ class CJTSetupModel {
|
|
133 |
/**
|
134 |
* put your comment there...
|
135 |
*
|
|
|
136 |
* @param mixed $compoment
|
137 |
-
* @param mixed $
|
138 |
*/
|
139 |
-
public function getStateStruct($
|
|
|
|
|
140 |
// Read all licenses from db!
|
141 |
$licensesCache =& $this->getLicenses();
|
142 |
-
//
|
143 |
-
$
|
144 |
-
|
145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
|
148 |
/**
|
11 |
*/
|
12 |
class CJTSetupModel {
|
13 |
|
|
|
|
|
|
|
|
|
|
|
14 |
/**
|
15 |
*
|
16 |
*/
|
73 |
$request['item_name'] = urlencode($component['name']);
|
74 |
$request['license'] = $license['key'];
|
75 |
/* CJT Extra Fields For EDD */
|
76 |
+
//$request['CJTEFFEDD_licenseName'] = $license['name'];
|
77 |
// Request the server!
|
78 |
$response = wp_remote_get(add_query_arg($request, cssJSToolbox::getCJTWebSiteURL()));
|
79 |
// We need only the JSON object returned by EDD APIs.
|
92 |
public function getCJTComponentData() {
|
93 |
$component = array();
|
94 |
// Set info!
|
|
|
95 |
$component['pluginBase'] = CJTOOLBOX_PLUGIN_BASE;
|
96 |
+
$component['title'] = 'CSS & Javascript Toolbox';
|
97 |
return $component;
|
98 |
}
|
99 |
|
100 |
+
/**
|
101 |
+
* put your comment there...
|
102 |
+
*
|
103 |
+
* @param mixed $component
|
104 |
+
*/
|
105 |
+
public function getExtensionProductTypes($component) {
|
106 |
+
# Initialize
|
107 |
+
$types = array();
|
108 |
+
# Extension plugin file
|
109 |
+
$pluginDirName = dirname($component['pluginBase']);
|
110 |
+
$pluginXMLFile = WP_PLUGIN_DIR . DIRECTORY_SEPARATOR .
|
111 |
+
$pluginDirName . DIRECTORY_SEPARATOR .
|
112 |
+
$pluginDirName . '.xml';
|
113 |
+
# Use XML
|
114 |
+
$exDef = new SimpleXMLElement(file_get_contents($pluginXMLFile));
|
115 |
+
# Register XPath namespace
|
116 |
+
$license = $exDef->license;
|
117 |
+
$license->registerXPathNamespace('ext', 'http://css-javascript-toolbox.com/extensions/xmldeffile');
|
118 |
+
# Get types
|
119 |
+
$typesSrc = $exDef->license->xpath('name');
|
120 |
+
foreach ($typesSrc as $type) {
|
121 |
+
# Product name
|
122 |
+
$name = (string) $type;
|
123 |
+
# Old Definiton document doesnt support text attributes.
|
124 |
+
# If not there use name node value as TEXT
|
125 |
+
if (!$text = ((string) $type->attributes()->text)) {
|
126 |
+
$text = $name;
|
127 |
+
}
|
128 |
+
# Add to list
|
129 |
+
$types[$name] = array('name' => $name, 'text' => $text);
|
130 |
+
}
|
131 |
+
return $types;
|
132 |
+
}
|
133 |
+
|
134 |
/**
|
135 |
* put your comment there...
|
136 |
*
|
162 |
/**
|
163 |
* put your comment there...
|
164 |
*
|
165 |
+
* @param mixed $licenseTypes
|
166 |
* @param mixed $compoment
|
167 |
+
* @param mixed $struct
|
168 |
*/
|
169 |
+
public function getStateStruct($licenseTypes, $struct = null) {
|
170 |
+
// INit
|
171 |
+
$state = null;
|
172 |
// Read all licenses from db!
|
173 |
$licensesCache =& $this->getLicenses();
|
174 |
+
// Find license
|
175 |
+
foreach ($licenseTypes as $type) {
|
176 |
+
# Get product name to search
|
177 |
+
$productName = $type['name'];
|
178 |
+
if (isset($licensesCache[$productName])) {
|
179 |
+
# Get product state
|
180 |
+
$state = $licensesCache[$productName];
|
181 |
+
# Filter to section
|
182 |
+
if ($struct) {
|
183 |
+
$state = $state[$struct];
|
184 |
+
}
|
185 |
+
# ALways push product name
|
186 |
+
$state['productName'] = $productName;
|
187 |
+
# Exit for
|
188 |
+
break;
|
189 |
+
}
|
190 |
+
}
|
191 |
+
return $state;
|
192 |
}
|
193 |
|
194 |
/**
|
models/statistics-metabox.php
CHANGED
@@ -57,35 +57,34 @@ class CJTStatisticsMetaboxModel {
|
|
57 |
*/
|
58 |
public function getFeed() {
|
59 |
// Initialize.
|
60 |
-
$widgetTransitFeed = get_option(self::CJT_LASTEST_SCRIPT_OPTION_NAME, array(
|
61 |
-
'scripts' => array(array('title' => 'cjt-script.com', 'link' => 'http://' . cssJSToolbox::CJT_SCRTIPS_WEB_SITE_DOMAIN)),
|
62 |
-
'news' => array(array('title' => 'css-javascript-toolbox.com', 'link' => 'http://' . cssJSToolbox::CJT_WEB_SITE_DOMAIN)),
|
63 |
-
'time' => 0
|
64 |
-
));
|
65 |
// Only if cache is expires read feed from server.
|
66 |
if ((time() - $widgetTransitFeed['time']) > self::LATEST_SCRIPT_EXPIRES) {
|
|
|
|
|
67 |
# Get Latest Scripts/Packages from feed.
|
68 |
-
$scriptsFeed = new CJT_Framework_Wordpress_Feed(
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
);
|
73 |
-
if (!$scriptsFeed->isError()) {
|
74 |
-
$widgetTransitFeed['scripts'] = $scriptsFeed->getLatestItems(1);
|
75 |
-
}
|
76 |
# Get latest news from news feed.
|
77 |
-
$newsFeed = new CJT_Framework_Wordpress_Feed(
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
$widgetTransitFeed
|
84 |
}
|
85 |
-
# Store cache time.
|
86 |
-
$widgetTransitFeed['time'] = time();
|
87 |
-
update_option(self::CJT_LASTEST_SCRIPT_OPTION_NAME, $widgetTransitFeed);
|
88 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
return $widgetTransitFeed;
|
90 |
}
|
91 |
|
57 |
*/
|
58 |
public function getFeed() {
|
59 |
// Initialize.
|
60 |
+
$widgetTransitFeed = get_option(self::CJT_LASTEST_SCRIPT_OPTION_NAME, array('time' => 0));
|
|
|
|
|
|
|
|
|
61 |
// Only if cache is expires read feed from server.
|
62 |
if ((time() - $widgetTransitFeed['time']) > self::LATEST_SCRIPT_EXPIRES) {
|
63 |
+
# INitiaize
|
64 |
+
$fieldsNames = array('title', 'link', 'description');
|
65 |
# Get Latest Scripts/Packages from feed.
|
66 |
+
$scriptsFeed = new CJT_Framework_Wordpress_Feed(cssJSToolbox::CJT_WEB_SITE_DOMAIN, 'category/scripts/feed/', $fieldsNames);
|
67 |
+
$widgetTransitFeed['scripts'] = $scriptsFeed->getLatestItems(7);
|
68 |
+
# Get latest extensions from feed
|
69 |
+
$extensionsFeed = new CJT_Framework_Wordpress_Feed(cssJSToolbox::CJT_WEB_SITE_DOMAIN, 'category/extensions/feed/', $fieldsNames);
|
70 |
+
$widgetTransitFeed['extensions'] = $extensionsFeed->getLatestItems(7);
|
|
|
|
|
|
|
71 |
# Get latest news from news feed.
|
72 |
+
$newsFeed = new CJT_Framework_Wordpress_Feed(cssJSToolbox::CJT_WEB_SITE_DOMAIN, 'category/news/feed/', $fieldsNames);
|
73 |
+
$widgetTransitFeed['news'] = $newsFeed->getLatestItems(1);
|
74 |
+
# Cache only if there is no errors.
|
75 |
+
if (!$newsFeed->isError() && !$scriptsFeed->isError() && !$extensionsFeed->isError()) {
|
76 |
+
# Store cache time.
|
77 |
+
$widgetTransitFeed['time'] = time();
|
78 |
+
update_option(self::CJT_LASTEST_SCRIPT_OPTION_NAME, $widgetTransitFeed);
|
79 |
}
|
|
|
|
|
|
|
80 |
}
|
81 |
+
# For versions 8.0 it will produce PHP notice because extensions item is not being exists in the cache
|
82 |
+
# The error will be always visible until next caching cycle!
|
83 |
+
# temporary solution
|
84 |
+
else if (!isset($widgetTransitFeed['extensions'])) {
|
85 |
+
$widgetTransitFeed['extensions'] = array();
|
86 |
+
}
|
87 |
+
# Returns
|
88 |
return $widgetTransitFeed;
|
89 |
}
|
90 |
|
models/template.php
CHANGED
@@ -136,10 +136,12 @@ class CJTTemplateModel extends CJTHookableClass {
|
|
136 |
$dbDriver = cssJSToolbox::getInstance()->getDBDriver();
|
137 |
$saveId = isset($this->inputs['item']['template']['id']) ? $this->inputs['item']['template']['id'] : null;
|
138 |
// Load template data is exists (load), change values (setData).
|
139 |
-
$template = CJTxTable::getInstance('template')
|
140 |
-
|
141 |
-
|
142 |
-
|
|
|
|
|
143 |
$templateDirName = $template->get('queueName');
|
144 |
$templateDir = "wp-content/{$fSConfig->contentDir}/{$fSConfig->templatesDir}/{$templateDirName}";
|
145 |
if (!$template->get('id')) { // Add new Template
|
136 |
$dbDriver = cssJSToolbox::getInstance()->getDBDriver();
|
137 |
$saveId = isset($this->inputs['item']['template']['id']) ? $this->inputs['item']['template']['id'] : null;
|
138 |
// Load template data is exists (load), change values (setData).
|
139 |
+
$template = CJTxTable::getInstance('template');
|
140 |
+
if ($saveId) {
|
141 |
+
$template->set('id', $saveId)->load();
|
142 |
+
}
|
143 |
+
$template->setData($this->inputs['item']['template'])
|
144 |
+
->setQueueName();
|
145 |
$templateDirName = $template->get('queueName');
|
146 |
$templateDir = "wp-content/{$fSConfig->contentDir}/{$fSConfig->templatesDir}/{$templateDirName}";
|
147 |
if (!$template->get('id')) { // Add new Template
|
readme.txt
CHANGED
@@ -2,44 +2,52 @@
|
|
2 |
Contributors: wipeoutmedia
|
3 |
Author URL: http://css-javascript-toolbox.com
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EWDWF75JHT9Q6
|
5 |
-
Tags: post, posts, admin, sidebar, page, pages, image,
|
6 |
License: GPLv2 or later
|
7 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
8 |
Requires at least: 3.9
|
9 |
-
Tested up to:
|
10 |
-
Stable tag:
|
11 |
|
12 |
Easily add custom CSS, JavaScript, HTML and PHP code to unique CJT code blocks and assign them wherever you want.
|
13 |
|
14 |
== Description ==
|
15 |
-
CSS & JavaScript Toolbox is a powerful code management plugin that gives you the tools to easily and safely modify or extend the functionality and appearance of your WordPress-powered website.
|
16 |
|
17 |
-
=
|
18 |
-
|
19 |
|
20 |
-
=
|
21 |
-
|
22 |
-
Click to learn about the [benefits of upgrading to CJT Pro/Dev](http://css-javascript-toolbox.com/pricing).
|
23 |
|
24 |
-
|
|
|
25 |
|
26 |
-
|
27 |
-
Just like plugins, scripts can modify or extend the functionality and appearance of your website. Unlike plugins, adding and configuring script code files can be frustrating. CJT makes this process pleasant and easy. In fact, adding scripts and styles with CJT can be done in as little as two steps:
|
28 |
-
1) Add your code
|
29 |
-
2) Assign where it goes
|
30 |
|
31 |
-
=
|
32 |
-
|
33 |
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
=
|
38 |
-
|
39 |
|
40 |
-
-
|
41 |
-
-
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
= Follow the Developments =
|
45 |
If you like to know more about the development state, issues and to track future versions code please follow us on [GitHub Plugin repository](https://github.com/css-javascript-toolbox/css-javascript-toolbox-plugin).
|
@@ -97,39 +105,41 @@ Make sure you have copied and pasted the Page, Post, or Category URL exactly as
|
|
97 |
Hook location feature gives you control over the location of outputting the CSS/JS code. This is useful in case overriding another plugins' CSS is required. Also sometimes its better to put your JS code in the footer to avoid slowing down your page load.
|
98 |
|
99 |
= I received a weird error, what do I do now? =
|
100 |
-
Due to the overwhelming amount of emails we get for users requesting support for our CJT plugins, we cannot provide support for the CJT Free plugin (hosted here on WordPress.org) at this stage unfortunately. If you wish to receive priority support, please visit our CJT website and [purchase a license for any of our
|
101 |
|
102 |
== Screenshots ==
|
103 |
|
104 |
-
1.
|
105 |
-
2. Create
|
106 |
-
3. Blocks
|
107 |
-
4.
|
108 |
-
5.
|
109 |
-
6.
|
110 |
-
7.
|
111 |
-
8. Assigning
|
112 |
-
9.
|
113 |
-
10.
|
114 |
-
11.
|
115 |
-
12.
|
116 |
-
13.
|
117 |
-
14.
|
118 |
-
15.
|
119 |
-
16.
|
120 |
-
17.
|
121 |
-
18.
|
122 |
-
19.
|
123 |
-
20.
|
124 |
-
21.
|
125 |
-
22. Templates Lookup Form
|
126 |
-
23. Insert Block Shortcode via TinyMCE Button
|
127 |
-
24. Create Metabox Block At Edit post Level
|
128 |
-
25. Blocks Screenshor by creating Backup from all existing Code Blocks
|
129 |
-
26. Block Revisions Dialog
|
130 |
-
27. Block Info Dialog
|
131 |
|
132 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
= 7.2 =
|
134 |
* Fix: Block Code file name moving away when open/close Block metabox
|
135 |
* Fix: Shortcode list is too small for Shortcode names
|
2 |
Contributors: wipeoutmedia
|
3 |
Author URL: http://css-javascript-toolbox.com
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EWDWF75JHT9Q6
|
5 |
+
Tags: post, posts, admin, sidebar, page, pages, widget, image, shortcode, plugin, google, customise, style, scripts, hack, Wordpress, HTML, CSS, JavaScript, HTML5, jQuery, PHP, code, script, scripts, manage, management, display, output, header, footer, apply, requests, match, hook, execute, run
|
6 |
License: GPLv2 or later
|
7 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
8 |
Requires at least: 3.9
|
9 |
+
Tested up to: 4.0
|
10 |
+
Stable tag: 8.0
|
11 |
|
12 |
Easily add custom CSS, JavaScript, HTML and PHP code to unique CJT code blocks and assign them wherever you want.
|
13 |
|
14 |
== Description ==
|
15 |
+
CSS & JavaScript Toolbox (or CJT) is a powerful code management plugin that gives you the tools to easily and safely modify or extend the functionality and appearance of your WordPress-powered website.
|
16 |
|
17 |
+
= Perfect for WordPress website development =
|
18 |
+
Whether it be adding free/premium scripts, creating and testing new scripts, streamlining development work, making front-end customisations, or even teaching and learning WordPress – CJT is extremely flexible and versatile.
|
19 |
|
20 |
+
= How does it work? =
|
21 |
+
Since CJT was designed to be easy, adding scripts and styles can be done in as little as two steps.
|
|
|
22 |
|
23 |
+
- adding your code directly into unique CJT code blocks
|
24 |
+
- assigning where these code blocks go
|
25 |
|
26 |
+
CJT code blocks can be assigned to pages, posts, custom posts, categories, URLs, expressions, and practically anywhere you want on your website. Code block shortcodes can also provide you with further placement accuracy.
|
|
|
|
|
|
|
27 |
|
28 |
+
= Want more features? =
|
29 |
+
Get CJT extension plugins that provide more features such as:
|
30 |
|
31 |
+
- [Editor Toolbox](http://css-javascript-toolbox.com/extensions/editor-toolbox)
|
32 |
+
- [Editor Themes](http://css-javascript-toolbox.com/extensions/editor-themes)
|
33 |
+
- [Block Widget Linker](http://css-javascript-toolbox.com/extensions/block-widget-linker)
|
34 |
+
- [Import Export Tool](http://css-javascript-toolbox.com/extensions/import-export-tool)
|
35 |
+
- [Code Auto Completion](http://css-javascript-toolbox.com/extensions/code-auto-completion)
|
36 |
+
- [Advanced Theme Editor](http://css-javascript-toolbox.com/extensions/advanced-theme-editor)
|
37 |
+
- [Advanced Plugins Editor](http://css-javascript-toolbox.com/extensions/advanced-plugins-editor)
|
38 |
|
39 |
+
= Want to add great scripts? =
|
40 |
+
Get script plugins that can be installed on your website running CJT:
|
41 |
|
42 |
+
- [Image Zoomer](https://wordpress.org/plugins/cjte-image-zoomer/)
|
43 |
+
- [Black & White Image Effect](https://wordpress.org/plugins/cjte-black-white-image-effect/)
|
44 |
+
|
45 |
+
= Support Us =
|
46 |
+
Thank you for your interest in CSS & JavaScript Toolbox.
|
47 |
+
Please support us by:
|
48 |
+
|
49 |
+
- Providing a [feedback review and rating](http://wordpress.org/support/view/plugin-reviews/css-javascript-toolbox) on WordPress.org
|
50 |
+
- Spreading the word and recommending CJT to others.
|
51 |
|
52 |
= Follow the Developments =
|
53 |
If you like to know more about the development state, issues and to track future versions code please follow us on [GitHub Plugin repository](https://github.com/css-javascript-toolbox/css-javascript-toolbox-plugin).
|
105 |
Hook location feature gives you control over the location of outputting the CSS/JS code. This is useful in case overriding another plugins' CSS is required. Also sometimes its better to put your JS code in the footer to avoid slowing down your page load.
|
106 |
|
107 |
= I received a weird error, what do I do now? =
|
108 |
+
Due to the overwhelming amount of emails we get for users requesting support for our CJT plugins, we cannot provide support for the CJT Free plugin (hosted here on WordPress.org) at this stage unfortunately. If you wish to receive priority support, please visit our CJT website and [purchase a license for any of our products](http://css-javascript-toolbox.com/pricing).
|
109 |
|
110 |
== Screenshots ==
|
111 |
|
112 |
+
1. Add your code, then assign where it goes
|
113 |
+
2. Create New Code Block dialog box
|
114 |
+
3. Master Admin Toolbar at top, and minimised Code Blocks below
|
115 |
+
4. Change editor language for syntax highlighting and error checking
|
116 |
+
5. Assigning WordPress Pages and sub-pages
|
117 |
+
6. Assigning WordPress Posts
|
118 |
+
7. Assigning Custom Posts
|
119 |
+
8. Assigning Categories and sub-categories
|
120 |
+
9. Auxiliary Assignments
|
121 |
+
10. Advanced Assignments (URLs and Regular Expressions)
|
122 |
+
11. Change State batch tools
|
123 |
+
12. Change Location/Hook batch tools
|
124 |
+
13. Delete and Backup Tools
|
125 |
+
14. Code-Files management form (within each Code Block)
|
126 |
+
15. Templates Manager form to store all of your Code Templates
|
127 |
+
16. Templates Lookup form to embed or link Code Templates to Code Blocks
|
128 |
+
17. Insert Code Block shortcodes via TinyMCE button
|
129 |
+
18. Metabox Code Block at the Edit Page/Post level
|
130 |
+
19. Create backups of all your existing Code Blocks
|
131 |
+
20. Create/Restore Code Block revisions
|
132 |
+
21. See Code Block information at a glance
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
|
134 |
== Changelog ==
|
135 |
+
= 8.0 =
|
136 |
+
* Show premium extensions list in Dashboard Widget instead of Scripts Packages
|
137 |
+
* Framework update that makes CJT functionality more extendable
|
138 |
+
* Remove: Editor Toolbox Buttons and Block File, Edit and View menu as it now presented in separated extension
|
139 |
+
* Remove: Editor Themes Switcher list as it now presented in separated extension
|
140 |
+
* Remove: Import and Export Tools as it not presented in separated extension
|
141 |
+
* Fix: Conflict with other themes like X Theme
|
142 |
+
|
143 |
= 7.2 =
|
144 |
* Fix: Block Code file name moving away when open/close Block metabox
|
145 |
* Fix: Shortcode list is too small for Shortcode names
|
views/blocks/block/public/css/block.css
CHANGED
@@ -136,24 +136,6 @@
|
|
136 |
top: -2px;
|
137 |
background-position: center center;
|
138 |
}
|
139 |
-
.popup-menu.editor-themes-list {
|
140 |
-
left: 10px !important;
|
141 |
-
background-color: transparent !important;
|
142 |
-
border: none !important;
|
143 |
-
display: block;
|
144 |
-
width: 196px;
|
145 |
-
height: 220px;
|
146 |
-
overflow: auto;
|
147 |
-
padding: 20px !important;
|
148 |
-
margin-left: -202px;
|
149 |
-
margin-top: -25px !important;
|
150 |
-
}
|
151 |
-
.popup-menu.editor-themes-list ul {margin: 0px; overflow: auto; height: 182px; border: 1px solid #bbb; padding: 13px;}
|
152 |
-
.popup-menu.editor-themes-list a {
|
153 |
-
padding-top: 0px !important;
|
154 |
-
margin: 0px !important;
|
155 |
-
}
|
156 |
-
.popup-menu.editor-themes-list a.selected {color: #0074a2 !important;}
|
157 |
|
158 |
.block-toolbox a.cjttbl-save.cjttbs-disabled {background: url(../images/toolbox/save-inactive.png); }
|
159 |
.block-toolbox a.cjttbl-revisions { background-image: url(../images/toolbox/revisions.png); }
|
@@ -174,15 +156,8 @@
|
|
174 |
height: 350px;
|
175 |
top: 5px;
|
176 |
margin-left: 10px;
|
|
|
177 |
}
|
178 |
-
.cjt-toolbox.editor-toolbox .icons-group a.cjt-tb-link {margin: 6px 0 0 6px;}
|
179 |
-
.cjt-toolbox.editor-toolbox a.cjttbl-fullscreen {background-image: url(../images/editor-toolbox/maximise-editor.png);}
|
180 |
-
.cjt-toolbox.editor-toolbox a.cjttbl-fullscreen.maximized {background-image: url(../images/editor-toolbox/minimise-editor.png);}
|
181 |
-
.cjt-toolbox.editor-toolbox a.cjttbl-font-large {background-image: url(../images/editor-toolbox/font-large.png);}
|
182 |
-
.cjt-toolbox.editor-toolbox a.cjttbl-font-small {background-image: url(../images/editor-toolbox/font-small.png);}
|
183 |
-
.cjt-toolbox.editor-toolbox a.cjttbl-reset-font {background-image: url(../images/editor-toolbox/font-reset.png);}
|
184 |
-
.cjt-toolbox.editor-toolbox a.cjttbl-clear-block {background-image: url(../images/editor-toolbox/clear-block.png);}
|
185 |
-
.cjt-toolbox.editor-toolbox a.cjttbl-editor-theme {background-image: url(../images/editor-toolbox/theme.png);}
|
186 |
|
187 |
.loading-block{
|
188 |
font-weight: bold;
|
136 |
top: -2px;
|
137 |
background-position: center center;
|
138 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
|
140 |
.block-toolbox a.cjttbl-save.cjttbs-disabled {background: url(../images/toolbox/save-inactive.png); }
|
141 |
.block-toolbox a.cjttbl-revisions { background-image: url(../images/toolbox/revisions.png); }
|
156 |
height: 350px;
|
157 |
top: 5px;
|
158 |
margin-left: 10px;
|
159 |
+
display: none;
|
160 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
|
162 |
.loading-block{
|
163 |
font-weight: bold;
|
views/blocks/block/public/css/menu.css
DELETED
@@ -1,61 +0,0 @@
|
|
1 |
-
#block-menu {
|
2 |
-
display: none;
|
3 |
-
position: absolute;
|
4 |
-
top: 2px;
|
5 |
-
left: 358px;
|
6 |
-
padding: 10px;
|
7 |
-
margin: 0px 0 0 0;
|
8 |
-
z-index: 10;
|
9 |
-
border: none;
|
10 |
-
background-color: transparent;
|
11 |
-
}
|
12 |
-
|
13 |
-
#block-menu>li {
|
14 |
-
display: inline-block;
|
15 |
-
margin: 0px;
|
16 |
-
float: none;
|
17 |
-
clear: none;
|
18 |
-
width: initial;
|
19 |
-
}
|
20 |
-
#block-menu>li li {
|
21 |
-
margin: 4px 0px 3px 0px;
|
22 |
-
float: none;
|
23 |
-
}
|
24 |
-
|
25 |
-
#block-menu a {
|
26 |
-
padding: 0px 7px 0px 5px !important;
|
27 |
-
font-size: 13px;
|
28 |
-
text-decoration: none;
|
29 |
-
font-family: sans-serif;
|
30 |
-
display: inline-block;
|
31 |
-
border: none;
|
32 |
-
background-color: transparent !important;
|
33 |
-
line-height: 0;
|
34 |
-
}
|
35 |
-
#block-menu li ul {
|
36 |
-
position: absolute !important;
|
37 |
-
width: 206px;
|
38 |
-
margin-bottom: 0px;
|
39 |
-
border: 1px solid #bbb;
|
40 |
-
margin-top: 12px;
|
41 |
-
padding: 2px 0px 6px 0px;
|
42 |
-
}
|
43 |
-
|
44 |
-
.ui-menu-divider {
|
45 |
-
/* background-color: #bbb !important; */
|
46 |
-
height: 1px;
|
47 |
-
width: 70px;
|
48 |
-
margin: 7px 0px 0px 5px !important;
|
49 |
-
border: none;
|
50 |
-
}
|
51 |
-
|
52 |
-
#block-menu>li a span {
|
53 |
-
width: initial;
|
54 |
-
height: initial;
|
55 |
-
background-image: none;
|
56 |
-
}
|
57 |
-
|
58 |
-
#block-menu a:hover {
|
59 |
-
background-image: none;
|
60 |
-
background-color: transparent !important;
|
61 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/blocks/block/public/images/editor-toolbox/clear-block.png
DELETED
Binary file
|
views/blocks/block/public/images/editor-toolbox/font-large.png
DELETED
Binary file
|
views/blocks/block/public/images/editor-toolbox/font-reset.png
DELETED
Binary file
|
views/blocks/block/public/images/editor-toolbox/font-small.png
DELETED
Binary file
|
views/blocks/block/public/images/editor-toolbox/maximise-editor.png
DELETED
Binary file
|
views/blocks/block/public/images/editor-toolbox/minimise-editor.png
DELETED
Binary file
|
views/blocks/block/public/images/editor-toolbox/theme.png
DELETED
Binary file
|
views/blocks/block/public/js/jquery.block/jquery.block.js
CHANGED
@@ -110,222 +110,6 @@
|
|
110 |
blockName : 'span.block-name',
|
111 |
insideMetabox : 'div.inside'
|
112 |
};
|
113 |
-
|
114 |
-
/**
|
115 |
-
* put your comment there...
|
116 |
-
*
|
117 |
-
* @type Object
|
118 |
-
*/
|
119 |
-
var Buttons = new function() {
|
120 |
-
|
121 |
-
/**
|
122 |
-
* put your comment there...
|
123 |
-
*
|
124 |
-
* @type T_JS_FUNCTION
|
125 |
-
*/
|
126 |
-
this.EditorToolbox = new function() {
|
127 |
-
|
128 |
-
/**
|
129 |
-
*
|
130 |
-
*/
|
131 |
-
this.EditorThemes = new function() {
|
132 |
-
// Initialize.
|
133 |
-
this.block = null;
|
134 |
-
// Create Unattached Themes list
|
135 |
-
// to be used accross all the blocks.
|
136 |
-
var theme = null;
|
137 |
-
var themesUIListContainer = $('<div class="popup-menu editor-themes-list"></div>').css({display: 'none'});
|
138 |
-
var themesUIList = $('<ul></ul>').appendTo(themesUIListContainer);
|
139 |
-
var themesAnchorsMap = {}, themes = [
|
140 |
-
'ambiance',
|
141 |
-
'chaos',
|
142 |
-
'chrome',
|
143 |
-
'clouds',
|
144 |
-
'clouds_midnight',
|
145 |
-
'cobalt',
|
146 |
-
'crimson_editor',
|
147 |
-
'dawn',
|
148 |
-
'dreamweaver',
|
149 |
-
'eclipse',
|
150 |
-
'github',
|
151 |
-
'idle_fingers',
|
152 |
-
'katzenmilch',
|
153 |
-
'kr',
|
154 |
-
'kuroir',
|
155 |
-
'merbivore',
|
156 |
-
'merbivore_soft',
|
157 |
-
'mono_industrial',
|
158 |
-
'monokai',
|
159 |
-
'pastel_on_dark',
|
160 |
-
'solarized_dark',
|
161 |
-
'solarized_light',
|
162 |
-
'terminal',
|
163 |
-
'textmate',
|
164 |
-
'tomorrow',
|
165 |
-
'tomorrow_night',
|
166 |
-
'tomorrow_night_blue',
|
167 |
-
'tomorrow_night_bright',
|
168 |
-
'tomorrow_night_eighties',
|
169 |
-
'twilight',
|
170 |
-
'vibrant_ink',
|
171 |
-
'xcode'
|
172 |
-
];
|
173 |
-
|
174 |
-
/**
|
175 |
-
* put your comment there...
|
176 |
-
*
|
177 |
-
* @param event
|
178 |
-
*/
|
179 |
-
var _onswitchtheme = function(event) {
|
180 |
-
// Get theme name associated with the link.
|
181 |
-
var editorTheme = $(event.target).data('ace-theme-key');
|
182 |
-
var $this = Buttons.EditorToolbox.EditorThemes;
|
183 |
-
// Save theme.
|
184 |
-
$this.block.block.set('editorTheme', editorTheme);
|
185 |
-
// Select menu theme.
|
186 |
-
$this.selectMenuTheme();
|
187 |
-
// Set editor theme.
|
188 |
-
$this.setEditorTheme();
|
189 |
-
// Link Inactive.
|
190 |
-
return false;
|
191 |
-
};
|
192 |
-
|
193 |
-
/**
|
194 |
-
* put your comment there...
|
195 |
-
*
|
196 |
-
* @param button
|
197 |
-
*/
|
198 |
-
var _oncallback = function(targetList, button) {
|
199 |
-
// Init.
|
200 |
-
var cObject = Buttons.EditorToolbox.EditorThemes;
|
201 |
-
// Associate list to current activate block.
|
202 |
-
cObject.block = this;
|
203 |
-
// Select default.
|
204 |
-
cObject.selectMenuTheme();
|
205 |
-
// ACE Themes list style.
|
206 |
-
cObject.applyTheme(this);
|
207 |
-
// Add the list just after the button.
|
208 |
-
button.jButton.after(targetList);
|
209 |
-
}
|
210 |
-
|
211 |
-
/**
|
212 |
-
*
|
213 |
-
*/
|
214 |
-
this.applyTheme = function(block) {
|
215 |
-
// Apply theme to Themes list.
|
216 |
-
themesUIList.css('background-color', block.theme.backgroundColor);
|
217 |
-
// Apply to block components
|
218 |
-
CJTBlockCodeFileView.applyTheme(block);
|
219 |
-
CJTBlockMenuView.applyTheme(block);
|
220 |
-
};
|
221 |
-
|
222 |
-
/**
|
223 |
-
*
|
224 |
-
*/
|
225 |
-
this.getEditorTheme = function() {
|
226 |
-
return this.block.block.get('editorTheme', 'chrome');
|
227 |
-
};
|
228 |
-
|
229 |
-
/**
|
230 |
-
*
|
231 |
-
*/
|
232 |
-
this.getType = function(block) {
|
233 |
-
// Associate block for initialize.
|
234 |
-
// block would be changed again everytime
|
235 |
-
// a block is initialized
|
236 |
-
// or menu is selected.
|
237 |
-
this.block = block;
|
238 |
-
// Bind to themeLoaded event.
|
239 |
-
var model = block.block;
|
240 |
-
var editor = model.aceEditor;
|
241 |
-
editor.renderer.addEventListener('themeLoaded', $.proxy(
|
242 |
-
function() {
|
243 |
-
var jEditor = $(editor.container);
|
244 |
-
// Set theme colors.
|
245 |
-
block.theme = {};
|
246 |
-
block.theme.backgroundColor = jEditor.css('background-color');
|
247 |
-
block.theme.color = jEditor.css('color');
|
248 |
-
// Apply Theme to block element.
|
249 |
-
model.box.css('background-color', block.theme.backgroundColor);
|
250 |
-
block.block.box.find('.hndle').css('color', block.theme.color);
|
251 |
-
// ACE Themes list theme.
|
252 |
-
this.applyTheme(block);
|
253 |
-
}, this)
|
254 |
-
);
|
255 |
-
// Set default theme.
|
256 |
-
this.setEditorTheme();
|
257 |
-
// Type object.
|
258 |
-
return {
|
259 |
-
|
260 |
-
// Callback
|
261 |
-
callback : _oncallback,
|
262 |
-
|
263 |
-
/**
|
264 |
-
* put your comment there...
|
265 |
-
*
|
266 |
-
* @type String
|
267 |
-
*/
|
268 |
-
type : 'Popup',
|
269 |
-
|
270 |
-
/**
|
271 |
-
*
|
272 |
-
*/
|
273 |
-
params : {
|
274 |
-
// Parameters for PopupList type button.
|
275 |
-
_type : {
|
276 |
-
targetElement : themesUIListContainer,
|
277 |
-
targetElementObject : true
|
278 |
-
}
|
279 |
-
}
|
280 |
-
}
|
281 |
-
};
|
282 |
-
|
283 |
-
/**
|
284 |
-
*
|
285 |
-
*/
|
286 |
-
this.selectMenuTheme = function() {
|
287 |
-
// Get editor theme.
|
288 |
-
var editorTheme = this.getEditorTheme();
|
289 |
-
// Clear any previously selected item.
|
290 |
-
themesUIList.find('a').removeClass('active');
|
291 |
-
// Select default.
|
292 |
-
themesAnchorsMap[editorTheme].addClass('active');
|
293 |
-
};
|
294 |
-
|
295 |
-
/**
|
296 |
-
*
|
297 |
-
*/
|
298 |
-
this.setEditorTheme = function() {
|
299 |
-
// INitialize.
|
300 |
-
var model = this.block.block;
|
301 |
-
var editor = model.aceEditor;
|
302 |
-
// Set editor theme.
|
303 |
-
// TODO: Full theme name might be saved somewhere!
|
304 |
-
var themePath = 'ace/theme/' + this.getEditorTheme();
|
305 |
-
// Change theme.
|
306 |
-
editor.setTheme(themePath);
|
307 |
-
};
|
308 |
-
|
309 |
-
// Build list.
|
310 |
-
$.each(themes, $.proxy(
|
311 |
-
function(index, themeName) {
|
312 |
-
// Add item to list.
|
313 |
-
var listItem = $('<li></li>').appendTo(themesUIList);
|
314 |
-
// Create link + replace name with the anchor.
|
315 |
-
themesAnchorsMap[themeName] = $('<a href="#">' + CJTJqueryBlockI18N['ace_theme-' + themeName] + '</a>').appendTo(listItem)
|
316 |
-
// Class.
|
317 |
-
.addClass('cjt-link')
|
318 |
-
// Store theme key.
|
319 |
-
.data('ace-theme-key', themeName)
|
320 |
-
// Handle item click.
|
321 |
-
.click(_onswitchtheme);
|
322 |
-
}, this)
|
323 |
-
);
|
324 |
-
|
325 |
-
};
|
326 |
-
|
327 |
-
}
|
328 |
-
};
|
329 |
|
330 |
/**
|
331 |
* Block jQuery Plugin.
|
@@ -391,6 +175,9 @@
|
|
391 |
*/
|
392 |
this.toolbox = null;
|
393 |
|
|
|
|
|
|
|
394 |
/**
|
395 |
* Event handler for cancel edit block name.
|
396 |
*
|
@@ -408,19 +195,6 @@
|
|
408 |
this.block.box.find('.file').css({visibility : 'visible'});
|
409 |
}
|
410 |
|
411 |
-
/**
|
412 |
-
*
|
413 |
-
*/
|
414 |
-
this._onclearblock = function() {
|
415 |
-
var aceEditor = this.block.aceEditor;
|
416 |
-
//Directly clear using setValue('') won't save the history!
|
417 |
-
// Select all text.
|
418 |
-
aceEditor.selectAll();
|
419 |
-
// Replace content with empty string!
|
420 |
-
aceEditor.getSession().replace(aceEditor.getSelectionRange(), '');
|
421 |
-
aceEditor.focus();
|
422 |
-
}
|
423 |
-
|
424 |
/**
|
425 |
*
|
426 |
*
|
@@ -562,71 +336,6 @@
|
|
562 |
inputText.focus();
|
563 |
}
|
564 |
}
|
565 |
-
|
566 |
-
/**
|
567 |
-
*
|
568 |
-
*/
|
569 |
-
this._onfontsize = function(event, params) {
|
570 |
-
var editor = $(this.block.aceEditor.container);
|
571 |
-
// Reset font size to default.
|
572 |
-
if (params.reset) {
|
573 |
-
// Remove fontSize and Line-Height rules!
|
574 |
-
fontSize = '';
|
575 |
-
}
|
576 |
-
else {
|
577 |
-
var tick = 2;
|
578 |
-
// Get current font-size.
|
579 |
-
var fontSize = editor.css('font-size'); // Font size in pixels!
|
580 |
-
fontSize = (parseInt(fontSize) + (params.direction * tick)) + 'px';
|
581 |
-
}
|
582 |
-
// Reset Or Increase (+) Or decrease (-) font size based on the given parameter.
|
583 |
-
editor.css({'font-size' : fontSize, 'line-height' : fontSize});
|
584 |
-
}
|
585 |
-
|
586 |
-
/**
|
587 |
-
*
|
588 |
-
*/
|
589 |
-
this._onfullscreen = function(event) {
|
590 |
-
// Initialize vars!
|
591 |
-
var block = this.block;
|
592 |
-
var elementsToDock = $.merge($.merge([], this.extraDocks), this.defaultDocks);
|
593 |
-
var newMode = '';
|
594 |
-
// Document body.
|
595 |
-
$('body').toggleClass('fullscreen').hasClass('fullscreen');
|
596 |
-
// Enter/Exit Full Screen mode!
|
597 |
-
if (block.box.toggleClass('fullscreen').hasClass('fullscreen')) {
|
598 |
-
newMode = 'fullscreen';
|
599 |
-
// Defined resize handler.
|
600 |
-
var resizer = $.proxy(
|
601 |
-
function() {
|
602 |
-
$.each(elementsToDock, $.proxy(
|
603 |
-
function(index, item) {
|
604 |
-
// Dock all defined elements!
|
605 |
-
this.dock(item.element, item.pixels);
|
606 |
-
}, this)
|
607 |
-
);
|
608 |
-
}, this);
|
609 |
-
// Bind to handler.
|
610 |
-
$(window).bind('resize.cjtfullscreen', resizer);
|
611 |
-
// Call it.
|
612 |
-
resizer();
|
613 |
-
}
|
614 |
-
else {
|
615 |
-
// Reset to normal height.
|
616 |
-
$.each(elementsToDock, $.proxy(
|
617 |
-
function(index, item) {
|
618 |
-
$(item.element).css('height', '');
|
619 |
-
}, this)
|
620 |
-
);
|
621 |
-
$(window).unbind('resize.cjtfullscreen');
|
622 |
-
}
|
623 |
-
// Screen mode title.
|
624 |
-
$(event.target).attr('title', CJTJqueryBlockI18N['screenmode_' + newMode + 'Title']);
|
625 |
-
// Refresh/Redraw editor.
|
626 |
-
block.aceEditor.resize();
|
627 |
-
// Toggle Toolbox fullscreen button icon.
|
628 |
-
this.editorToolbox.buttons['fullscreen'].jButton.toggleClass('maximized');
|
629 |
-
}
|
630 |
|
631 |
/**
|
632 |
*
|
@@ -895,19 +604,6 @@
|
|
895 |
);
|
896 |
}
|
897 |
|
898 |
-
/**
|
899 |
-
*
|
900 |
-
*/
|
901 |
-
this.dock = function(elements, pixelsToRemove) {
|
902 |
-
// Initialize.
|
903 |
-
var alwaysRemove = 33;
|
904 |
-
pixelsToRemove = (pixelsToRemove != undefined) ? (pixelsToRemove + alwaysRemove) : alwaysRemove;
|
905 |
-
// There're always 33 pixels need to be removed from the Code area
|
906 |
-
var fixedHeight = this.block.box.height() - pixelsToRemove;
|
907 |
-
var heightInPixels = fixedHeight + 'px';
|
908 |
-
$(elements).css('height', heightInPixels);
|
909 |
-
}
|
910 |
-
|
911 |
/**
|
912 |
*
|
913 |
*
|
@@ -1053,19 +749,12 @@
|
|
1053 |
var model = this.block;
|
1054 |
// LOAD MODEL.
|
1055 |
model.load();
|
1056 |
-
//
|
1057 |
-
|
1058 |
// Initialize editor toolbox.
|
1059 |
this.editorToolbox = model.box.find('.editor-toolbox').CJTToolBox({
|
1060 |
context : this,
|
1061 |
-
handlers : {
|
1062 |
-
'fullscreen' : {callback : this._onfullscreen},
|
1063 |
-
'font-large' : {callback : this._onfontsize, params : {direction: 1}},
|
1064 |
-
'font-small' : {callback : this._onfontsize, params : {direction: -1}},
|
1065 |
-
'reset-font' : {callback : this._onfontsize, params : {reset : true}},
|
1066 |
-
'clear-block' : {callback : this._onclearblock},
|
1067 |
-
'editor-theme' : Buttons.EditorToolbox.EditorThemes.getType(this)
|
1068 |
-
}
|
1069 |
}).get(0).CJTToolBox;
|
1070 |
// Default to DOCK!!
|
1071 |
this.defaultDocks = [{element : this.block.aceEditor.container, pixels : 7}];
|
@@ -1082,10 +771,15 @@
|
|
1082 |
this.switchState(this.features.state);
|
1083 |
// Prepare input elements for notifying user changes.
|
1084 |
this.notifySaveChanges = (new notifySaveChangesProto(this)).initDIFields();
|
|
|
|
|
|
|
|
|
1085 |
// LOAD EVENT.
|
1086 |
-
this.onLoad
|
|
|
|
|
1087 |
// Block Code File.
|
1088 |
-
this.menu = new CJTBlockMenu(this);
|
1089 |
this.codeFile = new CJTBlockFile(this);
|
1090 |
}
|
1091 |
|
110 |
blockName : 'span.block-name',
|
111 |
insideMetabox : 'div.inside'
|
112 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
/**
|
115 |
* Block jQuery Plugin.
|
175 |
*/
|
176 |
this.toolbox = null;
|
177 |
|
178 |
+
// Block Plugins
|
179 |
+
CJTBlockObjectPluginDockModule.plug(this);
|
180 |
+
|
181 |
/**
|
182 |
* Event handler for cancel edit block name.
|
183 |
*
|
195 |
this.block.box.find('.file').css({visibility : 'visible'});
|
196 |
}
|
197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
/**
|
199 |
*
|
200 |
*
|
336 |
inputText.focus();
|
337 |
}
|
338 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
|
340 |
/**
|
341 |
*
|
604 |
);
|
605 |
}
|
606 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
/**
|
608 |
*
|
609 |
*
|
749 |
var model = this.block;
|
750 |
// LOAD MODEL.
|
751 |
model.load();
|
752 |
+
// Editor default options.
|
753 |
+
this.block.aceEditor.setOptions({showPrintMargin : false});
|
754 |
// Initialize editor toolbox.
|
755 |
this.editorToolbox = model.box.find('.editor-toolbox').CJTToolBox({
|
756 |
context : this,
|
757 |
+
handlers : {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
758 |
}).get(0).CJTToolBox;
|
759 |
// Default to DOCK!!
|
760 |
this.defaultDocks = [{element : this.block.aceEditor.container, pixels : 7}];
|
771 |
this.switchState(this.features.state);
|
772 |
// Prepare input elements for notifying user changes.
|
773 |
this.notifySaveChanges = (new notifySaveChangesProto(this)).initDIFields();
|
774 |
+
// Set theme object.
|
775 |
+
this.theme = {};
|
776 |
+
this.theme.backgroundColor = 'white';
|
777 |
+
this.theme.color = 'black';
|
778 |
// LOAD EVENT.
|
779 |
+
if (this.onLoad !== undefined) {
|
780 |
+
this.onLoad();
|
781 |
+
}
|
782 |
// Block Code File.
|
|
|
783 |
this.codeFile = new CJTBlockFile(this);
|
784 |
}
|
785 |
|
views/blocks/block/public/js/jquery.block/jquery.block.localization.php
CHANGED
@@ -18,42 +18,7 @@ return array(
|
|
18 |
'location_headerTitle' => cssJSToolbox::getText('Set output location hook to footer'),
|
19 |
'location_footerTitle' => cssJSToolbox::getText('Set output location hook to header'),
|
20 |
'invalidBlockName' => cssJSToolbox::getText('Invalid block name'),
|
21 |
-
'screenmode_fullscreenTitle' => cssJSToolbox::getText('Revert code editor to default mode'),
|
22 |
-
'screenmode_Title' => cssJSToolbox::getText('Switch code editor to fullscreen mode'),
|
23 |
'linkExternalMessage' => cssJSToolbox::getText('Please enter a list of the external URLs you want to link separated by comma!'),
|
24 |
'couldNotLinkExternals' => cssJSToolbox::getText('Couldn\'t link the externals URI you requested!! Reason:'),
|
25 |
'loadingBlock' => cssJSToolbox::getText('Loading'),
|
26 |
-
// ACE Themes.
|
27 |
-
'ace_theme-ambiance' => cssJSToolbox::getText('Ambiance'),
|
28 |
-
'ace_theme-chaos' => cssJSToolbox::getText('Chaos'),
|
29 |
-
'ace_theme-chrome' => cssJSToolbox::getText('Chrome'),
|
30 |
-
'ace_theme-clouds' => cssJSToolbox::getText('Clouds'),
|
31 |
-
'ace_theme-clouds_midnight' => cssJSToolbox::getText('Clouds Midnight'),
|
32 |
-
'ace_theme-cobalt' => cssJSToolbox::getText('Cobalt'),
|
33 |
-
'ace_theme-crimson_editor' => cssJSToolbox::getText('Crimson Editor'),
|
34 |
-
'ace_theme-dawn' => cssJSToolbox::getText('Dawn'),
|
35 |
-
'ace_theme-dreamweaver' => cssJSToolbox::getText('Dreamweaver'),
|
36 |
-
'ace_theme-eclipse' => cssJSToolbox::getText('Eclipse'),
|
37 |
-
'ace_theme-github' => cssJSToolbox::getText('Github'),
|
38 |
-
'ace_theme-idle_fingers' => cssJSToolbox::getText('Idle Fingers'),
|
39 |
-
'ace_theme-katzenmilch' => cssJSToolbox::getText('Katzenmilch'),
|
40 |
-
'ace_theme-kr' => cssJSToolbox::getText('Kr'),
|
41 |
-
'ace_theme-kuroir' => cssJSToolbox::getText('Kuroir'),
|
42 |
-
'ace_theme-merbivore' => cssJSToolbox::getText('Merbivore'),
|
43 |
-
'ace_theme-merbivore_soft' => cssJSToolbox::getText('Merbivore Soft'),
|
44 |
-
'ace_theme-mono_industrial' => cssJSToolbox::getText('Mono Industrial'),
|
45 |
-
'ace_theme-monokai' => cssJSToolbox::getText('Monokai'),
|
46 |
-
'ace_theme-pastel_on_dark' => cssJSToolbox::getText('Pastel On Dark'),
|
47 |
-
'ace_theme-solarized_dark' => cssJSToolbox::getText('Solarized dark'),
|
48 |
-
'ace_theme-solarized_light' => cssJSToolbox::getText('Solarized Light'),
|
49 |
-
'ace_theme-terminal' => cssJSToolbox::getText('Terminal'),
|
50 |
-
'ace_theme-textmate' => cssJSToolbox::getText('Textmate'),
|
51 |
-
'ace_theme-tomorrow' => cssJSToolbox::getText('Tomorrow'),
|
52 |
-
'ace_theme-tomorrow_night' => cssJSToolbox::getText('Tomorrow Night'),
|
53 |
-
'ace_theme-tomorrow_night_blue' => cssJSToolbox::getText('Tomorrow Night Blue'),
|
54 |
-
'ace_theme-tomorrow_night_bright' => cssJSToolbox::getText('Tomorrow Night Bright'),
|
55 |
-
'ace_theme-tomorrow_night_eighties' => cssJSToolbox::getText('Tomorrow Night Eighties'),
|
56 |
-
'ace_theme-twilight' => cssJSToolbox::getText('Twilight'),
|
57 |
-
'ace_theme-vibrant_ink' => cssJSToolbox::getText('Vibrant Ink'),
|
58 |
-
'ace_theme-xcode' => cssJSToolbox::getText('XCode'),
|
59 |
);
|
18 |
'location_headerTitle' => cssJSToolbox::getText('Set output location hook to footer'),
|
19 |
'location_footerTitle' => cssJSToolbox::getText('Set output location hook to header'),
|
20 |
'invalidBlockName' => cssJSToolbox::getText('Invalid block name'),
|
|
|
|
|
21 |
'linkExternalMessage' => cssJSToolbox::getText('Please enter a list of the external URLs you want to link separated by comma!'),
|
22 |
'couldNotLinkExternals' => cssJSToolbox::getText('Couldn\'t link the externals URI you requested!! Reason:'),
|
23 |
'loadingBlock' => cssJSToolbox::getText('Loading'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
);
|
views/blocks/block/public/js/menu/block.js
DELETED
@@ -1,203 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
*
|
3 |
-
*
|
4 |
-
*
|
5 |
-
*/
|
6 |
-
|
7 |
-
(function($) {
|
8 |
-
|
9 |
-
/**
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
CJTBlockMenu = function(block) {
|
15 |
-
|
16 |
-
/**
|
17 |
-
*
|
18 |
-
*/
|
19 |
-
this.block = block;
|
20 |
-
|
21 |
-
/**
|
22 |
-
* put your comment there...
|
23 |
-
*
|
24 |
-
*/
|
25 |
-
var _onclicked = function() {
|
26 |
-
// Initialize.
|
27 |
-
var blockBox = this.block.block.box;
|
28 |
-
// Switch only if not closed.
|
29 |
-
if (!blockBox.hasClass('closed')) {
|
30 |
-
CJTBlockMenuView.switchTo(blockBox.get(0));
|
31 |
-
}
|
32 |
-
};
|
33 |
-
|
34 |
-
this.ondeleteblock = function() {
|
35 |
-
// Don't delete MENU if it being appended under current block.
|
36 |
-
if (CJTBlockMenuView.block === this.block) {
|
37 |
-
CJTBlockMenuView.deattach();
|
38 |
-
}
|
39 |
-
};
|
40 |
-
|
41 |
-
/**
|
42 |
-
* File Menu
|
43 |
-
*/
|
44 |
-
this.file = new (function(menu) {
|
45 |
-
|
46 |
-
/**
|
47 |
-
*
|
48 |
-
*
|
49 |
-
*/
|
50 |
-
this.delete = function() {
|
51 |
-
// Delete Block.
|
52 |
-
block._ondelete();
|
53 |
-
};
|
54 |
-
|
55 |
-
/**
|
56 |
-
*
|
57 |
-
*/
|
58 |
-
this.load = function(method) {
|
59 |
-
// Initialize.
|
60 |
-
var model = menu.block.block;
|
61 |
-
var aceEditor = model.aceEditor;
|
62 |
-
var editSession = aceEditor.getSession();
|
63 |
-
// Process related file actions.
|
64 |
-
switch (method) {
|
65 |
-
case 'file': // Load file into block.
|
66 |
-
// Find popup element and clean it up.
|
67 |
-
var popup = $('#cjt-inline-popup').empty();
|
68 |
-
var file = $('<input type="file" id="block-file" />').appendTo(popup).change($.proxy(
|
69 |
-
function() {
|
70 |
-
if (window.FileReader) {
|
71 |
-
var reader = new window.FileReader();
|
72 |
-
var loaded = $.proxy(function(event) {
|
73 |
-
// Set value.
|
74 |
-
aceEditor.setValuePossibleUndo(event.target.result);
|
75 |
-
// Close popup.
|
76 |
-
tb_remove();
|
77 |
-
}, this);
|
78 |
-
reader.addEventListener('loadend', loaded);
|
79 |
-
reader.addEventListener('load', loaded);
|
80 |
-
// Read file x
|
81 |
-
reader.readAsText(file.get(0).files[0]);
|
82 |
-
}
|
83 |
-
}, this)
|
84 |
-
);
|
85 |
-
tb_show('Load Block From File', '?TB_inline&width=300&height=40&inlineId=cjt-inline-popup');
|
86 |
-
break;
|
87 |
-
case 'url':
|
88 |
-
var inUrl = prompt('Please enter Url to load code from');
|
89 |
-
if (inUrl) {
|
90 |
-
CJTBlocksPage.server.send('block', 'loadUrl', {url : inUrl}).done($.proxy(
|
91 |
-
function(url) {
|
92 |
-
aceEditor.setValuePossibleUndo(url.content);
|
93 |
-
}, this)
|
94 |
-
);
|
95 |
-
}
|
96 |
-
break;
|
97 |
-
default: // Load from server
|
98 |
-
var requestData = {
|
99 |
-
blockId : model.get('id'),
|
100 |
-
fileId : menu.block.codeFile.file.activeFileId,
|
101 |
-
returnAs : 'json'
|
102 |
-
};
|
103 |
-
CJTBlocksPage.server.send('block', 'downloadCodeFile', requestData)
|
104 |
-
.success($.proxy(
|
105 |
-
function(code) {
|
106 |
-
// Set value.
|
107 |
-
aceEditor.setValuePossibleUndo(code);
|
108 |
-
}, this)
|
109 |
-
);
|
110 |
-
break;
|
111 |
-
}
|
112 |
-
}
|
113 |
-
|
114 |
-
/**
|
115 |
-
*
|
116 |
-
*/
|
117 |
-
this.save = function(method) {
|
118 |
-
// initialize.
|
119 |
-
var block = menu.block;
|
120 |
-
// Process different save actions.
|
121 |
-
switch (method) {
|
122 |
-
case 'file': // Download Code File from server.
|
123 |
-
var model = block.block;
|
124 |
-
var requestData = {
|
125 |
-
blockId : model.get('id'),
|
126 |
-
fileId : block.codeFile.file.activeFileId,
|
127 |
-
returnAs : 'file'
|
128 |
-
};
|
129 |
-
// Get Download URL.
|
130 |
-
var codeFileURL = CJTBlocksPage.server.getRequestURL('block', 'downloadCodeFile', requestData);
|
131 |
-
// Download via new Window.
|
132 |
-
window.open(codeFileURL);
|
133 |
-
break;
|
134 |
-
default: // Save block
|
135 |
-
block._onsavechanges();
|
136 |
-
break;
|
137 |
-
}
|
138 |
-
};
|
139 |
-
|
140 |
-
})(this);
|
141 |
-
|
142 |
-
/**
|
143 |
-
*
|
144 |
-
*/
|
145 |
-
this.edit = new (function(menu) {
|
146 |
-
|
147 |
-
/**
|
148 |
-
* Directly execute ACE Command
|
149 |
-
*/
|
150 |
-
this.ace = function(command) {
|
151 |
-
// Ace Editor.
|
152 |
-
var model = menu.block.block;
|
153 |
-
var aceEditor = model.aceEditor;
|
154 |
-
// Exec command.
|
155 |
-
aceEditor.execCommand(command);
|
156 |
-
// Save ACE Settings
|
157 |
-
switch (command) {
|
158 |
-
case 'showSettingsMenu':
|
159 |
-
$('#ace_settingsmenu').parent().parent().click($.proxy(
|
160 |
-
function(event) {
|
161 |
-
if (event.shiftKey) { // Save with Shift!
|
162 |
-
model.set('aceEditorMenuSettings', aceEditor.getOptions());
|
163 |
-
}
|
164 |
-
}, this)
|
165 |
-
);
|
166 |
-
break;
|
167 |
-
}
|
168 |
-
}
|
169 |
-
|
170 |
-
})(this);
|
171 |
-
|
172 |
-
/**
|
173 |
-
*
|
174 |
-
*/
|
175 |
-
this.view = new (function(menu) {
|
176 |
-
|
177 |
-
/**
|
178 |
-
*
|
179 |
-
*/
|
180 |
-
this.statusVisible = false;
|
181 |
-
|
182 |
-
/**
|
183 |
-
* Directly execute ACE Command
|
184 |
-
*/
|
185 |
-
this.statusBar = function() {
|
186 |
-
if (!this.statusVisible) {
|
187 |
-
ace.config.loadModule(['ext', 'statusbar'], $.proxy(
|
188 |
-
function() {
|
189 |
-
var StatusBar = ace.require('ace/ext/statusbar').StatusBar;
|
190 |
-
var statusBar = new StatusBar(menu.block.block.aceEditor, menu.block.block.box.find('.inside').get(0));
|
191 |
-
}, this)
|
192 |
-
);
|
193 |
-
this.statusVisible = true;
|
194 |
-
}
|
195 |
-
}
|
196 |
-
|
197 |
-
})(this);
|
198 |
-
|
199 |
-
// Switch Menu item when block is clicked.
|
200 |
-
this.block.block.box.click($.proxy(_onclicked, this));
|
201 |
-
};
|
202 |
-
|
203 |
-
})(jQuery)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/blocks/block/public/js/menu/menu.js
DELETED
@@ -1,87 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
*
|
3 |
-
*
|
4 |
-
*
|
5 |
-
*/
|
6 |
-
|
7 |
-
(function($) {
|
8 |
-
|
9 |
-
/**
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
CJTBlockMenuView = new function() {
|
15 |
-
|
16 |
-
/**
|
17 |
-
*
|
18 |
-
*/
|
19 |
-
this.block;
|
20 |
-
|
21 |
-
/**
|
22 |
-
*
|
23 |
-
*/
|
24 |
-
this.menu;
|
25 |
-
|
26 |
-
/**
|
27 |
-
*
|
28 |
-
*/
|
29 |
-
this.applyTheme = function(themeBlock) {
|
30 |
-
// Switch only if displayed for the current block that changing the theme.
|
31 |
-
if(themeBlock == this.block) {
|
32 |
-
this.menu.find('li>ul').css({'background-color' : this.block.theme.backgroundColor});
|
33 |
-
}
|
34 |
-
};
|
35 |
-
|
36 |
-
|
37 |
-
this.deattach = function() {
|
38 |
-
// Daettach.
|
39 |
-
this.block = null;
|
40 |
-
this.menu.css({'display' : 'none'}).detach();
|
41 |
-
};
|
42 |
-
|
43 |
-
/**
|
44 |
-
* put your comment there...
|
45 |
-
*
|
46 |
-
*/
|
47 |
-
this.initialize = function() {
|
48 |
-
// Menu Id.
|
49 |
-
var id = 'block-menu';
|
50 |
-
// Apply jQueryMenu.
|
51 |
-
this.menu = $('#' + id).menu({
|
52 |
-
'position' : {'my' : 'left top', 'at' : 'left bottom'},
|
53 |
-
'select' : $.proxy(
|
54 |
-
function (event, ui) {
|
55 |
-
// Get all parents menu.
|
56 |
-
var parents = $(ui.item).parentsUntil('div.cjt-block').filter('ul').prev('a').get().reverse();
|
57 |
-
var menuObject = this.block.menu;
|
58 |
-
// Reach menu object.
|
59 |
-
$.each(parents, function(index, parent) {
|
60 |
-
menuObject = menuObject[parent.href.split('#')[1]];
|
61 |
-
});
|
62 |
-
// Fire block event.
|
63 |
-
var itemKeyStruct = ui.item.find('a').prop('href').split('#')[1].split('-');
|
64 |
-
// Dipatch event handler.
|
65 |
-
menuObject[itemKeyStruct[0]](itemKeyStruct[1], event, ui);
|
66 |
-
return false;
|
67 |
-
}, this)
|
68 |
-
});
|
69 |
-
// chain.
|
70 |
-
return this;
|
71 |
-
};
|
72 |
-
|
73 |
-
/**
|
74 |
-
*
|
75 |
-
*/
|
76 |
-
this.switchTo = function(element) {
|
77 |
-
// Initialize.
|
78 |
-
this.block = element.CJTBlock;
|
79 |
-
// Display menu for that block.
|
80 |
-
this.block.elements.editBlockName.after(this.menu);
|
81 |
-
this.applyTheme(this.block);
|
82 |
-
this.menu.css({'display' : 'block'});
|
83 |
-
};
|
84 |
-
|
85 |
-
};
|
86 |
-
|
87 |
-
})(jQuery)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/blocks/block/public/js/plugins/dockmodule.js
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
*
|
3 |
+
*/
|
4 |
+
|
5 |
+
/**
|
6 |
+
* put your comment there...
|
7 |
+
*
|
8 |
+
* @type T_JS_FUNCTION
|
9 |
+
*/
|
10 |
+
(function($) {
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
*/
|
15 |
+
CJTBlockObjectPluginDockModule = new function() {
|
16 |
+
|
17 |
+
/**
|
18 |
+
*
|
19 |
+
*/
|
20 |
+
this.plug = function(block) {
|
21 |
+
// Define Dock method
|
22 |
+
block.dock = function(elements, pixelsToRemove) {
|
23 |
+
// Initialize.
|
24 |
+
var alwaysRemove = 33;
|
25 |
+
pixelsToRemove = (pixelsToRemove != undefined) ? (pixelsToRemove + alwaysRemove) : alwaysRemove;
|
26 |
+
// There're always 33 pixels need to be removed from the Code area
|
27 |
+
var fixedHeight = this.block.box.height() - pixelsToRemove;
|
28 |
+
var heightInPixels = fixedHeight + 'px';
|
29 |
+
$(elements).css('height', heightInPixels);
|
30 |
+
}
|
31 |
+
};
|
32 |
+
|
33 |
+
};
|
34 |
+
|
35 |
+
})(jQuery);
|
views/blocks/block/tmpl/menu/menu.html.tmpl
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
<ul id="block-menu">
|
2 |
-
<li>
|
3 |
-
<a href="#file"><?php echo cssJSToolbox::getText('File') ?></a>
|
4 |
-
<ul>
|
5 |
-
<li><a href="#load"><?php echo cssJSToolbox::getText('ReLoad') ?></a></li>
|
6 |
-
<li><a href="#load-file"><?php echo cssJSToolbox::getText('Load Local') ?></a></li>
|
7 |
-
<li><a href="#load-url"><?php echo cssJSToolbox::getText('Load Url') ?></a></li>
|
8 |
-
<li></li>
|
9 |
-
<li><a href="#save"><?php echo cssJSToolbox::getText('Save') ?></a></li>
|
10 |
-
<li><a href="#save-file"><?php echo cssJSToolbox::getText('Save File') ?></a></li>
|
11 |
-
<li></li>
|
12 |
-
<li><a href="#delete"><?php echo cssJSToolbox::getText('Delete') ?></a></li>
|
13 |
-
</ul>
|
14 |
-
</li>
|
15 |
-
<li>
|
16 |
-
<a href="#edit"><?php echo cssJSToolbox::getText('Edit') ?></a>
|
17 |
-
<ul>
|
18 |
-
<li><a href="#ace-undo"><?php echo cssJSToolbox::getText('Undo') ?></a></li>
|
19 |
-
<li><a href="#ace-redo"><?php echo cssJSToolbox::getText('Redo') ?></a></li>
|
20 |
-
<li></li>
|
21 |
-
<li><a href="#ace-find"><?php echo cssJSToolbox::getText('Find') ?></a></li>
|
22 |
-
<li><a href="#ace-findnext"><?php echo cssJSToolbox::getText('Find Next') ?></a></li>
|
23 |
-
<li><a href="#ace-findprevious"><?php echo cssJSToolbox::getText('Find Previous') ?></a></li>
|
24 |
-
<li></li>
|
25 |
-
<li><a href="#ace-replace"><?php echo cssJSToolbox::getText('Replace') ?></a></li>
|
26 |
-
<li></li>
|
27 |
-
<li><a href="#ace-gotoline"><?php echo cssJSToolbox::getText('Go To Line') ?></a></li>
|
28 |
-
<li><a href="#ace-golineup"><?php echo cssJSToolbox::getText('Go Line Up') ?></a></li>
|
29 |
-
<li><a href="#ace-golinedown"><?php echo cssJSToolbox::getText('Go Line down') ?></a></li>
|
30 |
-
<li></li>
|
31 |
-
<li><a href="#ace-goToNextError"><?php echo cssJSToolbox::getText('Go To Next Error') ?></a></li>
|
32 |
-
<li><a href="#ace-goToPreviousError"><?php echo cssJSToolbox::getText('Go To Previous Error') ?></a></li>
|
33 |
-
<li></li>
|
34 |
-
<li><a href="#ace-fold"><?php echo cssJSToolbox::getText('Fold') ?></a></li>
|
35 |
-
<li><a href="#ace-foldall"><?php echo cssJSToolbox::getText('Fold All') ?></a></li>
|
36 |
-
<li><a href="#ace-unfold"><?php echo cssJSToolbox::getText('UnFold') ?></a></li>
|
37 |
-
<li><a href="#ace-unfoldall"><?php echo cssJSToolbox::getText('UnFold All') ?></a></li>
|
38 |
-
<li></li>
|
39 |
-
<li><a href="#ace-tolowercase"><?php echo cssJSToolbox::getText('To Lower Case') ?></a></li>
|
40 |
-
<li><a href="#ace-touppercase"><?php echo cssJSToolbox::getText('To Upper Case') ?></a></li>
|
41 |
-
<li></li>
|
42 |
-
<li><a href="#ace-showSettingsMenu"><?php echo cssJSToolbox::getText('Settings') ?></a></li>
|
43 |
-
</ul>
|
44 |
-
</li>
|
45 |
-
<li>
|
46 |
-
<a href="#view"><?php echo cssJSToolbox::getText('View') ?></a>
|
47 |
-
<ul>
|
48 |
-
<li><a href="#statusBar"><?php echo cssJSToolbox::getText('Status Bar') ?></a></li>
|
49 |
-
</ul>
|
50 |
-
</li>
|
51 |
-
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/blocks/block/tmpl/templates/editor-toolbox.html.tmpl
CHANGED
@@ -6,13 +6,4 @@
|
|
6 |
// Disallow direct access.
|
7 |
defined('ABSPATH') or die('Restricted Access');
|
8 |
?>
|
9 |
-
<div class="cjt-toolbox editor-toolbox">
|
10 |
-
<div class="icons-group">
|
11 |
-
<a href="#" class="cjt-tb-link cjttbl-fullscreen" title="<?php echo $this->localization['screenmode_Title'] ?>"></a>
|
12 |
-
<a href="#" class="cjt-tb-link cjttbl-editor-theme" title="<?php echo cssJSToolbox::getText('Switch Editor Theme') ?>"></a>
|
13 |
-
<a href="#" class="cjt-tb-link cjttbl-font-large" title="<?php echo cssJSToolbox::getText('Increase font size in code editor') ?>"></a>
|
14 |
-
<a href="#" class="cjt-tb-link cjttbl-font-small" title="<?php echo cssJSToolbox::getText('Decrease font size in code editor') ?>"></a>
|
15 |
-
<a href="#" class="cjt-tb-link cjttbl-reset-font" title="<?php echo cssJSToolbox::getText('Reset font size in code editor') ?>"></a>
|
16 |
-
<a href="#" class="cjt-tb-link cjttbl-clear-block" title="<?php echo cssJSToolbox::getText('Clear all text in code editor. To undo, click Command-Z for Mac or Ctrl-Z for Windows. Click Save to permanently take affect') ?>"></a>
|
17 |
-
</div>
|
18 |
-
</div>
|
6 |
// Disallow direct access.
|
7 |
defined('ABSPATH') or die('Restricted Access');
|
8 |
?>
|
9 |
+
<div class="cjt-toolbox editor-toolbox"><div class="icons-group"></div></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/blocks/block/view.php
CHANGED
@@ -81,7 +81,6 @@ class CJTBlocksBlockView extends CJTView {
|
|
81 |
// Use related scripts.
|
82 |
self::useScripts(__CLASS__,
|
83 |
'jquery',
|
84 |
-
'jquery-ui-menu',
|
85 |
'common',
|
86 |
'wp-lists',
|
87 |
'postbox',
|
@@ -96,11 +95,10 @@ class CJTBlocksBlockView extends CJTView {
|
|
96 |
'views:blocks:block:public:js:{CJT-}ajax',
|
97 |
'views:blocks:block:public:js:{CJT-}blockproperty',
|
98 |
'views:blocks:block:public:js:optional:{CJT-}revision',
|
99 |
-
'views:blocks:block:public:js:{CJT-}menu',
|
100 |
-
'views:blocks:block:public:js:menu:{CJT-}_block',
|
101 |
'views:blocks:block:public:js:{CJT-}codefile-manager',
|
102 |
'views:blocks:block:public:js:{CJT-}codefile',
|
103 |
'views:blocks:block:public:js:{CJT-}block',
|
|
|
104 |
'views:blocks:block:public:js:{CJT-}jquery.block'
|
105 |
);
|
106 |
}
|
@@ -114,7 +112,6 @@ class CJTBlocksBlockView extends CJTView {
|
|
114 |
$styles = array(
|
115 |
'thickbox',
|
116 |
'views:blocks:block:public:css:{CJT-}block',
|
117 |
-
'views:blocks:block:public:css:{CJT-}menu',
|
118 |
'views:blocks:block:public:css:{CJT-}codefile'
|
119 |
);
|
120 |
// IF WP < 3.8 add compatibility CSS file.
|
81 |
// Use related scripts.
|
82 |
self::useScripts(__CLASS__,
|
83 |
'jquery',
|
|
|
84 |
'common',
|
85 |
'wp-lists',
|
86 |
'postbox',
|
95 |
'views:blocks:block:public:js:{CJT-}ajax',
|
96 |
'views:blocks:block:public:js:{CJT-}blockproperty',
|
97 |
'views:blocks:block:public:js:optional:{CJT-}revision',
|
|
|
|
|
98 |
'views:blocks:block:public:js:{CJT-}codefile-manager',
|
99 |
'views:blocks:block:public:js:{CJT-}codefile',
|
100 |
'views:blocks:block:public:js:{CJT-}block',
|
101 |
+
'views:blocks:block:public:js:plugins:{CJT-}_dockmodule',
|
102 |
'views:blocks:block:public:js:{CJT-}jquery.block'
|
103 |
);
|
104 |
}
|
112 |
$styles = array(
|
113 |
'thickbox',
|
114 |
'views:blocks:block:public:css:{CJT-}block',
|
|
|
115 |
'views:blocks:block:public:css:{CJT-}codefile'
|
116 |
);
|
117 |
// IF WP < 3.8 add compatibility CSS file.
|
views/blocks/cjt-block/public/css/block.css
CHANGED
@@ -1,9 +1,7 @@
|
|
1 |
.postbox .inside { margin-right: 6px !important; }
|
2 |
/** reserve Objects Panel space */
|
3 |
.cjcodeblock {margin-right:310px;}
|
4 |
-
|
5 |
-
.editor-toolbox a.cjttbl-toggle-objects-panel {background-image: url(../images/editor-toolbox/close-panel.png);}
|
6 |
-
.editor-toolbox a.cjttbl-toggle-objects-panel.closed {background-image: url(../images/editor-toolbox/open-panel.png);}
|
7 |
/* Pages Panel */
|
8 |
.cjpageblock {width: 315px; height: 100%; position: absolute; right: 3px;}
|
9 |
|
1 |
.postbox .inside { margin-right: 6px !important; }
|
2 |
/** reserve Objects Panel space */
|
3 |
.cjcodeblock {margin-right:310px;}
|
4 |
+
|
|
|
|
|
5 |
/* Pages Panel */
|
6 |
.cjpageblock {width: 315px; height: 100%; position: absolute; right: 3px;}
|
7 |
|
views/blocks/cjt-block/public/images/editor-toolbox/close-panel.png
DELETED
Binary file
|
views/blocks/cjt-block/public/images/editor-toolbox/open-panel.png
DELETED
Binary file
|
views/blocks/cjt-block/public/js/jquery.block/jquery.block.js
CHANGED
@@ -28,12 +28,6 @@
|
|
28 |
// Plug the assigment panel, get the jQuery ELement for it
|
29 |
var assigmentPanelElement = this.block.box.find('#tabs-' + this.block.get('id'));
|
30 |
this.pagesPanel = assigmentPanelElement.CJTBlockAssignmentPanel({block : this}).get(0).CJTBlockAssignmentPanel;
|
31 |
-
// Add toolbox button.
|
32 |
-
var tbIconsGroup = this.block.box.find('.editor-toolbox .icons-group')
|
33 |
-
tbIconsGroup.children().first().after('<a href="#" class="cjt-tb-link cjttbl-toggle-objects-panel"></a>')
|
34 |
-
var toggler = this.editorToolbox.add('toggle-objects-panel', {callback : this._ontogglepagespanel});
|
35 |
-
// Close it if it were closed.
|
36 |
-
this._ontogglepagespanel({target : toggler.jButton}, this.block.get('pagesPanelToggleState', ''));
|
37 |
// More to Dock with Fullscreen mode!
|
38 |
this.extraDocks = [
|
39 |
{element : assigmentPanelElement.find('.ui-tabs-panel'), pixels : 78},
|
@@ -47,61 +41,6 @@
|
|
47 |
{element : assigmentPanelElement.find('.advanced-accordion .ui-accordion-content textarea'), pixels : 182}
|
48 |
];
|
49 |
};
|
50 |
-
|
51 |
-
/**
|
52 |
-
*
|
53 |
-
*
|
54 |
-
*
|
55 |
-
*
|
56 |
-
*/
|
57 |
-
this._ontogglepagespanel = function(event, initialState) {
|
58 |
-
var toggler = $(event.target);
|
59 |
-
var block = this.block;
|
60 |
-
var tabs = block.box.find('.cjt-pages-tab');
|
61 |
-
var pagesBlock = block.box.find('.cjpageblock');
|
62 |
-
var codeBlock = block.box.find('.cjcodeblock');
|
63 |
-
var aceEditor = block.aceEditor;
|
64 |
-
var newState = '';
|
65 |
-
// Hide pages panel when:
|
66 |
-
if (tabs.css('display') != 'none') {
|
67 |
-
// Hide if initial value == undefined or initial value == closed.
|
68 |
-
if ((initialState != '') && (initialState != 'undefined')) {
|
69 |
-
// Hide elements.
|
70 |
-
tabs.hide();
|
71 |
-
pagesBlock.css('width', '0px');
|
72 |
-
codeBlock.animate({'margin-right' : 0}, undefined, undefined,
|
73 |
-
function() {
|
74 |
-
toggler.addClass('closed');
|
75 |
-
// Refresh editor.
|
76 |
-
aceEditor.resize();
|
77 |
-
}
|
78 |
-
);
|
79 |
-
// Save state.
|
80 |
-
newState = 'closed';
|
81 |
-
}
|
82 |
-
}
|
83 |
-
else {
|
84 |
-
// Show elements.
|
85 |
-
codeBlock.animate({'margin-right' : 320}, undefined, undefined,
|
86 |
-
function() {
|
87 |
-
// Use CSS class margin not inline style!
|
88 |
-
codeBlock.css('margin-right', '');
|
89 |
-
// Show panel!
|
90 |
-
pagesBlock.css('width', '');
|
91 |
-
tabs.show();
|
92 |
-
toggler.removeClass('closed');
|
93 |
-
// Refresh editor.
|
94 |
-
aceEditor.resize();
|
95 |
-
}
|
96 |
-
);
|
97 |
-
}
|
98 |
-
// Set title based on the new STATE!
|
99 |
-
toggler.attr('title', CJT_CJT_BLOCKJqueryBlockI18N['assigmentPanel_' + newState + 'Title']);
|
100 |
-
// Save state.
|
101 |
-
block.set('pagesPanelToggleState', newState);
|
102 |
-
// For link to behave inactive.
|
103 |
-
return false;
|
104 |
-
}
|
105 |
|
106 |
// Load block only when loaded by parent model.
|
107 |
this.onLoad = _onload;
|
28 |
// Plug the assigment panel, get the jQuery ELement for it
|
29 |
var assigmentPanelElement = this.block.box.find('#tabs-' + this.block.get('id'));
|
30 |
this.pagesPanel = assigmentPanelElement.CJTBlockAssignmentPanel({block : this}).get(0).CJTBlockAssignmentPanel;
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
// More to Dock with Fullscreen mode!
|
32 |
this.extraDocks = [
|
33 |
{element : assigmentPanelElement.find('.ui-tabs-panel'), pixels : 78},
|
41 |
{element : assigmentPanelElement.find('.advanced-accordion .ui-accordion-content textarea'), pixels : 182}
|
42 |
];
|
43 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
45 |
// Load block only when loaded by parent model.
|
46 |
this.onLoad = _onload;
|
views/blocks/cjt-block/public/js/jquery.block/jquery.block.localization.php
CHANGED
@@ -10,7 +10,5 @@
|
|
10 |
* Localization text for backups script.
|
11 |
*/
|
12 |
return array(
|
13 |
-
'assigmentPanel_Title' => cssJSToolbox::getText('Switch code editor to fullwidth mode (hides assignment panel)'),
|
14 |
-
'assigmentPanel_closedTitle' => cssJSToolbox::getText('Revert code editor to default mode (show assignment panel)'),
|
15 |
'changesDetectedConfirmMessage' => cssJSToolbox::getText('Changes has been made to the assignment objects. Switching display mode would reset all those changes as it never made. Would you like to discard those changes'),
|
16 |
);
|
10 |
* Localization text for backups script.
|
11 |
*/
|
12 |
return array(
|
|
|
|
|
13 |
'changesDetectedConfirmMessage' => cssJSToolbox::getText('Changes has been made to the assignment objects. Switching display mode would reset all those changes as it never made. Would you like to discard those changes'),
|
14 |
);
|
views/blocks/manager/public/css/blocks.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/* Wordpress Page */
|
3 |
.wrap { position: relative; }
|
4 |
.cjt-banner-bar .cjt-banner-link a, .cjt-banner-bar a:hover, .cjt-banner-bar a:visited{color: #A5581B;}
|
5 |
-
#cjt-banner-bar-right {right: 0px;position: absolute;top: 2px;
|
6 |
#cjt-banner-bar-right .cjt-banner-link {float: right; margin-bottom: 6px;}
|
7 |
|
8 |
#get-packages-icon {display: inline-block; width: 13px; height: 15px; background-image: url('../images/get-packages.png'); margin-left: 3px;margin-bottom: -4px; margin-right: 5px;}
|
@@ -100,26 +100,4 @@
|
|
100 |
|
101 |
/* No Blocks Intro Help text */
|
102 |
cjt-noblocks-intro h2 {font-weight: bold; margin: 4px 0px;}
|
103 |
-
cjt-noblocks-intro h4 {font-weight: bold; font-size: 15px;}
|
104 |
-
|
105 |
-
h2 {}
|
106 |
-
#cjtoolbox-admin h2 {
|
107 |
-
display: inline-block;
|
108 |
-
}
|
109 |
-
div#cjtoolbox-admin {}
|
110 |
-
a#docs-link {
|
111 |
-
position: relative;
|
112 |
-
top: -2px;
|
113 |
-
font-size: 16px;
|
114 |
-
}
|
115 |
-
span.cjt-banner-link {
|
116 |
-
}
|
117 |
-
span#dicount-code {
|
118 |
-
font-weight: bold;
|
119 |
-
font-size: 14px;
|
120 |
-
background-color: #DFDFDF;
|
121 |
-
padding: 1px 8px;
|
122 |
-
}
|
123 |
-
|
124 |
-
#main-title-links {margin-left: 20px;}
|
125 |
-
#main-title-links a {margin-right: 30px; font-size: 14px;font-weight: bold;}
|
2 |
/* Wordpress Page */
|
3 |
.wrap { position: relative; }
|
4 |
.cjt-banner-bar .cjt-banner-link a, .cjt-banner-bar a:hover, .cjt-banner-bar a:visited{color: #A5581B;}
|
5 |
+
#cjt-banner-bar-right {right: 0px;position: absolute;top: 2px;}
|
6 |
#cjt-banner-bar-right .cjt-banner-link {float: right; margin-bottom: 6px;}
|
7 |
|
8 |
#get-packages-icon {display: inline-block; width: 13px; height: 15px; background-image: url('../images/get-packages.png'); margin-left: 3px;margin-bottom: -4px; margin-right: 5px;}
|
100 |
|
101 |
/* No Blocks Intro Help text */
|
102 |
cjt-noblocks-intro h2 {font-weight: bold; margin: 4px 0px;}
|
103 |
+
cjt-noblocks-intro h4 {font-weight: bold; font-size: 15px;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
views/blocks/manager/public/js/blocks-page/blocks-page.js
CHANGED
@@ -601,7 +601,6 @@ var CJTBlocksPage;
|
|
601 |
CJTBlocksPage.server = CJTServer;
|
602 |
CJTBlocksPage.server.multiOperation = new CJTBlocksAjaxMultiOperations('blocksPage', 'save_blocks');
|
603 |
// Initilize Global-Blocks Conponents.
|
604 |
-
CJTBlockMenuView.initialize();
|
605 |
CJTBlockCodeFileView.initialize();
|
606 |
// Make sure CJTBlocks is ready.
|
607 |
CJTBlocksPage.blocks = new CJTBlocks();
|
601 |
CJTBlocksPage.server = CJTServer;
|
602 |
CJTBlocksPage.server.multiOperation = new CJTBlocksAjaxMultiOperations('blocksPage', 'save_blocks');
|
603 |
// Initilize Global-Blocks Conponents.
|
|
|
604 |
CJTBlockCodeFileView.initialize();
|
605 |
// Make sure CJTBlocks is ready.
|
606 |
CJTBlocksPage.blocks = new CJTBlocks();
|
views/blocks/manager/tmpl/blocks.html.tmpl
CHANGED
@@ -7,14 +7,19 @@
|
|
7 |
defined('ABSPATH') or die("Access denied");
|
8 |
?>
|
9 |
<div id="cjtoolbox-admin" class="wrap">
|
10 |
-
<?php
|
|
|
|
|
|
|
11 |
<?php require CJTOOLBOX_VIEWS_PATH . '/blocks/block/tmpl/codefile/codefile.html.tmpl' ?>
|
12 |
-
<
|
13 |
-
<
|
14 |
-
|
15 |
-
<
|
16 |
-
|
17 |
-
|
|
|
|
|
18 |
<div id="cjtoolbox-blocks-page-form" method="post">
|
19 |
<?php wp_nonce_field('cjtoolbox'); ?>
|
20 |
<?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false); ?>
|
7 |
defined('ABSPATH') or die("Access denied");
|
8 |
?>
|
9 |
<div id="cjtoolbox-admin" class="wrap">
|
10 |
+
<?php
|
11 |
+
$content = '';
|
12 |
+
echo CJTBlocksManagerView::trigger('CJTBlocksManagerView.loadglobalcomponents', $content);
|
13 |
+
?>
|
14 |
<?php require CJTOOLBOX_VIEWS_PATH . '/blocks/block/tmpl/codefile/codefile.html.tmpl' ?>
|
15 |
+
<div id="custom-icon" class="icon32 blocks-icon32"></div>
|
16 |
+
<h2><?php echo cssJSToolbox::getText('CSS & Javascript Toolbox') ?></h2>
|
17 |
+
<div id="cjt-banner-bar-right">
|
18 |
+
<span class="cjt-banner-link">
|
19 |
+
<a target="_blank" href="http://<?php echo cssJSToolbox::CJT_WEB_SITE_DOMAIN ?>/support/"><?php echo cssJSToolbox::getText('Support Forum') ?></a> |
|
20 |
+
<a target="_blank" href="http://<?php echo cssJSToolbox::CJT_WEB_SITE_DOMAIN ?>/documentation/"><?php echo cssJSToolbox::getText('Online Documentation') ?></a>
|
21 |
+
</span>
|
22 |
+
</div>
|
23 |
<div id="cjtoolbox-blocks-page-form" method="post">
|
24 |
<?php wp_nonce_field('cjtoolbox'); ?>
|
25 |
<?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false); ?>
|
views/blocks/manager/view.php
CHANGED
@@ -35,6 +35,16 @@ class CJTBlocksManagerView extends CJTView {
|
|
35 |
*/
|
36 |
public $hasBlocks = false;
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* put your comment there...
|
40 |
*
|
35 |
*/
|
36 |
public $hasBlocks = false;
|
37 |
|
38 |
+
/**
|
39 |
+
* put your comment there...
|
40 |
+
*
|
41 |
+
* @var mixed
|
42 |
+
*/
|
43 |
+
protected static $onloadglobalcomponents = array(
|
44 |
+
'hookType' => CJTWordpressEvents::HOOK_FILTER,
|
45 |
+
'parameters' => array('content')
|
46 |
+
);
|
47 |
+
|
48 |
/**
|
49 |
* put your comment there...
|
50 |
*
|
views/blocks/metabox/public/js/jquery.block/jquery.block.js
CHANGED
@@ -14,55 +14,10 @@
|
|
14 |
* @param args
|
15 |
*/
|
16 |
CJTBlockPlugin = function(node, args) {
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
*
|
22 |
-
*/
|
23 |
-
var _onload = function() {
|
24 |
-
// Add toolbox button.
|
25 |
-
var tbIconsGroup = this.block.box.find('.editor-toolbox .icons-group')
|
26 |
-
tbIconsGroup.children().first().after('<a href="#" class="cjt-tb-link cjttbl-preview"></a>');
|
27 |
-
this.editorToolbox.add('preview', {callback : this._onpreviewchanges})
|
28 |
-
// Set Title.
|
29 |
-
.jButton.attr('title', CJT_METABOX_BLOCKJqueryBlockI18N.previewLinkTitle);
|
30 |
-
// Register COMMAND-KEYS.
|
31 |
-
this.registerMetaboxCommands();
|
32 |
-
};
|
33 |
-
|
34 |
-
/**
|
35 |
-
*
|
36 |
-
*/
|
37 |
-
this._onpreviewchanges = function() {
|
38 |
-
// Save changes and preview changes when successed!
|
39 |
-
this._onsavechanges().success(
|
40 |
-
function() {
|
41 |
-
$('#post-preview').click();
|
42 |
-
}
|
43 |
-
);
|
44 |
-
}
|
45 |
-
|
46 |
-
/**
|
47 |
-
*
|
48 |
-
*/
|
49 |
-
this.registerMetaboxCommands = function() {
|
50 |
-
// Preview Changes!
|
51 |
-
this.block.aceEditor.commands.addCommand({
|
52 |
-
name: 'Preview Changes',
|
53 |
-
bindKey: {
|
54 |
-
win : 'Ctrl-I',
|
55 |
-
mac : 'Command-I'
|
56 |
-
},
|
57 |
-
exec: $.proxy(this._onpreviewchanges, this)
|
58 |
-
});
|
59 |
-
}
|
60 |
-
|
61 |
-
/**
|
62 |
-
*
|
63 |
-
*/
|
64 |
-
this.onLoad = _onload;
|
65 |
-
|
66 |
// Initialize base class.
|
67 |
this.initCJTPluginBase(node, args);
|
68 |
|
14 |
* @param args
|
15 |
*/
|
16 |
CJTBlockPlugin = function(node, args) {
|
17 |
+
// Code has been removed to CJTe Editor Toolbox extension
|
18 |
+
// .
|
19 |
+
// .
|
20 |
+
// .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
// Initialize base class.
|
22 |
this.initCJTPluginBase(node, args);
|
23 |
|
views/blocks/metabox/public/js/metabox/metabox.js
CHANGED
@@ -186,7 +186,6 @@ var CJTBlocksPage;
|
|
186 |
this.blocks = new CJTBlocks();
|
187 |
this.server = CJTServer;
|
188 |
// Initilize Global-Blocks Conponents.
|
189 |
-
CJTBlockMenuView.initialize();
|
190 |
CJTBlockCodeFileView.initialize();
|
191 |
// Put CJT code block into actions!
|
192 |
var blocks = this.blocks.getBlocks().CJTBlock({calculatePinPoint : 0});
|
186 |
this.blocks = new CJTBlocks();
|
187 |
this.server = CJTServer;
|
188 |
// Initilize Global-Blocks Conponents.
|
|
|
189 |
CJTBlockCodeFileView.initialize();
|
190 |
// Put CJT code block into actions!
|
191 |
var blocks = this.blocks.getBlocks().CJTBlock({calculatePinPoint : 0});
|
views/blocks/metabox/tmpl/metabox.html.tmpl
CHANGED
@@ -6,8 +6,11 @@
|
|
6 |
// Disallow direct access.
|
7 |
defined('ABSPATH') or die("Access denied");
|
8 |
|
|
|
|
|
|
|
|
|
9 |
// Block Templates.
|
10 |
-
require CJTOOLBOX_VIEWS_PATH . '/blocks/block/tmpl/menu/menu.html.tmpl';
|
11 |
require CJTOOLBOX_VIEWS_PATH . '/blocks/block/tmpl/codefile/codefile.html.tmpl';
|
12 |
|
13 |
// Display as metabox without using Wordpress Metabox APIs.
|
6 |
// Disallow direct access.
|
7 |
defined('ABSPATH') or die("Access denied");
|
8 |
|
9 |
+
// Global Comonents eent
|
10 |
+
$content = '';
|
11 |
+
echo CJTBlocksMetaBoxView::trigger('CJTBlocksMetaBoxView.loadglobalcomponents', $content);
|
12 |
+
|
13 |
// Block Templates.
|
|
|
14 |
require CJTOOLBOX_VIEWS_PATH . '/blocks/block/tmpl/codefile/codefile.html.tmpl';
|
15 |
|
16 |
// Display as metabox without using Wordpress Metabox APIs.
|
views/blocks/metabox/view.php
CHANGED
@@ -15,6 +15,16 @@ class CJTBlocksMetaBoxView extends CJTView {
|
|
15 |
*/
|
16 |
protected $blockView = null;
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
/**
|
19 |
* put your comment there...
|
20 |
*
|
15 |
*/
|
16 |
protected $blockView = null;
|
17 |
|
18 |
+
/**
|
19 |
+
* put your comment there...
|
20 |
+
*
|
21 |
+
* @var mixed
|
22 |
+
*/
|
23 |
+
protected static $onloadglobalcomponents = array(
|
24 |
+
'hookType' => CJTWordpressEvents::HOOK_FILTER,
|
25 |
+
'parameters' => array('content')
|
26 |
+
);
|
27 |
+
|
28 |
/**
|
29 |
* put your comment there...
|
30 |
*
|
views/dashboard/metabox/statistics/public/css/default.css
CHANGED
@@ -1,18 +1,17 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
border-bottom: 1px solid #eeeeee;
|
5 |
-
color: #999999;
|
6 |
-
font-size: 14px;
|
7 |
-
border-top: 1px solid #eeeeee;
|
8 |
-
}
|
9 |
table#cjt-statcs-metabox strong {color: black;}
|
10 |
#cjt-statcs-metabox th {text-align: right;}
|
11 |
#cjt-statcs-metabox th {padding-bottom: 10px;}
|
12 |
div#cjt-statcs-metabox-info {padding-top: 14px;}
|
13 |
-
.latest-scripts {padding-left: 22px;}
|
14 |
-
.latest-scripts a {font-size: 13px;}
|
15 |
|
16 |
-
#cjt-statcs-metabox-news {margin-left: 20px;}
|
17 |
.cjt_dw_latestnewstitle {color: #999999; font-size: 14px;}
|
18 |
-
.cjt_dw_description {color: black; margin-left:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.inside > div {margin-left: 20px;}
|
2 |
+
|
3 |
+
table#cjt-statcs-metabox {width: 100%;padding: 0 14px 8px 0;color: #999999;font-size: 13px;}
|
|
|
|
|
|
|
|
|
|
|
4 |
table#cjt-statcs-metabox strong {color: black;}
|
5 |
#cjt-statcs-metabox th {text-align: right;}
|
6 |
#cjt-statcs-metabox th {padding-bottom: 10px;}
|
7 |
div#cjt-statcs-metabox-info {padding-top: 14px;}
|
|
|
|
|
8 |
|
|
|
9 |
.cjt_dw_latestnewstitle {color: #999999; font-size: 14px;}
|
10 |
+
.cjt_dw_description {color: black; margin-left: 21px;}
|
11 |
+
|
12 |
+
#cjt-statcs-metabox ul, #cjt-statcs-metabox ul li {margin: 0;}
|
13 |
+
#cjt-statistics ul.components-list {margin-left: 4px;}
|
14 |
+
#cjt-statcs-metabox ul li {margin-top: 5px;}
|
15 |
+
|
16 |
+
.components-list-container {display: inline-block;}
|
17 |
+
.scripts-extensions-container {vertical-align: top; margin-left: 34px !important;}
|
views/dashboard/metabox/statistics/tmpl/default.html.tmpl
CHANGED
@@ -6,48 +6,60 @@
|
|
6 |
<span class="cjt_dw_latestnewstitle"><?php echo cssJSToolbox::getText('Latest News:') ?> <a target="_blank" href="<?php echo $latestNew['link'] ?>"><?php echo $latestNew['title'] ?></a></span>
|
7 |
<p class="cjt_dw_description"><?php echo $latestNew['description'] ?></p>
|
8 |
</div>
|
9 |
-
<
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
<
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
<
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
<
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
<
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
<
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
<
|
39 |
-
|
40 |
-
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
<?php foreach ($this->feed['scripts'] as $item) : ?>
|
43 |
-
|
44 |
<?php endforeach; ?>
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
</table>
|
49 |
<div id="cjt-statcs-metabox-info">
|
50 |
-
<a target="blank" href="http://<?php echo cssJSToolbox::CJT_WEB_SITE_DOMAIN ?>/pricing/"><?php echo cssJSToolbox::getText('
|
51 |
-
<a target="blank" style="float: right;" href="http://<?php echo cssJSToolbox::CJT_SCRTIPS_WEB_SITE_DOMAIN ?>/"><?php echo cssJSToolbox::getText('Get Script Packages') ?></a>
|
52 |
-
<p><?php echo cssJSToolbox::getText('You\'re using') ?> <strong><?php echo cssJSToolbox::getText('CSS & Javascript Toolbox v') . CJTPlugin::VERSION ?></strong></p>
|
53 |
</div>
|
6 |
<span class="cjt_dw_latestnewstitle"><?php echo cssJSToolbox::getText('Latest News:') ?> <a target="_blank" href="<?php echo $latestNew['link'] ?>"><?php echo $latestNew['title'] ?></a></span>
|
7 |
<p class="cjt_dw_description"><?php echo $latestNew['description'] ?></p>
|
8 |
</div>
|
9 |
+
<hr />
|
10 |
+
<div>
|
11 |
+
<table id="cjt-statcs-metabox">
|
12 |
+
<thead>
|
13 |
+
<tr>
|
14 |
+
<th colspan="2"><strong><?php echo cssJSToolbox::getText('Total') ?></strong></th>
|
15 |
+
</tr>
|
16 |
+
</thead>
|
17 |
+
<tbody>
|
18 |
+
<tr>
|
19 |
+
<td><?php echo cssJSToolbox::getText('Active Code Blocks') ?></td>
|
20 |
+
<td><strong><?php echo $this->activeBlocks ?></strong></td>
|
21 |
+
</tr>
|
22 |
+
<tr>
|
23 |
+
<td><?php echo cssJSToolbox::getText('Active Metabox Code Blocks') ?></td>
|
24 |
+
<td><strong><?php echo $this->activeMetaboxBlocks ?></strong></td>
|
25 |
+
</tr>
|
26 |
+
<tr>
|
27 |
+
<td><?php echo cssJSToolbox::getText('Inactive Code Blocks') ?></td>
|
28 |
+
<td><strong><?php echo $this->inactiveBlocks ?></strong></td>
|
29 |
+
</tr>
|
30 |
+
<tr>
|
31 |
+
<td><?php echo cssJSToolbox::getText('Inactive Metabox Code Blocks') ?></td>
|
32 |
+
<td><strong><?php echo $this->inactiveMetaboxBlocks ?></strong></td>
|
33 |
+
</tr>
|
34 |
+
<tr>
|
35 |
+
<td><?php echo cssJSToolbox::getText('Code Templates') ?></td>
|
36 |
+
<td><strong><?php echo $this->templates ?></strong></td>
|
37 |
+
</tr>
|
38 |
+
<tr>
|
39 |
+
<td><?php echo cssJSToolbox::getText('Script Packages') ?></td>
|
40 |
+
<td><strong><?php echo $this->scriptsPackage ?></strong></td>
|
41 |
+
</tr>
|
42 |
+
</tbody>
|
43 |
+
</table>
|
44 |
+
</div>
|
45 |
+
<hr />
|
46 |
+
<div id="cjt-statcs-metabox-latest-extensions" class="components-list-container utility-extensions-container">
|
47 |
+
<em><?php echo cssJSToolbox::getText('CJT Extensions Plugins') ?>:</em>
|
48 |
+
<ul class="components-list">
|
49 |
+
<?php foreach ($this->feed['extensions'] as $item) : ?>
|
50 |
+
<li><a target="_blank" href="<?php echo $item['link'] ?>" title="<?php echo strip_tags($item['description']) ?>"><?php echo $item['title'] ?></a></li>
|
51 |
+
<?php endforeach; ?>
|
52 |
+
</ul>
|
53 |
+
</div>
|
54 |
+
<div id="cjt-statcs-metabox-latest-scripts" class="components-list-container scripts-extensions-container">
|
55 |
+
<em><?php echo cssJSToolbox::getText('CJT Script Plugins') ?>:</em>
|
56 |
+
<ul class="components-list">
|
57 |
<?php foreach ($this->feed['scripts'] as $item) : ?>
|
58 |
+
<li><a target="_blank" href="<?php echo $item['link'] ?>" title="<?php echo strip_tags($item['description']) ?>"><?php echo $item['title'] ?></a></li>
|
59 |
<?php endforeach; ?>
|
60 |
+
</ul>
|
61 |
+
</div>
|
62 |
+
<hr />
|
|
|
63 |
<div id="cjt-statcs-metabox-info">
|
64 |
+
<a target="blank" href="http://<?php echo cssJSToolbox::CJT_WEB_SITE_DOMAIN ?>/pricing/"><?php echo cssJSToolbox::getText('Save on CJT Extension Bundles') ?></a>
|
|
|
|
|
65 |
</div>
|
views/extensions/plugins-list/tmpl/default_setup_action.html.tmpl
CHANGED
@@ -7,4 +7,4 @@
|
|
7 |
defined('ABSPATH') or die("Access denied");
|
8 |
?>
|
9 |
|
10 |
-
<a href="#<?php echo htmlentities("
|
7 |
defined('ABSPATH') or die("Access denied");
|
8 |
?>
|
9 |
|
10 |
+
<a href="#<?php echo htmlentities("pluginBase={$component['pluginBase']}&title={$component['title']}") ?>"><?php echo cssJSToolbox::getText('Setup') ?></a>
|
views/extensions/plugins-list/view.php
CHANGED
@@ -78,9 +78,13 @@ class CJTExtensionsPluginsListView extends CJTView {
|
|
78 |
// We only work with extensions that required license key!
|
79 |
if ($extension['definition']['primary']['requiredLicense']) {
|
80 |
// Load license
|
81 |
-
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
84 |
// Get action Markup!
|
85 |
$links['license-key'] = $this->getTemplate('default_setup_action', array('component' => $component));
|
86 |
}
|
78 |
// We only work with extensions that required license key!
|
79 |
if ($extension['definition']['primary']['requiredLicense']) {
|
80 |
// Load license
|
81 |
+
$definition = new SimpleXMLElement($extension['definition']['raw']);
|
82 |
+
$component['pluginBase'] = $file;
|
83 |
+
// Get extension title
|
84 |
+
// Use first license type name for old extensions that doesnt
|
85 |
+
// provide title attribute
|
86 |
+
$defTitle = (string) $definition->license->attributes()->title;
|
87 |
+
$component['title'] = $defTitle ? $defTitle : ((string) $definition->license->name[0]);
|
88 |
// Get action Markup!
|
89 |
$links['license-key'] = $this->getTemplate('default_setup_action', array('component' => $component));
|
90 |
}
|
views/packages/install/public/js/install/install.js
CHANGED
@@ -52,6 +52,25 @@
|
|
52 |
init : function() {
|
53 |
// Initialize vars.
|
54 |
this.fileUploader = $('#fileUploader')[0];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
// Set file uploaded src, load uploaded view!
|
56 |
this.fileUploader.src = parent.CJTServer.getRequestURL('packageFile', 'install', {view : 'uploader/single'});
|
57 |
// Install package!
|
52 |
init : function() {
|
53 |
// Initialize vars.
|
54 |
this.fileUploader = $('#fileUploader')[0];
|
55 |
+
// Set uploader form action when ready
|
56 |
+
this.fileUploader.addEventListener('load', $.proxy(
|
57 |
+
function() {
|
58 |
+
// Repoint to module if required
|
59 |
+
if (CJTPackageInstallationFormParams.uploaderModuleName) {
|
60 |
+
// Get form
|
61 |
+
var uploadForm = this.fileUploader.contentDocument.getElementsByTagName('form')[0];
|
62 |
+
// Query string
|
63 |
+
var queryString = {};
|
64 |
+
queryString[CJTPackageInstallationFormParams.cjtModuleParamName] = CJTPackageInstallationFormParams.uploaderModuleName;
|
65 |
+
// Repoint uploader frame to embeddeder action
|
66 |
+
uploadForm.action = parent.CJTServer.getRequestURL(
|
67 |
+
CJTPackageInstallationFormParams.uploaderControllerName,
|
68 |
+
CJTPackageInstallationFormParams.uploaderActionName,
|
69 |
+
queryString
|
70 |
+
);
|
71 |
+
}
|
72 |
+
}, this)
|
73 |
+
);
|
74 |
// Set file uploaded src, load uploaded view!
|
75 |
this.fileUploader.src = parent.CJTServer.getRequestURL('packageFile', 'install', {view : 'uploader/single'});
|
76 |
// Install package!
|
views/packages/install/tmpl/default.html.tmpl
CHANGED
@@ -13,6 +13,14 @@ $this->suppressPrintScriptsHook();
|
|
13 |
?>
|
14 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
15 |
<head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
<?php wp_print_head_scripts() ?>
|
17 |
<?php wp_print_styles() ?>
|
18 |
</head>
|
@@ -26,7 +34,7 @@ $this->suppressPrintScriptsHook();
|
|
26 |
<fieldset>
|
27 |
<ul>
|
28 |
<li>
|
29 |
-
<label for="fileUploader"><?php echo cssJSToolbox::getText('
|
30 |
<iframe id="fileUploader" frameborder="0"></iframe>
|
31 |
</li>
|
32 |
<li class="buttons">
|
13 |
?>
|
14 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
15 |
<head>
|
16 |
+
<script type="text/javascript">
|
17 |
+
window.CJTPackageInstallationFormParams = {
|
18 |
+
uploaderControllerName : "<?php echo $this->uploaderControllerName; ?>",
|
19 |
+
uploaderActionName : "<?php echo $this->uploaderActionName; ?>",
|
20 |
+
uploaderModuleName : "<?php echo $this->uploaderModuleName; ?>",
|
21 |
+
cjtModuleParamName : "<?php echo $this->moduleParamName; ?>"
|
22 |
+
};
|
23 |
+
</script>
|
24 |
<?php wp_print_head_scripts() ?>
|
25 |
<?php wp_print_styles() ?>
|
26 |
</head>
|
34 |
<fieldset>
|
35 |
<ul>
|
36 |
<li>
|
37 |
+
<label for="fileUploader"><?php echo cssJSToolbox::getText('File') ?>:</label>
|
38 |
<iframe id="fileUploader" frameborder="0"></iframe>
|
39 |
</li>
|
40 |
<li class="buttons">
|
views/packages/install/view.php
CHANGED
@@ -11,12 +11,46 @@ defined('ABSPATH') or die('Access denied');
|
|
11 |
*/
|
12 |
class CJTPackagesInstallView extends CJTView {
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
/**
|
15 |
* put your comment there...
|
16 |
*
|
17 |
* @param mixed $tpl
|
18 |
*/
|
19 |
public function display($tpl = null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
echo $this->getTemplate($tpl);
|
21 |
}
|
22 |
|
11 |
*/
|
12 |
class CJTPackagesInstallView extends CJTView {
|
13 |
|
14 |
+
/**
|
15 |
+
* put your comment there...
|
16 |
+
*
|
17 |
+
* @var mixed
|
18 |
+
*/
|
19 |
+
protected $moduleParamName;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* put your comment there...
|
23 |
+
*
|
24 |
+
* @var mixed
|
25 |
+
*/
|
26 |
+
protected $uploaderModuleName;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* put your comment there...
|
30 |
+
*
|
31 |
+
* @var mixed
|
32 |
+
*/
|
33 |
+
protected $uploaderActionName;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* put your comment there...
|
37 |
+
*
|
38 |
+
* @var mixed
|
39 |
+
*/
|
40 |
+
protected $uploaderControllerName;
|
41 |
+
|
42 |
/**
|
43 |
* put your comment there...
|
44 |
*
|
45 |
* @param mixed $tpl
|
46 |
*/
|
47 |
public function display($tpl = null) {
|
48 |
+
// Get uploader parameters.
|
49 |
+
$this->uploaderControllerName = $this->getRequestParameter('uploaderControllerName');
|
50 |
+
$this->uploaderActionName = $this->getRequestParameter('uploaderActionName');
|
51 |
+
$this->uploaderModuleName = $this->getRequestParameter('uploaderModuleName');
|
52 |
+
$this->moduleParamName = 'cjtajaxmodule';
|
53 |
+
// Display form.
|
54 |
echo $this->getTemplate($tpl);
|
55 |
}
|
56 |
|
views/packages/manager/public/js/manager/manager.js
CHANGED
@@ -99,6 +99,8 @@
|
|
99 |
installPackage : function (templateId) {
|
100 |
var query = {
|
101 |
view : 'packages/install',
|
|
|
|
|
102 |
width : 470,
|
103 |
height: 115,
|
104 |
TB_iframe : true
|
99 |
installPackage : function (templateId) {
|
100 |
var query = {
|
101 |
view : 'packages/install',
|
102 |
+
uploaderControllerName : 'packageFile',
|
103 |
+
uploaderActionName : 'install',
|
104 |
width : 470,
|
105 |
height: 115,
|
106 |
TB_iframe : true
|
views/setup/activation-form/public/js/default/default.js
CHANGED
@@ -181,7 +181,7 @@
|
|
181 |
*/
|
182 |
readState : function() {
|
183 |
// Gathering request parameters!
|
184 |
-
var request = {'component[
|
185 |
// Read current license state!
|
186 |
var promise = this.server.send('setup', 'getState', request)
|
187 |
.success($.proxy(
|
@@ -205,7 +205,7 @@
|
|
205 |
this.buttonsState(state.action);
|
206 |
}
|
207 |
// Reflect the request state (valid license, invalid license and request error) by text message.
|
208 |
-
var
|
209 |
var requestStateMessage = CJTSetupActivationFormViewDefaultI18N[currentActionName + state.response.license + 'RequestMessage'];
|
210 |
$('#request-state').text(requestStateMessage)
|
211 |
.css({visibility : 'visible'});
|
@@ -223,6 +223,7 @@
|
|
223 |
this.activationForm.find('input:text[name="license[key]"]').attr('title', requestStateMessage);
|
224 |
}
|
225 |
else {
|
|
|
226 |
this.buttonsState('reset');
|
227 |
}
|
228 |
}
|
181 |
*/
|
182 |
readState : function() {
|
183 |
// Gathering request parameters!
|
184 |
+
var request = {'component[pluginBase]' : this.activationForm.prop('component[pluginBase]').value};
|
185 |
// Read current license state!
|
186 |
var promise = this.server.send('setup', 'getState', request)
|
187 |
.success($.proxy(
|
205 |
this.buttonsState(state.action);
|
206 |
}
|
207 |
// Reflect the request state (valid license, invalid license and request error) by text message.
|
208 |
+
var currentActionName = this.todo ? this.todo : state.action;
|
209 |
var requestStateMessage = CJTSetupActivationFormViewDefaultI18N[currentActionName + state.response.license + 'RequestMessage'];
|
210 |
$('#request-state').text(requestStateMessage)
|
211 |
.css({visibility : 'visible'});
|
223 |
this.activationForm.find('input:text[name="license[key]"]').attr('title', requestStateMessage);
|
224 |
}
|
225 |
else {
|
226 |
+
// Reset
|
227 |
this.buttonsState('reset');
|
228 |
}
|
229 |
}
|
views/setup/activation-form/public/js/default/default.localization.php
CHANGED
@@ -55,5 +55,5 @@ return array(
|
|
55 |
/* Validation */
|
56 |
'invalidName' => cssJSToolbox::getText('Invalid License name!'),
|
57 |
'invalidKey' => cssJSToolbox::getText('Invalid License key!'),
|
58 |
-
'componentNameIsAbsolute' => cssJSToolbox::getText('Component name is absolute
|
59 |
);
|
55 |
/* Validation */
|
56 |
'invalidName' => cssJSToolbox::getText('Invalid License name!'),
|
57 |
'invalidKey' => cssJSToolbox::getText('Invalid License key!'),
|
58 |
+
'componentNameIsAbsolute' => cssJSToolbox::getText('Component name is absolute!'),
|
59 |
);
|
views/setup/activation-form/tmpl/default.html.tmpl
CHANGED
@@ -20,20 +20,30 @@ $this->suppressPrintScriptsHook();
|
|
20 |
<div id="cjtoolbox_popup">
|
21 |
<form id="cjt-setup-activation-form-view" class="cjt-form">
|
22 |
<input type="hidden" id="cjt-securityToken" value="<?php echo $this->securityToken ?>" />
|
23 |
-
<input type="hidden" name="component[name]" value="<?php echo $this->component['name'] ?>" />
|
24 |
<input type="hidden" name="component[pluginBase]" value="<?php echo $this->component['pluginBase'] ?>" />
|
25 |
<fieldset>
|
26 |
-
<strong><?php echo cssJSToolbox::getText('License Key') ?> <span class="component-name">"<?php echo $this->component['
|
27 |
<p>
|
28 |
<?php echo cssJSToolbox::getText('In order to get the benefits from the premium services we provide you\'ve to obtain your license key from') ?>
|
29 |
<a target="_blank" href="<?php echo $this->cjtWebSite ?>"> <?php echo cssJSToolbox::getText('CSS & Javascript Toolbox') ?> </a><?php echo cssJSToolbox::getText('web site') ?>.
|
30 |
</p>
|
31 |
<ul class="fields-list">
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
<li>
|
38 |
<label for="license-key"><?php echo cssJSToolbox::getText('Key') ?> <sub>*</sub></label>
|
39 |
<br>
|
@@ -42,6 +52,11 @@ $this->suppressPrintScriptsHook();
|
|
42 |
<br>
|
43 |
<span id="request-state"></span>
|
44 |
</li>
|
|
|
|
|
|
|
|
|
|
|
45 |
<li>
|
46 |
<input type="submit" id="action-button" name="" />
|
47 |
<input type="submit" id="check-button" name="check" value="<?php echo cssJSToolbox::getText('Check') ?>" />
|
20 |
<div id="cjtoolbox_popup">
|
21 |
<form id="cjt-setup-activation-form-view" class="cjt-form">
|
22 |
<input type="hidden" id="cjt-securityToken" value="<?php echo $this->securityToken ?>" />
|
|
|
23 |
<input type="hidden" name="component[pluginBase]" value="<?php echo $this->component['pluginBase'] ?>" />
|
24 |
<fieldset>
|
25 |
+
<strong><?php echo cssJSToolbox::getText('License Key') ?> <span class="component-name">"<?php echo $this->component['title'] ?>"</span></strong>
|
26 |
<p>
|
27 |
<?php echo cssJSToolbox::getText('In order to get the benefits from the premium services we provide you\'ve to obtain your license key from') ?>
|
28 |
<a target="_blank" href="<?php echo $this->cjtWebSite ?>"> <?php echo cssJSToolbox::getText('CSS & Javascript Toolbox') ?> </a><?php echo cssJSToolbox::getText('web site') ?>.
|
29 |
</p>
|
30 |
<ul class="fields-list">
|
31 |
+
<li>
|
32 |
+
<label for="product-type"><?php echo cssJSToolbox::getText('License Type') ?> <sub>*</sub></label>
|
33 |
+
<br>
|
34 |
+
<select id="product-type" name="component[name]">
|
35 |
+
<?php
|
36 |
+
# select nothing by default
|
37 |
+
$licenseTypes[''] = array('name' => '', 'text' => '');
|
38 |
+
$licenseTypes = array_merge($licenseTypes, $this->licenseTypes);
|
39 |
+
# List license types
|
40 |
+
foreach ($licenseTypes as $type) :
|
41 |
+
$selected = ($this->license['productName'] == $type['name']) ? " selected='selected'" : '';
|
42 |
+
?>
|
43 |
+
<option value="<?php echo $type['name'] ?>"<?php echo $selected ?>><?php echo $type['text'] ?></option>
|
44 |
+
<?php endforeach; ?>
|
45 |
+
</select>
|
46 |
+
</li>
|
47 |
<li>
|
48 |
<label for="license-key"><?php echo cssJSToolbox::getText('Key') ?> <sub>*</sub></label>
|
49 |
<br>
|
52 |
<br>
|
53 |
<span id="request-state"></span>
|
54 |
</li>
|
55 |
+
<li>
|
56 |
+
<label for="license-name"><?php echo cssJSToolbox::getText('Your Name') ?> <sub>*</sub></label>
|
57 |
+
<br>
|
58 |
+
<input type="text" id="license-name" name="license[name]" value="<?php echo $this->license['name'] ?>">
|
59 |
+
</li>
|
60 |
<li>
|
61 |
<input type="submit" id="action-button" name="" />
|
62 |
<input type="submit" id="check-button" name="check" value="<?php echo cssJSToolbox::getText('Check') ?>" />
|
views/setup/activation-form/view.php
CHANGED
@@ -32,6 +32,13 @@ class CJTSetupActivationFormView extends CJTView {
|
|
32 |
*/
|
33 |
protected $license;
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
/**
|
36 |
* put your comment there...
|
37 |
*
|
@@ -51,7 +58,8 @@ class CJTSetupActivationFormView extends CJTView {
|
|
51 |
$this->securityToken = cssJSToolbox::getSecurityToken();
|
52 |
$this->component = $this->getRequestParameter('component');
|
53 |
$this->cjtWebSite = cssJSToolbox::getCJTWebSiteURL();
|
54 |
-
$this->
|
|
|
55 |
// Display view.
|
56 |
echo $this->getTemplate($tpl);
|
57 |
}
|
32 |
*/
|
33 |
protected $license;
|
34 |
|
35 |
+
/**
|
36 |
+
* put your comment there...
|
37 |
+
*
|
38 |
+
* @var mixed
|
39 |
+
*/
|
40 |
+
protected $licenseTypes;
|
41 |
+
|
42 |
/**
|
43 |
* put your comment there...
|
44 |
*
|
58 |
$this->securityToken = cssJSToolbox::getSecurityToken();
|
59 |
$this->component = $this->getRequestParameter('component');
|
60 |
$this->cjtWebSite = cssJSToolbox::getCJTWebSiteURL();
|
61 |
+
$this->licenseTypes = $model->getExtensionProductTypes($this->component);
|
62 |
+
$this->license = $model->getStateStruct($this->licenseTypes, 'license');
|
63 |
// Display view.
|
64 |
echo $this->getTemplate($tpl);
|
65 |
}
|
views/setup/setup/tmpl/default.html.tmpl
CHANGED
@@ -8,9 +8,9 @@ defined('ABSPATH') or die("Access denied");
|
|
8 |
?>
|
9 |
<div class="cjt-setup-page"><br>
|
10 |
<form id="setup-form">
|
11 |
-
<input type="hidden" name="component[name]" value="<?php echo $this->component['name'] ?>" />
|
12 |
<input type="hidden" name="component[pluginBase]" value="<?php echo $this->component['pluginBase'] ?>" />
|
|
|
13 |
<input type="hidden" id="cjt-securityToken" value="<?php echo $this->securityToken ?>" />
|
14 |
-
<iframe id="activation-form" NOBORDER="true" style="width:100%;height:
|
15 |
</form>
|
16 |
</div>
|
8 |
?>
|
9 |
<div class="cjt-setup-page"><br>
|
10 |
<form id="setup-form">
|
|
|
11 |
<input type="hidden" name="component[pluginBase]" value="<?php echo $this->component['pluginBase'] ?>" />
|
12 |
+
<input type="hidden" name="component[title]" value="<?php echo $this->component['title'] ?>" />
|
13 |
<input type="hidden" id="cjt-securityToken" value="<?php echo $this->securityToken ?>" />
|
14 |
+
<iframe id="activation-form" NOBORDER="true" style="width:100%;height:280px; display:none"></iframe>
|
15 |
</form>
|
16 |
</div>
|
views/templates/template/public/js/template/template.js
CHANGED
@@ -89,7 +89,6 @@
|
|
89 |
this.form.find('#form-tabs').tabs();
|
90 |
// ACE Editor.
|
91 |
this.aceEditor = ace.edit('code');
|
92 |
-
this.aceEditor.setTheme('ace/theme/chrome');
|
93 |
this.aceEditor.setShowPrintMargin(false);
|
94 |
// Update button.
|
95 |
$('#save').click($.proxy(this.save, this));
|
89 |
this.form.find('#form-tabs').tabs();
|
90 |
// ACE Editor.
|
91 |
this.aceEditor = ace.edit('code');
|
|
|
92 |
this.aceEditor.setShowPrintMargin(false);
|
93 |
// Update button.
|
94 |
$('#save').click($.proxy(this.save, this));
|