Version Description
- Enhancement: Suppress PHP errors displayed under STRICT PHP configuration like PHP >
Download this release
Release Info
Developer | xpointer |
Plugin | CSS & JavaScript Toolbox |
Version | 6.0.9 |
Comparing to | |
See all releases |
Code changes from version 6.0.7 to 6.0.9
- access.points/ajax.accesspoint.php +3 -3
- access.points/autoupgrade.accesspoint.php +3 -3
- access.points/extensions.accesspoint.php +3 -3
- access.points/tinymce.accesspoint.php +3 -3
- css-js-toolbox.class.php +3 -3
- css-js-toolbox.php +1 -1
- framework/db/mysql/queue-driver.inc.php +16 -0
- framework/db/mysql/xtable.inc.php +22 -15
- framework/events/events.class.php +3 -3
- framework/events/hookable.class.php +3 -3
- includes/installer/upgrade/0.3/includes/block.class.php +2 -1
- models/block.php +1 -10
- models/blocks.php +2 -1
- models/installer.php +3 -0
- readme.txt +5 -1
- views/blocks/cjt-block/helpers/wpnavmenuwalker.inc.php +3 -3
- views/blocks/cjt-block/view.php +1 -1
- views/tinymce/shortcodes/tmpl/default.html.tmpl +1 -1
access.points/ajax.accesspoint.php
CHANGED
@@ -28,14 +28,14 @@ class CJTAjaxAccessPoint extends CJTAccessPoint {
|
|
28 |
*/
|
29 |
protected function doListen() {
|
30 |
// Define CJT AJAX access point!
|
31 |
-
add_action("wp_ajax_{$this->pageId}_api", array(&$this, 'route'));
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
* put your comment there...
|
36 |
*
|
37 |
*/
|
38 |
-
public function route() {
|
39 |
// Initializing!
|
40 |
$controller = false;
|
41 |
// Controllers allowed to be Loaded if not installed
|
@@ -45,7 +45,7 @@ class CJTAjaxAccessPoint extends CJTAccessPoint {
|
|
45 |
// Connected!
|
46 |
$this->connected();
|
47 |
// Instantiate controller.
|
48 |
-
$controller = parent::route();
|
49 |
// Dispatch the call as its originally requested from ajax action!
|
50 |
$action = "wp_ajax_{$this->pageId}_{$_REQUEST['CJTAjaxAction']}";
|
51 |
// Fire Ajax action.
|
28 |
*/
|
29 |
protected function doListen() {
|
30 |
// Define CJT AJAX access point!
|
31 |
+
add_action("wp_ajax_{$this->pageId}_api", array(&$this, 'route'), 10, 0);
|
32 |
}
|
33 |
|
34 |
/**
|
35 |
* put your comment there...
|
36 |
*
|
37 |
*/
|
38 |
+
public function route($loadView = null, $request = null) {
|
39 |
// Initializing!
|
40 |
$controller = false;
|
41 |
// Controllers allowed to be Loaded if not installed
|
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!
|
50 |
$action = "wp_ajax_{$this->pageId}_{$_REQUEST['CJTAjaxAction']}";
|
51 |
// Fire Ajax action.
|
access.points/autoupgrade.accesspoint.php
CHANGED
@@ -35,7 +35,7 @@ class CJTAutoUpgradeAccessPoint extends CJTAccessPoint {
|
|
35 |
protected function doListen() {
|
36 |
// Only if permitted!
|
37 |
if ($this->hasAccess()) {
|
38 |
-
add_action('admin_init', array(&$this, 'route'));
|
39 |
}
|
40 |
}
|
41 |
|
@@ -54,10 +54,10 @@ class CJTAutoUpgradeAccessPoint extends CJTAccessPoint {
|
|
54 |
* put your comment there...
|
55 |
*
|
56 |
*/
|
57 |
-
public function route() {
|
58 |
// Load Auto Upgrade controller!
|
59 |
$this->controllerName = 'auto-upgrade';
|
60 |
-
parent::route(
|
61 |
// Set action name to autoUpgrade
|
62 |
->setAction('enable')
|
63 |
// fire action to enable automatic upgrade!
|
35 |
protected function doListen() {
|
36 |
// Only if permitted!
|
37 |
if ($this->hasAccess()) {
|
38 |
+
add_action('admin_init', array(&$this, 'route'), 10, 0);
|
39 |
}
|
40 |
}
|
41 |
|
54 |
* put your comment there...
|
55 |
*
|
56 |
*/
|
57 |
+
public function route($loadView = false, $request = null) {
|
58 |
// Load Auto Upgrade controller!
|
59 |
$this->controllerName = 'auto-upgrade';
|
60 |
+
parent::route($loadView, $request)
|
61 |
// Set action name to autoUpgrade
|
62 |
->setAction('enable')
|
63 |
// fire action to enable automatic upgrade!
|
access.points/extensions.accesspoint.php
CHANGED
@@ -54,18 +54,18 @@ class CJTExtensionsAccessPoint extends CJTAccessPoint {
|
|
54 |
// Hack Extensions menu item to point to Plugins page!
|
55 |
$GLOBALS['submenu'][CJTPlugin::PLUGIN_REQUEST_ID][self::MENU_POSITION_INDEX][2] = admin_url('plugins.php?s=' . self::PLUGINS_PAGE_SEARCH_TERM);
|
56 |
// When plugins page loaded!
|
57 |
-
add_action('load-plugins.php', array($this, 'route'));
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
* put your comment there...
|
62 |
*
|
63 |
*/
|
64 |
-
public function route() {
|
65 |
// Set as connected object!
|
66 |
$this->connected();
|
67 |
// Load extensions view throughjt the default controller!
|
68 |
-
parent::route(
|
69 |
// Set Action name!
|
70 |
->setAction('extensions')
|
71 |
// Dispatch the call!
|
54 |
// Hack Extensions menu item to point to Plugins page!
|
55 |
$GLOBALS['submenu'][CJTPlugin::PLUGIN_REQUEST_ID][self::MENU_POSITION_INDEX][2] = admin_url('plugins.php?s=' . self::PLUGINS_PAGE_SEARCH_TERM);
|
56 |
// When plugins page loaded!
|
57 |
+
add_action('load-plugins.php', array($this, 'route'), 10, 0);
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
* put your comment there...
|
62 |
*
|
63 |
*/
|
64 |
+
public function route($loadView = null, $request = array('view' => 'extensions/plugins-list')) {
|
65 |
// Set as connected object!
|
66 |
$this->connected();
|
67 |
// Load extensions view throughjt the default controller!
|
68 |
+
parent::route($loadView, $request)
|
69 |
// Set Action name!
|
70 |
->setAction('extensions')
|
71 |
// Dispatch the call!
|
access.points/tinymce.accesspoint.php
CHANGED
@@ -28,7 +28,7 @@ class CJTTinymceAccessPoint extends CJTAccessPoint {
|
|
28 |
if (CJTPlugin::getInstance()->isInstalled()) {
|
29 |
// Don't bother doing this stuff if the current user lacks permissions
|
30 |
if ((current_user_can('edit_posts') || current_user_can('edit_pages')) && (get_user_option('rich_editing') == 'true')) {
|
31 |
-
add_filter('mce_external_plugins', array($this, '
|
32 |
}
|
33 |
}
|
34 |
}
|
@@ -38,10 +38,10 @@ class CJTTinymceAccessPoint extends CJTAccessPoint {
|
|
38 |
*
|
39 |
* @param mixed $plugins
|
40 |
*/
|
41 |
-
public function
|
42 |
// Load tinymce/shortcodes view through default controller!
|
43 |
$this->controllerName = 'default';
|
44 |
-
|
45 |
// Display
|
46 |
->setAction('display')
|
47 |
->_doAction();
|
28 |
if (CJTPlugin::getInstance()->isInstalled()) {
|
29 |
// Don't bother doing this stuff if the current user lacks permissions
|
30 |
if ((current_user_can('edit_posts') || current_user_can('edit_pages')) && (get_user_option('rich_editing') == 'true')) {
|
31 |
+
add_filter('mce_external_plugins', array($this, 'registerButton'));
|
32 |
}
|
33 |
}
|
34 |
}
|
38 |
*
|
39 |
* @param mixed $plugins
|
40 |
*/
|
41 |
+
public function registerButton($plugins) {
|
42 |
// Load tinymce/shortcodes view through default controller!
|
43 |
$this->controllerName = 'default';
|
44 |
+
$this->route(null, array('view' => 'tinymce/shortcodes'))
|
45 |
// Display
|
46 |
->setAction('display')
|
47 |
->_doAction();
|
css-js-toolbox.class.php
CHANGED
@@ -137,7 +137,7 @@ class cssJSToolbox extends CJTHookableClass {
|
|
137 |
* put your comment there...
|
138 |
*
|
139 |
*/
|
140 |
-
public function getCJTWebSiteURL($path = null) {
|
141 |
$domain = self::CJT_WEB_SITE_DOMAIN;
|
142 |
return "http://{$domain}/{$path}";
|
143 |
}
|
@@ -166,7 +166,7 @@ class cssJSToolbox extends CJTHookableClass {
|
|
166 |
* put your comment there...
|
167 |
*
|
168 |
*/
|
169 |
-
public function getSecurityToken() {
|
170 |
return wp_create_nonce(CJTController::NONCE_ACTION);
|
171 |
}
|
172 |
|
@@ -175,7 +175,7 @@ class cssJSToolbox extends CJTHookableClass {
|
|
175 |
*
|
176 |
* @param mixed $text
|
177 |
*/
|
178 |
-
public function getText($text) {
|
179 |
// Make sure to don't use $this while calling!
|
180 |
// $this might be an object other than CssJSToolbox!
|
181 |
return self::__callStatic('cssJSToolbox.ongettext', array(__($text, CJTOOLBOX_TEXT_DOMAIN)));
|
137 |
* put your comment there...
|
138 |
*
|
139 |
*/
|
140 |
+
public static function getCJTWebSiteURL($path = null) {
|
141 |
$domain = self::CJT_WEB_SITE_DOMAIN;
|
142 |
return "http://{$domain}/{$path}";
|
143 |
}
|
166 |
* put your comment there...
|
167 |
*
|
168 |
*/
|
169 |
+
public static function getSecurityToken() {
|
170 |
return wp_create_nonce(CJTController::NONCE_ACTION);
|
171 |
}
|
172 |
|
175 |
*
|
176 |
* @param mixed $text
|
177 |
*/
|
178 |
+
public static function getText($text) {
|
179 |
// Make sure to don't use $this while calling!
|
180 |
// $this might be an object other than CssJSToolbox!
|
181 |
return self::__callStatic('cssJSToolbox.ongettext', array(__($text, CJTOOLBOX_TEXT_DOMAIN)));
|
css-js-toolbox.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: CSS & JavaScript Toolbox
|
4 |
Plugin URI: http://css-javascript-toolbox.com/css-javascript-toolbox-free
|
5 |
Description: CJT Plugin for WordPress to easily add custom CSS and JavaScript to individual pages
|
6 |
-
Version: 6.0.
|
7 |
Author: Wipeout Media
|
8 |
Author URI: http://css-javascript-toolbox.com/
|
9 |
|
3 |
Plugin Name: CSS & JavaScript Toolbox
|
4 |
Plugin URI: http://css-javascript-toolbox.com/css-javascript-toolbox-free
|
5 |
Description: CJT Plugin for WordPress to easily add custom CSS and JavaScript to individual pages
|
6 |
+
Version: 6.0.9
|
7 |
Author: Wipeout Media
|
8 |
Author URI: http://css-javascript-toolbox.com/
|
9 |
|
framework/db/mysql/queue-driver.inc.php
CHANGED
@@ -181,6 +181,22 @@ class CJTMYSQLQueueDriver extends CJTHookableClass {
|
|
181 |
return $this->wpdb->insert_id;
|
182 |
}
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
/**
|
185 |
* put your comment there...
|
186 |
*
|
181 |
return $this->wpdb->insert_id;
|
182 |
}
|
183 |
|
184 |
+
/**
|
185 |
+
* put your comment there...
|
186 |
+
*
|
187 |
+
* @param mixed $query
|
188 |
+
* @param mixed $returnType
|
189 |
+
* @param mixed $default
|
190 |
+
*/
|
191 |
+
public function getRow($query, $returnType = OBJECT_K, $default = null) {
|
192 |
+
$row = null;
|
193 |
+
// Fetch al result set!
|
194 |
+
$result = $this->select($query, $returnType);
|
195 |
+
if ($result) {
|
196 |
+
$row = reset($result);
|
197 |
+
}
|
198 |
+
return $row;
|
199 |
+
}
|
200 |
/**
|
201 |
* put your comment there...
|
202 |
*
|
framework/db/mysql/xtable.inc.php
CHANGED
@@ -137,6 +137,8 @@ abstract class CJTxTable extends CJTHookableClass {
|
|
137 |
public function __construct($dbDriver, $table, $key = array('id')) {
|
138 |
// Hookable!
|
139 |
parent::__construct();
|
|
|
|
|
140 |
// Initialize!
|
141 |
$this->dbDriver =$dbDriver;
|
142 |
$this->name = "#__cjtoolbox_{$table}";
|
@@ -282,13 +284,13 @@ abstract class CJTxTable extends CJTHookableClass {
|
|
282 |
$query['where'] = 'WHERE ' . implode(' AND ', $this->prepareQueryParameters($key));
|
283 |
if ($query = $this->onconcatquery($query)) {
|
284 |
// Read DB record!
|
285 |
-
$query = "{$query['select']} {$query['from']} {$query['where']}";
|
286 |
-
$this->
|
287 |
}
|
288 |
}
|
289 |
}
|
290 |
else {
|
291 |
-
$this->
|
292 |
}
|
293 |
return $this;
|
294 |
}
|
@@ -321,15 +323,6 @@ abstract class CJTxTable extends CJTHookableClass {
|
|
321 |
return $prepared;
|
322 |
}
|
323 |
|
324 |
-
/**
|
325 |
-
* put your comment there...
|
326 |
-
*
|
327 |
-
*/
|
328 |
-
public function reset() {
|
329 |
-
$this->item = null;
|
330 |
-
return $this;
|
331 |
-
}
|
332 |
-
|
333 |
/**
|
334 |
* UPDATE/INSERT
|
335 |
*
|
@@ -386,9 +379,6 @@ abstract class CJTxTable extends CJTHookableClass {
|
|
386 |
public function setData($data) {
|
387 |
// Cast to array.
|
388 |
$data = (array) $data;
|
389 |
-
if (is_null($this->item)) {
|
390 |
-
$item = (object) array();
|
391 |
-
}
|
392 |
// Copy values!
|
393 |
foreach ($data as $name => $value) {
|
394 |
if ($value !== null) {
|
@@ -398,6 +388,23 @@ abstract class CJTxTable extends CJTHookableClass {
|
|
398 |
return $this;
|
399 |
}
|
400 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
/**
|
402 |
* put your comment there...
|
403 |
*
|
137 |
public function __construct($dbDriver, $table, $key = array('id')) {
|
138 |
// Hookable!
|
139 |
parent::__construct();
|
140 |
+
// Reset intenal item object!
|
141 |
+
$this->setItem();
|
142 |
// Initialize!
|
143 |
$this->dbDriver =$dbDriver;
|
144 |
$this->name = "#__cjtoolbox_{$table}";
|
284 |
$query['where'] = 'WHERE ' . implode(' AND ', $this->prepareQueryParameters($key));
|
285 |
if ($query = $this->onconcatquery($query)) {
|
286 |
// Read DB record!
|
287 |
+
$query = "{$query['select']} {$query['from']} {$query['where']}";
|
288 |
+
$this->setItem($this->dbDriver->getRow($this->onloadquery($query)));
|
289 |
}
|
290 |
}
|
291 |
}
|
292 |
else {
|
293 |
+
$this->setItem($this->dbDriver->getRow($this->onloadquery($query)));
|
294 |
}
|
295 |
return $this;
|
296 |
}
|
323 |
return $prepared;
|
324 |
}
|
325 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
/**
|
327 |
* UPDATE/INSERT
|
328 |
*
|
379 |
public function setData($data) {
|
380 |
// Cast to array.
|
381 |
$data = (array) $data;
|
|
|
|
|
|
|
382 |
// Copy values!
|
383 |
foreach ($data as $name => $value) {
|
384 |
if ($value !== null) {
|
388 |
return $this;
|
389 |
}
|
390 |
|
391 |
+
/**
|
392 |
+
* put your comment there...
|
393 |
+
*
|
394 |
+
* @param mixed $item
|
395 |
+
* @return CJTxTable
|
396 |
+
*/
|
397 |
+
public function setItem($item = null) {
|
398 |
+
// If NULL create empty stdClass, if array cast to stdClass!
|
399 |
+
if (!is_object($item)) {
|
400 |
+
$item = is_array($item) ? (object) $item : new stdClass();
|
401 |
+
}
|
402 |
+
// Set internal item object!
|
403 |
+
$this->item = $item;
|
404 |
+
// Chaining!
|
405 |
+
return $this;
|
406 |
+
}
|
407 |
+
|
408 |
/**
|
409 |
* put your comment there...
|
410 |
*
|
framework/events/events.class.php
CHANGED
@@ -230,7 +230,7 @@ abstract class CJTEvents {
|
|
230 |
* @param mixed $type
|
231 |
* @return CJTWordpressEvents
|
232 |
*/
|
233 |
-
public function getTypeEvents($typeName, $typePrefixed = true) {
|
234 |
$type = self::parseEventType($typeName, $typePrefixed);
|
235 |
if (!self::$classes[$type->class]) {
|
236 |
throw new Exception("Type not found!! Could not find {$typeName}!");
|
@@ -262,7 +262,7 @@ abstract class CJTEvents {
|
|
262 |
* @param mixed $typeName
|
263 |
* @param mixed $observer
|
264 |
*/
|
265 |
-
public function on($typeName, $observer) {
|
266 |
$type = self::parseEventType($typeName, false);
|
267 |
// Create live event!
|
268 |
$on = array();
|
@@ -275,7 +275,7 @@ abstract class CJTEvents {
|
|
275 |
*
|
276 |
* @param mixed $type
|
277 |
*/
|
278 |
-
public function parseEventType($type, $typePrefixed = true) {
|
279 |
$separator = '.';
|
280 |
$prefix = 'on';
|
281 |
// CLASS.TYPE
|
230 |
* @param mixed $type
|
231 |
* @return CJTWordpressEvents
|
232 |
*/
|
233 |
+
public static function getTypeEvents($typeName, $typePrefixed = true) {
|
234 |
$type = self::parseEventType($typeName, $typePrefixed);
|
235 |
if (!self::$classes[$type->class]) {
|
236 |
throw new Exception("Type not found!! Could not find {$typeName}!");
|
262 |
* @param mixed $typeName
|
263 |
* @param mixed $observer
|
264 |
*/
|
265 |
+
public static function on($typeName, $observer) {
|
266 |
$type = self::parseEventType($typeName, false);
|
267 |
// Create live event!
|
268 |
$on = array();
|
275 |
*
|
276 |
* @param mixed $type
|
277 |
*/
|
278 |
+
public static function parseEventType($type, $typePrefixed = true) {
|
279 |
$separator = '.';
|
280 |
$prefix = 'on';
|
281 |
// CLASS.TYPE
|
framework/events/hookable.class.php
CHANGED
@@ -101,7 +101,7 @@ abstract class CJTHookableClass implements CJTIHookable {
|
|
101 |
* @param mixed $typeName
|
102 |
* @param mixed $observer
|
103 |
*/
|
104 |
-
public function off($typeName, $observer) {
|
105 |
return CJTWordpressEvents::off($typeName, $observer);
|
106 |
}
|
107 |
|
@@ -111,7 +111,7 @@ abstract class CJTHookableClass implements CJTIHookable {
|
|
111 |
* @param mixed $typeName
|
112 |
* @param mixed $observer
|
113 |
*/
|
114 |
-
public function on($typeName, $observer) {
|
115 |
return CJTWordpressEvents::on($typeName, $observer);
|
116 |
}
|
117 |
|
@@ -120,7 +120,7 @@ abstract class CJTHookableClass implements CJTIHookable {
|
|
120 |
*
|
121 |
* @param mixed $type
|
122 |
*/
|
123 |
-
public function trigger($typeName) {
|
124 |
$events = (isset($this) && isset($this->events)) ?
|
125 |
$this->events :
|
126 |
CJTWordpressEvents::getTypeEvents($typeName, false);
|
101 |
* @param mixed $typeName
|
102 |
* @param mixed $observer
|
103 |
*/
|
104 |
+
public static function off($typeName, $observer) {
|
105 |
return CJTWordpressEvents::off($typeName, $observer);
|
106 |
}
|
107 |
|
111 |
* @param mixed $typeName
|
112 |
* @param mixed $observer
|
113 |
*/
|
114 |
+
public static function on($typeName, $observer) {
|
115 |
return CJTWordpressEvents::on($typeName, $observer);
|
116 |
}
|
117 |
|
120 |
*
|
121 |
* @param mixed $type
|
122 |
*/
|
123 |
+
public static function trigger($typeName) {
|
124 |
$events = (isset($this) && isset($this->events)) ?
|
125 |
$this->events :
|
126 |
CJTWordpressEvents::getTypeEvents($typeName, false);
|
includes/installer/upgrade/0.3/includes/block.class.php
CHANGED
@@ -56,7 +56,8 @@ class CJTInstallerBlocks03 extends CJTInstallerBlock {
|
|
56 |
$id = false;
|
57 |
// If its a normal block just get the id from the KEY!
|
58 |
if ($this->type == self::BLOCK_TYPE_BACKUP) {
|
59 |
-
$
|
|
|
60 |
$id = $blocksTable->getNextId();
|
61 |
}
|
62 |
else { // If backup block generate new ID!
|
56 |
$id = false;
|
57 |
// If its a normal block just get the id from the KEY!
|
58 |
if ($this->type == self::BLOCK_TYPE_BACKUP) {
|
59 |
+
$dbDriver = cssJSToolbox::getInstance()->getDBDriver();
|
60 |
+
$blocksTable = new CJTBlocksTable($dbDriver);
|
61 |
$id = $blocksTable->getNextId();
|
62 |
}
|
63 |
else { // If backup block generate new ID!
|
models/block.php
CHANGED
@@ -189,14 +189,5 @@ class CJTBlockModel extends CJTModel {
|
|
189 |
// Return only pinPoint.
|
190 |
return $pinPoint;
|
191 |
}
|
192 |
-
|
193 |
-
/**
|
194 |
-
* put your comment there...
|
195 |
-
*
|
196 |
-
* @param mixed $values
|
197 |
-
*/
|
198 |
-
public static function getInstance($values) {
|
199 |
-
return new CJTBlockModel($values);
|
200 |
-
}
|
201 |
-
|
202 |
} // End class.
|
189 |
// Return only pinPoint.
|
190 |
return $pinPoint;
|
191 |
}
|
192 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
} // End class.
|
models/blocks.php
CHANGED
@@ -83,7 +83,8 @@ class CJTBlocksModel {
|
|
83 |
// Get block data.
|
84 |
$block['fields'] = array('id', 'lastModified', 'pinPoint', 'code', 'links', 'expressions');
|
85 |
// get() developed to return multiple blocks, fetch the first.
|
86 |
-
$
|
|
|
87 |
// Set other fields.
|
88 |
$block->location = $block->state = '';
|
89 |
$block->parent = $blockId;
|
83 |
// Get block data.
|
84 |
$block['fields'] = array('id', 'lastModified', 'pinPoint', 'code', 'links', 'expressions');
|
85 |
// get() developed to return multiple blocks, fetch the first.
|
86 |
+
$result = $blocks->get($blockId, $block['fields']);
|
87 |
+
$block = reset($result);
|
88 |
// Set other fields.
|
89 |
$block->location = $block->state = '';
|
90 |
$block->parent = $blockId;
|
models/installer.php
CHANGED
@@ -85,6 +85,9 @@ class CJTInstallerModel {
|
|
85 |
* @return array Operations list metadata.
|
86 |
*/
|
87 |
public function getOperations() {
|
|
|
|
|
|
|
88 |
// Check if cached: Use only installer cache for 'current' CJT version.
|
89 |
if (!isset($operations[CJTPlugin::DB_VERSION])) {
|
90 |
// Import installer reflection!
|
85 |
* @return array Operations list metadata.
|
86 |
*/
|
87 |
public function getOperations() {
|
88 |
+
// Read all install/upgrade operations for all versions!
|
89 |
+
$operations = get_option(self::INSTALLATION_STATE);
|
90 |
+
$operations = is_array($operations) ? $operations : array();
|
91 |
// Check if cached: Use only installer cache for 'current' CJT version.
|
92 |
if (!isset($operations[CJTPlugin::DB_VERSION])) {
|
93 |
// Import installer reflection!
|
readme.txt
CHANGED
@@ -7,7 +7,7 @@ License: GPLv2 or later
|
|
7 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
8 |
Requires at least: 3.3
|
9 |
Tested up to: 3.5.1
|
10 |
-
Stable tag: 6.0.
|
11 |
|
12 |
Easily add custom CSS, JavaScript, HTML and PHP code to unique CJT code blocks and assign them wherever you want.
|
13 |
|
@@ -123,6 +123,10 @@ Sometimes a bug decides to rear its ugly head and when this happens, this is whe
|
|
123 |
|
124 |
== Changelog ==
|
125 |
|
|
|
|
|
|
|
|
|
126 |
= 6.0.7 =
|
127 |
* Fix: textarea HTML tag break down CJT Block code.
|
128 |
|
7 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
8 |
Requires at least: 3.3
|
9 |
Tested up to: 3.5.1
|
10 |
+
Stable tag: 6.0.9
|
11 |
|
12 |
Easily add custom CSS, JavaScript, HTML and PHP code to unique CJT code blocks and assign them wherever you want.
|
13 |
|
123 |
|
124 |
== Changelog ==
|
125 |
|
126 |
+
= 6.0.9 =
|
127 |
+
* Enhancement: Suppress PHP errors displayed under STRICT PHP configuration like PHP >= 5.4.x and therefor boost performance, increase result and security reliability!
|
128 |
+
* Fix: Installer operations state is cleared after the install/upgrade is interrupted, cause the repeats/re-executes of the install/upgrade operations.
|
129 |
+
|
130 |
= 6.0.7 =
|
131 |
* Fix: textarea HTML tag break down CJT Block code.
|
132 |
|
views/blocks/cjt-block/helpers/wpnavmenuwalker.inc.php
CHANGED
@@ -35,7 +35,7 @@ class cj_Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
|
|
35 |
* @param mixed $output
|
36 |
* @param mixed $depth
|
37 |
*/
|
38 |
-
function start_lvl( &$output, $depth ) {
|
39 |
$indent = str_repeat( "\t", $depth );
|
40 |
$output .= "\n$indent<ul class='children'>\n";
|
41 |
}
|
@@ -46,7 +46,7 @@ class cj_Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
|
|
46 |
* @param mixed $output
|
47 |
* @param mixed $depth
|
48 |
*/
|
49 |
-
function end_lvl( &$output, $depth ) {
|
50 |
$indent = str_repeat( "\t", $depth );
|
51 |
$output .= "\n$indent</ul>";
|
52 |
}
|
@@ -60,7 +60,7 @@ class cj_Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
|
|
60 |
* @param int $depth Depth of menu item. Used for padding.
|
61 |
* @param object $args
|
62 |
*/
|
63 |
-
function start_el(&$output, $item, $depth, $args) {
|
64 |
$possible_object_id = $item->object_id;
|
65 |
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
|
66 |
$output .= $indent . '<li>';
|
35 |
* @param mixed $output
|
36 |
* @param mixed $depth
|
37 |
*/
|
38 |
+
function start_lvl( &$output, $depth = 0, $args = array() ) {
|
39 |
$indent = str_repeat( "\t", $depth );
|
40 |
$output .= "\n$indent<ul class='children'>\n";
|
41 |
}
|
46 |
* @param mixed $output
|
47 |
* @param mixed $depth
|
48 |
*/
|
49 |
+
function end_lvl( &$output, $depth = 0, $args = array() ) {
|
50 |
$indent = str_repeat( "\t", $depth );
|
51 |
$output .= "\n$indent</ul>";
|
52 |
}
|
60 |
* @param int $depth Depth of menu item. Used for padding.
|
61 |
* @param object $args
|
62 |
*/
|
63 |
+
function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
|
64 |
$possible_object_id = $item->object_id;
|
65 |
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
|
66 |
$output .= $indent . '<li>';
|
views/blocks/cjt-block/view.php
CHANGED
@@ -80,7 +80,7 @@ class CJTBlocksCjtBlockView extends CJTView {
|
|
80 |
* put your comment there...
|
81 |
*
|
82 |
*/
|
83 |
-
public function getBlockView() {
|
84 |
return $this->blockView;
|
85 |
}
|
86 |
|
80 |
* put your comment there...
|
81 |
*
|
82 |
*/
|
83 |
+
public function & getBlockView() {
|
84 |
return $this->blockView;
|
85 |
}
|
86 |
|
views/tinymce/shortcodes/tmpl/default.html.tmpl
CHANGED
@@ -18,7 +18,7 @@ defined('ABSPATH') or die('Access denied');
|
|
18 |
// and therefore there is no security token generated!
|
19 |
$(function() {
|
20 |
if (!CJTServer.securityToken) {
|
21 |
-
CJTServer.securityToken = '<?php echo cssJSToolbox::
|
22 |
}
|
23 |
});
|
24 |
})(jQuery);
|
18 |
// and therefore there is no security token generated!
|
19 |
$(function() {
|
20 |
if (!CJTServer.securityToken) {
|
21 |
+
CJTServer.securityToken = '<?php echo cssJSToolbox::getSecurityToken() ?>';
|
22 |
}
|
23 |
});
|
24 |
})(jQuery);
|