Merge branch '2.0' of github.com:s9y/Serendipity into 2.0

This commit is contained in:
Ian 2014-04-08 10:39:46 +02:00
commit 6a8f3a44c0
10 changed files with 204 additions and 180 deletions

138
docs/NEWS
View File

@ -1,6 +1,6 @@
#
Version 2.0 ()
Version 2.0-beta1 (April 8th, 2014)
------------------------------------------------------------------------
@ -9,15 +9,140 @@ Version 2.0 ()
* Implemented patch https://github.com/s9y/Serendipity/pull/15
* When switching templates, both the backend and the frontend
will remember the timestamp of the last template change,
* When switching Themes, both the backend and the frontend
will remember the timestamp of the last theme change,
to make sure that the browser will not cache a mismatching CSS.
* try to fix template change issues with global template vars in core (1559472ca3)
see 'temporary added empty $template_config_groups' in 1.7-rc2 (eb77dc369a)
* Fix theme change issues with global template vars in core
(1559472ca3) see 'temporary added empty $template_config_groups'
in 1.7-rc2 (eb77dc369a)
* Use Smarty for backend display output
* "Themes" are now what has previously been mixed as "Design",
"Theme", "Template" or "Layouts".
* WYSIWYG-Spawn-API reworked (2k11/admin/wysiwyg_init.tpl)
* All Javascript-functions like SetCookie now reside in a
serendipity-object, simulating a namespace.
SetCookie(...)
became
serendipity.SetCookie(...)
* Renamed JS-Function:
toggleCategorySelector became toggle_category_selector
* The advanced js option (eyecandy) got removed, as such a thing
like advanced js doesn't exist anymore
* dashboard_plugin has an equivalent in the core, replacing the
frontpage
* Constants like S9Y_FRAMEWORK_COMPAT are no longer set
(include_once is used instead)
* New additional option to render smarty-functions:
serendipity_smarty_show($template, $data)
* A number of functions now returns their result instead of echoing
them (TODO: a bunch of image- and
trackback-functions still use echo for messages"):
serendipity_plugin_config
serendipity_printEntryForm
serendipity_printEntries
function serendipity_showMedia
serendipity_showPropertyForm
showMediaLibrary
serendipity_guessInput
memSnap
serendipity_displayTopUrlList
serendipity_displayTopExits
serendipity_displayTopReferrers
serendipity_printConfigTemplate
show_plugins
* Functions removed from the core:
serendipity_printConfigJS
* Functions added to the core:
serendipity_generateImageSelectorParams
* All internal plugins got extracted from plugin_internal.inc.php
and moved to plugins/.
They are renamed to work there (upgrader task provides migration):
serendipity_calendar_plugin became serendipity_plugin_calendar
serendipity_quicksearch_plugin became serendipity_plugin_quicksearch
serendipity_archives_plugin became serendipity_plugin_archives
serendipity_categories_plugin became serendipity_plugin_categories
serendipity_syndication_plugin became serendipity_plugin_syndication
serendipity_superuser_plugin became serendipity_plugin_superuser
serendipity_plug_plugin became serendipity_plugin_plug
* Add plugin hook "js", generating a virtual serendipity.js
* Admin JS is now bundled in serendipity_editor.js.tpl and
rendered using smarty in the theme config
* Admin JS got rewritten using jQuery where applicable
* serendipity_define.js.php removed
* Removed support for layout.php
* The whole PHP-Code now almost never echoes integrated HTML, but
uses smarty template (TODO: Remove the almost)
The necessary smarty-templates reside in 2k11/admin/
Every theme can generate its own backend if it integrates those
templates under admin/ itself
* 2k11 is set as the new default backend, replacing bulletproof.
default remains the fallback so far.
* A number of functions had some arguments removed:
* function serendipity_displayImageList:
From
function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = false, $url = NULL, $show_upload = false, $limit_path = NULL, $smarty_display = true)
to
function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = false, $url = NULL, $show_upload = false, $limit_path = NULL)
* function serendipity_showMedia
From
function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $smarty_vars = array(), $smarty_display = true)
to
function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $smarty_vars = array())
* generate_plugins
From
static function generate_plugins($side, $tag = '', $negate = false, $class = null, $id = null, $tpl = 'sidebar.tpl')
to
static function generate_plugins($side, $negate = false, $class = null, $id = null, $tpl = 'sidebar.tpl')
* serendipity_showMedia now no longer returns the used template and
echoes the generated HTML, but only returns the generated HTML
* Themes now have their own configuration page,
?serendipity[adminModule]=templates&serendipity[adminAction]=editConfiguration
* jQuery in the backend no longer runs in noConflict-mode. Use
$(...) instead of jQuery(...)
* The entryproperty-plugin will now always delete its cache on
uninstall, not only if the cache is activated then
* serendipity_is_iframe now really only checks for iframe and
doesn't also echo it
* Added option simpleFilters (meant to indicate to show less
filters and poweruser-options)
* serendipity_admin_image_selector.php no longer used by 2k11,
instead the media library (with admin/media_choose.tpl,
admin/media_upload.tpl, media_pane.tpl, media_items.tpl)
can generat the imageselector on its own. The editor calls
serendipity_admin.php?serendipity[adminModule]=media instead,
with serendipity[textarea] indicating the target, and
serendipity[showMediaToolbar] activating the imageSelector modus
* New required PHP-Version: 5.3 or higher (checked in the installer)
Version 1.7.8 (February 9th, 2014)
------------------------------------------------------------------------
@ -49,7 +174,8 @@ Version 1.7.5 (January 18th, 2014)
* Fixed textile PHP 5.2 (namespace) compat issue
* Added default value to spamblocks required_fields option [name,comment]
* Added default value to spamblocks required_fields option [name,
comment]
Version 1.7.4 (January 11th, 2014)

View File

@ -1,98 +0,0 @@
* the wysiwyg-spawn-api is partly removed (from 2k11/admin/wysiwyg_init.tpl) (TODO: Replace or fix)
* All Javascript-functions like SetCookie now reside in a serendipity-object, simulating a namespace.
SetCookie(...)
became
serendipity.SetCookie(...)
* Renamed JS-Function:
toggleCategorySelector became toggle_category_selector
* The advanced js option (eyecandy) got removed, as such a thing like advanced js doesn't exist anymore
* dashboard_plugin has an equivalent in the core, replacing the frontpage
* Constants like S9Y_FRAMEWORK_COMPAT are no longer set (include_once is used instead)
* New additional option to render smarty-functions: serendipity_smarty_show($template, $data)
* A number of functions now returns their result instead of echoing them (TODO: a bunch of image- and
trackback-functions still use echo for messages"):
serendipity_plugin_config
serendipity_printEntryForm
serendipity_printEntries
function serendipity_showMedia
serendipity_showPropertyForm
showMediaLibrary
serendipity_guessInput
memSnap
serendipity_displayTopUrlList
serendipity_displayTopExits
serendipity_displayTopReferrers
serendipity_printConfigTemplate
show_plugins
* Functions removed from the core:
serendipity_printConfigJS
* Functions added to the core:
serendipity_generateImageSelectorParams
* All internal plugins got extracted from plugin_internal.inc.php and moved to plugins/.
They are renamed to work there (upgrader task provides migration):
serendipity_calendar_plugin became serendipity_plugin_calendar
serendipity_quicksearch_plugin became serendipity_plugin_quicksearch
serendipity_archives_plugin became serendipity_plugin_archives
serendipity_categories_plugin became serendipity_plugin_categories
serendipity_syndication_plugin became serendipity_plugin_syndication
serendipity_superuser_plugin became serendipity_plugin_superuser
serendipity_plug_plugin became serendipity_plugin_plug
* Add plugin hook "js", generating a virtual serendipity.js
* Admin JS is now bundled in serendipity_editor.js.tpl and rendered using smarty in the template config
* Admin JS got rewritten using jQuery where applicable
* serendipity_define.js.php removed
* Removed support for layout.php
* The whole PHP-Code now almost never echoes integrated HTML, but uses smarty template (TODO: Remove the almost)
The necessary smarty-templates reside in 2k11/admin/
Every design can generate its own backend if it integrates those templates under admin/ itself
* 2k11 is set as the new default backend, replacing bulletproof. default remains the fallback so far.
* A number of functions had some arguments removed:
* function serendipity_displayImageList:
From
function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = false, $url = NULL, $show_upload = false, $limit_path = NULL, $smarty_display = true)
to
function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = false, $url = NULL, $show_upload = false, $limit_path = NULL)
* function serendipity_showMedia
From
function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $smarty_vars = array(), $smarty_display = true)
to
function serendipity_showMedia(&$file, &$paths, $url = '', $manage = false, $lineBreak = 3, $enclose = true, $smarty_vars = array())
* generate_plugins
From
static function generate_plugins($side, $tag = '', $negate = false, $class = null, $id = null, $tpl = 'sidebar.tpl')
to
static function generate_plugins($side, $negate = false, $class = null, $id = null, $tpl = 'sidebar.tpl')
* serendipity_showMedia now no longer returns the used template and echoes the generated HTML, but only returns the generated HTML
* Designs now have their own configuration page, ?serendipity[adminModule]=templates&serendipity[adminAction]=editConfiguration
* jQuery in the backend no longer runs in noConflict-mode. Use $(...) instead of jQuery(...)
* The entryproperty-plugin will now always delete its cache on uninstall, not only if the cache is activated then
* serendipity_is_iframe now really only checks for iframe and doesn't also echo it
* Added option simpleFilters (meant to indicate to show less filters and poweruser-options)
* serendipity_admin_image_selector.php no longer used by 2k11, instead the media library (with admin/media_choose.tpl, admin/media_upload.tpl, media_pane.tpl, media_items.tpl)
can generat the imageselector on its own. The editor calls serendipity_admin.php?serendipity[adminModule]=media instead, with serendipity[textarea] indicating the target, and
serendipity[showMediaToolbar] activating the imageSelector modus

View File

@ -118,7 +118,7 @@ if ( (int)$serendipity['GET']['step'] == 0 ) {
$data['php_uname'] = php_uname('s') .' '. php_uname('r') .', '. php_uname('m');
$data['php_sapi_name'] = php_sapi_name();
if ( version_compare(phpversion(), '5.2.6', '>=') ) {
if ( version_compare(phpversion(), '5.3', '>=') ) {
$data['installerResultDiagnose_VERSION'] = serendipity_installerResultDiagnose(S9Y_I_SUCCESS, YES .', '. phpversion());
} else {
$data['installerResultDiagnose_VERSION'] = serendipity_installerResultDiagnose(S9Y_I_ERROR, NO);

View File

@ -289,6 +289,7 @@ function serendipity_killPlugin($name) {
* @return
*/
function serendipity_removeDeadFiles_SPL($dir=null, $deadfiles=null, $purgedir=null, $list_only=false) {
if (!is_dir($dir)) return;
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST);
$search = array("\\", '//');
$replace = array('/');

View File

@ -45,7 +45,7 @@ if (defined('USE_MEMSNAP')) {
}
// The version string
$serendipity['version'] = '2.0-alpha4';
$serendipity['version'] = '2.0-beta1';
// Setting this to 'false' will enable debugging output. All alpha/beta/cvs snapshot versions will emit debug information by default. To increase the debug level (to enable Smarty debugging), set this flag to 'debug'.
if (!isset($serendipity['production'])) {

View File

@ -20,14 +20,14 @@
{if NOT $entry_vars.wysiwyg}
<div id="tools_entry" class="editor_toolbar">
{if $iso2br}
<button class="wrap_selection" type="button" name="insX" data-tag="nl" data-tarea="body">NoBR</button>
<button class="wrap_selection" type="button" name="insX" data-tag="nl" data-tarea="serendipity[body]">NoBR</button>
{/if}
<button class="hilite_i wrap_selection" type="button" name="insI" data-tag="em" data-tarea="body">I</button>
<button class="hilite_b wrap_selection" type="button" name="insB" data-tag="strong" data-tarea="body">B</button>
<button class="wrap_selection" type="button" name="insQ" data-tag="blockquote" data-tarea="body">{$CONST.QUOTE}</button>
<button class="wrap_insimg" type="button" name="insJ" data-tarea="body">img</button>
<button class="wrap_insmedia" type="button" name="insImage" data-tarea="body">{$CONST.MEDIA}</button>
<button class="wrap_insurl" type="button" name="insURL" data-tarea="body">URL</button>
<button class="hilite_i wrap_selection" type="button" name="insI" data-tag="em" data-tarea="serendipity[body]">I</button>
<button class="hilite_b wrap_selection" type="button" name="insB" data-tag="strong" data-tarea="serendipity[body]">B</button>
<button class="wrap_selection" type="button" name="insQ" data-tag="blockquote" data-tarea="serendipity[body]">{$CONST.QUOTE}</button>
<button class="wrap_insimg" type="button" name="insJ" data-tarea="serendipity[body]">img</button>
<button class="wrap_insmedia" type="button" name="insImage" data-tarea="serendipity[body]">{$CONST.MEDIA}</button>
<button class="wrap_insurl" type="button" name="insURL" data-tarea="serendipity[body]">URL</button>
{serendipity_hookPlugin hook="backend_entry_toolbar_body" data=$entry_data.entry hookAll="true"}
</div>
{/if}
@ -52,14 +52,14 @@
{if NOT $entry_vars.wysiwyg}
<div id="tools_extended" class="editor_toolbar">
{if $iso2br}
<button class="wrap_selection" type="button" name="insX" data-tag="nl" data-tarea="extended">NoBR</button>
<button class="wrap_selection" type="button" name="insX" data-tag="nl" data-tarea="serendipity[extended]">NoBR</button>
{/if}
<button class="hilite_i wrap_selection" type="button" name="insI" data-tag="em" data-tarea="extended">I</button>
<button class="hilite_b wrap_selection" type="button" name="insB" data-tag="strong" data-tarea="extended">B</button>
<button class="wrap_selection" type="button" name="insQ" data-tag="blockquote" data-tarea="extended">{$CONST.QUOTE}</button>
<button class="wrap_insimg" type="button" name="insJ" data-tarea="extended">img</button>
<button class="wrap_insmedia" type="button" name="insImage" data-tarea="extended">{$CONST.MEDIA}</button>
<button class="wrap_insurl" type="button" name="insURL" data-tarea="extended">URL</button>
<button class="hilite_i wrap_selection" type="button" name="insI" data-tag="em" data-tarea="serendipity[extended]">I</button>
<button class="hilite_b wrap_selection" type="button" name="insB" data-tag="strong" data-tarea="serendipity[extended]">B</button>
<button class="wrap_selection" type="button" name="insQ" data-tag="blockquote" data-tarea="serendipity[extended]">{$CONST.QUOTE}</button>
<button class="wrap_insimg" type="button" name="insJ" data-tarea="serendipity[extended]">img</button>
<button class="wrap_insmedia" type="button" name="insImage" data-tarea="serendipity[extended]">{$CONST.MEDIA}</button>
<button class="wrap_insurl" type="button" name="insURL" data-tarea="serendipity[extended]">URL</button>
{serendipity_hookPlugin hook="backend_entry_toolbar_extended" data=$entry_data.entry hookAll="true"}
</div>
{/if}

View File

@ -67,7 +67,7 @@
<td><span class="msg_hint">{$php_sapi_name}</span></td>
</tr>
<tr>
<td>PHP version >= 5.2.6</td>
<td>PHP version >= 5.3</td>
<td>{$installerResultDiagnose_VERSION}</td>
</tr>
<tr>

View File

@ -246,7 +246,7 @@
// which works fine in NO WYSIWYG mode
// NOTE: the serendipity_imageSelector_addToBody could add any valid HTML string to the textarea
serendipity.noWysiwygAdd = function(str, textarea) {
serendipity.wrapSelection($('textarea[name="serendipity['+textarea+']"]'), str, '');
serendipity.wrapSelection($('#'+serendipity.escapeBrackets(textarea)), str, '');
}
// Inserting media db img markup including s9y-specific container markup
@ -469,13 +469,12 @@
}
// Rename file in media db
var media_rename = '{$CONST.ENTER_NEW_NAME}';
var media_token_url = '{$token_url}';
serendipity.rename = function(id, fname) {
var newname;
var media_rename = '{$CONST.ENTER_NEW_NAME}';
var media_token_url = $('input[name*="serendipity[token]"]').val();
if (newname = prompt(media_rename + fname, fname)) {
location.href='?serendipity[adminModule]=images&serendipity[adminAction]=rename&serendipity[fid]='+ escape(id) + '&serendipity[newname]='+ escape(newname) +'&'+ media_token_url;
location.href='?serendipity[adminModule]=images&serendipity[adminAction]=rename&serendipity[fid]='+ escape(id) + '&serendipity[newname]='+ escape(newname) +'&serendipity[token]='+ media_token_url;
}
}
@ -907,19 +906,20 @@ $(function() {
$('.wrap_selection').click(function() {
var $el = $(this);
var $tag = $el.attr('data-tag');
var target = document.forms['serendipityEntry']['serendipity[' + $el.attr('data-tarea') + ']'];
//var target = document.forms['serendipityEntry']['serendipity[' + $el.attr('data-tarea') + ']'];
var target = $('#'+serendipity.escapeBrackets($el.attr('data-tarea')));
var open = '<' + $tag + '>';
var close = '</' + $tag + '>';
serendipity.wrapSelection(target, open, close);
});
$('.wrap_insimg').click(function() {
var target = document.forms['serendipityEntry']['serendipity[' + $(this).attr('data-tarea') + ']'];
var target = $('#'+serendipity.escapeBrackets($(this).attr('data-tarea')));
serendipity.wrapInsImage(target);
});
$('.wrap_insurl').click(function() {
var target = document.forms['serendipityEntry']['serendipity[' + $(this).attr('data-tarea') + ']'];
var target = $('#'+serendipity.escapeBrackets($(this).attr('data-tarea')));
serendipity.wrapSelectionWithLink(target);
});
@ -1348,4 +1348,3 @@ $(function() {
}
}
}

View File

@ -1316,11 +1316,12 @@ summary {
/* NAVIGATION */
.js #main_menu {
margin-left: -100%;
}
.js #content {
margin-right: 0;
position: absolute;
left: -22em;
width: 22em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.js #main_menu,
@ -1330,12 +1331,8 @@ summary {
.active_nav #main_menu {
box-shadow: 1px 1px 4px rgba(0,0,0,.5);
margin-left: 0;
width: 80%;
}
.active_nav #content {
margin-right: -100%;
left: 0;
z-index: 10;
}
#main_menu {
@ -2759,10 +2756,6 @@ img.mfp-img {
margin: 1.71429em 0;
}
#main_menu li > ul > li {
width: 33%;
}
#template_select article,
.plugins_installable > li,
#serendipityScaleForm,
@ -3077,7 +3070,9 @@ img.mfp-img {
}
.js #main_menu {
margin-left: 0;
position: static;
left: 0;
width: 23%;
}
#nav-toggle {
@ -3118,11 +3113,6 @@ img.mfp-img {
padding: 0 1em;
}
#main_menu li > ul > li {
float: none;
width: 100%;
}
#main_menu {
float: left;
margin: 0 2% 0 0;

View File

@ -232,7 +232,7 @@
tinyMCE.execInstanceCommand('serendipity[' + textarea + ']', 'mceInsertContent', false, str);
return;
} else if (typeof(CKEDITOR) != 'undefined') {
oEditor = CKEDITOR.instances[textarea];
oEditor = (typeof(isinstance) == 'undefined') ? CKEDITOR.instances[textarea] : isinstance;
if (oEditor.mode == "wysiwyg") {
oEditor.insertHtml(str);
return;
@ -246,7 +246,7 @@
// which works fine in NO WYSIWYG mode
// NOTE: the serendipity_imageSelector_addToBody could add any valid HTML string to the textarea
serendipity.noWysiwygAdd = function(str, textarea) {
serendipity.wrapSelection($('textarea[name="serendipity['+textarea+']"]'), str, '');
serendipity.wrapSelection($('#'+serendipity.escapeBrackets(textarea)), str, '');
}
// Inserting media db img markup including s9y-specific container markup
@ -357,10 +357,10 @@
// Toggle extended entry editor
serendipity.toggle_extended = function(setCookie) {
if ($('#toggle_extended').length == 0 && $('#tools_extended').length != 0) {
if ($('#toggle_extended').length == 0) {
// this function got called on load of the editor
var toggleButton = '#toggle_extended';
$('textarea[name="serendipity[extended]"]').parent().find('label').first().wrap('<button id="toggle_extended" class="icon_link" type="button"></button>');
$('#extended_entry_editor').parent().find('label').first().wrap('<button id="toggle_extended" class="icon_link" type="button"></button>');
$(toggleButton).prepend('<span class="icon-down-dir"></span> ');
$(toggleButton).click(function(e) {
e.preventDefault();
@ -372,19 +372,19 @@
}
}
if ($('textarea[name="serendipity[extended]"]:hidden').length > 0) {
$('textarea[name="serendipity[extended]"]').show(); // use name selector instead of id here; id does not work
if ($('#extended_entry_editor:hidden').length > 0) {
$('#extended_entry_editor').show(); // use name selector instead of id here; id does not work
$('#tools_extended').show();
$('#toggle_extended').find('> .icon-right-dir').removeClass('icon-right-dir').addClass('icon-down-dir');
localStorage.show_extended_editor = "true";
} else {
$('textarea[name="serendipity[extended]"]').hide();
$('#extended_entry_editor').hide();
$('#tools_extended').hide();
$('#toggle_extended').find('> .icon-down-dir').removeClass('icon-down-dir').addClass('icon-right-dir');
localStorage.show_extended_editor = "false";
}
if (setCookie) {
document.cookie = 'serendipity[toggle_extended]=' + (($('textarea[name="serendipity[extended]"]:hidden').length == 0) ? "true" : "") + ';';
document.cookie = 'serendipity[toggle_extended]=' + (($('#extended_entry_editor:hidden').length == 0) ? "true" : "") + ';';
}
}
@ -469,13 +469,12 @@
}
// Rename file in media db
var media_rename = 'Enter the new name for: ';
var media_token_url = 'serendipity[token]=f4ec59eb1d5aeab5bc62667586b8667b';
serendipity.rename = function(id, fname) {
var newname;
var media_rename = 'Enter the new name for: ';
var media_token_url = $('input[name*="serendipity[token]"]').val();
if (newname = prompt(media_rename + fname, fname)) {
location.href='?serendipity[adminModule]=images&serendipity[adminAction]=rename&serendipity[fid]='+ escape(id) + '&serendipity[newname]='+ escape(newname) +'&'+ media_token_url;
location.href='?serendipity[adminModule]=images&serendipity[adminAction]=rename&serendipity[fid]='+ escape(id) + '&serendipity[newname]='+ escape(newname) +'&serendipity[token]='+ media_token_url;
}
}
@ -816,7 +815,7 @@ var AccessifyHTML5 = function (defaults, more_fixes) {
}
}(document, jQuery));
(function($) {
$(function() {
// Fire responsive nav
if($('body').has('#main_menu').size() > 0) {
$('#nav-toggle').click(function(e) {
@ -897,19 +896,20 @@ var AccessifyHTML5 = function (defaults, more_fixes) {
$('.wrap_selection').click(function() {
var $el = $(this);
var $tag = $el.attr('data-tag');
var target = document.forms['serendipityEntry']['serendipity[' + $el.attr('data-tarea') + ']'];
//var target = document.forms['serendipityEntry']['serendipity[' + $el.attr('data-tarea') + ']'];
var target = $('#'+serendipity.escapeBrackets($el.attr('data-tarea')));
var open = '<' + $tag + '>';
var close = '</' + $tag + '>';
serendipity.wrapSelection(target, open, close);
});
$('.wrap_insimg').click(function() {
var target = document.forms['serendipityEntry']['serendipity[' + $(this).attr('data-tarea') + ']'];
var target = $('#'+serendipity.escapeBrackets($(this).attr('data-tarea')));
serendipity.wrapInsImage(target);
});
$('.wrap_insurl').click(function() {
var target = document.forms['serendipityEntry']['serendipity[' + $(this).attr('data-tarea') + ']'];
var target = $('#'+serendipity.escapeBrackets($(this).attr('data-tarea')));
serendipity.wrapSelectionWithLink(target);
});
@ -1277,23 +1277,29 @@ var AccessifyHTML5 = function (defaults, more_fixes) {
// Equal Heights
$(window).load(function() {
if($('body').has('.equal_heights').size() > 0) {
$('.equal_heights').syncHeight({
updateOnResize: true
});
if($('html').hasClass('lt-ie9')) {
$('.equal_heights').syncHeight({
updateOnResize: false
});
} else {
$('.equal_heights').syncHeight({
updateOnResize: true
});
}
}
});
})(jQuery);
});
// This is kept for older plugins. Use of $(document).ready() is encouraged.
// At some point, this will be removed.
addLoadEvent = function(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
addLoadEvent = function(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
}