From: <ma...@us...> - 2012-02-13 10:28:36
|
Revision: 8949 http://xoops.svn.sourceforge.net/xoops/?rev=8949&view=rev Author: mageg Date: 2012-02-13 10:28:25 +0000 (Mon, 13 Feb 2012) Log Message: ----------- Fixed bug ID: 3201929 Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/htdocs/install/sql/mysql.structure.sql XoopsCore/branches/2.5.x/2.5.5/upgrade/upd-2.5.4-to-2.5.5/index.php Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/install/sql/mysql.structure.sql =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/install/sql/mysql.structure.sql 2012-02-13 03:45:49 UTC (rev 8948) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/install/sql/mysql.structure.sql 2012-02-13 10:28:25 UTC (rev 8949) @@ -34,7 +34,7 @@ CREATE TABLE banner ( bid smallint(5) unsigned NOT NULL auto_increment, cid tinyint(3) unsigned NOT NULL default '0', - imptotal mediumint(8) unsigned NOT NULL default '0', + imptotal int(10) unsigned NOT NULL default '0', impmade mediumint(8) unsigned NOT NULL default '0', clicks mediumint(8) unsigned NOT NULL default '0', imageurl varchar(255) NOT NULL default '', Modified: XoopsCore/branches/2.5.x/2.5.5/upgrade/upd-2.5.4-to-2.5.5/index.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/upgrade/upd-2.5.4-to-2.5.5/index.php 2012-02-13 03:45:49 UTC (rev 8948) +++ XoopsCore/branches/2.5.x/2.5.5/upgrade/upd-2.5.4-to-2.5.5/index.php 2012-02-13 10:28:25 UTC (rev 8949) @@ -26,7 +26,7 @@ class upgrade_255 extends xoopsUpgrade { - var $tasks = array('keys'); + var $tasks = array('keys','imptotal'); /** @@ -85,6 +85,30 @@ } return true; } + + /** + * Check imptotal + * + * @return bool + */ + function check_imptotal() + { + return false; + } + + /** + * Apply imptotal + * + * @return bool + */ + function apply_imptotal() + { + $sql = "ALTER TABLE `" . $GLOBALS['xoopsDB']->prefix("banner") . "` CHANGE `imptotal` `imptotal` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'"; + if (!$result = $GLOBALS['xoopsDB']->queryF($sql)) { + return false; + } + return true; + } function upgrade_255() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-02-19 12:12:17
|
Revision: 9024 http://xoops.svn.sourceforge.net/xoops/?rev=9024&view=rev Author: beckmi Date: 2012-02-19 12:12:07 +0000 (Sun, 19 Feb 2012) Log Message: ----------- Updated TinyMCE to 3.4.8 Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/media/js/media.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/table/js/table.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/tiny_mce.js Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-02-19 12:12:07 UTC (rev 9024) @@ -1,7 +1,7 @@ XOOPS 2.5.x Changelog (Language changes: see: /docs/lang_diff.txt) =============================== -2011/11/21: Version 2.5.5 Beta +2011/02/19: Version 2.5.5 Beta =============================== Security fixes: - XSS (Cross Site Scripting) vulnerability in PM module and tinymce (High-Tech Bridge Security Research Lab/trabis) @@ -16,11 +16,21 @@ - /class/object.php deprecated message, should be /class/xoopsobject.php (mamba/trabis) - /class/module.php deprecated message, should be /class/xoopsmodule.php (mamba) - /class/user.php deprecated message, should be /class/xoopsuser.php (mamba) + - Fixed bug ID: 3443381 (mage) + - Fixed bug ID: 3201929 (mage) + - Fixed bug ID: 3432275 (mage) + - fixed bug (Incorrect value for setOrder() in modulesadmin/main.php - ID: 3461539) (mage) + - Fixed bug "When deleting client, it doesn't delete finished banners - ID: 3469896" (mage) + + + Improved: - Add key 'uid' on 'groups_users_link' table to allow joining 'users' table with better performance (trabis) + - Add Comments, Templates, and Uninstall links to Module's Admin (mamba) Updated: - - updated TinyMCE to 3.4.7 (mamba) + - updated TinyMCE to 3.4.8 (mamba) + - updated jQuery to 1.71 (mamba) =============================== 2011/11/20: Version 2.5.4 Final Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt 2012-02-19 12:12:07 UTC (rev 9024) @@ -1,3 +1,27 @@ +Version 3.4.8 (2012-02-02) + Fixed bug in IE where selected text ending with space cannot be formatted then formatted again to get original text. + Fixed bug in IE where images larger than editor area were being deselected when toolbar buttons are clicked. + Fixed bug where wrong text align buttons are active when multiple block elements are selected. + Fixed bug where selected link not showing in target field of link dialog in some selection cases. + Use settings for remove_trailing_br so this can be turned off instead of hard coding the value. + Fixed bug in IE where the media plugin displayed null text when some values aren't filled in. + Added API method 'onSetAttrib' that fires when the attribute value on a node changes. + Fix font size dropdown value not being updated when text already has a font size in the advanced template. + Fixed bug in IE where IE doesn't use ARIA attributes properly on options - causing labels to be read out 2 times. + Fixed bug where caret cannot be placed after table if table is at end of document in IE. + Fixed bug where adding range isn't always successful so we need to check range count otherwise an exception can occur. + Added spacebar onclick handler to toolbar buttons to ensure that the accessibility behaviour works correctly. + Fixed bug where a stranded bullet point would get created in WebKit. + Fixed bug where selecting text in a blockquote and pressing backspace toggles the style. + Fixed bug where pressing enter from a heading in IE, the resulting P tag below it shares the style property. + Fix white space in between spans from being deleted. + Fixed bug where scrollbars where visible in the character map dialog on Gecko. + Fixed issue with missing translation for one of the emoticons. + Fixed bug where dots in id:s where causing problems. Patch provided by Abhishek Dev. + Fixed bug where urls with an at sign in the path wouldn't be parsed correctly. Patch contributed by Jason Grout. + Fixed bug where Opera would remove the first character of a inline formatted word if you pressed backspace. + Fixed bugs with the autoresize plugin on various browsers and removed the need for the throbber. + Fixed performance issue where the contextmenu plugin would try to remove the menu even if it was removed. Patch contributed by mhu. Version 3.4.7 (2011-11-03) Modified the caret formatting behavior to word similar to common desktop wordprocessors like Word or Libre Office. Fixed bug in Webkit - Cursor positioning does not work vertically within a table cell with multiple lines of text. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js 2012-02-19 12:12:07 UTC (rev 9024) @@ -54,6 +54,13 @@ document.getElementById('popupurl').style.width = '180px'; elm = inst.dom.getParent(elm, "A"); + if (elm == null) { + var prospect = inst.dom.create("p", null, inst.selection.getContent()); + if (prospect.childNodes.length === 1) { + elm = prospect.firstChild; + } + } + if (elm != null && elm.nodeName == "A") action = "update"; @@ -503,7 +510,7 @@ var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); var html = ''; - html += '<select id="' + elm_id + '" name="' + elm_id + '" onf2ocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value='; + html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value='; html += 'this.options[this.selectedIndex].value;">'; html += '<option value="_self">' + tinyMCEPopup.getLang('advlink_dlg.target_same') + '</option>'; html += '<option value="_blank">' + tinyMCEPopup.getLang('advlink_dlg.target_blank') + ' (_blank)</option>'; Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js 2012-02-19 12:12:07 UTC (rev 9024) @@ -1 +1 @@ -(function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this,e=0;if(a.getParam("fullscreen_is_enabled")){return}function b(){var i=a.getDoc(),f=i.body,k=i.documentElement,h=tinymce.DOM,j=d.autoresize_min_height,g;g=tinymce.isIE?f.scrollHeight:i.body.offsetHeight;if(g>d.autoresize_min_height){j=g}if(d.autoresize_max_height&&g>d.autoresize_max_height){j=d.autoresize_max_height;a.getBody().style.overflowY="auto"}else{a.getBody().style.overflowY="hidden"}if(j!==e){h.setStyle(h.get(a.id+"_ifr"),"height",j+"px");e=j}if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight));d.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0));a.onInit.add(function(f){f.dom.setStyle(f.getBody(),"paddingBottom",f.getParam("autoresize_bottom_margin",50)+"px")});a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(g,f){g.setProgressState(true);d.throbbing=true;g.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(g,f){b();setTimeout(function(){b();g.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})(); \ No newline at end of file +(function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this,e=0;if(a.getParam("fullscreen_is_enabled")){return}function b(){var j,i=a.getDoc(),f=i.body,l=i.documentElement,h=tinymce.DOM,k=d.autoresize_min_height,g;g=tinymce.isIE?f.scrollHeight:(tinymce.isWebKit&&f.clientHeight==0?0:f.offsetHeight);if(g>d.autoresize_min_height){k=g}if(d.autoresize_max_height&&g>d.autoresize_max_height){k=d.autoresize_max_height;f.style.overflowY="auto";l.style.overflowY="auto"}else{f.style.overflowY="hidden";l.style.overflowY="hidden";f.scrollTop=0}if(k!==e){j=k-e;h.setStyle(h.get(a.id+"_ifr"),"height",k+"px");e=k;if(tinymce.isWebKit&&j<0){b()}}}d.editor=a;d.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight));d.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0));a.onInit.add(function(f){f.dom.setStyle(f.getBody(),"paddingBottom",f.getParam("autoresize_bottom_margin",50)+"px")});a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onLoad.add(b);a.onLoadContent.add(b)}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})(); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 2012-02-19 12:12:07 UTC (rev 9024) @@ -1 +1 @@ -(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(e){var h=this,f,d,i;h.editor=e;d=e.settings.contextmenu_never_use_native;h.onContextMenu=new tinymce.util.Dispatcher(this);f=e.onContextMenu.add(function(j,k){if((i!==0?i:k.ctrlKey)&&!d){return}a.cancel(k);if(k.target.nodeName=="IMG"){j.selection.select(k.target)}h._getMenu(j).showMenu(k.clientX||k.pageX,k.clientY||k.pageY);a.add(j.getDoc(),"click",function(l){g(j,l)});j.nodeChanged()});e.onRemove.add(function(){if(h._menu){h._menu.removeAll()}});function g(j,k){i=0;if(k&&k.button==2){i=k.ctrlKey;return}if(h._menu){h._menu.removeAll();h._menu.destroy();a.remove(j.getDoc(),"click",g)}}e.onMouseDown.add(g);e.onKeyDown.add(g);e.onKeyDown.add(function(j,k){if(k.shiftKey&&!k.ctrlKey&&!k.altKey&&k.keyCode===121){a.cancel(k);f(j,k)}})},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file +(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(e){var h=this,f,d,i;h.editor=e;d=e.settings.contextmenu_never_use_native;h.onContextMenu=new tinymce.util.Dispatcher(this);f=e.onContextMenu.add(function(j,k){if((i!==0?i:k.ctrlKey)&&!d){return}a.cancel(k);if(k.target.nodeName=="IMG"){j.selection.select(k.target)}h._getMenu(j).showMenu(k.clientX||k.pageX,k.clientY||k.pageY);a.add(j.getDoc(),"click",function(l){g(j,l)});j.nodeChanged()});e.onRemove.add(function(){if(h._menu){h._menu.removeAll()}});function g(j,k){i=0;if(k&&k.button==2){i=k.ctrlKey;return}if(h._menu){h._menu.removeAll();h._menu.destroy();a.remove(j.getDoc(),"click",g);h._menu=null}}e.onMouseDown.add(g);e.onKeyDown.add(g);e.onKeyDown.add(function(j,k){if(k.shiftKey&&!k.ctrlKey&&!k.altKey&&k.keyCode===121){a.cancel(k);f(j,k)}})},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm 2012-02-19 12:12:07 UTC (rev 9024) @@ -30,7 +30,7 @@ <td><a class="emoticon_link" role="button" title="{#emotions_dlg.surprised}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-surprised.gif','emotions_dlg.surprised');"><img src="img/smiley-surprised.gif" width="18" height="18" border="0" alt="{#emotions_dlg.surprised}. {#emotions_dlg.usage}" /></a></td> </tr> <tr> - <td><a class="emoticon_link" role="button" title="{#emotions_dlg.tongue-out}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-tongue-out.gif','emotions_dlg.tongue_out');"><img src="img/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{#emotions_dlg.tongue-out}. {#emotions_dlg.usage}" /></a></td> + <td><a class="emoticon_link" role="button" title="{#emotions_dlg.tongue_out}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-tongue-out.gif','emotions_dlg.tongue_out');"><img src="img/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{#emotions_dlg.tongue-out}. {#emotions_dlg.usage}" /></a></td> <td><a class="emoticon_link" role="button" title="{#emotions_dlg.undecided}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-undecided.gif','emotions_dlg.undecided');"><img src="img/smiley-undecided.gif" width="18" height="18" border="0" alt="{#emotions_dlg.undecided}. {#emotions_dlg.usage}" /></a></td> <td><a class="emoticon_link" role="button" title="{#emotions_dlg.wink}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-wink.gif','emotions_dlg.wink');"><img src="img/smiley-wink.gif" width="18" height="18" border="0" alt="{#emotions_dlg.wink}. {#emotions_dlg.usage}" /></a></td> <td><a class="emoticon_link" role="button" title="{#emotions_dlg.yell}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-yell.gif','emotions_dlg.yell');"><img src="img/smiley-yell.gif" width="18" height="18" border="0" alt="{#emotions_dlg.yell}. {#emotions_dlg.usage}" /></a></td> Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js 2012-02-19 12:12:07 UTC (rev 9024) @@ -1 +1 @@ -(function(){var e=tinymce.each,r=tinymce.dom.Event,g;function p(t,s){while(t&&(t.nodeType===8||(t.nodeType===3&&/^[ \t\n\r]*$/.test(t.nodeValue)))){t=s(t)}return t}function b(s){return p(s,function(t){return t.previousSibling})}function i(s){return p(s,function(t){return t.nextSibling})}function d(s,u,t){return s.dom.getParent(u,function(v){return tinymce.inArray(t,v)!==-1})}function n(s){return s&&(s.tagName==="OL"||s.tagName==="UL")}function c(u,v){var t,w,s;t=b(u.lastChild);while(n(t)){w=t;t=b(w.previousSibling)}if(w){s=v.create("li",{style:"list-style-type: none;"});v.split(u,w);v.insertAfter(s,w);s.appendChild(w);s.appendChild(w);u=s.previousSibling}return u}function m(t,s,u){t=a(t,s,u);return o(t,s,u)}function a(u,s,v){var t=b(u.previousSibling);if(t){return h(t,u,s?t:false,v)}else{return u}}function o(u,t,v){var s=i(u.nextSibling);if(s){return h(u,s,t?s:false,v)}else{return u}}function h(u,s,t,v){if(l(u,s,!!t,v)){return f(u,s,t)}else{if(u&&u.tagName==="LI"&&n(s)){u.appendChild(s)}}return s}function l(u,t,s,v){if(!u||!t){return false}else{if(u.tagName==="LI"&&t.tagName==="LI"){return t.style.listStyleType==="none"||j(t)}else{if(n(u)){return(u.tagName===t.tagName&&(s||u.style.listStyleType===t.style.listStyleType))||q(t)}else{return v&&u.tagName==="P"&&t.tagName==="P"}}}}function q(t){var s=i(t.firstChild),u=b(t.lastChild);return s&&u&&n(t)&&s===u&&(n(s)||s.style.listStyleType==="none"||j(s))}function j(u){var t=i(u.firstChild),s=b(u.lastChild);return t&&s&&t===s&&n(t)}function f(w,v,s){var u=b(w.lastChild),t=i(v.firstChild);if(w.tagName==="P"){w.appendChild(w.ownerDocument.createElement("br"))}while(v.firstChild){w.appendChild(v.firstChild)}if(s){w.style.listStyleType=s.style.listStyleType}v.parentNode.removeChild(v);h(u,t,false);return w}function k(t,u){var s;if(!u.is(t,"li,ol,ul")){s=u.getParent(t,"li");if(s){t=s}}return t}tinymce.create("tinymce.plugins.Lists",{init:function(y){var v="TABBING";var s="EMPTY";var I="ESCAPE";var z="PARAGRAPH";var M="UNKNOWN";var x=M;function E(T){return T.keyCode===tinymce.VK.TAB&&!(T.altKey||T.ctrlKey)&&(y.queryCommandState("InsertUnorderedList")||y.queryCommandState("InsertOrderedList"))}function D(){var T=y.selection.getRng();var U=T.startContainer;if(U.nodeType==3){return(T.endOffset==U.nodeValue.length)}else{if(U.nodeType==1){return T.endOffset==U.childNodes.length}}return false}function N(){var U=y.selection.getNode();var T=U.tagName==="P"&&U.parentNode.tagName==="LI"&&U.parentNode.lastChild===U;return y.selection.isCollapsed()&&T&&D()}function w(){var T=B();var V=T.parentNode.parentNode;var U=T.parentNode.lastChild===T;return U&&!t(V)&&O(T)}function t(T){if(n(T)){return T.parentNode&&T.parentNode.tagName==="LI"}else{return T.tagName==="LI"}}function F(){return y.selection.isCollapsed()&&O(B())}function B(){var T=y.selection.getStart();return((T.tagName=="BR"||T.tagName=="")&&T.parentNode.tagName=="LI")?T.parentNode:T}function O(T){var U=T.childNodes.length;if(T.tagName==="LI"){return U==0?true:U==1&&(T.firstChild.tagName==""||T.firstChild.tagName=="BR"||H(T))}return false}function H(T){var U=tinymce.grep(T.parentNode.childNodes,function(X){return X.tagName=="LI"});var V=T==U[U.length-1];var W=T.firstChild;return tinymce.isIE9&&V&&(W.nodeValue==String.fromCharCode(160)||W.nodeValue==String.fromCharCode(32))}function S(T){return T.keyCode===tinymce.VK.ENTER}function A(T){return S(T)&&!T.shiftKey}function L(T){if(E(T)){return v}else{if(A(T)&&w()){return I}else{if(A(T)&&F()){return s}else{if(A(T)&&N()){return z}else{return M}}}}}function C(T,U){if(x==v||x==s||tinymce.isGecko&&x==I){r.cancel(U)}}function J(V,X){if(x==z){var W=V.selection.getNode();var U=V.dom.create("li");var T=V.dom.getParent(W,"li");V.dom.insertAfter(U,T);if(tinyMCE.isIE8){U.appendChild(V.dom.create(" "));V.selection.setCursorLocation(U,1)}else{if(tinyMCE.isGecko){setTimeout(function(){var Y=V.getDoc().createTextNode("\uFEFF");U.appendChild(Y);V.selection.setCursorLocation(U,0)},0)}else{V.selection.setCursorLocation(U,0)}}r.cancel(X)}}function u(W,Y){var ab;if(!tinymce.isGecko){return}var U=W.selection.getStart();if(Y.keyCode!=tinymce.VK.BACKSPACE||U.tagName!=="IMG"){return}function V(af){var ag=af.firstChild;var ae=null;do{if(!ag){break}if(ag.tagName==="LI"){ae=ag}}while(ag=ag.nextSibling);return ae}function ad(af,ae){while(af.childNodes.length>0){ae.appendChild(af.childNodes[0])}}ab=U.parentNode.previousSibling;if(!ab){return}var Z;if(ab.tagName==="UL"||ab.tagName==="OL"){Z=ab}else{if(ab.previousSibling&&(ab.previousSibling.tagName==="UL"||ab.previousSibling.tagName==="OL")){Z=ab.previousSibling}else{return}}var ac=V(Z);var T=W.dom.createRng();T.setStart(ac,1);T.setEnd(ac,1);W.selection.setRng(T);W.selection.collapse(true);var X=W.selection.getBookmark();var aa=U.parentNode.cloneNode(true);if(aa.tagName==="P"||aa.tagName==="DIV"){ad(aa,ac)}else{ac.appendChild(aa)}U.parentNode.parentNode.removeChild(U.parentNode);W.selection.moveToBookmark(X)}function G(T){var U=y.dom.getParent(T,"ol,ul");if(U!=null){var V=U.lastChild;V.appendChild(y.getDoc().createElement(""));y.selection.setCursorLocation(V,0)}}this.ed=y;y.addCommand("Indent",this.indent,this);y.addCommand("Outdent",this.outdent,this);y.addCommand("InsertUnorderedList",function(){this.applyList("UL","OL")},this);y.addCommand("InsertOrderedList",function(){this.applyList("OL","UL")},this);y.onInit.add(function(){y.editorCommands.addCommands({outdent:function(){var U=y.selection,V=y.dom;function T(W){W=V.getParent(W,V.isBlock);return W&&(parseInt(y.dom.getStyle(W,"margin-left")||0,10)+parseInt(y.dom.getStyle(W,"padding-left")||0,10))>0}return T(U.getStart())||T(U.getEnd())||y.queryCommandState("InsertOrderedList")||y.queryCommandState("InsertUnorderedList")}},"state")});y.onKeyUp.add(function(U,V){if(x==v){U.execCommand(V.shiftKey?"Outdent":"Indent",true,null);x=M;return r.cancel(V)}else{if(x==s){var T=B();var X=U.settings.list_outdent_on_enter===true||V.shiftKey;U.execCommand(X?"Outdent":"Indent",true,null);if(tinymce.isIE){G(T)}return r.cancel(V)}else{if(x==I){if(tinymce.isIE8){var W=U.getDoc().createTextNode("\uFEFF");U.selection.getNode().appendChild(W)}else{if(tinymce.isIE9||tinymce.isGecko){U.execCommand("Outdent");return r.cancel(V)}}}}}});function K(U,T){var V=y.getDoc().createTextNode("\uFEFF");U.insertBefore(V,T);y.selection.setCursorLocation(V,0);y.execCommand("mceRepaint")}function Q(U,W){if(S(W)){var T=B();if(T){var V=T.parentNode;var X=V&&V.parentNode;if(X&&X.nodeName=="LI"&&X.firstChild==V&&T==V.firstChild){K(X,V)}}}}function R(U,W){if(S(W)){var T=B();if(U.dom.select("ul li",T).length===1){var V=T.firstChild;K(T,V)}}}function P(U,Y){function V(ac,Z){var ab=[];var ad=new tinymce.dom.TreeWalker(Z,ac);for(var aa=ad.current();aa;aa=ad.next()){if(U.dom.is(aa,"ol,ul,li")){ab.push(aa)}}return ab}if(Y.keyCode==tinymce.VK.BACKSPACE){var T=B();if(T){var X=U.dom.getParent(T,"ol,ul");if(X&&X.firstChild===T){var W=V(X,T);U.execCommand("Outdent",false,W);U.undoManager.add();return r.cancel(Y)}}}}y.onKeyDown.add(function(T,U){x=L(U)});y.onKeyDown.add(C);y.onKeyDown.add(u);y.onKeyDown.add(J);if(tinymce.isGecko){y.onKeyUp.add(Q)}if(tinymce.isIE8){y.onKeyUp.add(R)}if(tinymce.isGecko||tinymce.isWebKit){y.onKeyDown.add(P)}},applyList:function(y,v){var C=this,z=C.ed,I=z.dom,s=[],H=false,u=false,w=false,B,G=z.selection.getSelectedBlocks();function E(t){if(t&&t.tagName==="BR"){I.remove(t)}}function F(M){var N=I.create(y),t;function L(O){if(O.style.marginLeft||O.style.paddingLeft){C.adjustPaddingFunction(false)(O)}}if(M.tagName==="LI"){}else{if(M.tagName==="P"||M.tagName==="DIV"||M.tagName==="BODY"){K(M,function(P,O){J(P,O,M.tagName==="BODY"?null:P.parentNode);t=P.parentNode;L(t);E(O)});if(t){if(t.tagName==="LI"&&(M.tagName==="P"||G.length>1)){I.split(t.parentNode.parentNode,t.parentNode)}m(t.parentNode,true)}return}else{t=I.create("li");I.insertAfter(t,M);t.appendChild(M);L(M);M=t}}I.insertAfter(N,M);N.appendChild(M);m(N,true);s.push(M)}function J(P,L,N){var t,O=P,M;while(!I.isBlock(P.parentNode)&&P.parentNode!==I.getRoot()){P=I.split(P.parentNode,P.previousSibling);P=P.nextSibling;O=P}if(N){t=N.cloneNode(true);P.parentNode.insertBefore(t,P);while(t.firstChild){I.remove(t.firstChild)}t=I.rename(t,"li")}else{t=I.create("li");P.parentNode.insertBefore(t,P)}while(O&&O!=L){M=O.nextSibling;t.appendChild(O);O=M}if(t.childNodes.length===0){t.innerHTML='<br _mce_bogus="1" />'}F(t)}function K(Q,T){var N,R,O=3,L=1,t="br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl";function P(X,U){var V=I.createRng(),W;g.keep=true;z.selection.moveToBookmark(g);g.keep=false;W=z.selection.getRng(true);if(!U){U=X.parentNode.lastChild}V.setStartBefore(X);V.setEndAfter(U);return !(V.compareBoundaryPoints(O,W)>0||V.compareBoundaryPoints(L,W)<=0)}function S(U){if(U.nextSibling){return U.nextSibling}if(!I.isBlock(U.parentNode)&&U.parentNode!==I.getRoot()){return S(U.parentNode)}}N=Q.firstChild;var M=false;e(I.select(t,Q),function(U){if(U.hasAttribute&&U.hasAttribute("_mce_bogus")){return true}if(P(N,U)){I.addClass(U,"_mce_tagged_br");N=S(U)}});M=(N&&P(N,undefined));N=Q.firstChild;e(I.select(t,Q),function(V){var U=S(V);if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(I.hasClass(V,"_mce_tagged_br")){T(N,V,R);R=null}else{R=V}N=U});if(M){T(N,undefined,R)}}function D(t){K(t,function(M,L,N){J(M,L);E(L);E(N)})}function A(t){if(tinymce.inArray(s,t)!==-1){return}if(t.parentNode.tagName===v){I.split(t.parentNode,t);F(t);o(t.parentNode,false)}s.push(t)}function x(M){var O,N,L,t;if(tinymce.inArray(s,M)!==-1){return}M=c(M,I);while(I.is(M.parentNode,"ol,ul,li")){I.split(M.parentNode,M)}s.push(M);M=I.rename(M,"p");L=m(M,false,z.settings.force_br_newlines);if(L===M){O=M.firstChild;while(O){if(I.isBlock(O)){O=I.split(O.parentNode,O);t=true;N=O.nextSibling&&O.nextSibling.firstChild}else{N=O.nextSibling;if(t&&O.tagName==="BR"){I.remove(O)}t=false}O=N}}}e(G,function(t){t=k(t,I);if(t.tagName===v||(t.tagName==="LI"&&t.parentNode.tagName===v)){u=true}else{if(t.tagName===y||(t.tagName==="LI"&&t.parentNode.tagName===y)){H=true}else{w=true}}});if(w&&!H||u||G.length===0){B={LI:A,H1:F,H2:F,H3:F,H4:F,H5:F,H6:F,P:F,BODY:F,DIV:G.length>1?F:D,defaultAction:D,elements:this.selectedBlocks()}}else{B={defaultAction:x,elements:this.selectedBlocks()}}this.process(B)},indent:function(){var u=this.ed,w=u.dom,x=[];function s(z){var y=w.create("li",{style:"list-style-type: none;"});w.insertAfter(y,z);return y}function t(B){var y=s(B),D=w.getParent(B,"ol,ul"),C=D.tagName,E=w.getStyle(D,"list-style-type"),A={},z;if(E!==""){A.style="list-style-type: "+E+";"}z=w.create(C,A);y.appendChild(z);return z}function v(z){if(!d(u,z,x)){z=c(z,w);var y=t(z);y.appendChild(z);m(y.parentNode,false);m(y,false);x.push(z)}}this.process({LI:v,defaultAction:this.adjustPaddingFunction(true),elements:this.selectedBlocks()})},outdent:function(y,x){var w=this,u=w.ed,z=u.dom,s=[];function A(t){var C,B,D;if(!d(u,t,s)){if(z.getStyle(t,"margin-left")!==""||z.getStyle(t,"padding-left")!==""){return w.adjustPaddingFunction(false)(t)}D=z.getStyle(t,"text-align",true);if(D==="center"||D==="right"){z.setStyle(t,"text-align","left");return}t=c(t,z);C=t.parentNode;B=t.parentNode.parentNode;if(B.tagName==="P"){z.split(B,t.parentNode)}else{z.split(C,t);if(B.tagName==="LI"){z.split(B,t)}else{if(!z.is(B,"ol,ul")){z.rename(t,"p")}}}s.push(t)}}var v=x&&tinymce.is(x,"array")?x:this.selectedBlocks();this.process({LI:A,defaultAction:this.adjustPaddingFunction(false),elements:v});e(s,m)},process:function(y){var F=this,w=F.ed.selection,z=F.ed.dom,E,u;function B(t){var s=tinymce.grep(t.childNodes,function(H){return !(H.nodeName==="BR"||H.nodeName==="SPAN"&&z.getAttrib(H,"data-mce-type")=="bookmark"||H.nodeType==3&&(H.nodeValue==String.fromCharCode(160)||H.nodeValue==""))});return s.length===0}function x(s){z.removeClass(s,"_mce_act_on");if(!s||s.nodeType!==1||E.length>1&&B(s)){return}s=k(s,z);var t=y[s.tagName];if(!t){t=y.defaultAction}t(s)}function v(s){F.splitSafeEach(s.childNodes,x)}function C(s,t){return t>=0&&s.hasChildNodes()&&t<s.childNodes.length&&s.childNodes[t].tagName==="BR"}function D(){var t=w.getNode();var s=z.getParent(t,"td");return s!==null}E=y.elements;u=w.getRng(true);if(!u.collapsed){if(C(u.endContainer,u.endOffset-1)){u.setEnd(u.endContainer,u.endOffset-1);w.setRng(u)}if(C(u.startContainer,u.startOffset)){u.setStart(u.startContainer,u.startOffset+1);w.setRng(u)}}if(tinymce.isIE8){var G=F.ed.selection.getNode();if(G.tagName==="LI"&&!(G.parentNode.lastChild===G)){var A=F.ed.getDoc().createTextNode("\uFEFF");G.appendChild(A)}}g=w.getBookmark();y.OL=y.UL=v;F.splitSafeEach(E,x);w.moveToBookmark(g);g=null;if(!D()){F.ed.execCommand("mceRepaint")}},splitSafeEach:function(t,s){if(tinymce.isGecko&&(/Firefox\/[12]\.[0-9]/.test(navigator.userAgent)||/Firefox\/3\.[0-4]/.test(navigator.userAgent))){this.classBasedEach(t,s)}else{e(t,s)}},classBasedEach:function(v,u){var w=this.ed.dom,s,t;e(v,function(x){w.addClass(x,"_mce_act_on")});s=w.select("._mce_act_on");while(s.length>0){t=s.shift();w.removeClass(t,"_mce_act_on");u(t);s=w.select("._mce_act_on")}},adjustPaddingFunction:function(u){var s,v,t=this.ed;s=t.settings.indentation;v=/[a-z%]+/i.exec(s);s=parseInt(s,10);return function(w){var y,x;y=parseInt(t.dom.getStyle(w,"margin-left")||0,10)+parseInt(t.dom.getStyle(w,"padding-left")||0,10);if(u){x=y+s}else{x=y-s}t.dom.setStyle(w,"padding-left","");t.dom.setStyle(w,"margin-left",x>0?x+v:"")}},selectedBlocks:function(){var s=this.ed;var t=s.selection.getSelectedBlocks();return t.length==0?[s.dom.getRoot()]:t},getInfo:function(){return{longname:"Lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("lists",tinymce.plugins.Lists)}()); \ No newline at end of file +(function(){var e=tinymce.each,r=tinymce.dom.Event,g;function p(t,s){while(t&&(t.nodeType===8||(t.nodeType===3&&/^[ \t\n\r]*$/.test(t.nodeValue)))){t=s(t)}return t}function b(s){return p(s,function(t){return t.previousSibling})}function i(s){return p(s,function(t){return t.nextSibling})}function d(s,u,t){return s.dom.getParent(u,function(v){return tinymce.inArray(t,v)!==-1})}function n(s){return s&&(s.tagName==="OL"||s.tagName==="UL")}function c(u,v){var t,w,s;t=b(u.lastChild);while(n(t)){w=t;t=b(w.previousSibling)}if(w){s=v.create("li",{style:"list-style-type: none;"});v.split(u,w);v.insertAfter(s,w);s.appendChild(w);s.appendChild(w);u=s.previousSibling}return u}function m(t,s,u){t=a(t,s,u);return o(t,s,u)}function a(u,s,v){var t=b(u.previousSibling);if(t){return h(t,u,s?t:false,v)}else{return u}}function o(u,t,v){var s=i(u.nextSibling);if(s){return h(u,s,t?s:false,v)}else{return u}}function h(u,s,t,v){if(l(u,s,!!t,v)){return f(u,s,t)}else{if(u&&u.tagName==="LI"&&n(s)){u.appendChild(s)}}return s}function l(u,t,s,v){if(!u||!t){return false}else{if(u.tagName==="LI"&&t.tagName==="LI"){return t.style.listStyleType==="none"||j(t)}else{if(n(u)){return(u.tagName===t.tagName&&(s||u.style.listStyleType===t.style.listStyleType))||q(t)}else{return v&&u.tagName==="P"&&t.tagName==="P"}}}}function q(t){var s=i(t.firstChild),u=b(t.lastChild);return s&&u&&n(t)&&s===u&&(n(s)||s.style.listStyleType==="none"||j(s))}function j(u){var t=i(u.firstChild),s=b(u.lastChild);return t&&s&&t===s&&n(t)}function f(w,v,s){var u=b(w.lastChild),t=i(v.firstChild);if(w.tagName==="P"){w.appendChild(w.ownerDocument.createElement("br"))}while(v.firstChild){w.appendChild(v.firstChild)}if(s){w.style.listStyleType=s.style.listStyleType}v.parentNode.removeChild(v);h(u,t,false);return w}function k(t,u){var s;if(!u.is(t,"li,ol,ul")){s=u.getParent(t,"li");if(s){t=s}}return t}tinymce.create("tinymce.plugins.Lists",{init:function(y){var v="TABBING";var s="EMPTY";var I="ESCAPE";var z="PARAGRAPH";var M="UNKNOWN";var x=M;function E(U){return U.keyCode===tinymce.VK.TAB&&!(U.altKey||U.ctrlKey)&&(y.queryCommandState("InsertUnorderedList")||y.queryCommandState("InsertOrderedList"))}function D(){var U=y.selection.getRng();var V=U.startContainer;if(V.nodeType==3){return(U.endOffset==V.nodeValue.length)}else{if(V.nodeType==1){return U.endOffset==V.childNodes.length}}return false}function N(){var V=y.selection.getNode();var U=V.tagName==="P"&&V.parentNode.tagName==="LI"&&V.parentNode.lastChild===V;return y.selection.isCollapsed()&&U&&D()}function w(){var U=B();var W=U.parentNode.parentNode;var V=U.parentNode.lastChild===U;return V&&!t(W)&&P(U)}function t(U){if(n(U)){return U.parentNode&&U.parentNode.tagName==="LI"}else{return U.tagName==="LI"}}function F(){return y.selection.isCollapsed()&&P(B())}function B(){var U=y.selection.getStart();return((U.tagName=="BR"||U.tagName=="")&&U.parentNode.tagName=="LI")?U.parentNode:U}function P(U){var V=U.childNodes.length;if(U.tagName==="LI"){return V==0?true:V==1&&(U.firstChild.tagName==""||U.firstChild.tagName=="BR"||H(U))}return false}function H(U){var V=tinymce.grep(U.parentNode.childNodes,function(Y){return Y.tagName=="LI"});var W=U==V[V.length-1];var X=U.firstChild;return tinymce.isIE9&&W&&(X.nodeValue==String.fromCharCode(160)||X.nodeValue==String.fromCharCode(32))}function T(U){return U.keyCode===tinymce.VK.ENTER}function A(U){return T(U)&&!U.shiftKey}function L(U){if(E(U)){return v}else{if(A(U)&&w()){return I}else{if(A(U)&&F()){return s}else{if(A(U)&&N()){return z}else{return M}}}}}function C(U,V){if(x==v||x==s||tinymce.isGecko&&x==I){r.cancel(V)}}function J(W,Y){if(x==z){var X=W.selection.getNode();var V=W.dom.create("li");var U=W.dom.getParent(X,"li");W.dom.insertAfter(V,U);if(tinyMCE.isIE8){V.appendChild(W.dom.create(" "));W.selection.setCursorLocation(V,1)}else{if(tinyMCE.isGecko){setTimeout(function(){var Z=W.getDoc().createTextNode("\uFEFF");V.appendChild(Z);W.selection.setCursorLocation(V,0)},0)}else{W.selection.setCursorLocation(V,0)}}r.cancel(Y)}}function u(X,Z){var ac;if(!tinymce.isGecko){return}var V=X.selection.getStart();if(Z.keyCode!=tinymce.VK.BACKSPACE||V.tagName!=="IMG"){return}function W(ag){var ah=ag.firstChild;var af=null;do{if(!ah){break}if(ah.tagName==="LI"){af=ah}}while(ah=ah.nextSibling);return af}function ae(ag,af){while(ag.childNodes.length>0){af.appendChild(ag.childNodes[0])}}ac=V.parentNode.previousSibling;if(!ac){return}var aa;if(ac.tagName==="UL"||ac.tagName==="OL"){aa=ac}else{if(ac.previousSibling&&(ac.previousSibling.tagName==="UL"||ac.previousSibling.tagName==="OL")){aa=ac.previousSibling}else{return}}var ad=W(aa);var U=X.dom.createRng();U.setStart(ad,1);U.setEnd(ad,1);X.selection.setRng(U);X.selection.collapse(true);var Y=X.selection.getBookmark();var ab=V.parentNode.cloneNode(true);if(ab.tagName==="P"||ab.tagName==="DIV"){ae(ab,ad)}else{ad.appendChild(ab)}V.parentNode.parentNode.removeChild(V.parentNode);X.selection.moveToBookmark(Y)}function G(U){var V=y.dom.getParent(U,"ol,ul");if(V!=null){var W=V.lastChild;W.appendChild(y.getDoc().createElement(""));y.selection.setCursorLocation(W,0)}}this.ed=y;y.addCommand("Indent",this.indent,this);y.addCommand("Outdent",this.outdent,this);y.addCommand("InsertUnorderedList",function(){this.applyList("UL","OL")},this);y.addCommand("InsertOrderedList",function(){this.applyList("OL","UL")},this);y.onInit.add(function(){y.editorCommands.addCommands({outdent:function(){var V=y.selection,W=y.dom;function U(X){X=W.getParent(X,W.isBlock);return X&&(parseInt(y.dom.getStyle(X,"margin-left")||0,10)+parseInt(y.dom.getStyle(X,"padding-left")||0,10))>0}return U(V.getStart())||U(V.getEnd())||y.queryCommandState("InsertOrderedList")||y.queryCommandState("InsertUnorderedList")}},"state")});y.onKeyUp.add(function(V,W){if(x==v){V.execCommand(W.shiftKey?"Outdent":"Indent",true,null);x=M;return r.cancel(W)}else{if(x==s){var U=B();var Y=V.settings.list_outdent_on_enter===true||W.shiftKey;V.execCommand(Y?"Outdent":"Indent",true,null);if(tinymce.isIE){G(U)}return r.cancel(W)}else{if(x==I){if(tinymce.isIE8){var X=V.getDoc().createTextNode("\uFEFF");V.selection.getNode().appendChild(X)}else{if(tinymce.isIE9||tinymce.isGecko){V.execCommand("Outdent");return r.cancel(W)}}}}}});function K(V,U){var W=y.getDoc().createTextNode("\uFEFF");V.insertBefore(W,U);y.selection.setCursorLocation(W,0);y.execCommand("mceRepaint")}function R(V,X){if(T(X)){var U=B();if(U){var W=U.parentNode;var Y=W&&W.parentNode;if(Y&&Y.nodeName=="LI"&&Y.firstChild==W&&U==W.firstChild){K(Y,W)}}}}function S(V,X){if(T(X)){var U=B();if(V.dom.select("ul li",U).length===1){var W=U.firstChild;K(U,W)}}}function Q(V,Z){function W(ad,aa){var ac=[];var ae=new tinymce.dom.TreeWalker(aa,ad);for(var ab=ae.current();ab;ab=ae.next()){if(V.dom.is(ab,"ol,ul,li")){ac.push(ab)}}return ac}if(Z.keyCode==tinymce.VK.BACKSPACE){var U=B();if(U){var Y=V.dom.getParent(U,"ol,ul");if(Y&&Y.firstChild===U){var X=W(Y,U);V.execCommand("Outdent",false,X);V.undoManager.add();return r.cancel(Z)}}}}function O(V,X){var U=B();if(X.keyCode===tinymce.VK.BACKSPACE&&V.dom.is(U,"li")&&U.parentNode.firstChild!==U){if(V.dom.select("ul,ol",U).length===1){var Z=U.previousSibling;V.dom.remove(V.dom.select("br",U));V.dom.remove(U,true);var W=tinymce.grep(Z.childNodes,function(aa){return aa.nodeType===3});if(W.length===1){var Y=W[0];V.selection.setCursorLocation(Y,Y.length)}V.undoManager.add();return r.cancel(X)}}}y.onKeyDown.add(function(U,V){x=L(V)});y.onKeyDown.add(C);y.onKeyDown.add(u);y.onKeyDown.add(J);if(tinymce.isGecko){y.onKeyUp.add(R)}if(tinymce.isIE8){y.onKeyUp.add(S)}if(tinymce.isGecko||tinymce.isWebKit){y.onKeyDown.add(Q)}if(tinymce.isWebKit){y.onKeyDown.add(O)}},applyList:function(y,v){var C=this,z=C.ed,I=z.dom,s=[],H=false,u=false,w=false,B,G=z.selection.getSelectedBlocks();function E(t){if(t&&t.tagName==="BR"){I.remove(t)}}function F(M){var N=I.create(y),t;function L(O){if(O.style.marginLeft||O.style.paddingLeft){C.adjustPaddingFunction(false)(O)}}if(M.tagName==="LI"){}else{if(M.tagName==="P"||M.tagName==="DIV"||M.tagName==="BODY"){K(M,function(P,O){J(P,O,M.tagName==="BODY"?null:P.parentNode);t=P.parentNode;L(t);E(O)});if(t){if(t.tagName==="LI"&&(M.tagName==="P"||G.length>1)){I.split(t.parentNode.parentNode,t.parentNode)}m(t.parentNode,true)}return}else{t=I.create("li");I.insertAfter(t,M);t.appendChild(M);L(M);M=t}}I.insertAfter(N,M);N.appendChild(M);m(N,true);s.push(M)}function J(P,L,N){var t,O=P,M;while(!I.isBlock(P.parentNode)&&P.parentNode!==I.getRoot()){P=I.split(P.parentNode,P.previousSibling);P=P.nextSibling;O=P}if(N){t=N.cloneNode(true);P.parentNode.insertBefore(t,P);while(t.firstChild){I.remove(t.firstChild)}t=I.rename(t,"li")}else{t=I.create("li");P.parentNode.insertBefore(t,P)}while(O&&O!=L){M=O.nextSibling;t.appendChild(O);O=M}if(t.childNodes.length===0){t.innerHTML='<br _mce_bogus="1" />'}F(t)}function K(Q,T){var N,R,O=3,L=1,t="br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl";function P(X,U){var V=I.createRng(),W;g.keep=true;z.selection.moveToBookmark(g);g.keep=false;W=z.selection.getRng(true);if(!U){U=X.parentNode.lastChild}V.setStartBefore(X);V.setEndAfter(U);return !(V.compareBoundaryPoints(O,W)>0||V.compareBoundaryPoints(L,W)<=0)}function S(U){if(U.nextSibling){return U.nextSibling}if(!I.isBlock(U.parentNode)&&U.parentNode!==I.getRoot()){return S(U.parentNode)}}N=Q.firstChild;var M=false;e(I.select(t,Q),function(U){if(U.hasAttribute&&U.hasAttribute("_mce_bogus")){return true}if(P(N,U)){I.addClass(U,"_mce_tagged_br");N=S(U)}});M=(N&&P(N,undefined));N=Q.firstChild;e(I.select(t,Q),function(V){var U=S(V);if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(I.hasClass(V,"_mce_tagged_br")){T(N,V,R);R=null}else{R=V}N=U});if(M){T(N,undefined,R)}}function D(t){K(t,function(M,L,N){J(M,L);E(L);E(N)})}function A(t){if(tinymce.inArray(s,t)!==-1){return}if(t.parentNode.tagName===v){I.split(t.parentNode,t);F(t);o(t.parentNode,false)}s.push(t)}function x(M){var O,N,L,t;if(tinymce.inArray(s,M)!==-1){return}M=c(M,I);while(I.is(M.parentNode,"ol,ul,li")){I.split(M.parentNode,M)}s.push(M);M=I.rename(M,"p");L=m(M,false,z.settings.force_br_newlines);if(L===M){O=M.firstChild;while(O){if(I.isBlock(O)){O=I.split(O.parentNode,O);t=true;N=O.nextSibling&&O.nextSibling.firstChild}else{N=O.nextSibling;if(t&&O.tagName==="BR"){I.remove(O)}t=false}O=N}}}e(G,function(t){t=k(t,I);if(t.tagName===v||(t.tagName==="LI"&&t.parentNode.tagName===v)){u=true}else{if(t.tagName===y||(t.tagName==="LI"&&t.parentNode.tagName===y)){H=true}else{w=true}}});if(w&&!H||u||G.length===0){B={LI:A,H1:F,H2:F,H3:F,H4:F,H5:F,H6:F,P:F,BODY:F,DIV:G.length>1?F:D,defaultAction:D,elements:this.selectedBlocks()}}else{B={defaultAction:x,elements:this.selectedBlocks()}}this.process(B)},indent:function(){var u=this.ed,w=u.dom,x=[];function s(z){var y=w.create("li",{style:"list-style-type: none;"});w.insertAfter(y,z);return y}function t(B){var y=s(B),D=w.getParent(B,"ol,ul"),C=D.tagName,E=w.getStyle(D,"list-style-type"),A={},z;if(E!==""){A.style="list-style-type: "+E+";"}z=w.create(C,A);y.appendChild(z);return z}function v(z){if(!d(u,z,x)){z=c(z,w);var y=t(z);y.appendChild(z);m(y.parentNode,false);m(y,false);x.push(z)}}this.process({LI:v,defaultAction:this.adjustPaddingFunction(true),elements:this.selectedBlocks()})},outdent:function(y,x){var w=this,u=w.ed,z=u.dom,s=[];function A(t){var C,B,D;if(!d(u,t,s)){if(z.getStyle(t,"margin-left")!==""||z.getStyle(t,"padding-left")!==""){return w.adjustPaddingFunction(false)(t)}D=z.getStyle(t,"text-align",true);if(D==="center"||D==="right"){z.setStyle(t,"text-align","left");return}t=c(t,z);C=t.parentNode;B=t.parentNode.parentNode;if(B.tagName==="P"){z.split(B,t.parentNode)}else{z.split(C,t);if(B.tagName==="LI"){z.split(B,t)}else{if(!z.is(B,"ol,ul")){z.rename(t,"p")}}}s.push(t)}}var v=x&&tinymce.is(x,"array")?x:this.selectedBlocks();this.process({LI:A,defaultAction:this.adjustPaddingFunction(false),elements:v});e(s,m)},process:function(y){var F=this,w=F.ed.selection,z=F.ed.dom,E,u;function B(t){var s=tinymce.grep(t.childNodes,function(H){return !(H.nodeName==="BR"||H.nodeName==="SPAN"&&z.getAttrib(H,"data-mce-type")=="bookmark"||H.nodeType==3&&(H.nodeValue==String.fromCharCode(160)||H.nodeValue==""))});return s.length===0}function x(s){z.removeClass(s,"_mce_act_on");if(!s||s.nodeType!==1||E.length>1&&B(s)){return}s=k(s,z);var t=y[s.tagName];if(!t){t=y.defaultAction}t(s)}function v(s){F.splitSafeEach(s.childNodes,x)}function C(s,t){return t>=0&&s.hasChildNodes()&&t<s.childNodes.length&&s.childNodes[t].tagName==="BR"}function D(){var t=w.getNode();var s=z.getParent(t,"td");return s!==null}E=y.elements;u=w.getRng(true);if(!u.collapsed){if(C(u.endContainer,u.endOffset-1)){u.setEnd(u.endContainer,u.endOffset-1);w.setRng(u)}if(C(u.startContainer,u.startOffset)){u.setStart(u.startContainer,u.startOffset+1);w.setRng(u)}}if(tinymce.isIE8){var G=F.ed.selection.getNode();if(G.tagName==="LI"&&!(G.parentNode.lastChild===G)){var A=F.ed.getDoc().createTextNode("\uFEFF");G.appendChild(A)}}g=w.getBookmark();y.OL=y.UL=v;F.splitSafeEach(E,x);w.moveToBookmark(g);g=null;if(!D()){F.ed.execCommand("mceRepaint")}},splitSafeEach:function(t,s){if(tinymce.isGecko&&(/Firefox\/[12]\.[0-9]/.test(navigator.userAgent)||/Firefox\/3\.[0-4]/.test(navigator.userAgent))){this.classBasedEach(t,s)}else{e(t,s)}},classBasedEach:function(v,u){var w=this.ed.dom,s,t;e(v,function(x){w.addClass(x,"_mce_act_on")});s=w.select("._mce_act_on");while(s.length>0){t=s.shift();w.removeClass(t,"_mce_act_on");u(t);s=w.select("._mce_act_on")}},adjustPaddingFunction:function(u){var s,v,t=this.ed;s=t.settings.indentation;v=/[a-z%]+/i.exec(s);s=parseInt(s,10);return function(w){var y,x;y=parseInt(t.dom.getStyle(w,"margin-left")||0,10)+parseInt(t.dom.getStyle(w,"padding-left")||0,10);if(u){x=y+s}else{x=y-s}t.dom.setStyle(w,"padding-left","");t.dom.setStyle(w,"margin-left",x>0?x+v:"")}},selectedBlocks:function(){var s=this.ed;var t=s.selection.getSelectedBlocks();return t.length==0?[s.dom.getRoot()]:t},getInfo:function(){return{longname:"Lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("lists",tinymce.plugins.Lists)}()); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/media/js/media.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/media/js/media.js 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/media/js/media.js 2012-02-19 12:12:07 UTC (rev 9024) @@ -48,7 +48,7 @@ } function setVal(id, value, name) { - if (typeof(value) != 'undefined') { + if (typeof(value) != 'undefined' && value != null) { var elm = get(id); if (elm.nodeName == "SELECT") @@ -176,14 +176,14 @@ formItemName = type == 'global' ? name : type + '_' + name; if (type == 'global') - list = data; - else if (type == 'video' || type == 'audio') { + list = data; + else if (type == 'video' || type == 'audio') { list = data.video.attrs; if (!list && !to_form) - data.video.attrs = list = {}; + data.video.attrs = list = {}; } else - list = data.params; + list = data.params; if (list) { if (to_form) { Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/table/js/table.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/table/js/table.js 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/table/js/table.js 2012-02-19 12:12:07 UTC (rev 9024) @@ -243,8 +243,12 @@ inst.execCommand('mceInsertContent', false, html); tinymce.each(dom.select('table[data-mce-new]'), function(node) { + // Fixes a bug in IE where the caret cannot be placed after the table if the table is at the end of the document + if (tinymce.isIE && node.nextSibling == null) { + dom.insertAfter(dom.create('p'), node); + } + var tdorth = dom.select('td,th', node); - try { // IE9 might fail to do this selection inst.selection.setCursorLocation(tdorth[0], 0); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js 2012-02-19 11:38:10 UTC (rev 9023) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js 2012-02-19 12:12:07 UTC (rev 9024) @@ -1 +1 @@ -(function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);j.forcedHighContrastMode=j.settings.detect_highcontrast&&l._isHighContrast();j.settings.skin=j.forcedHighContrastMode?"highcontrast":j.settings.skin;l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}if(j.settings.content_css!==false){j.contentCSS.push(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l);j.onKeyUp.add(l._updateUndoStatus,l);j.onMouseUp.add(l._updateUndoStatus,l);j.dom.bind(j.dom.getRoot(),"dragend",function(){l._updateUndoStatus(j)})}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},_isHighContrast:function(){var i,j=d.add(d.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});i=(d.getStyle(j,"background-color",true)+"").toLowerCase().replace(/ /g,"");d.remove(j);return i!="rgb(171,239,86)"&&i!="#abef56"},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){if(p[0]){i.formatter.remove(p[0])}}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});if(m&&m.value==l){k.select(null)}return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});if(o&&(o.value.fontSize==i.fontSize||o.value["class"]==i["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(l){j.editor.execCommand("FormatBlock",false,l);return false}});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.setti... [truncated message content] |
From: <be...@us...> - 2012-02-21 05:19:08
|
Revision: 9039 http://xoops.svn.sourceforge.net/xoops/?rev=9039&view=rev Author: beckmi Date: 2012-02-21 05:18:58 +0000 (Tue, 21 Feb 2012) Log Message: ----------- Updated jQueryUI to version 1.8.17 Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.accordion.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.all.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.autocomplete.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.base.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.button.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.core.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.datepicker.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.progressbar.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.resizable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.selectable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.slider.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.tabs.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.theme.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/images/ui-icons_2694e8_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/images/ui-icons_3d80b3_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.accordion.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.all.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.autocomplete.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.button.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.core.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.custom.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.datepicker.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.progressbar.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.resizable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.selectable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.slider.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.tabs.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.theme.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-bg_flat_55_fbec88_40x100.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-bg_glass_85_dfeffc_1x400.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_6da8d5_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_f9bd01_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.accordion.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.all.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.autocomplete.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.button.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.core.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.custom.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.datepicker.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.progressbar.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.resizable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.selectable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.slider.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.tabs.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.theme.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.accordion.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.all.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.autocomplete.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.base.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.button.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.core.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.custom.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.datepicker.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.progressbar.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.resizable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.selectable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.slider.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.tabs.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/smoothness/ui.theme.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/images/ui-bg_gloss-wave_100_ece8da_500x100.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/images/ui-bg_highlight-hard_100_fafaf4_1x100.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/images/ui-bg_highlight-hard_15_459e00_1x100.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/images/ui-icons_847e71_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/images/ui-icons_8dc262_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.accordion.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.all.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.autocomplete.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.button.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.core.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.datepicker.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.progressbar.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.resizable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.selectable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.slider.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.tabs.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/south-street/ui.theme.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.accordion.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.all.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.autocomplete.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.button.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.core.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.custom.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.datepicker.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.progressbar.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.resizable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.selectable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.slider.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.tabs.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-darkness/ui.theme.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/images/ui-icons_ef8c08_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.accordion.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.all.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.autocomplete.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.button.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.core.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.custom.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.datepicker.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.progressbar.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.resizable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.selectable.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.slider.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.tabs.css XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/ui-lightness/ui.theme.css XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/plugins/jquery.ui.js Removed Paths: ------------- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_222222_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_228ef1_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_454545_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_888888_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_ef8c08_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_ffd27a_256x240.png XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_ffffff_256x240.png Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-02-21 05:18:58 UTC (rev 9039) @@ -16,21 +16,21 @@ - /class/object.php deprecated message, should be /class/xoopsobject.php (mamba/trabis) - /class/module.php deprecated message, should be /class/xoopsmodule.php (mamba) - /class/user.php deprecated message, should be /class/xoopsuser.php (mamba) - - Fixed bug ID: 3443381 (mage) - - Fixed bug ID: 3201929 (mage) - - Fixed bug ID: 3432275 (mage) - - fixed bug (Incorrect value for setOrder() in modulesadmin/main.php - ID: 3461539) (mage) - - Fixed bug "When deleting client, it doesn't delete finished banners - ID: 3469896" (mage) + - ID: 3443381 Images stored in database not given correctly in edit mode (mage) + - ID: 3201929 Change upper limit for Banner impressions (mamba/mage) + - ID: 3432275 html structure (kris_fr/mage) + - ID: 3461539 Incorrect value for setOrder() in modulesadmin/main.php (mage) + - ID: 3469896 When deleting client, it doesn't delete finished banners (mamba/mage) + - ID: 3442270 Date format and Xoops 2.5.4 (cesag/formuss) - - Improved: - Add key 'uid' on 'groups_users_link' table to allow joining 'users' table with better performance (trabis) - Add Comments, Templates, and Uninstall links to Module's Admin (mamba) Updated: - - updated TinyMCE to 3.4.8 (mamba) - - updated jQuery to 1.71 (mamba) + - TinyMCE to 3.4.8 (mamba) + - jQuery to 1.71 (mamba) + - jQueryUI to version 1.8.17 (mamba) =============================== 2011/11/20: Version 2.5.4 Final Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.accordion.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.accordion.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.accordion.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Accordion 1.8.16 + * jQuery UI Accordion 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.all.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.all.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.all.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -8,4 +8,4 @@ * http://docs.jquery.com/UI/Theming */ @import "ui.base.css"; -@import "ui.theme.css"; +@import "ui.theme.css"; \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.autocomplete.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.autocomplete.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.autocomplete.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Autocomplete 1.8.16 + * jQuery UI Autocomplete 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,7 +13,7 @@ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ /* - * jQuery UI Menu 1.8.16 + * jQuery UI Menu 1.8.17 * * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.base.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.base.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.base.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,21 +1,11 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming - */ @import url("ui.core.css"); - +@import url("ui.resizable.css"); +@import url("ui.selectable.css"); @import url("ui.accordion.css"); @import url("ui.autocomplete.css"); @import url("ui.button.css"); -@import url("ui.datepicker.css"); @import url("ui.dialog.css"); -@import url("ui.progressbar.css"); -@import url("ui.resizable.css"); -@import url("ui.selectable.css"); @import url("ui.slider.css"); @import url("ui.tabs.css"); +@import url("ui.datepicker.css"); +@import url("ui.progressbar.css"); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.button.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.button.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.button.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Button 1.8.16 + * jQuery UI Button 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.core.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.core.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.core.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,12 +13,9 @@ .ui-helper-hidden { display: none; } .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.datepicker.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.datepicker.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.datepicker.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Datepicker 1.8.16 + * jQuery UI Datepicker 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.dialog.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.dialog.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.dialog.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Dialog 1.8.16 + * jQuery UI Dialog 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.progressbar.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.progressbar.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.progressbar.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Progressbar 1.8.16 + * jQuery UI Progressbar 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -7,5 +7,5 @@ * * http://docs.jquery.com/UI/Progressbar#theming */ -.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar { height:2em; text-align: left; overflow: hidden; } .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.resizable.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.resizable.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.resizable.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Resizable 1.8.16 + * jQuery UI Resizable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.selectable.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.selectable.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.selectable.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Selectable 1.8.16 + * jQuery UI Selectable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.slider.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.slider.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.slider.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Slider 1.8.16 + * jQuery UI Slider 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.tabs.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.tabs.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.tabs.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Tabs 1.8.16 + * jQuery UI Tabs 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.theme.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.theme.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/base/ui.theme.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/images/ui-icons_2694e8_256x240.png =================================================================== (Binary files differ) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/images/ui-icons_3d80b3_256x240.png =================================================================== (Binary files differ) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.accordion.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.accordion.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.accordion.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Accordion 1.8.16 + * jQuery UI Accordion 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.all.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.all.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.all.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.autocomplete.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.autocomplete.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.autocomplete.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Autocomplete 1.8.16 + * jQuery UI Autocomplete 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,7 +13,7 @@ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ /* - * jQuery UI Menu 1.8.16 + * jQuery UI Menu 1.8.17 * * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.button.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.button.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.button.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Button 1.8.16 + * jQuery UI Button 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.core.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.core.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.core.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,12 +13,9 @@ .ui-helper-hidden { display: none; } .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.custom.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.custom.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.custom.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.10 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,12 +13,9 @@ .ui-helper-hidden { display: none; } .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } @@ -42,7 +39,7 @@ /* - * jQuery UI CSS Framework 1.8.10 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -280,20 +277,15 @@ ----------------------------------*/ /* Corner radius */ -.ui-corner-tl { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; } -.ui-corner-tr { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; } -.ui-corner-bl { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; } -.ui-corner-br { -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } -.ui-corner-top { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } -.ui-corner-right { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } -.ui-corner-left { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; } -.ui-corner-all { -moz-border-radius: 6px; -webkit-border-radius: 6px; border-radius: 6px; } +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; -khtml-border-top-left-radius: 6px; border-top-left-radius: 6px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; -khtml-border-top-right-radius: 6px; border-top-right-radius: 6px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; -khtml-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; -khtml-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } /* Overlays */ .ui-widget-overlay { background: #eeeeee url(images/ui-bg_diagonals-thick_90_eeeeee_40x40.png) 50% 50% repeat; opacity: .80;filter:Alpha(Opacity=80); } -.ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; background: #000000 url(images/ui-bg_highlight-hard_70_000000_1x100.png) 50% top repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* - * jQuery UI Resizable 1.8.10 +.ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; background: #000000 url(images/ui-bg_highlight-hard_70_000000_1x100.png) 50% top repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* + * jQuery UI Resizable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -302,7 +294,7 @@ * http://docs.jquery.com/UI/Resizable#theming */ .ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } @@ -312,7 +304,7 @@ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* - * jQuery UI Selectable 1.8.10 + * jQuery UI Selectable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -322,7 +314,7 @@ */ .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } /* - * jQuery UI Accordion 1.8.10 + * jQuery UI Accordion 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -341,7 +333,7 @@ .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } .ui-accordion .ui-accordion-content-active { display: block; } /* - * jQuery UI Autocomplete 1.8.10 + * jQuery UI Autocomplete 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -355,7 +347,7 @@ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ /* - * jQuery UI Menu 1.8.10 + * jQuery UI Menu 1.8.17 * * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -394,7 +386,7 @@ margin: -1px; } /* - * jQuery UI Button 1.8.10 + * jQuery UI Button 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -432,7 +424,7 @@ /* workarounds */ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ /* - * jQuery UI Dialog 1.8.10 + * jQuery UI Dialog 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -453,7 +445,7 @@ .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } .ui-draggable .ui-dialog-titlebar { cursor: move; } /* - * jQuery UI Slider 1.8.10 + * jQuery UI Slider 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -476,7 +468,7 @@ .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } .ui-slider-vertical .ui-slider-range-min { bottom: 0; } .ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs 1.8.10 + * jQuery UI Tabs 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -494,7 +486,7 @@ .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } .ui-tabs .ui-tabs-hide { display: none !important; } /* - * jQuery UI Datepicker 1.8.10 + * jQuery UI Datepicker 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -534,7 +526,7 @@ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } /* RTL support */ .ui-datepicker-rtl { direction: rtl; } @@ -561,7 +553,7 @@ width: 200px; /*must have*/ height: 200px; /*must have*/ }/* - * jQuery UI Progressbar 1.8.10 + * jQuery UI Progressbar 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -569,5 +561,5 @@ * * http://docs.jquery.com/UI/Progressbar#theming */ -.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar { height:2em; text-align: left; overflow: hidden; } .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.datepicker.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.datepicker.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.datepicker.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Datepicker 1.8.16 + * jQuery UI Datepicker 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.dialog.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.dialog.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.dialog.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Dialog 1.8.16 + * jQuery UI Dialog 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.progressbar.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.progressbar.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.progressbar.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Progressbar 1.8.16 + * jQuery UI Progressbar 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -7,5 +7,5 @@ * * http://docs.jquery.com/UI/Progressbar#theming */ -.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar { height:2em; text-align: left; overflow: hidden; } .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.resizable.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.resizable.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.resizable.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Resizable 1.8.16 + * jQuery UI Resizable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.selectable.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.selectable.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.selectable.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Selectable 1.8.16 + * jQuery UI Selectable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.slider.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.slider.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.slider.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Slider 1.8.16 + * jQuery UI Slider 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.tabs.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.tabs.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.tabs.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Tabs 1.8.16 + * jQuery UI Tabs 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.theme.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.theme.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/cupertino/ui.theme.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,7 +1,7 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -9,7 +9,7 @@ * * http://docs.jquery.com/UI/Theming/API * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=deedf7&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=3baae3&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=eeeeee&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=90&opacityOverlay=80&bgColorShadow=000000&bgTextureShadow=04_highlight_hard.png&bgImgOpacityShadow=70&opacityShadow=30&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px + * To view and modify this theme, visit http://jqueryui.com/themeroller/ */ Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-bg_flat_55_fbec88_40x100.png =================================================================== (Binary files differ) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-bg_glass_85_dfeffc_1x400.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_222222_256x240.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_228ef1_256x240.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_454545_256x240.png =================================================================== (Binary files differ) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_6da8d5_256x240.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_888888_256x240.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_ef8c08_256x240.png =================================================================== (Binary files differ) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_f9bd01_256x240.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_ffd27a_256x240.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/images/ui-icons_ffffff_256x240.png =================================================================== (Binary files differ) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.accordion.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.accordion.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.accordion.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Accordion 1.8.16 + * jQuery UI Accordion 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.all.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.all.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.all.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.autocomplete.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.autocomplete.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.autocomplete.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Autocomplete 1.8.16 + * jQuery UI Autocomplete 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,7 +13,7 @@ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ /* - * jQuery UI Menu 1.8.16 + * jQuery UI Menu 1.8.17 * * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.button.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.button.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.button.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI Button 1.8.16 + * jQuery UI Button 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.core.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.core.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.core.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.16 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,12 +13,9 @@ .ui-helper-hidden { display: none; } .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.custom.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.custom.css 2012-02-20 19:34:52 UTC (rev 9038) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/css/ui/redmond/ui.custom.css 2012-02-21 05:18:58 UTC (rev 9039) @@ -1,5 +1,5 @@ /* - * jQuery UI CSS Framework 1.8.10 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -13,12 +13,9 @@ .ui-helper-hidden { display: none; } .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } @@ -42,7 +39,7 @@ /* - * jQuery UI CSS Framework 1.8.10 + * jQuery UI CSS Framework 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -280,20 +277,15 @@ ----------------------------------*/ /* Corner radius */ -.ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; } -.ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } -.ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } -.ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } -.ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } -.ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } -.ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } -.ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } -.ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -khtml-border-top-left-radius: 5px; border-top-left-radius: 5px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -khtml-border-top-right-radius: 5px; border-top-right-radius: 5px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -khtml-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; -khtml-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } /* Overlays */ .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } -.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* - * jQuery UI Resizable 1.8.10 +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* + * jQuery UI Resizable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -302,7 +294,7 @@ * http://docs.jquery.com/UI/Resizable#theming */ .ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } @@ -312,7 +304,7 @@ .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* - * jQuery UI Selectable 1.8.10 + * jQuery UI Selectable 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -322,7 +314,7 @@ */ .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } /* - * jQuery UI Accordion 1.8.10 + * jQuery UI Accordion 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -341,7 +333,7 @@ .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } .ui-accordion .ui-accordion-content-active { display: block; } /* - * jQuery UI Autocomplete 1.8.10 + * jQuery UI Autocomplete 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -355,7 +347,7 @@ * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ /* - * jQuery UI Menu 1.8.10 + * jQuery UI Menu 1.8.17 * * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -394,7 +386,7 @@ margin: -1px; } /* - * jQuery UI Button 1.8.10 + * jQuery UI Button 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -432,7 +424,7 @@ /* workarounds */ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ /* - * jQuery UI Dialog 1.8.10 + * jQuery UI Dialog 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -453,7 +445,7 @@ .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } .ui-draggable .ui-dialog-titlebar { cursor: move; } /* - * jQuery UI Slider 1.8.10 + * jQuery UI Slider 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -476,7 +468,7 @@ .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } .ui-slider-vertical .ui-slider-range-min { bottom: 0; } .ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs 1.8.10 + * jQuery UI Tabs 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. @@ -494,7 +486,7 @@ .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } .ui-tabs .ui-tabs-hide { display: none !important; } /* - * jQuery UI Datepicker 1.8.10 + * jQuery UI Datepicker 1.8.17 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL... [truncated message content] |
From: <be...@us...> - 2012-02-22 04:44:04
|
Revision: 9045 http://xoops.svn.sourceforge.net/xoops/?rev=9045&view=rev Author: beckmi Date: 2012-02-22 04:43:55 +0000 (Wed, 22 Feb 2012) Log Message: ----------- Updating PHPMailer to 5.2.1 Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/ChangeLog.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/LICENSE XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/README XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/class.phpmailer.php XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/class.pop3.php XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/class.smtp.php XoopsCore/branches/2.5.x/2.5.5/release_notes.txt Added Paths: ----------- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/docs.ini Removed Paths: ------------- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/aboutus.html XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/codeworxtech.html Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-02-22 03:12:20 UTC (rev 9044) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-02-22 04:43:55 UTC (rev 9045) @@ -31,6 +31,7 @@ - TinyMCE to 3.4.8 (mamba) - jQuery to 1.71 (mamba) - jQueryUI to version 1.8.17 (mamba) + - PhpMailer to version 5.2.1 (mamba) =============================== 2011/11/20: Version 2.5.4 Final Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/ChangeLog.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/ChangeLog.txt 2012-02-22 03:12:20 UTC (rev 9044) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/ChangeLog.txt 2012-02-22 04:43:55 UTC (rev 9045) @@ -1,408 +1,421 @@ -ChangeLog - -NOTE: THIS VERSION OF PHPMAILER IS DESIGNED FOR PHP5/PHP6. - IT WILL NOT WORK WITH PHP4. - -Version 5.1 (October 20, 2009) -* fixed filename issue with AddStringAttachment (thanks to Tony) -* fixed "SingleTo" property, now works with Senmail, Qmail, and SMTP in - addition to PHP mail() -* added DKIM digital signing functionality - New properties: - - DKIM_domain (sets the domain name) - - DKIM_private (holds DKIM private key) - - DKIM_passphrase (holds your DKIM passphrase) - - DKIM_selector (holds the DKIM "selector") - - DKIM_identity (holds the identifying email address) -* added callback function support - - callback function parameters include: - result, to, cc, bcc, subject and body - * see the test/test_callback.php file for usage. -* added "auto" identity functionality - - can automatically add: - - Return-path (if Sender not set) - - Reply-To (if ReplyTo not set) - - can be disabled: - - $mail->SetFrom('you...@yo...','First Last',false); - - or by adding the $mail->Sender and/or $mail->ReplyTo properties - Note: "auto" identity added to help with emails ending up in spam - or junk boxes because of missing headers - -Version 5.0.2 (May 24, 2009) -* Fix for missing attachments when inline graphics are present -* Fix for missing Cc in header when using SMTP (mail was sent, - but not displayed in header -- Cc receiver only saw email To: - line and no Cc line, but did get the email (To receiver - saw same) - -Version 5.0.1 (April 05, 2009) -* Temporary fix for missing attachments - -Version 5.0.0 (April 02, 2009) - -* With the release of this version, we are initiating a new version numbering - system to differentiate from the PHP4 version of PHPMailer. -* Most notable in this release is fully object oriented code. -class.smtp.php: -* Refactored class.smtp.php to support new exception handling - code size reduced from 29.2 Kb to 25.6 Kb -* Removed unnecessary functions from class.smtp.php: - public function Expand($name) { - public function Help($keyword="") { - public function Noop() { - public function Send($from) { - public function SendOrMail($from) { - public function Verify($name) { -class.phpmailer.php: -* Refactored class.phpmailer.php with new exception handling -* Changed processing functionality of Sendmail and Qmail so they cannot be - inadvertently used -* removed getFile() function, just became a simple wrapper for - file_get_contents() -* added check for PHP version (will gracefully exit if not at least PHP 5.0) -class.phpmailer.php enhancements -* enhanced code to check if an attachment source is the same as an embedded or - inline graphic source to eliminate duplicate attachments -New /test_script -* We have written a test script you can use to test the script as part of your - installation. Once you press submit, the test script will send a multi-mime - email with either the message you type in or an HTML email with an inline - graphic. Two attachments are included in the email (one of the attachments - is also the inline graphic so you can see that only one copy of the graphic - is sent in the email). The test script will also display the functional - script that you can copy/paste to your editor to duplicate the functionality. -New examples -* All new examples in both basic and advanced modes. Advanced examples show - Exception handling. -PHPDocumentator (phpdocs) documentation for PHPMailer version 5.0.0 -* all new documentation - -Please note: the website has been updated to reflect the changes in PHPMailer -version 5.0.0. http://phpmailer.codeworxtech.com/ - -Version 2.3 (November 06, 2008) - -* added Arabic language (many thanks to Bahjat Al Mostafa) -* removed English language from language files and made it a default within - class.phpmailer.php - if no language is found, it will default to use - the english language translation -* fixed public/private declarations -* corrected line 1728, $basedir to $directory -* added $sign_cert_file to avoid improper duplicate use of $sign_key_file -* corrected $this->Hello on line 612 to $this->Helo -* changed default of $LE to "\r\n" to comply with RFC 2822. Can be set by the user - if default is not acceptable -* removed trim() from return results in EncodeQP -* /test and three files it contained are removed from version 2.3 -* fixed phpunit.php for compliance with PHP5 -* changed $this->AltBody = $textMsg; to $this->AltBody = html_entity_decode($textMsg); -* We have removed the /phpdoc from the downloads. All documentation is now on - the http://phpmailer.codeworxtech.com website. - -Version 2.2.1 () July 19 2008 - -* fixed line 1092 in class.smtp.php (my apologies, error on my part) - -Version 2.2 () July 15 2008 - -* Fixed redirect issue (display of UTF-8 in thank you redirect) -* fixed error in getResponse function declaration (class.pop3.php) -* PHPMailer now PHP6 compliant -* fixed line 1092 in class.smtp.php (endless loop from missing = sign) - -Version 2.1 (Wed, June 04 2008) - -** NOTE: WE HAVE A NEW LANGUAGE VARIABLE FOR DIGITALLY SIGNED S/MIME EMAILS. - IF YOU CAN HELP WITH LANGUAGES OTHER THAN ENGLISH AND SPANISH, IT WOULD BE - APPRECIATED. - -* added S/MIME functionality (ability to digitally sign emails) - BIG THANKS TO "sergiocambra" for posting this patch back in November 2007. - The "Signed Emails" functionality adds the Sign method to pass the private key - filename and the password to read it, and then email will be sent with - content-type multipart/signed and with the digital signature attached. -* fully compatible with E_STRICT error level - - Please note: - In about half the test environments this development version was subjected - to, an error was thrown for the date() functions used (line 1565 and 1569). - This is NOT a PHPMailer error, it is the result of an incorrectly configured - PHP5 installation. The fix is to modify your 'php.ini' file and include the - date.timezone = America/New York - directive, to your own server timezone - - If you do get this error, and are unable to access your php.ini file: - In your PHP script, add - date_default_timezone_set('America/Toronto'); - - do not try to use - $myVar = date_default_timezone_get(); - as a test, it will throw an error. -* added ability to define path (mainly for embedded images) - function MsgHTML($message,$basedir='') ... where: - $basedir is the fully qualified path -* fixed MsgHTML() function: - - Embedded Images where images are specified by <protocol>:// will not be altered or embedded -* fixed the return value of SMTP exit code ( pclose ) -* addressed issue of multibyte characters in subject line and truncating -* added ability to have user specified Message ID - (default is still that PHPMailer create a unique Message ID) -* corrected unidentified message type to 'application/octet-stream' -* fixed chunk_split() multibyte issue (thanks to Colin Brown, et al). -* added check for added attachments -* enhanced conversion of HTML to text in MsgHTML (thanks to "brunny") - -Version 2.1.0beta2 (Sun, Dec 02 2007) -* implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon) -* finished all testing, all known bugs corrected, enhancements tested -- note: will NOT work with PHP4. - -please note, this is BETA software -** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS -INTENDED STRICTLY FOR TESTING - -Version 2.1.0beta1 -please note, this is BETA software -** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS -INTENDED STRICTLY FOR TESTING - -Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release -* implements new property to control VERP in class.smtp.php - example (requires instantiating class.smtp.php): - $mail->do_verp = true; -* POP-before-SMTP functionality included, thanks to Richard Davey - (see class.pop3.php & pop3_before_smtp_test.php for examples) -* included example showing how to use PHPMailer with GMAIL -* fixed the missing Cc in SendMail() and Mail() - -****************** -A note on sending bulk emails: - -If the email you are sending is not personalized, consider using the -"undisclosed-recipient:;" strategy. That is, put all of your recipients -in the Bcc field and set the To field to "undisclosed-recipients:;". -It's a lot faster (only one send) and saves quite a bit on resources. -Contrary to some opinions, this will not get you listed in spam engines - -it's a legitimate way for you to send emails. - -A partial example for use with PHPMailer: - -$mail->AddAddress("undisclosed-recipients:;"); -$mail->AddBCC("em...@an...,em...@an...,em...@an..."); - -Many email service providers restrict the number of emails that can be sent -in any given time period. Often that is between 50 - 60 emails maximum -per hour or per send session. - -If that's the case, then break up your Bcc lists into chunks that are one -less than your limit, and put a pause in your script. -******************* - -Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release -* dramatically simplified using inline graphics ... it's fully automated and requires no user input -* added automatic document type detection for attachments and pictures -* added MsgHTML() function to replace Body tag for HTML emails -* fixed the SendMail security issues (input validation vulnerability) -* enhanced the AddAddresses functionality so that the "Name" portion is used in the email address -* removed the need to use the AltBody method (set from the HTML, or default text used) -* set the PHP Mail() function as the default (still support SendMail, SMTP Mail) -* removed the need to set the IsHTML property (set automatically) -* added Estonian language file by Indrek Päri -* added header injection patch -* added "set" method to permit users to create their own pseudo-properties like 'X-Headers', etc. - example of use: - $mail->set('X-Priority', '3'); - $mail->set('X-MSMail-Priority', 'Normal'); -* fixed warning message in SMTP get_lines method -* added TLS/SSL SMTP support - example of use: - $mail = new PHPMailer(); - $mail->Mailer = "smtp"; - $mail->Host = "smtp.example.com"; - $mail->SMTPSecure = "tls"; // option - //$mail->SMTPSecure = "ssl"; // option - ... - $mail->Send(); -* PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7) -* Works with PHP installed as a module or as CGI-PHP -- NOTE: will NOT work with PHP5 in E_STRICT error mode - -Version 1.73 (Sun, Jun 10 2005) -* Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf -* Now has a total of 20 translations -* Fixed alt attachments bug: http://tinyurl.com/98u9k - -Version 1.72 (Wed, May 25 2004) -* Added Dutch, Swedish, Czech, Norwegian, and Turkish translations. -* Received: Removed this method because spam filter programs like -SpamAssassin reject this header. -* Fixed error count bug. -* SetLanguage default is now "language/". -* Fixed magic_quotes_runtime bug. - -Version 1.71 (Tue, Jul 28 2003) -* Made several speed enhancements -* Added German and Italian translation files -* Fixed HELO/AUTH bugs on keep-alive connects -* Now provides an error message if language file does not load -* Fixed attachment EOL bug -* Updated some unclear documentation -* Added additional tests and improved others - -Version 1.70 (Mon, Jun 20 2003) -* Added SMTP keep-alive support -* Added IsError method for error detection -* Added error message translation support (SetLanguage) -* Refactored many methods to increase library performance -* Hello now sends the newer EHLO message before HELO as per RFC 2821 -* Removed the boundary class and replaced it with GetBoundary -* Removed queue support methods -* New $Hostname variable -* New Message-ID header -* Received header reformat -* Helo variable default changed to $Hostname -* Removed extra spaces in Content-Type definition (#667182) -* Return-Path should be set to Sender when set -* Adds Q or B encoding to headers when necessary -* quoted-encoding should now encode NULs \000 -* Fixed encoding of body/AltBody (#553370) -* Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC) -* Multiple bug fixes - -Version 1.65 (Fri, Aug 09 2002) -* Fixed non-visible attachment bug (#585097) for Outlook -* SMTP connections are now closed after each transaction -* Fixed SMTP::Expand return value -* Converted SMTP class documentation to phpDocumentor format - -Version 1.62 (Wed, Jun 26 2002) -* Fixed multi-attach bug -* Set proper word wrapping -* Reduced memory use with attachments -* Added more debugging -* Changed documentation to phpDocumentor format - -Version 1.60 (Sat, Mar 30 2002) -* Sendmail pipe and address patch (Christian Holtje) -* Added embedded image and read confirmation support (A. Ognio) -* Added unit tests -* Added SMTP timeout support (*nix only) -* Added possibly temporary PluginDir variable for SMTP class -* Added LE message line ending variable -* Refactored boundary and attachment code -* Eliminated SMTP class warnings -* Added SendToQueue method for future queuing support - -Version 1.54 (Wed, Dec 19 2001) -* Add some queuing support code -* Fixed a pesky multi/alt bug -* Messages are no longer forced to have "To" addresses - -Version 1.50 (Thu, Nov 08 2001) -* Fix extra lines when not using SMTP mailer -* Set WordWrap variable to int with a zero default - -Version 1.47 (Tue, Oct 16 2001) -* Fixed Received header code format -* Fixed AltBody order error -* Fixed alternate port warning - -Version 1.45 (Tue, Sep 25 2001) -* Added enhanced SMTP debug support -* Added support for multiple ports on SMTP -* Added Received header for tracing -* Fixed AddStringAttachment encoding -* Fixed possible header name quote bug -* Fixed wordwrap() trim bug -* Couple other small bug fixes - -Version 1.41 (Wed, Aug 22 2001) -* Fixed AltBody bug w/o attachments -* Fixed rfc_date() for certain mail servers - -Version 1.40 (Sun, Aug 12 2001) -* Added multipart/alternative support (AltBody) -* Documentation update -* Fixed bug in Mercury MTA - -Version 1.29 (Fri, Aug 03 2001) -* Added AddStringAttachment() method -* Added SMTP authentication support - -Version 1.28 (Mon, Jul 30 2001) -* Fixed a typo in SMTP class -* Fixed header issue with Imail (win32) SMTP server -* Made fopen() calls for attachments use "rb" to fix win32 error - -Version 1.25 (Mon, Jul 02 2001) -* Added RFC 822 date fix (Patrice) -* Added improved error handling by adding a $ErrorInfo variable -* Removed MailerDebug variable (obsolete with new error handler) - -Version 1.20 (Mon, Jun 25 2001) -* Added quoted-printable encoding (Patrice) -* Set Version as public and removed PrintVersion() -* Changed phpdoc to only display public variables and methods - -Version 1.19 (Thu, Jun 21 2001) -* Fixed MS Mail header bug -* Added fix for Bcc problem with mail(). *Does not work on Win32* - (See PHP bug report: http://www.php.net/bugs.php?id=11616) -* mail() no longer passes a fifth parameter when not needed - -Version 1.15 (Fri, Jun 15 2001) -[Note: these changes contributed by Patrice Fournier] -* Changed all remaining \n to \r\n -* Bcc: header no longer writen to message except -when sent directly to sendmail -* Added a small message to non-MIME compliant mail reader -* Added Sender variable to change the Sender email -used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode -* Changed boundary setting to a place it will be set only once -* Removed transfer encoding for whole message when using multipart -* Message body now uses Encoding in multipart messages -* Can set encoding and type to attachments 7bit, 8bit -and binary attachment are sent as is, base64 are encoded -* Can set Encoding to base64 to send 8 bits body -through 7 bits servers - -Version 1.10 (Tue, Jun 12 2001) -* Fixed win32 mail header bug (printed out headers in message body) - -Version 1.09 (Fri, Jun 08 2001) -* Changed date header to work with Netscape mail programs -* Altered phpdoc documentation - -Version 1.08 (Tue, Jun 05 2001) -* Added enhanced error-checking -* Added phpdoc documentation to source - -Version 1.06 (Fri, Jun 01 2001) -* Added optional name for file attachments - -Version 1.05 (Tue, May 29 2001) -* Code cleanup -* Eliminated sendmail header warning message -* Fixed possible SMTP error - -Version 1.03 (Thu, May 24 2001) -* Fixed problem where qmail sends out duplicate messages - -Version 1.02 (Wed, May 23 2001) -* Added multiple recipient and attachment Clear* methods -* Added Sendmail public variable -* Fixed problem with loading SMTP library multiple times - -Version 0.98 (Tue, May 22 2001) -* Fixed problem with redundant mail hosts sending out multiple messages -* Added additional error handler code -* Added AddCustomHeader() function -* Added support for Microsoft mail client headers (affects priority) -* Fixed small bug with Mailer variable -* Added PrintVersion() function - -Version 0.92 (Tue, May 15 2001) -* Changed file names to class.phpmailer.php and class.smtp.php to match - current PHP class trend. -* Fixed problem where body not being printed when a message is attached -* Several small bug fixes - -Version 0.90 (Tue, April 17 2001) -* Intial public release +ChangeLog + +NOTE: THIS VERSION OF PHPMAILER IS DESIGNED FOR PHP5/PHP6. + IT WILL NOT WORK WITH PHP4. + +Version 5.2.1 (January 16, 2012) +* Closed several bugs +* Performance improvements +* MsgHTML() now returns the message as required. +* New method: GetSentMIMEMessage() (returns full copy of sent message) + +Version 5.2 (July 19, 2011) +* protected MIME body and header +* better DKIM DNS Resource Record support +* better aly handling +* htmlfilter class added to extras +* moved to Apache Extras + +Version 5.1 (October 20, 2009) +* fixed filename issue with AddStringAttachment (thanks to Tony) +* fixed "SingleTo" property, now works with Senmail, Qmail, and SMTP in + addition to PHP mail() +* added DKIM digital signing functionality + New properties: + - DKIM_domain (sets the domain name) + - DKIM_private (holds DKIM private key) + - DKIM_passphrase (holds your DKIM passphrase) + - DKIM_selector (holds the DKIM "selector") + - DKIM_identity (holds the identifying email address) +* added callback function support + - callback function parameters include: + result, to, cc, bcc, subject and body + * see the test/test_callback.php file for usage. +* added "auto" identity functionality + - can automatically add: + - Return-path (if Sender not set) + - Reply-To (if ReplyTo not set) + - can be disabled: + - $mail->SetFrom('you...@yo...','First Last',false); + - or by adding the $mail->Sender and/or $mail->ReplyTo properties + Note: "auto" identity added to help with emails ending up in spam + or junk boxes because of missing headers + +Version 5.0.2 (May 24, 2009) +* Fix for missing attachments when inline graphics are present +* Fix for missing Cc in header when using SMTP (mail was sent, + but not displayed in header -- Cc receiver only saw email To: + line and no Cc line, but did get the email (To receiver + saw same) + +Version 5.0.1 (April 05, 2009) +* Temporary fix for missing attachments + +Version 5.0.0 (April 02, 2009) + +* With the release of this version, we are initiating a new version numbering + system to differentiate from the PHP4 version of PHPMailer. +* Most notable in this release is fully object oriented code. +class.smtp.php: +* Refactored class.smtp.php to support new exception handling + code size reduced from 29.2 Kb to 25.6 Kb +* Removed unnecessary functions from class.smtp.php: + public function Expand($name) { + public function Help($keyword="") { + public function Noop() { + public function Send($from) { + public function SendOrMail($from) { + public function Verify($name) { +class.phpmailer.php: +* Refactored class.phpmailer.php with new exception handling +* Changed processing functionality of Sendmail and Qmail so they cannot be + inadvertently used +* removed getFile() function, just became a simple wrapper for + file_get_contents() +* added check for PHP version (will gracefully exit if not at least PHP 5.0) +class.phpmailer.php enhancements +* enhanced code to check if an attachment source is the same as an embedded or + inline graphic source to eliminate duplicate attachments +New /test_script +* We have written a test script you can use to test the script as part of your + installation. Once you press submit, the test script will send a multi-mime + email with either the message you type in or an HTML email with an inline + graphic. Two attachments are included in the email (one of the attachments + is also the inline graphic so you can see that only one copy of the graphic + is sent in the email). The test script will also display the functional + script that you can copy/paste to your editor to duplicate the functionality. +New examples +* All new examples in both basic and advanced modes. Advanced examples show + Exception handling. +PHPDocumentator (phpdocs) documentation for PHPMailer version 5.0.0 +* all new documentation + +Please note: the website has been updated to reflect the changes in PHPMailer +version 5.0.0. http://phpmailer.codeworxtech.com/ + +Version 2.3 (November 06, 2008) + +* added Arabic language (many thanks to Bahjat Al Mostafa) +* removed English language from language files and made it a default within + class.phpmailer.php - if no language is found, it will default to use + the english language translation +* fixed public/private declarations +* corrected line 1728, $basedir to $directory +* added $sign_cert_file to avoid improper duplicate use of $sign_key_file +* corrected $this->Hello on line 612 to $this->Helo +* changed default of $LE to "\r\n" to comply with RFC 2822. Can be set by the user + if default is not acceptable +* removed trim() from return results in EncodeQP +* /test and three files it contained are removed from version 2.3 +* fixed phpunit.php for compliance with PHP5 +* changed $this->AltBody = $textMsg; to $this->AltBody = html_entity_decode($textMsg); +* We have removed the /phpdoc from the downloads. All documentation is now on + the http://phpmailer.codeworxtech.com website. + +Version 2.2.1 () July 19 2008 + +* fixed line 1092 in class.smtp.php (my apologies, error on my part) + +Version 2.2 () July 15 2008 + +* Fixed redirect issue (display of UTF-8 in thank you redirect) +* fixed error in getResponse function declaration (class.pop3.php) +* PHPMailer now PHP6 compliant +* fixed line 1092 in class.smtp.php (endless loop from missing = sign) + +Version 2.1 (Wed, June 04 2008) + +** NOTE: WE HAVE A NEW LANGUAGE VARIABLE FOR DIGITALLY SIGNED S/MIME EMAILS. + IF YOU CAN HELP WITH LANGUAGES OTHER THAN ENGLISH AND SPANISH, IT WOULD BE + APPRECIATED. + +* added S/MIME functionality (ability to digitally sign emails) + BIG THANKS TO "sergiocambra" for posting this patch back in November 2007. + The "Signed Emails" functionality adds the Sign method to pass the private key + filename and the password to read it, and then email will be sent with + content-type multipart/signed and with the digital signature attached. +* fully compatible with E_STRICT error level + - Please note: + In about half the test environments this development version was subjected + to, an error was thrown for the date() functions used (line 1565 and 1569). + This is NOT a PHPMailer error, it is the result of an incorrectly configured + PHP5 installation. The fix is to modify your 'php.ini' file and include the + date.timezone = America/New York + directive, to your own server timezone + - If you do get this error, and are unable to access your php.ini file: + In your PHP script, add + date_default_timezone_set('America/Toronto'); + - do not try to use + $myVar = date_default_timezone_get(); + as a test, it will throw an error. +* added ability to define path (mainly for embedded images) + function MsgHTML($message,$basedir='') ... where: + $basedir is the fully qualified path +* fixed MsgHTML() function: + - Embedded Images where images are specified by <protocol>:// will not be altered or embedded +* fixed the return value of SMTP exit code ( pclose ) +* addressed issue of multibyte characters in subject line and truncating +* added ability to have user specified Message ID + (default is still that PHPMailer create a unique Message ID) +* corrected unidentified message type to 'application/octet-stream' +* fixed chunk_split() multibyte issue (thanks to Colin Brown, et al). +* added check for added attachments +* enhanced conversion of HTML to text in MsgHTML (thanks to "brunny") + +Version 2.1.0beta2 (Sun, Dec 02 2007) +* implemented updated EncodeQP (thanks to coolbru, aka Marcus Bointon) +* finished all testing, all known bugs corrected, enhancements tested +- note: will NOT work with PHP4. + +please note, this is BETA software +** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS +INTENDED STRICTLY FOR TESTING + +Version 2.1.0beta1 +please note, this is BETA software +** DO NOT USE THIS IN PRODUCTION OR LIVE PROJECTS +INTENDED STRICTLY FOR TESTING + +Version 2.0.0 rc2 (Fri, Nov 16 2007), interim release +* implements new property to control VERP in class.smtp.php + example (requires instantiating class.smtp.php): + $mail->do_verp = true; +* POP-before-SMTP functionality included, thanks to Richard Davey + (see class.pop3.php & pop3_before_smtp_test.php for examples) +* included example showing how to use PHPMailer with GMAIL +* fixed the missing Cc in SendMail() and Mail() + +****************** +A note on sending bulk emails: + +If the email you are sending is not personalized, consider using the +"undisclosed-recipient:;" strategy. That is, put all of your recipients +in the Bcc field and set the To field to "undisclosed-recipients:;". +It's a lot faster (only one send) and saves quite a bit on resources. +Contrary to some opinions, this will not get you listed in spam engines - +it's a legitimate way for you to send emails. + +A partial example for use with PHPMailer: + +$mail->AddAddress("undisclosed-recipients:;"); +$mail->AddBCC("em...@an...,em...@an...,em...@an..."); + +Many email service providers restrict the number of emails that can be sent +in any given time period. Often that is between 50 - 60 emails maximum +per hour or per send session. + +If that's the case, then break up your Bcc lists into chunks that are one +less than your limit, and put a pause in your script. +******************* + +Version 2.0.0 rc1 (Thu, Nov 08 2007), interim release +* dramatically simplified using inline graphics ... it's fully automated and requires no user input +* added automatic document type detection for attachments and pictures +* added MsgHTML() function to replace Body tag for HTML emails +* fixed the SendMail security issues (input validation vulnerability) +* enhanced the AddAddresses functionality so that the "Name" portion is used in the email address +* removed the need to use the AltBody method (set from the HTML, or default text used) +* set the PHP Mail() function as the default (still support SendMail, SMTP Mail) +* removed the need to set the IsHTML property (set automatically) +* added Estonian language file by Indrek Päri +* added header injection patch +* added "set" method to permit users to create their own pseudo-properties like 'X-Headers', etc. + example of use: + $mail->set('X-Priority', '3'); + $mail->set('X-MSMail-Priority', 'Normal'); +* fixed warning message in SMTP get_lines method +* added TLS/SSL SMTP support + example of use: + $mail = new PHPMailer(); + $mail->Mailer = "smtp"; + $mail->Host = "smtp.example.com"; + $mail->SMTPSecure = "tls"; // option + //$mail->SMTPSecure = "ssl"; // option + ... + $mail->Send(); +* PHPMailer has been tested with PHP4 (4.4.7) and PHP5 (5.2.7) +* Works with PHP installed as a module or as CGI-PHP +- NOTE: will NOT work with PHP5 in E_STRICT error mode + +Version 1.73 (Sun, Jun 10 2005) +* Fixed denial of service bug: http://www.cybsec.com/vuln/PHPMailer-DOS.pdf +* Now has a total of 20 translations +* Fixed alt attachments bug: http://tinyurl.com/98u9k + +Version 1.72 (Wed, May 25 2004) +* Added Dutch, Swedish, Czech, Norwegian, and Turkish translations. +* Received: Removed this method because spam filter programs like +SpamAssassin reject this header. +* Fixed error count bug. +* SetLanguage default is now "language/". +* Fixed magic_quotes_runtime bug. + +Version 1.71 (Tue, Jul 28 2003) +* Made several speed enhancements +* Added German and Italian translation files +* Fixed HELO/AUTH bugs on keep-alive connects +* Now provides an error message if language file does not load +* Fixed attachment EOL bug +* Updated some unclear documentation +* Added additional tests and improved others + +Version 1.70 (Mon, Jun 20 2003) +* Added SMTP keep-alive support +* Added IsError method for error detection +* Added error message translation support (SetLanguage) +* Refactored many methods to increase library performance +* Hello now sends the newer EHLO message before HELO as per RFC 2821 +* Removed the boundary class and replaced it with GetBoundary +* Removed queue support methods +* New $Hostname variable +* New Message-ID header +* Received header reformat +* Helo variable default changed to $Hostname +* Removed extra spaces in Content-Type definition (#667182) +* Return-Path should be set to Sender when set +* Adds Q or B encoding to headers when necessary +* quoted-encoding should now encode NULs \000 +* Fixed encoding of body/AltBody (#553370) +* Adds "To: undisclosed-recipients:;" when all recipients are hidden (BCC) +* Multiple bug fixes + +Version 1.65 (Fri, Aug 09 2002) +* Fixed non-visible attachment bug (#585097) for Outlook +* SMTP connections are now closed after each transaction +* Fixed SMTP::Expand return value +* Converted SMTP class documentation to phpDocumentor format + +Version 1.62 (Wed, Jun 26 2002) +* Fixed multi-attach bug +* Set proper word wrapping +* Reduced memory use with attachments +* Added more debugging +* Changed documentation to phpDocumentor format + +Version 1.60 (Sat, Mar 30 2002) +* Sendmail pipe and address patch (Christian Holtje) +* Added embedded image and read confirmation support (A. Ognio) +* Added unit tests +* Added SMTP timeout support (*nix only) +* Added possibly temporary PluginDir variable for SMTP class +* Added LE message line ending variable +* Refactored boundary and attachment code +* Eliminated SMTP class warnings +* Added SendToQueue method for future queuing support + +Version 1.54 (Wed, Dec 19 2001) +* Add some queuing support code +* Fixed a pesky multi/alt bug +* Messages are no longer forced to have "To" addresses + +Version 1.50 (Thu, Nov 08 2001) +* Fix extra lines when not using SMTP mailer +* Set WordWrap variable to int with a zero default + +Version 1.47 (Tue, Oct 16 2001) +* Fixed Received header code format +* Fixed AltBody order error +* Fixed alternate port warning + +Version 1.45 (Tue, Sep 25 2001) +* Added enhanced SMTP debug support +* Added support for multiple ports on SMTP +* Added Received header for tracing +* Fixed AddStringAttachment encoding +* Fixed possible header name quote bug +* Fixed wordwrap() trim bug +* Couple other small bug fixes + +Version 1.41 (Wed, Aug 22 2001) +* Fixed AltBody bug w/o attachments +* Fixed rfc_date() for certain mail servers + +Version 1.40 (Sun, Aug 12 2001) +* Added multipart/alternative support (AltBody) +* Documentation update +* Fixed bug in Mercury MTA + +Version 1.29 (Fri, Aug 03 2001) +* Added AddStringAttachment() method +* Added SMTP authentication support + +Version 1.28 (Mon, Jul 30 2001) +* Fixed a typo in SMTP class +* Fixed header issue with Imail (win32) SMTP server +* Made fopen() calls for attachments use "rb" to fix win32 error + +Version 1.25 (Mon, Jul 02 2001) +* Added RFC 822 date fix (Patrice) +* Added improved error handling by adding a $ErrorInfo variable +* Removed MailerDebug variable (obsolete with new error handler) + +Version 1.20 (Mon, Jun 25 2001) +* Added quoted-printable encoding (Patrice) +* Set Version as public and removed PrintVersion() +* Changed phpdoc to only display public variables and methods + +Version 1.19 (Thu, Jun 21 2001) +* Fixed MS Mail header bug +* Added fix for Bcc problem with mail(). *Does not work on Win32* + (See PHP bug report: http://www.php.net/bugs.php?id=11616) +* mail() no longer passes a fifth parameter when not needed + +Version 1.15 (Fri, Jun 15 2001) +[Note: these changes contributed by Patrice Fournier] +* Changed all remaining \n to \r\n +* Bcc: header no longer writen to message except +when sent directly to sendmail +* Added a small message to non-MIME compliant mail reader +* Added Sender variable to change the Sender email +used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode +* Changed boundary setting to a place it will be set only once +* Removed transfer encoding for whole message when using multipart +* Message body now uses Encoding in multipart messages +* Can set encoding and type to attachments 7bit, 8bit +and binary attachment are sent as is, base64 are encoded +* Can set Encoding to base64 to send 8 bits body +through 7 bits servers + +Version 1.10 (Tue, Jun 12 2001) +* Fixed win32 mail header bug (printed out headers in message body) + +Version 1.09 (Fri, Jun 08 2001) +* Changed date header to work with Netscape mail programs +* Altered phpdoc documentation + +Version 1.08 (Tue, Jun 05 2001) +* Added enhanced error-checking +* Added phpdoc documentation to source + +Version 1.06 (Fri, Jun 01 2001) +* Added optional name for file attachments + +Version 1.05 (Tue, May 29 2001) +* Code cleanup +* Eliminated sendmail header warning message +* Fixed possible SMTP error + +Version 1.03 (Thu, May 24 2001) +* Fixed problem where qmail sends out duplicate messages + +Version 1.02 (Wed, May 23 2001) +* Added multiple recipient and attachment Clear* methods +* Added Sendmail public variable +* Fixed problem with loading SMTP library multiple times + +Version 0.98 (Tue, May 22 2001) +* Fixed problem with redundant mail hosts sending out multiple messages +* Added additional error handler code +* Added AddCustomHeader() function +* Added support for Microsoft mail client headers (affects priority) +* Fixed small bug with Mailer variable +* Added PrintVersion() function + +Version 0.92 (Tue, May 15 2001) +* Changed file names to class.phpmailer.php and class.smtp.php to match + current PHP class trend. +* Fixed problem where body not being printed when a message is attached +* Several small bug fixes + +Version 0.90 (Tue, April 17 2001) +* Intial public release Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/LICENSE =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/LICENSE 2012-02-22 03:12:20 UTC (rev 9044) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/mail/phpmailer/LICENSE 2012-02-22 04:43:55 UTC (rev 9045) @@ -1,504 +1,504 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO W... [truncated message content] |
From: <be...@us...> - 2012-03-14 20:48:54
|
Revision: 9132 http://xoops.svn.sourceforge.net/xoops/?rev=9132&view=rev Author: beckmi Date: 2012-03-14 20:48:48 +0000 (Wed, 14 Mar 2012) Log Message: ----------- Adding check for local timezone (by XavierS) Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-14 18:44:26 UTC (rev 9131) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-14 20:48:48 UTC (rev 9132) @@ -1,6 +1,12 @@ XOOPS 2.5.x Changelog (Language changes: see: /docs/lang_diff.txt) =============================== +2011/03/14: Version 2.5.5 RC +=============================== +Bugfixes: + - adding missing check for local timezone (XavierS) + +=============================== 2011/02/19: Version 2.5.5 Beta =============================== Security fixes: Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php 2012-03-14 18:44:26 UTC (rev 9131) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php 2012-03-14 20:48:48 UTC (rev 9132) @@ -128,6 +128,13 @@ trigger_error('File Path Error: ' . 'var/configs/xoopsconfig.php' . ' does not exist.'); } +//check if user set a local timezone +$xoops_server_timezone="Etc/GMT"; +if ($xoopsConfig["server_TZ"]>0) { + $xoops_server_timezone .="+".$xoopsConfig["server_TZ"]; } else{ + $xoops_server_timezone .=$xoopsConfig["server_TZ"]; } date_default_timezone_set($xoops_server_timezone); + + /** * Enable Gzip compression, r * Requires configs loaded and should go before any output This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-03-15 14:13:31
|
Revision: 9136 http://xoops.svn.sourceforge.net/xoops/?rev=9136&view=rev Author: beckmi Date: 2012-03-15 14:13:24 +0000 (Thu, 15 Mar 2012) Log Message: ----------- replacing "msnbot" with "bingbot" in Protector Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/xoops_version.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-15 14:13:24 UTC (rev 9136) @@ -6,6 +6,9 @@ Bugfixes: - adding missing check for local timezone (XavierS) +Improved: + - replacing "msnbot" with "bingbot" in Protector (mamba) + =============================== 2011/02/19: Version 2.5.5 Beta =============================== Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -81,7 +81,7 @@ define($constpref.'_DOS_CRACTION','\xC7\xE1\xDA\xE3\xE1 \xCD\xC7\xE1 \xC7\xDF\xCA\xD4\xC7\xDD \xDA\xE3\xE1\xED\xC7\xCA \xC7\xE4\xD4\xC7\xC1 \xD6\xDB\xD8 \xDA\xC7\xE1\xED \xDA\xE1\xEC \xC7\xE1\xE3\xE6\xDE\xDA'); define($constpref.'_DOS_CRSAFE','\xE3\xCD\xD1\xDF\xC7\xCA \xC7\xE1\xC8\xCD\xCB \xC7\xE1\xE3\xD3\xE3\xE6\xCD \xE1\xE5\xC7 '); -define($constpref.'_DOS_CRSAFEDSC','\xDF\xE1 \xE3\xCD\xD1\xDF\xC7\xCA \xC7\xE1\xC8\xCD\xCB \xC7\xE1\xE3\xD6\xC7\xDD\xC9 \xC8\xC7\xE1\xCD\xDE\xE1 \xE1\xE4 \xCA\xDA\xCA\xC8\xD1 \xE3\xCD\xD1\xDF\xC7\xCA \xC8\xCD\xCB \xD3\xED\xC6\xC9 \xC7\xE6 \xCA\xCD\xCF\xCB \xD6\xDB\xD8 \xDA\xE1\xEC \xC7\xE1\xE3\xE6\xDE\xDA<br />\xE3\xCB\xE1<br />eg) /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','\xDF\xE1 \xE3\xCD\xD1\xDF\xC7\xCA \xC7\xE1\xC8\xCD\xCB \xC7\xE1\xE3\xD6\xC7\xDD\xC9 \xC8\xC7\xE1\xCD\xDE\xE1 \xE1\xE4 \xCA\xDA\xCA\xC8\xD1 \xE3\xCD\xD1\xDF\xC7\xCA \xC8\xCD\xCB \xD3\xED\xC6\xC9 \xC7\xE6 \xCA\xCD\xCF\xCB \xD6\xDB\xD8 \xDA\xE1\xEC \xC7\xE1\xE3\xE6\xDE\xDA<br />\xE3\xCB\xE1<br />eg) /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','\xE1\xC7\xD4\xED\xC1 \xDD\xDE\xD8 \xD3\xCC\xE1 \xC7\xE1\xDA\xE3\xE1\xED\xC9'); define($constpref.'_OPT_SAN','\xCA\xDA\xDE\xED\xE3 \xC7\xE1\xC7\xE3\xD1'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -86,7 +86,7 @@ define($constpref.'_DOS_CRACTION','Masnahmen gegen Server-intensive Suchmaschinen'); define($constpref.'_DOS_CRSAFE','Zugelassene User-Agents'); -define($constpref.'_DOS_CRSAFEDSC','Ein regulaeer Perl-Ausdruck fur User-Agents.<br />Wenn der Ausdruck zutrifft, wird die Suchmaschine niemals als Server-intensiv eingestuft.<br />Bsp: (msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','Ein regulaeer Perl-Ausdruck fur User-Agents.<br />Wenn der Ausdruck zutrifft, wird die Suchmaschine niemals als Server-intensiv eingestuft.<br />Bsp: (bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','Keine (nur logging)'); define($constpref.'_OPT_SAN','Sanitizing (Sauberung)'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -81,7 +81,7 @@ define($constpref.'_DOS_CRACTION','Action against high loading Crawlers'); define($constpref.'_DOS_CRSAFE','Welcomed User-Agent'); -define($constpref.'_DOS_CRSAFEDSC','A perl regex pattern for User-Agent.<br />If it matches, the crawler is never considered as a high loading crawler.<br />eg) /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','A perl regex pattern for User-Agent.<br />If it matches, the crawler is never considered as a high loading crawler.<br />eg) /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','None (only logging)'); define($constpref.'_OPT_SAN','Sanitizing'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -92,7 +92,7 @@ define($constpref."_DOS_CRACTION","Action lors des crawlers malicieux"); define($constpref."_DOS_CRSAFE","User-Agent autorisés"); -define($constpref."_DOS_CRSAFEDSC","Regex Perl pour les User-Agents.<br /> Evite de considérer le crawler comme un aspirateur.<br/> Ex.: msnbot|Googlebot|Yahoo! Slurp"); +define($constpref."_DOS_CRSAFEDSC","Regex Perl pour les User-Agents.<br /> Evite de considérer le crawler comme un aspirateur.<br/> Ex.: bingbot|Googlebot|Yahoo! Slurp"); define($constpref."_OPT_NONE","Aucune (enregistrer seulement)"); define($constpref."_OPT_SAN","Filtrer"); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -92,7 +92,7 @@ define($constpref."_DOS_CRACTION","Action si des crawlers malicieux sont détectés"); define($constpref."_DOS_CRSAFE","User-Agent autorisés"); -define($constpref."_DOS_CRSAFEDSC","Regex Perl pour les User-Agents.<br /> Si il coincide, le crawler n'est plus considéré comme un aspirateur.<br/> Ex.: msnbot|Googlebot|Yahoo! Slurp"); +define($constpref."_DOS_CRSAFEDSC","Regex Perl pour les User-Agents.<br /> Si il coincide, le crawler n'est plus considéré comme un aspirateur.<br/> Ex.: bingbot|Googlebot|Yahoo! Slurp"); define($constpref."_OPT_NONE","Aucune (enregistrer seulement)"); define($constpref."_OPT_SAN","Sanitiser"); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -99,7 +99,7 @@ define($constpref.'_DOS_CRACTION','Ma\xDFnahmen gegen Server-intensive Suchmaschinen'); define($constpref.'_DOS_CRSAFE','Zugelassene User-Agents'); -define($constpref.'_DOS_CRSAFEDSC','Ein regulaeer Perl-Ausdruck f\xFCrUser-Agents.<br />Wenn der Ausdruck zutrifft, wird die Suchmaschine niemals als Server-intensiv eingestuft.<br />Bsp: (msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','Ein regulaeer Perl-Ausdruck f\xFCrUser-Agents.<br />Wenn der Ausdruck zutrifft, wird die Suchmaschine niemals als Server-intensiv eingestuft.<br />Bsp: (bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','Keine (nur logging)'); define($constpref.'_OPT_SAN','Sanitizing (S\xE4uberung)'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -83,7 +83,7 @@ define($constpref.'_DOS_CRACTION','Azione contro Crawler troppo invasivi'); define($constpref.'_DOS_CRSAFE','User-Agent benvenuti'); -define($constpref.'_DOS_CRSAFEDSC','Un pattern regex per gli User-Agent.<br />Se coincidente, il crawler non verrà mai considerato troppo invasivo.<br />(es.) /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','Un pattern regex per gli User-Agent.<br />Se coincidente, il crawler non verrà mai considerato troppo invasivo.<br />(es.) /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','Nessuna (solo log)'); define($constpref.'_OPT_SAN','Sterilizzazione'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -81,7 +81,7 @@ define($constpref.'_DOS_CRACTION','悪意あるクローラーへの対処'); define($constpref.'_DOS_CRSAFE','拒否しない User-Agent'); -define($constpref.'_DOS_CRSAFEDSC','無条件でクロール許可するエージェント名を、perlの正規表現で記述します<br />例) /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','無条件でクロール許可するエージェント名を、perlの正規表現で記述します<br />例) /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','なし (ログのみ取る)'); define($constpref.'_OPT_SAN','無害化'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -81,7 +81,7 @@ define($constpref.'_DOS_CRACTION','\xB0\xAD\xB0դ\xA2\xA4륯\xA5\x{D87C}\xA5顼\xA4ؤ\xCE\xC2н\xE8'); define($constpref.'_DOS_CRSAFE','\xB5\xF1\xC8ݤ\xB7\xA4ʤ\xA4 User-Agent'); -define($constpref.'_DOS_CRSAFEDSC','̵\xBE\xF2\xB7\xEF\xA4ǥ\xAF\xA5\x{D87C}\xA5\xEB\xB5\xF6\xB2Ĥ\xB9\xA4륨\xA1\xBC\xA5\xB8\xA5\xA7\xA5\xF3\xA5\xC8̾\xA4\xF2\xA1\xA2perl\xA4\xCE\xC0\xB5\xB5\xACɽ\xB8\xBD\xA4ǵ\xAD\xBDҤ\xB7\xA4ޤ\xB9<br />\xCE\xE3) /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','̵\xBE\xF2\xB7\xEF\xA4ǥ\xAF\xA5\x{D87C}\xA5\xEB\xB5\xF6\xB2Ĥ\xB9\xA4륨\xA1\xBC\xA5\xB8\xA5\xA7\xA5\xF3\xA5\xC8̾\xA4\xF2\xA1\xA2perl\xA4\xCE\xC0\xB5\xB5\xACɽ\xB8\xBD\xA4ǵ\xAD\xBDҤ\xB7\xA4ޤ\xB9<br />\xCE\xE3) /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','\xA4ʤ\xB7 (\xA5\x{D970}\xA4Τ\xE8\xA4\xEB)'); define($constpref.'_OPT_SAN','̵\xB3\xB2\xB2\xBD'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -94,7 +94,7 @@ define($constpref.'_DOS_CRACTION','Handeling tegen snel aanvragende web-crawlers'); define($constpref.'_DOS_CRSAFE','Gewenste user-agents'); -define($constpref.'_DOS_CRSAFEDSC','Een perl regex patroon om de user-agent te herkennen.<br />Als het overeenkomt, zal de web-crawler nooit als ongewenst worden beschouwd.<br />eg) /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','Een perl regex patroon om de user-agent te herkennen.<br />Als het overeenkomt, zal de web-crawler nooit als ongewenst worden beschouwd.<br />eg) /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','Geen (alleen vastleggen in logbestand)'); define($constpref.'_OPT_SAN','Opschonen'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -91,7 +91,7 @@ define($constpref.'_DOS_CRACTION','عکس العمل در برابر لود بیش از حد به وسیله ی روبات های خزنده ی موتور های جستجو'); define($constpref.'_DOS_CRSAFE','رباط های خزنده مجاز به ورود'); -define($constpref.'_DOS_CRSAFEDSC','روش به کار رفته برای جدا سازی رباط های خزنده متور های جستجو (User-Agent) از هم.<br />اگر به خوبی تنظیم شود ( خزنده در لیست رو به رو باشد), رابط های خزنده نمیتوانند لود بیش از حد ایجاد کنند.<br />نمونه :) /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','روش به کار رفته برای جدا سازی رباط های خزنده متور های جستجو (User-Agent) از هم.<br />اگر به خوبی تنظیم شود ( خزنده در لیست رو به رو باشد), رابط های خزنده نمیتوانند لود بیش از حد ایجاد کنند.<br />نمونه :) /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','هیچکدام( فقط گزارش)'); define($constpref.'_OPT_SAN','پاک سازی داده ها از کد های خطرناک '); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -98,7 +98,7 @@ define($constpref.'_DOS_CRACTION',"Solu\xE7\xE3o para crawlers maliciosos"); define($constpref.'_DOS_CRSAFE',"User-Agent permitidos"); -define($constpref.'_DOS_CRSAFEDSC',"Descreva incondicionalmente o nome dos prov\xE1veis crawlers com uma perl regex pattern.<br />Ex.: /(msnbot|Googlebot|Yahoo! Slurp)/i"); +define($constpref.'_DOS_CRSAFEDSC',"Descreva incondicionalmente o nome dos prov\xE1veis crawlers com uma perl regex pattern.<br />Ex.: /(bingbot|Googlebot|Yahoo! Slurp)/i"); define($constpref.'_OPT_NONE',"Nenhuma (apenas gerar log)"); define($constpref.'_OPT_SAN',"Sanitiza\xE7\xE3o"); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -105,7 +105,7 @@ define($constpref.'_DOS_CRACTION','\xC4\xE5\xE9\xF1\xF2\xE2\xE8\xE5 \xEF\xF0\xE8 \xEE\xE1\xED\xE0\xF0\xF3\xE6\xE5\xED\xE8\xE8 "\xCF\xEB\xEE\xF5\xE8\xF5" \xD0\xEE\xE1\xEE\xF2\xEE\xE2.'); define($constpref.'_DOS_CRSAFE','\xC0\xE3\xE5\xED\xF2\xFB \xEF\xEE\xEB\xFC\xE7\xEE\xE2\xE0\xF2\xE5\xEB\xFF (User-Agent) \xED\xE5 \xEE\xEF\xEE\xE7\xED\xE0\xE2\xE0\xE5\xEC\xFB\xE5 \xEA\xE0\xEA "\xCF\xEB\xEE\xF5\xE8\xE5"'); -define($constpref.'_DOS_CRSAFEDSC','\xD0\xE5\xE3\xF3\xEB\xFF\xF0\xED\xEE\xE5 \xE2\xFB\xF0\xE0\xE6\xE5\xED\xE8\xE5 perl \xE4\xEB\xFF \xEF\xEE\xEB\xFF \xC0\xE3\xE5\xED\xF2\xE0 \xCF\xEE\xEB\xFC\xE7\xEE\xE2\xE0\xF2\xE5\xEB\xFF (User-Agent).<br />\xC2 \xF1\xEB\xF3\xF7\xE0\xE5 \xF1\xEE\xE2\xEF\xE0\xE4\xE5\xED\xE8\xFF \xE0\xE3\xE5\xED\xF2\xE0 \xEF\xEE\xF1\xE5\xF2\xE8\xF2\xE5\xEB\xFF \xF1 \xF3\xEA\xE0\xE7\xE0\xED\xFB\xEC \xE2\xFB\xF0\xE0\xE6\xE5\xED\xE8\xE5\xEC - \xD0\xEE\xE1\xEE\xF2 \xED\xE8\xEA\xEE\xE3\xE4\xE0 \xED\xE5 \xF0\xE0\xF1\xEF\xEE\xE7\xED\xE0\xE5\xF2\xF1\xFF \xEA\xE0\xEA "\xCF\xEB\xEE\xF5\xEE\xE9".<br />\xCF\xF0\xE8\xEC\xE5\xF0: /(msnbot|Googlebot|Yandex|Yahoo! Slurp|StackRambler)/i'); +define($constpref.'_DOS_CRSAFEDSC','\xD0\xE5\xE3\xF3\xEB\xFF\xF0\xED\xEE\xE5 \xE2\xFB\xF0\xE0\xE6\xE5\xED\xE8\xE5 perl \xE4\xEB\xFF \xEF\xEE\xEB\xFF \xC0\xE3\xE5\xED\xF2\xE0 \xCF\xEE\xEB\xFC\xE7\xEE\xE2\xE0\xF2\xE5\xEB\xFF (User-Agent).<br />\xC2 \xF1\xEB\xF3\xF7\xE0\xE5 \xF1\xEE\xE2\xEF\xE0\xE4\xE5\xED\xE8\xFF \xE0\xE3\xE5\xED\xF2\xE0 \xEF\xEE\xF1\xE5\xF2\xE8\xF2\xE5\xEB\xFF \xF1 \xF3\xEA\xE0\xE7\xE0\xED\xFB\xEC \xE2\xFB\xF0\xE0\xE6\xE5\xED\xE8\xE5\xEC - \xD0\xEE\xE1\xEE\xF2 \xED\xE8\xEA\xEE\xE3\xE4\xE0 \xED\xE5 \xF0\xE0\xF1\xEF\xEE\xE7\xED\xE0\xE5\xF2\xF1\xFF \xEA\xE0\xEA "\xCF\xEB\xEE\xF5\xEE\xE9".<br />\xCF\xF0\xE8\xEC\xE5\xF0: /(bingbot|Googlebot|Yandex|Yahoo! Slurp|StackRambler)/i'); define($constpref.'_OPT_NONE','\xCD\xE8\xF7\xE5\xE3\xEE (\xF2\xEE\xEB\xFC\xEA\xEE \xE7\xE0\xEF\xE8\xF1\xFC \xE2 \xE6\xF3\xF0\xED\xE0\xEB\xE5)'); define($constpref.'_OPT_SAN','\xCE\xF7\xE8\xF1\xF2\xEA\xE0'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -77,7 +77,7 @@ define($constpref.'_DOS_CRACTION','针对高负荷爬虫的措施'); define($constpref.'_DOS_CRSAFE','受欢迎的User-Agent'); -define($constpref.'_DOS_CRSAFEDSC','User-Agent的perl正则表达式.<br />如果符合该表达式, 该爬虫将不再当作高负荷爬虫处理.<br />例如 /(Baidu|msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','User-Agent的perl正则表达式.<br />如果符合该表达式, 该爬虫将不再当作高负荷爬虫处理.<br />例如 /(Baidu|bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','否 (只记录)'); define($constpref.'_OPT_SAN','转换'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -97,7 +97,7 @@ define($constpref.'_DOS_CRACTION','Acci\xF3n contra Crawlers de carga frecuente'); define($constpref.'_DOS_CRSAFE','Agente-Usuario bienvenido'); -define($constpref.'_DOS_CRSAFEDSC','Un patr\xF3n de perl regex para Agente-Usuario.<br />Si concuerda, el crawler nunca es considerado como de carga frecuente.<br />Por ejemplo: /(msnbot|Googlebot|Yahoo! Slurp)/i'); +define($constpref.'_DOS_CRSAFEDSC','Un patr\xF3n de perl regex para Agente-Usuario.<br />Si concuerda, el crawler nunca es considerado como de carga frecuente.<br />Por ejemplo: /(bingbot|Googlebot|Yahoo! Slurp)/i'); define($constpref.'_OPT_NONE','Ninguna (s\xF3lo registro)'); define($constpref.'_OPT_SAN','Limpieza'); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/xoops_version.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/xoops_version.php 2012-03-15 13:29:53 UTC (rev 9135) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/xoops_version.php 2012-03-15 14:13:24 UTC (rev 9136) @@ -277,7 +277,7 @@ 'description' => $constpref.'_DOS_CRSAFEDSC' , 'formtype' => 'text' , 'valuetype' => 'text' , - 'default' => "/(msnbot|Googlebot|Yahoo! Slurp)/i" , + 'default' => "/(bingbot|Googlebot|Yahoo! Slurp)/i" , 'options' => array() ) ; $modversion['config'][] = array( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-03-18 09:15:36
|
Revision: 9152 http://xoops.svn.sourceforge.net/xoops/?rev=9152&view=rev Author: beckmi Date: 2012-03-18 09:15:30 +0000 (Sun, 18 Mar 2012) Log Message: ----------- Bug #3494895: When changing the # of visible entries, it goes to Admin Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/center.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/advisory.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/center.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/mymenu.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/prefix_manager.php Added Paths: ----------- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/advisory.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/prefix_manager.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-18 06:09:54 UTC (rev 9151) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-18 09:15:30 UTC (rev 9152) @@ -5,6 +5,7 @@ =============================== Bugfixes: - adding missing check for local timezone (XavierS) + - ID: 3494895: When changing the # of visible entries, it goes to Admin Improved: - replacing "msnbot" with "bingbot" in Protector (mamba) Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/advisory.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/advisory.php (rev 0) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/advisory.php 2012-03-18 09:15:30 UTC (rev 9152) @@ -0,0 +1,12 @@ +<?php + +require '../../../mainfile.php' ; +if( ! defined( 'XOOPS_TRUST_PATH' ) ) die( 'set XOOPS_TRUST_PATH in mainfile.php' ) ; + +$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ; +$mydirpath = dirname( dirname( __FILE__ ) ) ; +require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname + +require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/admin/advisory.php' ; + +?> \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/center.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/center.php 2012-03-18 06:09:54 UTC (rev 9151) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/center.php 2012-03-18 09:15:30 UTC (rev 9152) @@ -7,6 +7,7 @@ $mydirpath = dirname( dirname( __FILE__ ) ) ; require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname -require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/admin.php' ; +//require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/admin.php' ; +require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/admin/center.php' ; ?> \ No newline at end of file Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/prefix_manager.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/prefix_manager.php (rev 0) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/protector/admin/prefix_manager.php 2012-03-18 09:15:30 UTC (rev 9152) @@ -0,0 +1,12 @@ +<?php + +require '../../../mainfile.php' ; +if( ! defined( 'XOOPS_TRUST_PATH' ) ) die( 'set XOOPS_TRUST_PATH in mainfile.php' ) ; + +$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ; +$mydirpath = dirname( dirname( __FILE__ ) ) ; +require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname + +require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/admin/prefix_manager.php' ; + +?> \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/advisory.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/advisory.php 2012-03-18 06:09:54 UTC (rev 9151) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/advisory.php 2012-03-18 09:15:30 UTC (rev 9152) @@ -1,5 +1,6 @@ <?php - +include '../../../include/cp_header.php'; +include 'admin_header.php'; $db =& XoopsDatabaseFactory::getDatabaseConnection(); // beggining of Output Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/center.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/center.php 2012-03-18 06:09:54 UTC (rev 9151) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/center.php 2012-03-18 09:15:30 UTC (rev 9152) @@ -1,9 +1,9 @@ <?php +//require_once XOOPS_ROOT_PATH.'/include/cp_header.php' ; +include_once 'admin_header.php'; //mb problem: it shows always the same "Center" tab require_once XOOPS_ROOT_PATH.'/class/pagenav.php' ; require_once dirname(dirname(__FILE__)).'/class/gtickets.php' ; -//include_once 'admin_header.php'; //mb problem: it shows always the - //dirty trick to get navigation working with system menus if(isset($_GET['num'])) { $_SERVER['REQUEST_URI'] = 'admin/center.php?page=center'; Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/mymenu.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/mymenu.php 2012-03-18 06:09:54 UTC (rev 9151) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/mymenu.php 2012-03-18 09:15:30 UTC (rev 9152) @@ -1,9 +1,10 @@ <?php - // Skip for ORETEKI XOOPS if( defined( 'XOOPS_ORETEKI' ) ) return ; -global $xoopsModule ; +global $xoopsModule; +$mydirpath = dirname( dirname( __FILE__ ) ) ; + if( ! is_object( $xoopsModule ) ) die( '$xoopsModule is not set' ) ; // language files (modinfo.php) @@ -17,6 +18,8 @@ } else { // fallback english include_once "$mytrustdirpath/language/english/modinfo.php" ; + + } include dirname(dirname(__FILE__)).'/admin_menu.php' ; Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/prefix_manager.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/prefix_manager.php 2012-03-18 06:09:54 UTC (rev 9151) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/admin/prefix_manager.php 2012-03-18 09:15:30 UTC (rev 9152) @@ -1,5 +1,6 @@ <?php - +include '../../../include/cp_header.php'; +include 'admin_header.php'; require_once dirname(dirname(__FILE__)).'/class/gtickets.php' ; $db =& XoopsDatabaseFactory::getDatabaseConnection(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-03-18 09:31:32
|
Revision: 9153 http://xoops.svn.sourceforge.net/xoops/?rev=9153&view=rev Author: beckmi Date: 2012-03-18 09:31:22 +0000 (Sun, 18 Mar 2012) Log Message: ----------- Updated HTML Purifier to 4.4.0 Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/FontFamily.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/URI.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/Color.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/ID.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI/Host.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/ImgRequired.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/SafeParam.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTypes.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Bootstrap.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/CSSDefinition.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/Table.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Config.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema.ser XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Definition.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/DefinitionCache/Serializer.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ElementDef.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Encoder.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/EntityLookup/entities.ser XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Filter/ExtractStyleBlocks.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Filter/YouTube.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Generator.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLDefinition.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/Forms.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/Legacy.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/List.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/SafeEmbed.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/SafeObject.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/Tables.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModuleManager.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Injector/AutoParagraph.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Injector/SafeObject.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Language/messages/en.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Lexer/DOMLex.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Lexer/DirectLex.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Lexer/PH5P.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Lexer.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Strategy/Composite.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Strategy/MakeWellFormed.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Strategy/RemoveForeignElements.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/TagTransform/Font.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Token/Tag.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URI.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIDefinition.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIFilter/HostBlacklist.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIFilter/Munge.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIFilter.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/ftp.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/http.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/https.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/mailto.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/news.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/nntp.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/VarParser/Flexible.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier.autoload.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier.includes.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier.safe-includes.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/INSTALL XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/NEWS Added Paths: ----------- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/Ident.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/Clone.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/Nofollow.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/TargetBlank.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/List.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/Iframe.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/Nofollow.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/TargetBlank.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIFilter/DisableResources.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIFilter/SafeIframe.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/data.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/URIScheme/file.php Removed Paths: ------------- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigDef/ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ConfigDef.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/DefinitionCache/Serializer/CSS/ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/DefinitionCache/Serializer/HTML/ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/DefinitionCache/Serializer/Test/ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/DefinitionCache/Serializer/URI/ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Error.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/HTMLModule/Tidy/XHTMLStrict.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Lexer/PEARSax3.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-18 09:31:22 UTC (rev 9153) @@ -5,11 +5,14 @@ =============================== Bugfixes: - adding missing check for local timezone (XavierS) - - ID: 3494895: When changing the # of visible entries, it goes to Admin + - ID: 3494895: When changing the # of visible entries, it goes to Admin (jcweb/mamba) Improved: - replacing "msnbot" with "bingbot" in Protector (mamba) +Updated: + - HTML Purifier to 4.4.0 (mamba) + =============================== 2011/02/19: Version 2.5.5 Beta =============================== Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -59,7 +59,8 @@ $keywords = array(); $keywords['h'] = false; // left, right $keywords['v'] = false; // top, bottom - $keywords['c'] = false; // center + $keywords['ch'] = false; // center (first word) + $keywords['cv'] = false; // center (second word) $measures = array(); $i = 0; @@ -79,6 +80,13 @@ $lbit = ctype_lower($bit) ? $bit : strtolower($bit); if (isset($lookup[$lbit])) { $status = $lookup[$lbit]; + if ($status == 'c') { + if ($i == 0) { + $status = 'ch'; + } else { + $status = 'cv'; + } + } $keywords[$status] = $lbit; $i++; } @@ -101,20 +109,19 @@ if (!$i) return false; // no valid values were caught - $ret = array(); // first keyword if ($keywords['h']) $ret[] = $keywords['h']; + elseif ($keywords['ch']) { + $ret[] = $keywords['ch']; + $keywords['cv'] = false; // prevent re-use: center = center center + } elseif (count($measures)) $ret[] = array_shift($measures); - elseif ($keywords['c']) { - $ret[] = $keywords['c']; - $keywords['c'] = false; // prevent re-use: center = center center - } if ($keywords['v']) $ret[] = $keywords['v']; + elseif ($keywords['cv']) $ret[] = $keywords['cv']; elseif (count($measures)) $ret[] = array_shift($measures); - elseif ($keywords['c']) $ret[] = $keywords['c']; if (empty($ret)) return false; return implode(' ', $ret); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/FontFamily.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/FontFamily.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/FontFamily.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -2,11 +2,43 @@ /** * Validates a font family list according to CSS spec - * @todo whitelisting allowed fonts would be nice */ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef { + protected $mask = null; + + public function __construct() { + $this->mask = '- '; + for ($c = 'a'; $c <= 'z'; $c++) $this->mask .= $c; + for ($c = 'A'; $c <= 'Z'; $c++) $this->mask .= $c; + for ($c = '0'; $c <= '9'; $c++) $this->mask .= $c; // cast-y, but should be fine + // special bytes used by UTF-8 + for ($i = 0x80; $i <= 0xFF; $i++) { + // We don't bother excluding invalid bytes in this range, + // because the our restriction of well-formed UTF-8 will + // prevent these from ever occurring. + $this->mask .= chr($i); + } + + /* + PHP's internal strcspn implementation is + O(length of string * length of mask), making it inefficient + for large masks. However, it's still faster than + preg_match 8) + for (p = s1;;) { + spanp = s2; + do { + if (*spanp == c || p == s1_end) { + return p - s1; + } + } while (spanp++ < (s2_end - 1)); + c = *++p; + } + */ + // possible optimization: invert the mask. + } + public function validate($string, $config, $context) { static $generic_names = array( 'serif' => true, @@ -15,6 +47,7 @@ 'fantasy' => true, 'cursive' => true ); + $allowed_fonts = $config->get('CSS.AllowedFonts'); // assume that no font names contain commas in them $fonts = explode(',', $string); @@ -24,7 +57,9 @@ if ($font === '') continue; // match a generic name if (isset($generic_names[$font])) { - $final .= $font . ', '; + if ($allowed_fonts === null || isset($allowed_fonts[$font])) { + $final .= $font . ', '; + } continue; } // match a quoted name @@ -34,50 +69,122 @@ $quote = $font[0]; if ($font[$length - 1] !== $quote) continue; $font = substr($font, 1, $length - 2); + } - $new_font = ''; - for ($i = 0, $c = strlen($font); $i < $c; $i++) { - if ($font[$i] === '\\') { - $i++; - if ($i >= $c) { - $new_font .= '\\'; - break; - } - if (ctype_xdigit($font[$i])) { - $code = $font[$i]; - for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) { - if (!ctype_xdigit($font[$i])) break; - $code .= $font[$i]; - } - // We have to be extremely careful when adding - // new characters, to make sure we're not breaking - // the encoding. - $char = HTMLPurifier_Encoder::unichr(hexdec($code)); - if (HTMLPurifier_Encoder::cleanUTF8($char) === '') continue; - $new_font .= $char; - if ($i < $c && trim($font[$i]) !== '') $i--; - continue; - } - if ($font[$i] === "\n") continue; - } - $new_font .= $font[$i]; - } + $font = $this->expandCSSEscape($font); - $font = $new_font; - } // $font is a pure representation of the font name + if ($allowed_fonts !== null && !isset($allowed_fonts[$font])) { + continue; + } + if (ctype_alnum($font) && $font !== '') { // very simple font, allow it in unharmed $final .= $font . ', '; continue; } - // complicated font, requires quoting + // bugger out on whitespace. form feed (0C) really + // shouldn't show up regardless + $font = str_replace(array("\n", "\t", "\r", "\x0C"), ' ', $font); - // armor single quotes and new lines - $font = str_replace("\\", "\\\\", $font); - $font = str_replace("'", "\\'", $font); + // Here, there are various classes of characters which need + // to be treated differently: + // - Alphanumeric characters are essentially safe. We + // handled these above. + // - Spaces require quoting, though most parsers will do + // the right thing if there aren't any characters that + // can be misinterpreted + // - Dashes rarely occur, but they fairly unproblematic + // for parsing/rendering purposes. + // The above characters cover the majority of Western font + // names. + // - Arbitrary Unicode characters not in ASCII. Because + // most parsers give little thought to Unicode, treatment + // of these codepoints is basically uniform, even for + // punctuation-like codepoints. These characters can + // show up in non-Western pages and are supported by most + // major browsers, for example: "MS 明朝" is a + // legitimate font-name + // <http://ja.wikipedia.org/wiki/MS_明朝>. See + // the CSS3 spec for more examples: + // <http://www.w3.org/TR/2011/WD-css3-fonts-20110324/localizedfamilynames.png> + // You can see live samples of these on the Internet: + // <http://www.google.co.jp/search?q=font-family+MS+明朝|ゴシック> + // However, most of these fonts have ASCII equivalents: + // for example, 'MS Mincho', and it's considered + // professional to use ASCII font names instead of + // Unicode font names. Thanks Takeshi Terada for + // providing this information. + // The following characters, to my knowledge, have not been + // used to name font names. + // - Single quote. While theoretically you might find a + // font name that has a single quote in its name (serving + // as an apostrophe, e.g. Dave's Scribble), I haven't + // been able to find any actual examples of this. + // Internet Explorer's cssText translation (which I + // believe is invoked by innerHTML) normalizes any + // quoting to single quotes, and fails to escape single + // quotes. (Note that this is not IE's behavior for all + // CSS properties, just some sort of special casing for + // font-family). So a single quote *cannot* be used + // safely in the font-family context if there will be an + // innerHTML/cssText translation. Note that Firefox 3.x + // does this too. + // - Double quote. In IE, these get normalized to + // single-quotes, no matter what the encoding. (Fun + // fact, in IE8, the 'content' CSS property gained + // support, where they special cased to preserve encoded + // double quotes, but still translate unadorned double + // quotes into single quotes.) So, because their + // fixpoint behavior is identical to single quotes, they + // cannot be allowed either. Firefox 3.x displays + // single-quote style behavior. + // - Backslashes are reduced by one (so \\ -> \) every + // iteration, so they cannot be used safely. This shows + // up in IE7, IE8 and FF3 + // - Semicolons, commas and backticks are handled properly. + // - The rest of the ASCII punctuation is handled properly. + // We haven't checked what browsers do to unadorned + // versions, but this is not important as long as the + // browser doesn't /remove/ surrounding quotes (as IE does + // for HTML). + // + // With these results in hand, we conclude that there are + // various levels of safety: + // - Paranoid: alphanumeric, spaces and dashes(?) + // - International: Paranoid + non-ASCII Unicode + // - Edgy: Everything except quotes, backslashes + // - NoJS: Standards compliance, e.g. sod IE. Note that + // with some judicious character escaping (since certain + // types of escaping doesn't work) this is theoretically + // OK as long as innerHTML/cssText is not called. + // We believe that international is a reasonable default + // (that we will implement now), and once we do more + // extensive research, we may feel comfortable with dropping + // it down to edgy. + + // Edgy: alphanumeric, spaces, dashes and Unicode. Use of + // str(c)spn assumes that the string was already well formed + // Unicode (which of course it is). + if (strspn($font, $this->mask) !== strlen($font)) { + continue; + } + + // Historical: + // In the absence of innerHTML/cssText, these ugly + // transforms don't pose a security risk (as \\ and \" + // might--these escapes are not supported by most browsers). + // We could try to be clever and use single-quote wrapping + // when there is a double quote present, but I have choosen + // not to implement that. (NOTE: you can reduce the amount + // of escapes by one depending on what quoting style you use) + // $font = str_replace('\\', '\\5C ', $font); + // $font = str_replace('"', '\\22 ', $font); + // $font = str_replace("'", '\\27 ', $font); + + // font possibly with spaces, requires quoting $final .= "'$font', "; } $final = rtrim($final, ', '); Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/Ident.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/Ident.php (rev 0) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/Ident.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -0,0 +1,24 @@ +<?php + +/** + * Validates based on {ident} CSS grammar production + */ +class HTMLPurifier_AttrDef_CSS_Ident extends HTMLPurifier_AttrDef +{ + + public function validate($string, $config, $context) { + + $string = trim($string); + + // early abort: '' and '0' (strings that convert to false) are invalid + if (!$string) return false; + + $pattern = '/^(-?[A-Za-z_][A-Za-z_\-0-9]*)$/'; + if (!preg_match($pattern, $string)) return false; + return $string; + + } + +} + +// vim: et sw=4 sts=4 Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/URI.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/URI.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/CSS/URI.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -34,21 +34,26 @@ $uri = substr($uri, 1, $new_length - 1); } - $keys = array( '(', ')', ',', ' ', '"', "'"); - $values = array('\\(', '\\)', '\\,', '\\ ', '\\"', "\\'"); - $uri = str_replace($values, $keys, $uri); + $uri = $this->expandCSSEscape($uri); $result = parent::validate($uri, $config, $context); if ($result === false) return false; - // escape necessary characters according to CSS spec - // except for the comma, none of these should appear in the - // URI at all - $result = str_replace($keys, $values, $result); + // extra sanity check; should have been done by URI + $result = str_replace(array('"', "\\", "\n", "\x0c", "\r"), "", $result); - return "url($result)"; + // suspicious characters are ()'; we're going to percent encode + // them for safety. + $result = str_replace(array('(', ')', "'"), array('%28', '%29', '%27'), $result); + // there's an extra bug where ampersands lose their escaping on + // an innerHTML cycle, so a very unlucky query parameter could + // then change the meaning of the URL. Unfortunately, there's + // not much we can do about that... + + return "url(\"$result\")"; + } } Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/Clone.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/Clone.php (rev 0) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/Clone.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -0,0 +1,28 @@ +<?php + +/** + * Dummy AttrDef that mimics another AttrDef, BUT it generates clones + * with make. + */ +class HTMLPurifier_AttrDef_Clone extends HTMLPurifier_AttrDef +{ + /** + * What we're cloning + */ + protected $clone; + + public function __construct($clone) { + $this->clone = $clone; + } + + public function validate($v, $config, $context) { + return $this->clone->validate($v, $config, $context); + } + + public function make($string) { + return clone $this->clone; + } + +} + +// vim: et sw=4 sts=4 Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/Color.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/Color.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/Color.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -14,7 +14,7 @@ $string = trim($string); if (empty($string)) return false; - if (isset($colors[$string])) return $colors[$string]; + if (isset($colors[strtolower($string)])) return $colors[$string]; if ($string[0] === '#') $hex = substr($string, 1); else $hex = $string; Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/ID.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/ID.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/HTML/ID.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -12,12 +12,22 @@ class HTMLPurifier_AttrDef_HTML_ID extends HTMLPurifier_AttrDef { - // ref functionality disabled, since we also have to verify - // whether or not the ID it refers to exists + // selector is NOT a valid thing to use for IDREFs, because IDREFs + // *must* target IDs that exist, whereas selector #ids do not. + /** + * Determines whether or not we're validating an ID in a CSS + * selector context. + */ + protected $selector; + + public function __construct($selector = false) { + $this->selector = $selector; + } + public function validate($id, $config, $context) { - if (!$config->get('Attr.EnableID')) return false; + if (!$this->selector && !$config->get('Attr.EnableID')) return false; $id = trim($id); // trim it first @@ -33,10 +43,10 @@ '%Attr.IDPrefix is set', E_USER_WARNING); } - //if (!$this->ref) { + if (!$this->selector) { $id_accumulator =& $context->get('IDAccumulator'); if (isset($id_accumulator->ids[$id])) return false; - //} + } // we purposely avoid using regex, hopefully this is faster @@ -56,7 +66,7 @@ return false; } - if (/*!$this->ref && */$result) $id_accumulator->add($id); + if (!$this->selector && $result) $id_accumulator->add($id); // if no change was made to the ID, return the result // else, return the new id if stripping whitespace made it Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI/Host.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI/Host.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI/Host.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -23,6 +23,12 @@ public function validate($string, $config, $context) { $length = strlen($string); + // empty hostname is OK; it's usually semantically equivalent: + // the default host as defined by a URI scheme is used: + // + // If the URI scheme defines a default for host, then that + // default applies when the host subcomponent is undefined + // or when the registered name is empty (zero length). if ($string === '') return ''; if ($length > 1 && $string[0] === '[' && $string[$length-1] === ']') { //IPv6 @@ -38,9 +44,8 @@ // A regular domain name. - // This breaks I18N domain names, but we don't have proper IRI support, - // so force users to insert Punycode. If there's complaining we'll - // try to fix things into an international friendly form. + // This doesn't match I18N domain names, but we don't have proper IRI support, + // so force users to insert Punycode. // The productions describing this are: $a = '[a-z]'; // alpha @@ -51,10 +56,44 @@ // toplabel = alpha | alpha *( alphanum | "-" ) alphanum $toplabel = "$a($and*$an)?"; // hostname = *( domainlabel "." ) toplabel [ "." ] - $match = preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string); - if (!$match) return false; + if (preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string)) { + return $string; + } - return $string; + // If we have Net_IDNA2 support, we can support IRIs by + // punycoding them. (This is the most portable thing to do, + // since otherwise we have to assume browsers support + + if ($config->get('Core.EnableIDNA')) { + $idna = new Net_IDNA2(array('encoding' => 'utf8', 'overlong' => false, 'strict' => true)); + // we need to encode each period separately + $parts = explode('.', $string); + try { + $new_parts = array(); + foreach ($parts as $part) { + $encodable = false; + for ($i = 0, $c = strlen($part); $i < $c; $i++) { + if (ord($part[$i]) > 0x7a) { + $encodable = true; + break; + } + } + if (!$encodable) { + $new_parts[] = $part; + } else { + $new_parts[] = $idna->encode($part); + } + } + $string = implode('.', $new_parts); + if (preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string)) { + return $string; + } + } catch (Exception $e) { + // XXX error reporting + } + } + + return false; } } Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef/URI.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -19,7 +19,7 @@ } public function make($string) { - $embeds = (bool) $string; + $embeds = ($string === 'embedded'); return new HTMLPurifier_AttrDef_URI($embeds); } Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrDef.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -82,6 +82,42 @@ return preg_replace('/rgb\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\)/', 'rgb(\1,\2,\3)', $string); } + /** + * Parses a possibly escaped CSS string and returns the "pure" + * version of it. + */ + protected function expandCSSEscape($string) { + // flexibly parse it + $ret = ''; + for ($i = 0, $c = strlen($string); $i < $c; $i++) { + if ($string[$i] === '\\') { + $i++; + if ($i >= $c) { + $ret .= '\\'; + break; + } + if (ctype_xdigit($string[$i])) { + $code = $string[$i]; + for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) { + if (!ctype_xdigit($string[$i])) break; + $code .= $string[$i]; + } + // We have to be extremely careful when adding + // new characters, to make sure we're not breaking + // the encoding. + $char = HTMLPurifier_Encoder::unichr(hexdec($code)); + if (HTMLPurifier_Encoder::cleanUTF8($char) === '') continue; + $ret .= $char; + if ($i < $c && trim($string[$i]) !== '') $i--; + continue; + } + if ($string[$i] === "\n") continue; + } + $ret .= $string[$i]; + } + return $ret; + } + } // vim: et sw=4 sts=4 Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/ImgRequired.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/ImgRequired.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/ImgRequired.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -24,7 +24,8 @@ if ($src) { $alt = $config->get('Attr.DefaultImageAlt'); if ($alt === null) { - $attr['alt'] = basename($attr['src']); + // truncate if the alt is too long + $attr['alt'] = substr(basename($attr['src']),0,40); } else { $attr['alt'] = $alt; } Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/Nofollow.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/Nofollow.php (rev 0) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/Nofollow.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -0,0 +1,45 @@ +<?php + +// must be called POST validation + +/** + * Adds rel="nofollow" to all outbound links. This transform is + * only attached if Attr.Nofollow is TRUE. + */ +class HTMLPurifier_AttrTransform_Nofollow extends HTMLPurifier_AttrTransform +{ + private $parser; + + public function __construct() { + $this->parser = new HTMLPurifier_URIParser(); + } + + public function transform($attr, $config, $context) { + + if (!isset($attr['href'])) { + return $attr; + } + + // XXX Kind of inefficient + $url = $this->parser->parse($attr['href']); + $scheme = $url->getSchemeObj($config, $context); + + if ($scheme->browsable && !$url->isLocal($config, $context)) { + if (isset($attr['rel'])) { + $rels = explode(' ', $attr); + if (!in_array('nofollow', $rels)) { + $rels[] = 'nofollow'; + } + $attr['rel'] = implode(' ', $rels); + } else { + $attr['rel'] = 'nofollow'; + } + } + + return $attr; + + } + +} + +// vim: et sw=4 sts=4 Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/SafeParam.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/SafeParam.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/SafeParam.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -19,6 +19,7 @@ public function __construct() { $this->uri = new HTMLPurifier_AttrDef_URI(true); // embedded + $this->wmode = new HTMLPurifier_AttrDef_Enum(array('window', 'opaque', 'transparent')); } public function transform($attr, $config, $context) { @@ -33,12 +34,25 @@ case 'allowNetworking': $attr['value'] = 'internal'; break; + case 'allowFullScreen': + if ($config->get('HTML.FlashAllowFullScreen')) { + $attr['value'] = ($attr['value'] == 'true') ? 'true' : 'false'; + } else { + $attr['value'] = 'false'; + } + break; case 'wmode': - $attr['value'] = 'window'; + $attr['value'] = $this->wmode->validate($attr['value'], $config, $context); break; case 'movie': + case 'src': + $attr['name'] = "movie"; $attr['value'] = $this->uri->validate($attr['value'], $config, $context); break; + case 'flashvars': + // we're going to allow arbitrary inputs to the SWF, on + // the reasoning that it could only hack the SWF, not us. + break; // add other cases to support other param name/value pairs default: $attr['name'] = $attr['value'] = null; Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/TargetBlank.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/TargetBlank.php (rev 0) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTransform/TargetBlank.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -0,0 +1,38 @@ +<?php + +// must be called POST validation + +/** + * Adds target="blank" to all outbound links. This transform is + * only attached if Attr.TargetBlank is TRUE. This works regardless + * of whether or not Attr.AllowedFrameTargets + */ +class HTMLPurifier_AttrTransform_TargetBlank extends HTMLPurifier_AttrTransform +{ + private $parser; + + public function __construct() { + $this->parser = new HTMLPurifier_URIParser(); + } + + public function transform($attr, $config, $context) { + + if (!isset($attr['href'])) { + return $attr; + } + + // XXX Kind of inefficient + $url = $this->parser->parse($attr['href']); + $scheme = $url->getSchemeObj($config, $context); + + if ($scheme->browsable && !$url->isBenign($config, $context)) { + $attr['target'] = 'blank'; + } + + return $attr; + + } + +} + +// vim: et sw=4 sts=4 Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTypes.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTypes.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/AttrTypes.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -15,6 +15,13 @@ * types. */ public function __construct() { + // XXX This is kind of poor, since we don't actually /clone/ + // instances; instead, we use the supplied make() attribute. So, + // the underlying class must know how to deal with arguments. + // With the old implementation of Enum, that ignored its + // arguments when handling a make dispatch, the IAlign + // definition wouldn't work. + // pseudo-types, must be instantiated via shorthand $this->info['Enum'] = new HTMLPurifier_AttrDef_Enum(); $this->info['Bool'] = new HTMLPurifier_AttrDef_HTML_Bool(); @@ -29,6 +36,9 @@ $this->info['URI'] = new HTMLPurifier_AttrDef_URI(); $this->info['LanguageCode'] = new HTMLPurifier_AttrDef_Lang(); $this->info['Color'] = new HTMLPurifier_AttrDef_HTML_Color(); + $this->info['IAlign'] = self::makeEnum('top,middle,bottom,left,right'); + $this->info['LAlign'] = self::makeEnum('top,bottom,left,right'); + $this->info['FrameTarget'] = new HTMLPurifier_AttrDef_HTML_FrameTarget(); // unimplemented aliases $this->info['ContentType'] = new HTMLPurifier_AttrDef_Text(); @@ -44,6 +54,10 @@ $this->info['Number'] = new HTMLPurifier_AttrDef_Integer(false, false, true); } + private static function makeEnum($in) { + return new HTMLPurifier_AttrDef_Clone(new HTMLPurifier_AttrDef_Enum(explode(',', $in))); + } + /** * Retrieves a type * @param $type String type name Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Bootstrap.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Bootstrap.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/Bootstrap.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -37,7 +37,12 @@ public static function autoload($class) { $file = HTMLPurifier_Bootstrap::getPath($class); if (!$file) return false; - require HTMLPURIFIER_PREFIX . '/' . $file; + // Technically speaking, it should be ok and more efficient to + // just do 'require', but Antonio Parraga reports that with + // Zend extensions such as Zend debugger and APC, this invariant + // may be broken. Since we have efficient alternatives, pay + // the cost here and avoid the bug. + require_once HTMLPURIFIER_PREFIX . '/' . $file; return true; } @@ -65,10 +70,11 @@ if ( ($funcs = spl_autoload_functions()) === false ) { spl_autoload_register($autoload); } elseif (function_exists('spl_autoload_unregister')) { + $buggy = version_compare(PHP_VERSION, '5.2.11', '<'); $compat = version_compare(PHP_VERSION, '5.1.2', '<=') && version_compare(PHP_VERSION, '5.1.0', '>='); foreach ($funcs as $func) { - if (is_array($func)) { + if ($buggy && is_array($func)) { // :TRICKY: There are some compatibility issues and some // places where we need to error out $reflector = new ReflectionMethod($func[0], $func[1]); Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/CSSDefinition.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/CSSDefinition.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/CSSDefinition.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -219,6 +219,10 @@ $this->doSetupTricky($config); } + if ($config->get('CSS.Trusted')) { + $this->doSetupTrusted($config); + } + $allow_important = $config->get('CSS.AllowImportant'); // wrap all attr-defs with decorator that handles !important foreach ($this->info as $k => $v) { @@ -260,6 +264,23 @@ $this->info['overflow'] = new HTMLPurifier_AttrDef_Enum(array('visible', 'hidden', 'auto', 'scroll')); } + protected function doSetupTrusted($config) { + $this->info['position'] = new HTMLPurifier_AttrDef_Enum(array( + 'static', 'relative', 'absolute', 'fixed' + )); + $this->info['top'] = + $this->info['left'] = + $this->info['right'] = + $this->info['bottom'] = new HTMLPurifier_AttrDef_CSS_Composite(array( + new HTMLPurifier_AttrDef_CSS_Length(), + new HTMLPurifier_AttrDef_CSS_Percentage(), + new HTMLPurifier_AttrDef_Enum(array('auto')), + )); + $this->info['z-index'] = new HTMLPurifier_AttrDef_CSS_Composite(array( + new HTMLPurifier_AttrDef_Integer(), + new HTMLPurifier_AttrDef_Enum(array('auto')), + )); + } /** * Performs extra config-based processing. Based off of @@ -272,20 +293,29 @@ // setup allowed elements $support = "(for information on implementing this, see the ". "support forums) "; - $allowed_attributes = $config->get('CSS.AllowedProperties'); - if ($allowed_attributes !== null) { + $allowed_properties = $config->get('CSS.AllowedProperties'); + if ($allowed_properties !== null) { foreach ($this->info as $name => $d) { - if(!isset($allowed_attributes[$name])) unset($this->info[$name]); - unset($allowed_attributes[$name]); + if(!isset($allowed_properties[$name])) unset($this->info[$name]); + unset($allowed_properties[$name]); } // emit errors - foreach ($allowed_attributes as $name => $d) { + foreach ($allowed_properties as $name => $d) { // :TODO: Is this htmlspecialchars() call really necessary? $name = htmlspecialchars($name); trigger_error("Style attribute '$name' is not supported $support", E_USER_WARNING); } } + $forbidden_properties = $config->get('CSS.ForbiddenProperties'); + if ($forbidden_properties !== null) { + foreach ($this->info as $name => $d) { + if (isset($forbidden_properties[$name])) { + unset($this->info[$name]); + } + } + } + } } Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/List.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/List.php (rev 0) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/List.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -0,0 +1,120 @@ +<?php + +/** + * Definition for list containers ul and ol. + */ +class HTMLPurifier_ChildDef_List extends HTMLPurifier_ChildDef +{ + public $type = 'list'; + // lying a little bit, so that we can handle ul and ol ourselves + // XXX: This whole business with 'wrap' is all a bit unsatisfactory + public $elements = array('li' => true, 'ul' => true, 'ol' => true); + public function validateChildren($tokens_of_children, $config, $context) { + // Flag for subclasses + $this->whitespace = false; + + // if there are no tokens, delete parent node + if (empty($tokens_of_children)) return false; + + // the new set of children + $result = array(); + + // current depth into the nest + $nesting = 0; + + // a little sanity check to make sure it's not ALL whitespace + $all_whitespace = true; + + $seen_li = false; + $need_close_li = false; + + foreach ($tokens_of_children as $token) { + if (!empty($token->is_whitespace)) { + $result[] = $token; + continue; + } + $all_whitespace = false; // phew, we're not talking about whitespace + + if ($nesting == 1 && $need_close_li) { + $result[] = new HTMLPurifier_Token_End('li'); + $nesting--; + $need_close_li = false; + } + + $is_child = ($nesting == 0); + + if ($token instanceof HTMLPurifier_Token_Start) { + $nesting++; + } elseif ($token instanceof HTMLPurifier_Token_End) { + $nesting--; + } + + if ($is_child) { + if ($token->name === 'li') { + // good + $seen_li = true; + } elseif ($token->name === 'ul' || $token->name === 'ol') { + // we want to tuck this into the previous li + $need_close_li = true; + $nesting++; + if (!$seen_li) { + // create a new li element + $result[] = new HTMLPurifier_Token_Start('li'); + } else { + // backtrack until </li> found + while(true) { + $t = array_pop($result); + if ($t instanceof HTMLPurifier_Token_End) { + // XXX actually, these invariants could very plausibly be violated + // if we are doing silly things with modifying the set of allowed elements. + // FORTUNATELY, it doesn't make a difference, since the allowed + // elements are hard-coded here! + if ($t->name !== 'li') { + trigger_error("Only li present invariant violated in List ChildDef", E_USER_ERROR); + return false; + } + break; + } elseif ($t instanceof HTMLPurifier_Token_Empty) { // bleagh + if ($t->name !== 'li') { + trigger_error("Only li present invariant violated in List ChildDef", E_USER_ERROR); + return false; + } + // XXX this should have a helper for it... + $result[] = new HTMLPurifier_Token_Start('li', $t->attr, $t->line, $t->col, $t->armor); + break; + } else { + if (!$t->is_whitespace) { + trigger_error("Only whitespace present invariant violated in List ChildDef", E_USER_ERROR); + return false; + } + } + } + } + } else { + // start wrapping (this doesn't precisely mimic + // browser behavior, but what browsers do is kind of + // hard to mimic in a standards compliant way + // XXX Actually, this has no impact in practice, + // because this gets handled earlier. Arguably, + // we should rip out all of that processing + $result[] = new HTMLPurifier_Token_Start('li'); + $nesting++; + $seen_li = true; + $need_close_li = true; + } + } + $result[] = $token; + } + if ($need_close_li) { + $result[] = new HTMLPurifier_Token_End('li'); + } + if (empty($result)) return false; + if ($all_whitespace) { + return false; + } + if ($tokens_of_children == $result) return true; + return $result; + } +} + +// vim: et sw=4 sts=4 Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/Table.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/Table.php 2012-03-18 09:15:30 UTC (rev 9152) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/library/HTMLPurifier/ChildDef/Table.php 2012-03-18 09:31:22 UTC (rev 9153) @@ -1,7 +1,33 @@ <?php /** - * Definition for tables + * Definition for tables. The general idea is to extract out all of the + * essential bits, and then reconstruct it later. + * + * This is a bit confusing, because the DTDs and the W3C + * validators seem to disagree on the appropriate definition. The + * DTD claims: + * + * (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+) + * + * But actually, the HTML4 spec then has this to say: + * + * The TBODY start tag is always required except when the table + * contains only one table body and no table head or foot sections. + * The TBODY end tag may always be safely omitted. + * + * So the DTD is kind of wrong. The validator is, unfortunately, kind + * of on crack. + * + * The definition changed again in XHTML1.1; and in my opinion, this + * formulation makes the m... [truncated message content] |
From: <be...@us...> - 2012-03-25 22:33:50
|
Revision: 9187 http://xoops.svn.sourceforge.net/xoops/?rev=9187&view=rev Author: beckmi Date: 2012-03-25 22:33:44 +0000 (Sun, 25 Mar 2012) Log Message: ----------- - Adding "xoops_lib/modules/protector/configs/" to list of writable directories in Install Wizard and Release Notes - updating Changelog Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/install/include/config.php XoopsCore/branches/2.5.x/2.5.5/release_notes.txt Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-25 16:35:47 UTC (rev 9186) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-25 22:33:44 UTC (rev 9187) @@ -5,13 +5,18 @@ =============================== Bugfixes: - adding missing check for local timezone (XavierS) - - ID: 3494895: When changing the # of visible entries, it goes to Admin (jcweb/mamba) + - ID: 3494895 When changing the # of visible entries, it goes to Admin (jcweb/mamba) + - ID: 3494894 Calendar shows 40 days (peekay/mage) + - ID: 3494896 Image Manager category creation restrictions (voltan/mage) + - ID: 3494893 PM Messages deleted from Saved box (Danielw42/mage) + - ID: 3501897 Protector errors (cesag/XavierS) Improved: - replacing "msnbot" with "bingbot" in Protector (mamba) Updated: - HTML Purifier to 4.4.0 (mamba) + - TinyMCE to 3.4.9 (mamba) =============================== 2011/02/19: Version 2.5.5 Beta Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/install/include/config.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/install/include/config.php 2012-03-25 16:35:47 UTC (rev 9186) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/install/include/config.php 2012-03-25 22:33:44 UTC (rev 9187) @@ -50,7 +50,7 @@ ); // Writable files and directories -$configs['writable'] = array('uploads/', 'uploads/avatars/', 'uploads/images/', 'uploads/ranks/', 'uploads/smilies/', 'mainfile.php', 'include/license.php'); +$configs['writable'] = array('uploads/', 'uploads/avatars/', 'uploads/images/', 'uploads/ranks/', 'uploads/smilies/','xoops_lib/modules/protector/configs/', 'mainfile.php', 'include/license.php'); // Modules to be installed by default $configs['modules'] = array(); Modified: XoopsCore/branches/2.5.x/2.5.5/release_notes.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/release_notes.txt 2012-03-25 16:35:47 UTC (rev 9186) +++ XoopsCore/branches/2.5.x/2.5.5/release_notes.txt 2012-03-25 22:33:44 UTC (rev 9187) @@ -35,7 +35,11 @@ ----------------------------------- 1. Copy the content of the htdocs/ folder where it can be accessed by your server - 2. Ensure mainfile.php and uploads/ are writable by the web server + 2. Ensure that directories: + - uploads/', 'uploads/avatars/', 'uploads/images/', 'uploads/ranks/', 'uploads/smilies/','xoops_lib/modules/protector/configs/ + and files: + - mainfile.php and include/license.php + are writable by the web server 3. For security considerations, you are encouraged to move directories "/xoops_lib" (for XOOPS libraries) and "/xoops_data" (for XOOPS data) out of Document Root, and change the folder names. 4. Make the directory xoops_data/ writable; Create (if not already present) and make the directories xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable. 5. Access the folder where you installed the htdocs/ files using your web browser to launch the installation wizard This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-03-26 04:08:50
|
Revision: 9194 http://xoops.svn.sourceforge.net/xoops/?rev=9194&view=rev Author: beckmi Date: 2012-03-26 04:08:43 +0000 (Mon, 26 Mar 2012) Log Message: ----------- Bug 3511204: TinyEditor only loading in the 'Scoop' part of the News module Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-26 02:32:07 UTC (rev 9193) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-26 04:08:43 UTC (rev 9194) @@ -10,6 +10,7 @@ - ID: 3494896 Image Manager category creation restrictions (voltan/mage) - ID: 3494893 PM Messages deleted from Saved box (Danielw42/mage) - ID: 3501897 Protector errors (cesag/XavierS) + - ID: 3511204 TinyEditor only loading in the 'Scoop' part of the News module (peekay/XavierS) Improved: - replacing "msnbot" with "bingbot" in Protector (mamba) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce.php 2012-03-26 02:32:07 UTC (rev 9193) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce.php 2012-03-26 04:08:43 UTC (rev 9194) @@ -28,13 +28,18 @@ var $rootpath; var $config = array(); var $setting = array(); + static $LastOfElementsTinymce=""; + static $ListOfElementsTinymce=array(); + // PHP 5 Constructor function __construct($config) { $this->setConfig($config); $this->rootpath = $this->config["rootpath"] . "/tinymce/jscripts/tiny_mce"; $this->xoopsPlugins = $this->get_xoopsPlugins(); + self::$LastOfElementsTinymce=$this->config["elements"]; + self::$ListOfElementsTinymce[]= self::$LastOfElementsTinymce; } // PHP 4 Contructor @@ -76,9 +81,8 @@ $this->setting["language"] = $this->config["language"]; $configured[] = "language"; } - $default_css = array(str_replace(XOOPS_ROOT_PATH, XOOPS_URL , str_replace('\\', '/', dirname(__FILE__) . '/style.css'))); - $content_css = array_merge($default_css, $this->loadCss()); - $this->setting["content_css"] = implode( ",", $content_css); + + $this->setting["content_css"] = implode( ",", $this->loadCss() ); $configured[] = "content_css"; if ( !empty($this->config["theme"]) && is_dir(XOOPS_ROOT_PATH . $this->rootpath . "/themes/" . $this->config["theme"]) ) { @@ -259,12 +263,28 @@ static $isTinyMceJsLoaded = false; $this->init(); - + if (self::$LastOfElementsTinymce!=$this->setting["elements"]){ + $ret = "\n<!-- 'tiny_mce.js' SCRIPT NOT YET ".$this->setting["elements"]." -->\n"; //debug + return $ret; + } + else { + $this->setting["elements"]=implode(",",self::$ListOfElementsTinymce); + } if ( !empty($this->setting["callback"]) ) { $callback = $this->setting["callback"]; unset($this->setting["callback"]); } else { $callback = ""; + } + if ( !empty($this->setting["file_browser_callback"]) ) { + $fbc_name=XOOPS_ROOT_PATH . "/class/xoopseditor/tinymce/include/".$this->setting["file_browser_callback"].".js"; + //suis passé la /lesrevespossibles/x244/class/xoopseditor/tinymce/tinymce/jscripts/include/openFinder.js + $file_browser_callback ="MyXoopsUrl ='".XOOPS_URL."';\n"; + $file_browser_callback .= file_get_contents($fbc_name); + $file_browser_callback .="\n//suis passé la ".$fbc_name; + //unset($this->setting["file_browser_callback"]); + } else { + $file_browser_callback = "//suis absent"; } // create returned string - start @@ -330,6 +350,7 @@ $ret .= "tinymceload: true\n"; $ret .= "});\n"; $ret .= $callback . "\n"; + $ret .= $file_browser_callback. "\n"; //$ret .= "function toggleEditor(id) {tinyMCE.execCommand('mceToggleEditor',false, id);}\n"; $ret .= "</script>\n"; $ret .= "<!-- End TinyMce Rendering -->\n";//debug @@ -337,4 +358,4 @@ return $ret ; } } -?> +?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-03-26 04:15:32
|
Revision: 9195 http://xoops.svn.sourceforge.net/xoops/?rev=9195&view=rev Author: beckmi Date: 2012-03-26 04:15:26 +0000 (Mon, 26 Mar 2012) Log Message: ----------- 3511205 Bug in fresh install in page_configsave.php (XavierS) Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/install/page_configsave.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-26 04:08:43 UTC (rev 9194) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-26 04:15:26 UTC (rev 9195) @@ -11,6 +11,7 @@ - ID: 3494893 PM Messages deleted from Saved box (Danielw42/mage) - ID: 3501897 Protector errors (cesag/XavierS) - ID: 3511204 TinyEditor only loading in the 'Scoop' part of the News module (peekay/XavierS) + - ID: 3511205 Bug in fresh install in page_configsave.php (XavierS) Improved: - replacing "msnbot" with "bingbot" in Protector (mamba) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/install/page_configsave.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/install/page_configsave.php 2012-03-26 04:08:43 UTC (rev 9194) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/install/page_configsave.php 2012-03-26 04:15:26 UTC (rev 9195) @@ -83,11 +83,20 @@ } } -if (!@copy($rewrite['VAR_PATH'] . '/data/secure.dist.php', $rewrite['VAR_PATH'] . '/data/secure.php')) { - $error = ERR_COPY_MAINFILE.$rewrite['VAR_PATH'] . '/data/secure.dist.php'; -} else { - clearstatcache(); +//if (!@copy($rewrite['VAR_PATH'] . '/data/secure.dist.php', $rewrite['VAR_PATH'] . '/data/secure.php')) { +// $error = ERR_COPY_MAINFILE.$rewrite['VAR_PATH'] . '/data/secure.dist.php'; +//} else { +// clearstatcache(); +//from XavierS: +if (!@copy($vars['VAR_PATH'] . '/data/secure.dist.php', $vars['VAR_PATH'] . '/data/secure.php')) { + $error = ERR_COPY_MAINFILE.$vars['VAR_PATH'] . '/data/secure.dist.php'; + } else { + clearstatcache(); + + + $rewrite = array_merge($rewrite, $vars); + $rewrite = array_merge($rewrite, $vars); if (!$file = fopen($rewrite['VAR_PATH'] . '/data/secure.php', "r")) { $error = ERR_READ_MAINFILE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-03-27 08:07:15
|
Revision: 9205 http://xoops.svn.sourceforge.net/xoops/?rev=9205&view=rev Author: beckmi Date: 2012-03-27 08:07:04 +0000 (Tue, 27 Mar 2012) Log Message: ----------- Added Toggle feature to Fields and Steps tabs, and buttons consistent with 2.5.x Admin GUI Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/category.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/field.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/step.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/class/field.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/changelog.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/language/english/admin.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_categorylist.html XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_fieldlist.html XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_steplist.html XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/xoops_version.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-03-27 08:07:04 UTC (rev 9205) @@ -14,7 +14,7 @@ - ID: 3511205 Bug in fresh install in page_configsave.php (XavierS) Improved: - - replacing "msnbot" with "bingbot" in Protector (mamba) + - replacing "msnbot" with "bingbot" in Protector (mamba) Updated: - HTML Purifier to 4.4.0 (mamba) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/category.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/category.php 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/category.php 2012-03-27 08:07:04 UTC (rev 9205) @@ -31,7 +31,12 @@ include 'admin_header.php'; xoops_cp_header(); $indexAdmin = new ModuleAdmin(); + + +$indexAdmin->addItemButton(_ADD . ' ' . _PROFILE_AM_CATEGORY, 'category.php?op=new', 'add', ''); + echo $indexAdmin->addNavigation('category.php'); +echo $indexAdmin->renderButton('right', ''); $op = isset($_REQUEST['op']) ? $_REQUEST['op'] : (isset($_REQUEST['id']) ? "edit" : 'list'); @@ -100,5 +105,4 @@ if ( isset($template_main) ) { $GLOBALS['xoopsTpl']->display("db:{$template_main}"); } -include 'admin_footer.php'; -//xoops_cp_footer(); \ No newline at end of file +include 'admin_footer.php'; \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/field.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/field.php 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/field.php 2012-03-27 08:07:04 UTC (rev 9205) @@ -20,7 +20,11 @@ include 'admin_header.php'; xoops_cp_header(); $indexAdmin = new ModuleAdmin(); + +$indexAdmin->addItemButton(_ADD . ' ' . _PROFILE_AM_FIELD, 'field.php?op=new', 'add', ''); + echo $indexAdmin->addNavigation('field.php'); +echo $indexAdmin->renderButton('right', ''); $op = isset($_REQUEST['op']) ? $_REQUEST['op'] : (isset($_REQUEST['id']) ? "edit" : 'list'); @@ -301,14 +305,13 @@ case 'toggle': if (isset($_REQUEST['field_id'])) { - $field_id=$_REQUEST['field_id']; + $field_id = intval($_REQUEST['field_id']); if (isset($_REQUEST['field_required'])) { - $field_required = isset($_GET['field_required']) ? intval($_GET['field_required']) : (isset($_POST['field_required']) ? intval($_POST['field_required']) : 0); + $field_required = intval($_REQUEST['field_required']); profile_visible_toggle($field_id, $field_required); - redirect_header('field.php', 1, _PROFILE_AM_REQUIRED_TOGGLE_SUCCESS); - break; } } + break; } if (isset($template_main)) { @@ -320,10 +323,13 @@ $field_required = ($field_required == 1) ? 0 : 1; $this_handler =& xoops_getModuleHandler('field', 'profile'); $obj = $this_handler->get($field_id); - $obj->setVar('field_required', intval($field_required)); - $this_handler->insert($obj,true); + $obj->setVar('field_required', $field_required); + if ($this_handler->insert($obj, true)) { + redirect_header('field.php', 1, _PROFILE_AM_REQUIRED_TOGGLE_SUCCESS); + } else { + redirect_header('field.php', 1, _PROFILE_AM_REQUIRED_TOGGLE_FAILED); + } } -include 'admin_footer.php'; -//xoops_cp_footer(); \ No newline at end of file +include 'admin_footer.php'; \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/step.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/step.php 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/admin/step.php 2012-03-27 08:07:04 UTC (rev 9205) @@ -20,7 +20,10 @@ include 'admin_header.php'; xoops_cp_header(); $indexAdmin = new ModuleAdmin(); + +$indexAdmin->addItemButton(_ADD . ' ' . _PROFILE_AM_STEP, 'step.php?op=new', 'add', ''); echo $indexAdmin->addNavigation('step.php'); +echo $indexAdmin->renderButton('right', ''); $op = isset($_REQUEST['op']) ? $_REQUEST['op'] : (isset($_REQUEST['id']) ? "edit" : 'list'); @@ -75,11 +78,34 @@ xoops_confirm(array('ok' => 1, 'id' => $_REQUEST['id'], 'op' => 'delete'), $_SERVER['REQUEST_URI'], sprintf(_PROFILE_AM_RUSUREDEL, $obj->getVar('step_name') )); } break; + + + case 'toggle': + if (isset($_GET['step_id'])) { + $field_id=intval($_GET['step_id']); + if (isset($_GET['step_save'])) { + $step_save = intval($_GET['step_save']); + profile_stepsave_toggle($step_id, $step_save); + } + } + break; } if ( !empty($template_main) ) { $GLOBALS['xoopsTpl']->display("db:{$template_main}"); } -include 'admin_footer.php'; -//xoops_cp_footer(); \ No newline at end of file +function profile_stepsave_toggle($step_d, $step_save) +{ + $step_save = ($step_save == 1) ? 0 : 1; + $handler =& xoops_getmodulehandler('regstep'); + $obj =& $handler->get($_REQUEST['step_id']); + $obj->setVar('step_save', $step_save); + if ($handler->insert($obj,true)) { + redirect_header('step.php', 1, _PROFILE_AM_SAVESTEP_TOGGLE_SUCCESS); + }else { + redirect_header('step.php', 1, _PROFILE_AM_SAVESTEP_TOGGLE_FAILED); + } +} + +include 'admin_footer.php'; \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/class/field.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/class/field.php 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/class/field.php 2012-03-27 08:07:04 UTC (rev 9205) @@ -510,7 +510,7 @@ $obj->setVar('field_valuetype', XOBJ_DTYPE_TXTBOX); } - if (!in_array($obj->getVar('field_name'), $this->getUserVars())) { + if ((!in_array($obj->getVar('field_name'), $this->getUserVars())) && (!isset($_REQUEST['field_required']))) { if ($obj->isNew()) { //add column to table $changetype = "ADD"; Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/changelog.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/changelog.txt 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/changelog.txt 2012-03-27 08:07:04 UTC (rev 9205) @@ -1,6 +1,8 @@ -Version 1.63 +Version 1.63 RC ------------------- - added "Required" column in Fields with Toggle functionality (mamba) +- added Toggle functionality to "Save After Step" column (mamba) +- added "Add" buttons, consistent with 2.5.x Admin GUI (mamba) Version 1.62 RC ------------------- Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/language/english/admin.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/language/english/admin.php 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/language/english/admin.php 2012-03-27 08:07:04 UTC (rev 9205) @@ -113,8 +113,12 @@ //1.62 define('_PROFILE_AM_ACTION', 'Action'); //1.63 -define('_PROFILE_AM_REQUIRED_TOGGLE', 'Toggle Required'); +define('_PROFILE_AM_REQUIRED_TOGGLE', 'Toggle Required Field'); define('_PROFILE_AM_REQUIRED_TOGGLE_SUCCESS', 'Successfully Changed Required Field '); +define('_PROFILE_AM_REQUIRED_TOGGLE_FAILED', 'Changing Required Field Failed'); +define('_PROFILE_AM_SAVESTEP_TOGGLE', 'Toggle Save'); +define('_PROFILE_AM_SAVESTEP_TOGGLE_SUCCESS', 'Successfully Changed Save After Step'); +define('_PROFILE_AM_SAVESTEP_TOGGLE_FAILED', "Changing 'Save After Step' Failed"); ?> Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_categorylist.html =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_categorylist.html 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_categorylist.html 2012-03-27 08:07:04 UTC (rev 9205) @@ -1,4 +1,3 @@ -<div><a href="category.php?op=new"><{$smarty.const._ADD}> <{$smarty.const._PROFILE_AM_CATEGORY}></a></div> <table> <tr> <th><{$smarty.const._PROFILE_AM_TITLE}></th> Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_fieldlist.html =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_fieldlist.html 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_fieldlist.html 2012-03-27 08:07:04 UTC (rev 9205) @@ -1,4 +1,3 @@ -<div><a href="field.php?op=new"><{$smarty.const._ADD}> <{$smarty.const._PROFILE_AM_FIELD}></a></div> <form action="field.php" method="post" id="fieldform"> <table> <th><{$smarty.const._PROFILE_AM_NAME}></th> @@ -26,15 +25,11 @@ <input type="text" name="weight[<{$field.field_id}>]" size="5" maxlength="5" value="<{$field.field_weight}>" /> <{/if}> </td> - - <!-- ___________adding "Required" status" //mb --> <td align="center"> <{if $field.canEdit}> <a href="field.php?op=toggle&field_required=<{$field.field_required}>&field_id=<{$field.field_id}>"><img src="<{$xoops_url}>/modules/profile/images/actions/<{$field.field_required}>.png" title="<{$smarty.const._PROFILE_AM_REQUIRED_TOGGLE}>" alt="<{$smarty.const._PROFILE_AM_REQUIRED_TOGGLE}>" /></a> <{/if}> </td> - <!-- end __________"Required" status" //mb --> - <td align= "center"> <{if $field.canEdit}> <input type="hidden" name="oldweight[<{$field.field_id}>]" value="<{$field.field_weight}>" /> Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_steplist.html =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_steplist.html 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/templates/profile_admin_steplist.html 2012-03-27 08:07:04 UTC (rev 9205) @@ -1,4 +1,3 @@ -<div><a href="step.php?op=new"><{$smarty.const._ADD}> <{$smarty.const._PROFILE_AM_STEP}></a></div> <table> <th><{$smarty.const._PROFILE_AM_STEPNAME}></th> <th><{$smarty.const._PROFILE_AM_STEPORDER}></th> @@ -7,8 +6,10 @@ <{foreach item=step from=$steps}> <tr class="<{cycle values='odd, even'}>"> <td><{$step.step_name}></td> - <td align= "center"><{$step.step_order}></td> - <td align= "center"><{if $step.step_save == 1}><img src="<{xoModuleIcons16 on.png}>" alt="<{$smarty.const._YES}>" /><{else}><img src="<{xoModuleIcons16 off.png}>" alt="<{$smarty.const._NO}>" /><{/if}></td> + <td align= "center"><{$step.step_order}></td> + <td align="center"> + <a href="step.php?op=toggle&step_save=<{$step.step_save}>&step_id=<{$step.step_id}>"><img src="<{$xoops_url}>/modules/profile/images/actions/<{$step.step_save}>.png" title="<{$smarty.const._PROFILE_AM_SAVESTEP_TOGGLE}>" alt="<{$smarty.const._PROFILE_AM_SAVESTEP_TOGGLE}>" /></a> + </td> <td align= "center"> <a href="step.php?id=<{$step.step_id}>" title="<{$smarty.const._EDIT}>"><img src="<{xoModuleIcons16 edit.png}>" alt="<{$smarty.const._EDIT}>" title="<{$smarty.const._EDIT}>" /></a> <a href="step.php?op=delete&id=<{$step.step_id}>" title="<{$smarty.const._DELETE}>"><img src="<{xoModuleIcons16 delete.png}>" alt="<{$smarty.const._DELETE}>" title="<{$smarty.const._DELETE}>"</a> Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/xoops_version.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/xoops_version.php 2012-03-26 20:25:40 UTC (rev 9204) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/xoops_version.php 2012-03-27 08:07:04 UTC (rev 9205) @@ -25,7 +25,7 @@ */ $modversion = array(); $modversion['name'] = _PROFILE_MI_NAME; -$modversion['version'] = 1.62; +$modversion['version'] = 1.63; $modversion['description'] = _PROFILE_MI_DESC; $modversion['author'] = "Jan Pedersen, Taiwen Jiang, alfred, Wishcraft"; $modversion['credits'] = "Ackbarr, mboyden, marco, mamba, trabis, etc."; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-02 09:43:56
|
Revision: 9222 http://xoops.svn.sourceforge.net/xoops/?rev=9222&view=rev Author: beckmi Date: 2012-04-02 09:43:44 +0000 (Mon, 02 Apr 2012) Log Message: ----------- Updating jQuery and jQueryUI Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/jquery.js XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/plugins/jquery.ui.js Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-02 09:11:25 UTC (rev 9221) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-02 09:43:44 UTC (rev 9222) @@ -4,8 +4,7 @@ 2011/03/14: Version 2.5.5 RC =============================== Bugfixes: - - adding missing check for local timezone (XavierS) - - ID: 3494895 When changing the # of visible entries, it goes to Admin (jcweb/mamba) + - ID: 3494895 When changing the # of visible entries in Protector, it goes to Admin (jcweb/mamba) - ID: 3494894 Calendar shows 40 days (peekay/mage) - ID: 3494896 Image Manager category creation restrictions (voltan/mage) - ID: 3494893 PM Messages deleted from Saved box (Danielw42/mage) @@ -19,6 +18,8 @@ Updated: - HTML Purifier to 4.4.0 (mamba) - TinyMCE to 3.4.9 (mamba) + - jQuery to 1.72 (mamba) + - jQueryUI to version 1.8.18 (mamba) =============================== 2011/02/19: Version 2.5.5 Beta Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/jquery.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/jquery.js 2012-04-02 09:11:25 UTC (rev 9221) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/jquery.js 2012-04-02 09:43:44 UTC (rev 9222) @@ -1,4 +1,4 @@ -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.ex... [truncated message content] |
From: <be...@us...> - 2012-04-02 10:00:23
|
Revision: 9223 http://xoops.svn.sourceforge.net/xoops/?rev=9223&view=rev Author: beckmi Date: 2012-04-02 10:00:12 +0000 (Mon, 02 Apr 2012) Log Message: ----------- Updating release notes and lang_diff.txt file for Profile Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/lang_diff.txt XoopsCore/branches/2.5.x/2.5.5/release_notes.txt Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/lang_diff.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/lang_diff.txt 2012-04-02 09:43:44 UTC (rev 9222) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/profile/docs/lang_diff.txt 2012-04-02 10:00:12 UTC (rev 9223) @@ -3,6 +3,18 @@ Below are language differences from a version to next version. +Release 1.63 +================= +admin.php +----------- +define('_PROFILE_AM_REQUIRED_TOGGLE', 'Toggle Required Field'); +define('_PROFILE_AM_REQUIRED_TOGGLE_SUCCESS', 'Successfully Changed Required Field '); +define('_PROFILE_AM_REQUIRED_TOGGLE_FAILED', 'Changing Required Field Failed'); + +define('_PROFILE_AM_SAVESTEP_TOGGLE', 'Toggle Save'); +define('_PROFILE_AM_SAVESTEP_TOGGLE_SUCCESS', 'Successfully Changed Save After Step'); +define('_PROFILE_AM_SAVESTEP_TOGGLE_FAILED', "Changing 'Save After Step' Failed"); + Release 1.62 ================= @@ -16,4 +28,3 @@ define("_PROFILE_MI_ABOUT", "About"); define("_PROFILE_MI_HOME", "Home"); - Modified: XoopsCore/branches/2.5.x/2.5.5/release_notes.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/release_notes.txt 2012-04-02 09:43:44 UTC (rev 9222) +++ XoopsCore/branches/2.5.x/2.5.5/release_notes.txt 2012-04-02 10:00:12 UTC (rev 9223) @@ -1,13 +1,14 @@ -XOOPS 2.5.5 Beta +XOOPS 2.5.5 RC -The XOOPS Development Team is pleased to announce the release of XOOPS 2.5.5 Beta. +The XOOPS Development Team is pleased to announce the release of XOOPS 2.5.5 RC (Release Candidate). This release is focused on fixing open bugs, and on updating our libraries to the latest versions: - phpMailer 5.2.1 -- TinyMCE 3.4.8 -- jQuery 1.7.1 -- jQueryUI 1.8.17 +- TinyMCE 3.4.9 +- jQuery 1.7.2 +- jQueryUI 1.8.18 +- HTML Purifier to 4.4.0 See the Changelog for more details. @@ -27,7 +28,7 @@ Downloading XOOPS ----------------------------------- -You can get this release package from the [url=https://sourceforge.net/projects/xoops/files/XOOPS%20Core%20%28Beta%20Releases%29/XOOPS_2.5.5_Beta/]Sourceforge repository[/url]. +You can get this release package from the [url=https://sourceforge.net/projects/xoops/files/XOOPS%20Core%20%28Beta%20Releases%29/XOOPS_2.5.5_RC/]Sourceforge repository[/url]. There are .zip, .7z, and .gz archives provided. @@ -36,9 +37,15 @@ 1. Copy the content of the htdocs/ folder where it can be accessed by your server 2. Ensure that directories: - - uploads/', 'uploads/avatars/', 'uploads/images/', 'uploads/ranks/', 'uploads/smilies/','xoops_lib/modules/protector/configs/ + - uploads/, + - uploads/avatars/ + - uploads/images/ + - uploads/ranks/ + - uploads/smilies/ + - xoops_lib/modules/protector/configs/ and files: - - mainfile.php and include/license.php + - mainfile.php and + - include/license.php are writable by the web server 3. For security considerations, you are encouraged to move directories "/xoops_lib" (for XOOPS libraries) and "/xoops_data" (for XOOPS data) out of Document Root, and change the folder names. 4. Make the directory xoops_data/ writable; Create (if not already present) and make the directories xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable. @@ -118,4 +125,4 @@ XOOPS Development Team -February 21st, 2012 \ No newline at end of file +April 2nd, 2012 \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-02 14:33:36
|
Revision: 9226 http://xoops.svn.sourceforge.net/xoops/?rev=9226&view=rev Author: beckmi Date: 2012-04-02 14:33:25 +0000 (Mon, 02 Apr 2012) Log Message: ----------- Updating translations for ModuleAdmin Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/Frameworks/moduleclasses/moduleadmin/language/english/main.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt 2012-04-02 10:49:56 UTC (rev 9225) +++ XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt 2012-04-02 14:33:25 UTC (rev 9226) @@ -2,7 +2,23 @@ ===================== Below are language differences from a version to next version. +=============================== +2012/04/02: Version 2.5.5 +=============================== +ADDED/DELETED DEFINES +/Frameworks/moduleclasses/moduleadmin/language/english/main.php +- added define("_AM_MODULEADMIN_HOME", "Home"); +- added define("_AM_MODULEADMIN_DASHBOARD", "Dashboard"); +- added define("_AM_MODULEADMIN_ABOUT", "About"); +- added define("_AM_MODULEADMIN_PERMISSIONS", "Permissions"); +- added define("_AM_MODULEADMIN_ABOUT_RELEASEDATE","Released: "); +- added define("_AM_MODULEADMIN_ABOUT_AUTHOR","Author: "); +- added define("_AM_MODULEADMIN_ABOUT_CREDITS","Credits: "); +- added define("_AM_MODULEADMIN_ABOUT_LICENSE","License: "); +- added define("_AM_MODULEADMIN_ABOUT_AUTHOR_NAME","Author name: "); +- added define("_AM_MODULEADMIN_ABOUT_AUTHOR_INFO","Author Info"); + =============================== 2011/11/17: Version 2.5.4 =============================== Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/Frameworks/moduleclasses/moduleadmin/language/english/main.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/Frameworks/moduleclasses/moduleadmin/language/english/main.php 2012-04-02 10:49:56 UTC (rev 9225) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/Frameworks/moduleclasses/moduleadmin/language/english/main.php 2012-04-02 14:33:25 UTC (rev 9226) @@ -25,13 +25,29 @@ define('_AM_MODULEADMIN_CONFIG_DB','minimum version required: %s (your version is %s)'); define('_AM_MODULEADMIN_CONFIG_ADMIN','Minimum ModuleAdmin required: %s (your version is %s)'); +define("_AM_MODULEADMIN_HOME", "Home"); +define("_AM_MODULEADMIN_DASHBOARD", "Dashboard"); +define("_AM_MODULEADMIN_ABOUT", "About"); +define("_AM_MODULEADMIN_PERMISSIONS", "Permissions"); + // About define('_AM_MODULEADMIN_ABOUT_CHANGELOG','Change log'); define('_AM_MODULEADMIN_ABOUT_DESCRIPTION','Description'); define('_AM_MODULEADMIN_ABOUT_MODULEINFO','Module Info'); define('_AM_MODULEADMIN_ABOUT_MODULESTATUS','Status:'); -define('_AM_MODULEADMIN_ABOUT_UPDATEDATE','Update date:'); +define('_AM_MODULEADMIN_ABOUT_UPDATEDATE','Updated:'); define('_AM_MODULEADMIN_ABOUT_WEBSITE',"Website:"); -?> \ No newline at end of file +define("_AM_MODULEADMIN_ABOUT_RELEASEDATE","Released: "); +define("_AM_MODULEADMIN_ABOUT_AUTHOR","Author: "); +define("_AM_MODULEADMIN_ABOUT_CREDITS","Credits: "); +define("_AM_MODULEADMIN_ABOUT_LICENSE","License: "); +define("_AM_MODULEADMIN_ABOUT_AUTHOR_NAME","Author name: "); +define("_AM_MODULEADMIN_ABOUT_AUTHOR_INFO","Author Info"); + + +//ModuleAdmin +define("_AM_MODULEADMIN_ADMIN_FOOTER", "<div class='center smallsmall italic pad5'>This module is maintained by the <a class='tooltip' rel='external' href='http://xoops.org/' title='Visit XOOPS Community'>XOOPS Community</a></div>"); + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-09 18:06:36
|
Revision: 9291 http://xoops.svn.sourceforge.net/xoops/?rev=9291&view=rev Author: beckmi Date: 2012-04-09 18:06:29 +0000 (Mon, 09 Apr 2012) Log Message: ----------- preventing division by zero in pagenav.php (timgno) Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/pagenav.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-08 17:15:11 UTC (rev 9290) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-09 18:06:29 UTC (rev 9291) @@ -1,6 +1,13 @@ XOOPS 2.5.x Changelog (Language changes: see: /docs/lang_diff.txt) =============================== +2011/04/15: Version 2.5.5 Final +=============================== +Bugfixes: + - preventing division by zero in pagenav.php (timgno) + + +=============================== 2011/03/14: Version 2.5.5 RC =============================== Bugfixes: Modified: XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt 2012-04-08 17:15:11 UTC (rev 9290) +++ XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt 2012-04-09 18:06:29 UTC (rev 9291) @@ -20,6 +20,9 @@ - added define("_AM_MODULEADMIN_ABOUT_AUTHOR_INFO","Author Info"); - added define("_AM_MODULEADMIN_ADMIN_FOOTER", "<div class='center smallsmall italic pad5'>This module is maintained by the <a class='tooltip' rel='external' href='http://xoops.org/' title='Visit XOOPS Community'>XOOPS Community</a></div>"); +/language/english/calendar.php +- added define("_CAL_FORMAT","Y-m-d"); + =============================== 2011/11/17: Version 2.5.4 =============================== Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/pagenav.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/pagenav.php 2012-04-08 17:15:11 UTC (rev 9290) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/pagenav.php 2012-04-09 18:06:29 UTC (rev 9291) @@ -67,35 +67,37 @@ if ($this->total <= $this->perpage) { return $ret; } - $total_pages = ceil($this->total / $this->perpage); - if ($total_pages > 1) { - $ret .= '<div id="xo-pagenav">'; - $prev = $this->current - $this->perpage; - if ($prev >= 0) { - $ret .= '<a class="xo-pagarrow" href="' . $this->url . $prev . $this->extra . '"><u>«</u></a> '; - } - $counter = 1; - $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); - while ($counter <= $total_pages) { - if ($counter == $current_page) { - $ret .= '<strong class="xo-pagact" >(' . $counter . ')</strong> '; - } elseif (($counter > $current_page - $offset && $counter < $current_page + $offset) || $counter == 1 || $counter == $total_pages) { - if ($counter == $total_pages && $current_page < $total_pages - $offset) { - $ret .= '... '; - } - $ret .= '<a class="xo-counterpage" href="' . $this->url . (($counter - 1) * $this->perpage) . $this->extra . '">' . $counter . '</a> '; - if ($counter == 1 && $current_page > 1 + $offset) { - $ret .= '... '; - } - } - $counter ++; - } - $next = $this->current + $this->perpage; - if ($this->total > $next) { - $ret .= '<a class="xo-pagarrow" href="' . $this->url . $next . $this->extra . '"><u>»</u></a> '; - } - $ret .= '</div> '; - } + if(($this->total != 0) && ($this->perpage != 0)) { + $total_pages = ceil($this->total / $this->perpage); + if ($total_pages > 1) { + $ret .= '<div id="xo-pagenav">'; + $prev = $this->current - $this->perpage; + if ($prev >= 0) { + $ret .= '<a class="xo-pagarrow" href="' . $this->url . $prev . $this->extra . '"><u>«</u></a> '; + } + $counter = 1; + $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); + while ($counter <= $total_pages) { + if ($counter == $current_page) { + $ret .= '<strong class="xo-pagact" >(' . $counter . ')</strong> '; + } elseif (($counter > $current_page - $offset && $counter < $current_page + $offset) || $counter == 1 || $counter == $total_pages) { + if ($counter == $total_pages && $current_page < $total_pages - $offset) { + $ret .= '... '; + } + $ret .= '<a class="xo-counterpage" href="' . $this->url . (($counter - 1) * $this->perpage) . $this->extra . '">' . $counter . '</a> '; + if ($counter == 1 && $current_page > 1 + $offset) { + $ret .= '... '; + } + } + $counter ++; + } + $next = $this->current + $this->perpage; + if ($this->total > $next) { + $ret .= '<a class="xo-pagarrow" href="' . $this->url . $next . $this->extra . '"><u>»</u></a> '; + } + $ret .= '</div> '; + } + } return $ret; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-15 00:39:07
|
Revision: 9327 http://xoops.svn.sourceforge.net/xoops/?rev=9327&view=rev Author: beckmi Date: 2012-04-15 00:38:58 +0000 (Sun, 15 Apr 2012) Log Message: ----------- Updating phpThumb to 1.7.11 Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpThumb.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpthumb.class.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpthumb.filters.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpthumb.functions.php XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpthumb.unsharp.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-14 21:53:58 UTC (rev 9326) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 00:38:58 UTC (rev 9327) @@ -5,8 +5,10 @@ =============================== Bugfixes: - preventing division by zero in pagenav.php (timgno) + +Updated: + - phpThumb to 1.7.11 (mamba) - =============================== 2011/03/14: Version 2.5.5 RC =============================== Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpThumb.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpThumb.php 2012-04-14 21:53:58 UTC (rev 9326) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpThumb.php 2012-04-15 00:38:58 UTC (rev 9327) @@ -12,7 +12,7 @@ error_reporting(E_ALL); ini_set('display_errors', '1'); ini_set('magic_quotes_runtime', '0'); -if (@ini_get('magic_quotes_runtime')) { +if (ini_get('magic_quotes_runtime')) { die('"magic_quotes_runtime" is set in php.ini, cannot run phpThumb with this enabled'); } $starttime = array_sum(explode(' ', microtime())); @@ -23,6 +23,88 @@ $_GET = $HTTP_GET_VARS; } +function SendSaveAsFileHeaderIfNeeded() { + if (headers_sent()) { + return false; + } + global $phpThumb; + $downloadfilename = phpthumb_functions::SanitizeFilename(@$_GET['sia'] ? $_GET['sia'] : (@$_GET['down'] ? $_GET['down'] : 'phpThumb_generated_thumbnail'.(@$_GET['f'] ? $_GET['f'] : 'jpg'))); + if (@$downloadfilename) { + $phpThumb->DebugMessage('SendSaveAsFileHeaderIfNeeded() sending header: Content-Disposition: '.(@$_GET['down'] ? 'attachment' : 'inline').'; filename="'.$downloadfilename.'"', __FILE__, __LINE__); + header('Content-Disposition: '.(@$_GET['down'] ? 'attachment' : 'inline').'; filename="'.$downloadfilename.'"'); + } + return true; +} + +function PasswordStrength($password) { + $strength = 0; + $strength += strlen(preg_replace('#[^a-z]#', '', $password)) * 0.5; // lowercase characters are weak + $strength += strlen(preg_replace('#[^A-Z]#', '', $password)) * 0.8; // uppercase characters are somewhat better + $strength += strlen(preg_replace('#[^0-9]#', '', $password)) * 1.0; // numbers are somewhat better + $strength += strlen(preg_replace('#[a-zA-Z0-9]#', '', $password)) * 2.0; // other non-alphanumeric characters are best + return $strength; +} + +function RedirectToCachedFile() { + global $phpThumb, $PHPTHUMB_CONFIG; + + $nice_cachefile = str_replace(DIRECTORY_SEPARATOR, '/', $phpThumb->cache_filename); + $nice_docroot = str_replace(DIRECTORY_SEPARATOR, '/', rtrim($PHPTHUMB_CONFIG['document_root'], '/\\')); + + $parsed_url = phpthumb_functions::ParseURLbetter(@$_SERVER['HTTP_REFERER']); + + $nModified = filemtime($phpThumb->cache_filename); + + if ($phpThumb->config_nooffsitelink_enabled && @$_SERVER['HTTP_REFERER'] && !in_array(@$parsed_url['host'], $phpThumb->config_nooffsitelink_valid_domains)) { + + $phpThumb->DebugMessage('Would have used cached (image/'.$phpThumb->thumbnailFormat.') file "'.$phpThumb->cache_filename.'" (Last-Modified: '.gmdate('D, d M Y H:i:s', $nModified).' GMT), but skipping because $_SERVER[HTTP_REFERER] ('.@$_SERVER['HTTP_REFERER'].') is not in $phpThumb->config_nooffsitelink_valid_domains ('.implode(';', $phpThumb->config_nooffsitelink_valid_domains).')', __FILE__, __LINE__); + + } elseif ($phpThumb->phpThumbDebug) { + + $phpThumb->DebugTimingMessage('skipped using cached image', __FILE__, __LINE__); + $phpThumb->DebugMessage('Would have used cached file, but skipping due to phpThumbDebug', __FILE__, __LINE__); + $phpThumb->DebugMessage('* Would have sent headers (1): Last-Modified: '.gmdate('D, d M Y H:i:s', $nModified).' GMT', __FILE__, __LINE__); + if ($getimagesize = @GetImageSize($phpThumb->cache_filename)) { + $phpThumb->DebugMessage('* Would have sent headers (2): Content-Type: '.phpthumb_functions::ImageTypeToMIMEtype($getimagesize[2]), __FILE__, __LINE__); + } + if (preg_match('#^'.preg_quote($nice_docroot).'(.*)$#', $nice_cachefile, $matches)) { + $phpThumb->DebugMessage('* Would have sent headers (3): Location: '.dirname($matches[1]).'/'.urlencode(basename($matches[1])), __FILE__, __LINE__); + } else { + $phpThumb->DebugMessage('* Would have sent data: readfile('.$phpThumb->cache_filename.')', __FILE__, __LINE__); + } + + } else { + + if (headers_sent()) { + $phpThumb->ErrorImage('Headers already sent ('.basename(__FILE__).' line '.__LINE__.')'); + exit; + } + SendSaveAsFileHeaderIfNeeded(); + + header('Last-Modified: '.gmdate('D, d M Y H:i:s', $nModified).' GMT'); + if (@$_SERVER['HTTP_IF_MODIFIED_SINCE'] && ($nModified == strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])) && @$_SERVER['SERVER_PROTOCOL']) { + header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified'); + exit; + } + + if ($getimagesize = @GetImageSize($phpThumb->cache_filename)) { + header('Content-Type: '.phpthumb_functions::ImageTypeToMIMEtype($getimagesize[2])); + } elseif (preg_match('#\\.ico$#i', $phpThumb->cache_filename)) { + header('Content-Type: image/x-icon'); + } + if (!@$PHPTHUMB_CONFIG['cache_force_passthru'] && preg_match('#^'.preg_quote($nice_docroot).'(.*)$#', $nice_cachefile, $matches)) { + header('Location: '.dirname($matches[1]).'/'.urlencode(basename($matches[1]))); + } else { + @readfile($phpThumb->cache_filename); + } + exit; + + } + return true; +} + + + // instantiate a new phpThumb() object ob_start(); if (!include_once(dirname(__FILE__).'/phpthumb.class.php')) { @@ -48,16 +130,19 @@ // great } else { ob_end_flush(); + $phpThumb->config_disable_debug = false; // otherwise error message won't print $phpThumb->ErrorImage('failed to include_once('.dirname(__FILE__).'/phpThumb.config.php) - realpath="'.realpath(dirname(__FILE__).'/phpThumb.config.php').'"'); } ob_end_clean(); } elseif (file_exists(dirname(__FILE__).'/phpThumb.config.php.default')) { + $phpThumb->config_disable_debug = false; // otherwise error message won't print $phpThumb->ErrorImage('Please rename "phpThumb.config.php.default" to "phpThumb.config.php"'); } else { + $phpThumb->config_disable_debug = false; // otherwise error message won't print $phpThumb->ErrorImage('failed to include_once('.dirname(__FILE__).'/phpThumb.config.php) - realpath="'.realpath(dirname(__FILE__).'/phpThumb.config.php').'"'); } -if (!@$PHPTHUMB_CONFIG['disable_pathinfo_parsing'] && (empty($_GET) || isset($_GET['phpThumbDebug'])) && !empty($_SERVER['PATH_INFO'])) { +if (empty($PHPTHUMB_CONFIG['disable_pathinfo_parsing']) && (empty($_GET) || isset($_GET['phpThumbDebug'])) && !empty($_SERVER['PATH_INFO'])) { $_SERVER['PHP_SELF'] = str_replace($_SERVER['PATH_INFO'], '', @$_SERVER['PHP_SELF']); $args = explode(';', substr($_SERVER['PATH_INFO'], 1)); @@ -65,12 +150,12 @@ if (!empty($args)) { $_GET['src'] = @$args[count($args) - 1]; $phpThumb->DebugMessage('PATH_INFO."src" = "'.$_GET['src'].'"', __FILE__, __LINE__); - if (eregi('^new\=([a-z0-9]+)', $_GET['src'], $matches)) { + if (preg_match('#^new\=([a-z0-9]+)#i', $_GET['src'], $matches)) { unset($_GET['src']); $_GET['new'] = $matches[1]; } } - if (eregi('^([0-9]*)x?([0-9]*)$', @$args[count($args) - 2], $matches)) { + if (preg_match('#^([0-9]*)x?([0-9]*)$#i', @$args[count($args) - 2], $matches)) { $_GET['w'] = $matches[1]; $_GET['h'] = $matches[2]; $phpThumb->DebugMessage('PATH_INFO."w"x"h" set to "'.$_GET['w'].'"x"'.$_GET['h'].'"', __FILE__, __LINE__); @@ -88,12 +173,16 @@ } } -if (@$PHPTHUMB_CONFIG['high_security_enabled']) { - if (!@$_GET['hash']) { +if (!empty($PHPTHUMB_CONFIG['high_security_enabled'])) { + if (empty($_GET['hash'])) { + $phpThumb->config_disable_debug = false; // otherwise error message won't print $phpThumb->ErrorImage('ERROR: missing hash'); - } elseif (strlen($PHPTHUMB_CONFIG['high_security_password']) < 5) { - $phpThumb->ErrorImage('ERROR: strlen($PHPTHUMB_CONFIG[high_security_password]) < 5'); + } elseif (PasswordStrength($PHPTHUMB_CONFIG['high_security_password']) < 20) { + $phpThumb->config_disable_debug = false; // otherwise error message won't print + $phpThumb->ErrorImage('ERROR: $PHPTHUMB_CONFIG[high_security_password] is not complex enough'); } elseif ($_GET['hash'] != md5(str_replace('&hash='.$_GET['hash'], '', $_SERVER['QUERY_STRING']).$PHPTHUMB_CONFIG['high_security_password'])) { + sleep(10); // deliberate delay to discourage password-guessing + $phpThumb->config_disable_debug = false; // otherwise error message won't print $phpThumb->ErrorImage('ERROR: invalid hash'); } } @@ -101,7 +190,7 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[0]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '0') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '0')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// @@ -121,12 +210,13 @@ } } -if (!@$_SERVER['PATH_INFO'] && !@$_SERVER['QUERY_STRING']) { - $phpThumb->ErrorImage('phpThumb() v'.$phpThumb->phpthumb_version.'<br><a href="http://phpthumb.sourceforge.net">http://phpthumb.sourceforge.net</a><br><br>ERROR: no parameters specified'); +if (empty($_SERVER['PATH_INFO']) && empty($_SERVER['QUERY_STRING'])) { + $phpThumb->config_disable_debug = false; // otherwise error message won't print + $phpThumb->ErrorImage('ERROR: no parameters specified'); } if (@$_GET['src'] && isset($_GET['md5s']) && empty($_GET['md5s'])) { - if (eregi('^(f|ht)tps?://', $_GET['src'])) { + if (preg_match('#^(f|ht)tps?://#i', $_GET['src'])) { if ($rawImageData = phpthumb_functions::SafeURLread($_GET['src'], $error, $phpThumb->config_http_fopen_timeout, $phpThumb->config_http_follow_redirect)) { $md5s = md5($rawImageData); } @@ -149,7 +239,7 @@ foreach ($PHPTHUMB_CONFIG as $key => $value) { $keyname = 'config_'.$key; $phpThumb->setParameter($keyname, $value); - if (!eregi('password|mysql', $key)) { + if (!preg_match('#(password|mysql)#i', $key)) { $phpThumb->DebugMessage('setParameter('.$keyname.', '.$phpThumb->phpThumbDebugVarDump($value).')', __FILE__, __LINE__); } } @@ -157,14 +247,14 @@ $phpThumb->DebugMessage('$PHPTHUMB_CONFIG is empty', __FILE__, __LINE__); } -if (@$_GET['src'] && !@$PHPTHUMB_CONFIG['allow_local_http_src'] && eregi('^http://'.@$_SERVER['HTTP_HOST'].'(.+)', @$_GET['src'], $matches)) { +if (@$_GET['src'] && !@$PHPTHUMB_CONFIG['allow_local_http_src'] && preg_match('#^http://'.@$_SERVER['HTTP_HOST'].'(.+)#i', @$_GET['src'], $matches)) { $phpThumb->ErrorImage('It is MUCH better to specify the "src" parameter as "'.$matches[1].'" instead of "'.$matches[0].'".'."\n\n".'If you really must do it this way, enable "allow_local_http_src" in phpThumb.config.php'); } //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[1]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '1') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '1')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// @@ -174,7 +264,7 @@ $phpThumb->ErrorImage('config_nooffsitelink_require_refer enabled and '.(@$parsed_url_referer['host'] ? '"'.$parsed_url_referer['host'].'" is not an allowed referer' : 'no HTTP_REFERER exists')); } $parsed_url_src = phpthumb_functions::ParseURLbetter(@$_GET['src']); -if ($phpThumb->config_nohotlink_enabled && $phpThumb->config_nohotlink_erase_image && eregi('^(f|ht)tps?://', @$_GET['src']) && !in_array(@$parsed_url_src['host'], $phpThumb->config_nohotlink_valid_domains)) { +if ($phpThumb->config_nohotlink_enabled && $phpThumb->config_nohotlink_erase_image && preg_match('#^(f|ht)tps?://#i', @$_GET['src']) && !in_array(@$parsed_url_src['host'], $phpThumb->config_nohotlink_valid_domains)) { $phpThumb->ErrorImage($phpThumb->config_nohotlink_text_message); } @@ -211,7 +301,7 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[2]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '2') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '2')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// @@ -231,7 +321,7 @@ // deprecated: 'err', 'file', 'goto', $allowedGETparameters = array('src', 'new', 'w', 'h', 'wp', 'hp', 'wl', 'hl', 'ws', 'hs', 'f', 'q', 'sx', 'sy', 'sw', 'sh', 'zc', 'bc', 'bg', 'bgt', 'fltr', 'xto', 'ra', 'ar', 'aoe', 'far', 'iar', 'maxb', 'down', 'phpThumbDebug', 'hash', 'md5s', 'sfn', 'dpi', 'sia', 'nocache'); foreach ($_GET as $key => $value) { - if (@$PHPTHUMB_DEFAULTS_DISABLEGETPARAMS && ($key != 'src')) { + if (!empty($PHPTHUMB_DEFAULTS_DISABLEGETPARAMS) && ($key != 'src')) { // disabled, do not set parameter $phpThumb->DebugMessage('ignoring $_GET['.$key.'] because of $PHPTHUMB_DEFAULTS_DISABLEGETPARAMS', __FILE__, __LINE__); } elseif (in_array($key, $allowedGETparameters)) { @@ -245,7 +335,7 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[3]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '3') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '3')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// @@ -266,14 +356,17 @@ $CanPassThroughDirectly = true; if ($phpThumb->rawImageData) { // data from SQL, should be fine -} elseif (eregi('^http\://.+\.(jpe?g|gif|png)$', $phpThumb->src)) { +} elseif (preg_match('#^http\://[^\\?&]+\\.(jpe?g|gif|png)$#i', $phpThumb->src)) { // assume is ok to passthru if no other parameters specified -} elseif (!@is_file($phpThumb->sourceFilename)) { - $phpThumb->DebugMessage('$CanPassThroughDirectly=false because !@is_file('.$phpThumb->sourceFilename.')', __FILE__, __LINE__); +} elseif (preg_match('#^(f|ht)tp\://#i', $phpThumb->src)) { + $phpThumb->DebugMessage('$CanPassThroughDirectly=false because preg_match("#^(f|ht)tp\://#i", '.$phpThumb->src.')', __FILE__, __LINE__); $CanPassThroughDirectly = false; } elseif (!@is_readable($phpThumb->sourceFilename)) { $phpThumb->DebugMessage('$CanPassThroughDirectly=false because !@is_readable('.$phpThumb->sourceFilename.')', __FILE__, __LINE__); $CanPassThroughDirectly = false; +} elseif (!@is_file($phpThumb->sourceFilename)) { + $phpThumb->DebugMessage('$CanPassThroughDirectly=false because !@is_file('.$phpThumb->sourceFilename.')', __FILE__, __LINE__); + $CanPassThroughDirectly = false; } foreach ($_GET as $key => $value) { switch ($key) { @@ -284,7 +377,7 @@ case 'w': case 'h': // might be OK if exactly matches original - if (eregi('^http\://.+\.(jpe?g|gif|png)$', $phpThumb->src)) { + if (preg_match('#^http\://[^\\?&]+\\.(jpe?g|gif|png)$#i', $phpThumb->src)) { // assume it is not ok for direct-passthru of remote image $CanPassThroughDirectly = false; } @@ -309,29 +402,16 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[4]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '4') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '4')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// -function SendSaveAsFileHeaderIfNeeded() { - if (headers_sent()) { - return false; - } - global $phpThumb; - $downloadfilename = phpthumb_functions::SanitizeFilename(@$_GET['sia'] ? $_GET['sia'] : (@$_GET['down'] ? $_GET['down'] : 'phpThumb_generated_thumbnail'.(@$_GET['f'] ? $_GET['f'] : 'jpg'))); - if (@$downloadfilename) { - $phpThumb->DebugMessage('SendSaveAsFileHeaderIfNeeded() sending header: Content-Disposition: '.(@$_GET['down'] ? 'attachment' : 'inline').'; filename="'.$downloadfilename.'"', __FILE__, __LINE__); - header('Content-Disposition: '.(@$_GET['down'] ? 'attachment' : 'inline').'; filename="'.$downloadfilename.'"'); - } - return true; -} - $phpThumb->DebugMessage('$CanPassThroughDirectly="'.intval($CanPassThroughDirectly).'" && $phpThumb->src="'.$phpThumb->src.'"', __FILE__, __LINE__); while ($CanPassThroughDirectly && $phpThumb->src) { // no parameters set, passthru - if (eregi('^http\://.+\.(jpe?g|gif|png)$', $phpThumb->src)) { + if (preg_match('#^http\://[^\\?&]+\.(jpe?g|gif|png)$#i', $phpThumb->src)) { $phpThumb->DebugMessage('Passing HTTP source through directly as Location: redirect ('.$phpThumb->src.')', __FILE__, __LINE__); header('Location: '.$phpThumb->src); exit; @@ -346,7 +426,7 @@ if (!@$_GET['w'] && !@$_GET['wp'] && !@$_GET['wl'] && !@$_GET['ws'] && !@$_GET['h'] && !@$_GET['hp'] && !@$_GET['hl'] && !@$_GET['hs']) { // no resizing needed $phpThumb->DebugMessage('Passing "'.$SourceFilename.'" through directly, no resizing required ("'.$phpThumb->getimagesizeinfo[0].'"x"'.$phpThumb->getimagesizeinfo[1].'")', __FILE__, __LINE__); - } elseif ((($phpThumb->getimagesizeinfo[0] <= @$_GET['w']) || ($phpThumb->getimagesizeinfo[1] <= @$_GET['h'])) && ((@$_GET['w'] == $phpThumb->getimagesizeinfo[0]) || (@$_GET['h'] == $phpThumb->getimagesizeinfo[1]))) { + } elseif (($phpThumb->getimagesizeinfo[0] <= @$_GET['w']) && ($phpThumb->getimagesizeinfo[1] <= @$_GET['h']) && ((@$_GET['w'] == $phpThumb->getimagesizeinfo[0]) || (@$_GET['h'] == $phpThumb->getimagesizeinfo[1]))) { // image fits into 'w'x'h' box, and at least one dimension matches exactly, therefore no resizing needed $phpThumb->DebugMessage('Passing "'.$SourceFilename.'" through directly, no resizing required ("'.$phpThumb->getimagesizeinfo[0].'"x"'.$phpThumb->getimagesizeinfo[1].'" fits inside "'.@$_GET['w'].'"x"'.@$_GET['h'].'")', __FILE__, __LINE__); } else { @@ -407,72 +487,14 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[5]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '5') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '5')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// -function RedirectToCachedFile() { - global $phpThumb, $PHPTHUMB_CONFIG; - - $nice_cachefile = str_replace(DIRECTORY_SEPARATOR, '/', $phpThumb->cache_filename); - $nice_docroot = str_replace(DIRECTORY_SEPARATOR, '/', rtrim($PHPTHUMB_CONFIG['document_root'], '/\\')); - - $parsed_url = phpthumb_functions::ParseURLbetter(@$_SERVER['HTTP_REFERER']); - - $nModified = filemtime($phpThumb->cache_filename); - - if ($phpThumb->config_nooffsitelink_enabled && @$_SERVER['HTTP_REFERER'] && !in_array(@$parsed_url['host'], $phpThumb->config_nooffsitelink_valid_domains)) { - - $phpThumb->DebugMessage('Would have used cached (image/'.$phpThumb->thumbnailFormat.') file "'.$phpThumb->cache_filename.'" (Last-Modified: '.gmdate('D, d M Y H:i:s', $nModified).' GMT), but skipping because $_SERVER[HTTP_REFERER] ('.@$_SERVER['HTTP_REFERER'].') is not in $phpThumb->config_nooffsitelink_valid_domains ('.implode(';', $phpThumb->config_nooffsitelink_valid_domains).')', __FILE__, __LINE__); - - } elseif ($phpThumb->phpThumbDebug) { - - $phpThumb->DebugTimingMessage('skipped using cached image', __FILE__, __LINE__); - $phpThumb->DebugMessage('Would have used cached file, but skipping due to phpThumbDebug', __FILE__, __LINE__); - $phpThumb->DebugMessage('* Would have sent headers (1): Last-Modified: '.gmdate('D, d M Y H:i:s', $nModified).' GMT', __FILE__, __LINE__); - if ($getimagesize = @GetImageSize($phpThumb->cache_filename)) { - $phpThumb->DebugMessage('* Would have sent headers (2): Content-Type: '.phpthumb_functions::ImageTypeToMIMEtype($getimagesize[2]), __FILE__, __LINE__); - } - if (ereg('^'.preg_quote($nice_docroot).'(.*)$', $nice_cachefile, $matches)) { - $phpThumb->DebugMessage('* Would have sent headers (3): Location: '.dirname($matches[1]).'/'.urlencode(basename($matches[1])), __FILE__, __LINE__); - } else { - $phpThumb->DebugMessage('* Would have sent data: readfile('.$phpThumb->cache_filename.')', __FILE__, __LINE__); - } - - } else { - - if (headers_sent()) { - $phpThumb->ErrorImage('Headers already sent ('.basename(__FILE__).' line '.__LINE__.')'); - exit; - } - SendSaveAsFileHeaderIfNeeded(); - - header('Last-Modified: '.gmdate('D, d M Y H:i:s', $nModified).' GMT'); - if (@$_SERVER['HTTP_IF_MODIFIED_SINCE'] && ($nModified == strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])) && @$_SERVER['SERVER_PROTOCOL']) { - header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified'); - exit; - } - - if ($getimagesize = @GetImageSize($phpThumb->cache_filename)) { - header('Content-Type: '.phpthumb_functions::ImageTypeToMIMEtype($getimagesize[2])); - } elseif (eregi('\.ico$', $phpThumb->cache_filename)) { - header('Content-Type: image/x-icon'); - } - if (!@$PHPTHUMB_CONFIG['cache_force_passthru'] && ereg('^'.preg_quote($nice_docroot).'(.*)$', $nice_cachefile, $matches)) { - header('Location: '.dirname($matches[1]).'/'.urlencode(basename($matches[1]))); - } else { - @readfile($phpThumb->cache_filename); - } - exit; - - } - return true; -} - // check to see if file already exists in cache, and output it with no processing if it does $phpThumb->SetCacheFilename(); -if (@is_file($phpThumb->cache_filename)) { +if (@is_readable($phpThumb->cache_filename)) { RedirectToCachedFile(); } else { $phpThumb->DebugMessage('Cached file "'.$phpThumb->cache_filename.'" does not exist, processing as normal', __FILE__, __LINE__); @@ -481,7 +503,7 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[6]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '6') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '6')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// @@ -490,7 +512,7 @@ // great -} elseif (@$_GET['new']) { +} elseif (!empty($_GET['new'])) { // generate a blank image resource of the specified size/background color/opacity if (($phpThumb->w <= 0) || ($phpThumb->h <= 0)) { @@ -518,7 +540,7 @@ $phpThumb->ErrorImage('Usage: '.$_SERVER['PHP_SELF'].'?src=/path/and/filename.jpg'."\n".'read Usage comments for details'); -} elseif (eregi('^(f|ht)tp\://', $phpThumb->src)) { +} elseif (preg_match('#^(f|ht)tp\://#i', $phpThumb->src)) { $phpThumb->DebugMessage('$phpThumb->src ('.$phpThumb->src.') is remote image, attempting to download', __FILE__, __LINE__); if ($phpThumb->config_http_user_agent) { @@ -541,7 +563,7 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[7]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '7') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '7')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// @@ -551,28 +573,19 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[8]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '8') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '8')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// -if ($phpThumb->config_allow_parameter_file && $phpThumb->file) { +if (!empty($PHPTHUMB_CONFIG['high_security_enabled']) && !empty($_GET['nocache'])) { - $phpThumb->RenderToFile($phpThumb->ResolveFilenameToAbsolute($phpThumb->file)); - if ($phpThumb->config_allow_parameter_goto && $phpThumb->goto && eregi('^(f|ht)tps?://', $phpThumb->goto)) { - // redirect to another URL after image has been rendered to file - header('Location: '.$phpThumb->goto); - exit; - } - -} elseif (@$PHPTHUMB_CONFIG['high_security_enabled'] && @$_GET['nocache']) { - // cache disabled, don't write cachefile } else { phpthumb_functions::EnsureDirectoryExists(dirname($phpThumb->cache_filename)); - if ((file_exists($phpThumb->cache_filename) && is_writable($phpThumb->cache_filename)) || is_writable(dirname($phpThumb->cache_filename))) { + if (is_writable(dirname($phpThumb->cache_filename)) || (file_exists($phpThumb->cache_filename) && is_writable($phpThumb->cache_filename))) { $phpThumb->CleanUpCacheDirectory(); if ($phpThumb->RenderToFile($phpThumb->cache_filename) && is_readable($phpThumb->cache_filename)) { @@ -593,7 +606,7 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[9]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '9') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '9')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// @@ -605,7 +618,7 @@ //////////////////////////////////////////////////////////////// // Debug output, to try and help me diagnose problems $phpThumb->DebugTimingMessage('phpThumbDebug[10]', __FILE__, __LINE__); -if (@$_GET['phpThumbDebug'] == '10') { +if (isset($_GET['phpThumbDebug']) && ($_GET['phpThumbDebug'] == '10')) { $phpThumb->phpThumbDebug(); } //////////////////////////////////////////////////////////////// Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpthumb.class.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpthumb.class.php 2012-04-14 21:53:58 UTC (rev 9326) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/class/thumbs/phpthumb.class.php 2012-04-15 00:38:58 UTC (rev 9327) @@ -138,11 +138,9 @@ // * Security var $config_high_security_enabled = false; var $config_high_security_password = null; - var $config_disable_debug = false; + var $config_disable_debug = true; var $config_allow_src_above_docroot = false; var $config_allow_src_above_phpthumb = true; - var $config_allow_parameter_file = false; - var $config_allow_parameter_goto = false; // * HTTP fopen var $config_http_fopen_timeout = 10; @@ -199,14 +197,16 @@ var $thumbnail_image_width = null; var $thumbnail_image_height = null; - var $cache_filename = null; + var $tempFilesToDelete = array(); + var $cache_filename = null; var $AlphaCapableFormats = array('png', 'ico', 'gif'); var $is_alpha = false; - var $iswindows = null; + var $iswindows = null; + var $issafemode = null; - var $phpthumb_version = '1.7.9-200805132119'; + var $phpthumb_version = '1.7.11-201108081537'; ////////////////////////////////////////////////////////////////////// @@ -215,17 +215,36 @@ $this->DebugTimingMessage('phpThumb() constructor', __FILE__, __LINE__); $this->DebugMessage('phpThumb() v'.$this->phpthumb_version, __FILE__, __LINE__); $this->config_max_source_pixels = round(max(intval(ini_get('memory_limit')), intval(get_cfg_var('memory_limit'))) * 1048576 * 0.20); // 20% of memory_limit - $this->iswindows = (bool) (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'); - $this->config_document_root = (@$_SERVER['DOCUMENT_ROOT'] ? $_SERVER['DOCUMENT_ROOT'] : $this->config_document_root); - $this->config_cache_prefix = 'phpThumb_cache_'.@$_SERVER['SERVER_NAME']; + $this->iswindows = (bool) (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'); + $this->issafemode = (bool) preg_match('#(1|ON)#i', ini_get('safe_mode')); + $this->config_document_root = (!empty($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : $this->config_document_root); + $this->config_cache_prefix = ( isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'].'_' : ''); + $this->purgeTempFiles(); // purge existing temp files if re-initializing object + $php_sapi_name = strtolower(function_exists('php_sapi_name') ? php_sapi_name() : ''); if ($php_sapi_name == 'cli') { $this->config_allow_src_above_docroot = true; } } + function __destruct() { + $this->purgeTempFiles(); + } + // public: + function purgeTempFiles() { + foreach ($this->tempFilesToDelete as $tempFileToDelete) { + if (file_exists($tempFileToDelete)) { + $this->DebugMessage('Deleting temp file "'.$tempFileToDelete.'"', __FILE__, __LINE__); + @unlink($tempFileToDelete); + } + } + $this->tempFilesToDelete = array(); + return true; + } + + // public: function setSourceFilename($sourceFilename) { //$this->resetObject(); //$this->rawImageData = null; @@ -233,7 +252,7 @@ $this->src = $sourceFilename; if (is_null($this->config_output_format)) { $sourceFileExtension = strtolower(substr(strrchr($sourceFilename, '.'), 1)); - if (ereg('^[a-z]{3,4}$', $sourceFileExtension)) { + if (preg_match('#^[a-z]{3,4}$#', $sourceFileExtension)) { $this->config_output_format = $sourceFileExtension; $this->DebugMessage('setSourceFilename('.$sourceFilename.') set $this->config_output_format to "'.$sourceFileExtension.'"', __FILE__, __LINE__); } else { @@ -364,7 +383,7 @@ // $borderThickness = 0; // if (!empty($this->fltr)) { // foreach ($this->fltr as $key => $value) { -// if (ereg('^bord\|([0-9]+)', $value, $matches)) { +// if (preg_match('#^bord\|([0-9]+)#', $value, $matches)) { // $borderThickness = $matches[1]; // break; // } @@ -517,7 +536,7 @@ // public: function RenderToFile($filename) { - if (eregi('^(f|ht)tps?\://', $filename)) { + if (preg_match('#^(f|ht)tps?\://#i', $filename)) { $this->DebugMessage('RenderToFile() failed because $filename ('.$filename.') is a URL', __FILE__, __LINE__); return false; } @@ -553,6 +572,8 @@ // public: function OutputThumbnail() { + $this->purgeTempFiles(); + if (!$this->useRawIMoutput && !is_resource($this->gdimg_output)) { $this->DebugMessage('OutputThumbnail() failed because !is_resource($this->gdimg_output)', __FILE__, __LINE__); return false; @@ -649,7 +670,21 @@ // public: function CleanUpCacheDirectory() { - $this->DebugMessage('skipping CleanUpCacheDirectory() set to purge ('.number_format($this->config_cache_maxage / 86400, 1).' days; '.number_format($this->config_cache_maxsize / 1048576, 2).'MB; '.number_format($this->config_cache_maxfiles).' files)', __FILE__, __LINE__); + $this->DebugMessage('CleanUpCacheDirectory() set to purge ('.(is_null($this->config_cache_maxage) ? 'NULL' : number_format($this->config_cache_maxage / 86400, 1)).' days; '.(is_null($this->config_cache_maxsize) ? 'NULL' : number_format($this->config_cache_maxsize / 1048576, 2)).' MB; '.(is_null($this->config_cache_maxfiles) ? 'NULL' : number_format($this->config_cache_maxfiles)).' files)', __FILE__, __LINE__); + + if (!is_writable($this->config_cache_directory)) { + $this->DebugMessage('CleanUpCacheDirectory() skipped because "'.$this->config_cache_directory.'" is not writable', __FILE__, __LINE__); + return true; + } + + // cache status of cache directory for 1 hour to avoid hammering the filesystem functions + $phpThumbCacheStats_filename = $this->config_cache_directory.DIRECTORY_SEPARATOR.'phpThumbCacheStats.txt'; + if (file_exists($phpThumbCacheStats_filename) && is_readable($phpThumbCacheStats_filename) && (filemtime($phpThumbCacheStats_filename) >= (time() - 3600))) { + $this->DebugMessage('CleanUpCacheDirectory() skipped because "'.$phpThumbCacheStats_filename.'" is recently modified', __FILE__, __LINE__); + return true; + } + touch($phpThumbCacheStats_filename); + $DeletedKeys = array(); $AllFilesInCacheDirectory = array(); if (($this->config_cache_maxage > 0) || ($this->config_cache_maxsize > 0) || ($this->config_cache_maxfiles > 0)) { @@ -657,7 +692,7 @@ $CacheDirOldFilesSize = array(); $AllFilesInCacheDirectory = phpthumb_functions::GetAllFilesInSubfolders($this->config_cache_directory); foreach ($AllFilesInCacheDirectory as $fullfilename) { - if (eregi('^phpThumb_cache_', basename($fullfilename)) && file_exists($fullfilename)) { + if (preg_match('#^'.preg_quote($this->config_cache_prefix).'#i', $fullfilename) && file_exists($fullfilename)) { $CacheDirOldFilesAge[$fullfilename] = @fileatime($fullfilename); if ($CacheDirOldFilesAge[$fullfilename] == 0) { $CacheDirOldFilesAge[$fullfilename] = @filemtime($fullfilename); @@ -792,7 +827,7 @@ $class_vars = get_class_vars(get_class($this)); foreach ($class_vars as $key => $value) { // do not clobber debug or config info - if (!eregi('^(config_|debug|fatalerror)', $key)) { + if (!preg_match('#^(config_|debug|fatalerror)#i', $key)) { $this->$key = $value; } } @@ -823,7 +858,7 @@ } if ($this->iswindows && ((substr($this->sourceFilename, 0, 2) == '//') || (substr($this->sourceFilename, 0, 2) == '\\\\'))) { // Windows \\share\filename.ext - } elseif (eregi('^(f|ht)tps?\://', $this->sourceFilename)) { + } elseif (preg_match('#^(f|ht)tps?\://#i', $this->sourceFilename)) { // URL if ($this->config_http_user_agent) { ini_set('user_agent', $this->config_http_user_agent); @@ -887,7 +922,7 @@ $AvailableImageOutputFormats = array_unique($AvailableImageOutputFormats); $this->DebugMessage('$AvailableImageOutputFormats = array('.implode(';', $AvailableImageOutputFormats).')', __FILE__, __LINE__); - $this->f = ereg_replace('[^a-z]', '', strtolower($this->f)); + $this->f = preg_replace('#[^a-z]#', '', strtolower($this->f)); if (strtolower($this->config_output_format) == 'jpg') { $this->config_output_format = 'jpeg'; } @@ -912,7 +947,7 @@ // for JPEG images, quality 1 (worst) to 99 (best) // quality < 25 is nasty, with not much size savings - not recommended // problems with 100 - invalid JPEG? - $this->thumbnailQuality = max(1, min(99, ($this->q ? $this->q : 75))); + $this->thumbnailQuality = max(1, min(99, ($this->q ? intval($this->q) : 75))); $this->DebugMessage('$this->thumbnailQuality set to "'.$this->thumbnailQuality.'"', __FILE__, __LINE__); return true; @@ -922,7 +957,7 @@ // resolve cache directory to absolute pathname $this->DebugMessage('setCacheDirectory() starting with config_cache_directory = "'.$this->config_cache_directory.'"', __FILE__, __LINE__); if (substr($this->config_cache_directory, 0, 1) == '.') { - if (eregi('^(f|ht)tps?\://', $this->src)) { + if (preg_match('#^(f|ht)tps?\://#i', $this->src)) { if (!$this->config_cache_disable_warning) { $this->ErrorImage('$this->config_cache_directory ('.$this->config_cache_directory.') cannot be used for remote images. Adjust "cache_directory" or "cache_disable_warning" in phpThumb.config.php'); } @@ -972,12 +1007,11 @@ function ResolveFilenameToAbsolute($filename) { - if (!$filename) { + if (empty($filename)) { return false; } - //if (eregi('^(f|ht)tps?\://', $filename)) { - if (eregi('^[a-z0-9]+\:/{1,2}', $filename)) { + if (preg_match('#^[a-z0-9]+\:/{1,2}#i', $filename)) { // eg: http://host/path/file.jpg (HTTP URL) // eg: ftp://host/path/file.jpg (FTP URL) // eg: data1:/path/file.jpg (Netware path) @@ -985,7 +1019,7 @@ //$AbsoluteFilename = $filename; return $filename; - } elseif ($this->iswindows && ($filename{1} == ':')) { + } elseif ($this->iswindows && isset($filename{1}) && ($filename{1} == ':')) { // absolute pathname (Windows) $AbsoluteFilename = $filename; @@ -1002,7 +1036,7 @@ // absolute filename (*nix) $AbsoluteFilename = $filename; - } elseif ($filename{1} == '~') { + } elseif (isset($filename{1}) && ($filename{1} == '~')) { // /~user/path if ($ApacheLookupURIarray = phpthumb_functions::ApacheLookupURIarray($filename)) { @@ -1021,7 +1055,7 @@ } else { // relative filename (any OS) - if (ereg('^'.preg_quote($this->config_document_root), $filename)) { + if (preg_match('#^'.preg_quote($this->config_document_root).'#', $filename)) { $AbsoluteFilename = $filename; $this->DebugMessage('ResolveFilenameToAbsolute() NOT prepending $this->config_document_root ('.$this->config_document_root.') to $filename ('.$filename.') resulting in ($AbsoluteFilename = "'.$AbsoluteFilename.'")', __FILE__, __LINE__); } else { @@ -1034,7 +1068,9 @@ } else { // relative to current directory (any OS) - $AbsoluteFilename = $this->config_document_root.dirname(@$_SERVER['PHP_SELF']).DIRECTORY_SEPARATOR.$filename; + //$AbsoluteFilename = $this->config_document_root.preg_replace('#[/\\\\]#', DIRECTORY_SEPARATOR, dirname(@$_SERVER['PHP_SELF'])).DIRECTORY_SEPARATOR.preg_replace('#[/\\\\]#', DIRECTORY_SEPARATOR, $filename); + $AbsoluteFilename = dirname(__FILE__).DIRECTORY_SEPARATOR.preg_replace('#[/\\\\]#', DIRECTORY_SEPARATOR, $filename); + //if (!@file_exists($AbsoluteFilename) && @file_exists(realpath($this->DotPadRelativeDirectoryPath($filename)))) { // $AbsoluteFilename = realpath($this->DotPadRelativeDirectoryPath($filename)); //} @@ -1063,20 +1099,40 @@ $AbsoluteFilename = realpath($AbsoluteFilename); } if ($this->iswindows) { - $AbsoluteFilename = eregi_replace('^'.preg_quote(realpath($this->config_document_root)), realpath($this->config_document_root), $AbsoluteFilename); + $AbsoluteFilename = preg_replace('#^'.preg_quote(realpath($this->config_document_root)).'#i', realpath($this->config_document_root), $AbsoluteFilename); $AbsoluteFilename = str_replace(DIRECTORY_SEPARATOR, '/', $AbsoluteFilename); } - if (!$this->config_allow_src_above_docroot && !ereg('^'.preg_quote(str_replace(DIRECTORY_SEPARATOR, '/', realpath($this->config_document_root))), $AbsoluteFilename)) { + if (!$this->config_allow_src_above_docroot && !preg_match('#^'.preg_quote(str_replace(DIRECTORY_SEPARATOR, '/', realpath($this->config_document_root))).'#', $AbsoluteFilename)) { $this->DebugMessage('!$this->config_allow_src_above_docroot therefore setting "'.$AbsoluteFilename.'" (outside "'.realpath($this->config_document_root).'") to null', __FILE__, __LINE__); return false; } - if (!$this->config_allow_src_above_phpthumb && !ereg('^'.preg_quote(str_replace(DIRECTORY_SEPARATOR, '/', dirname(__FILE__))), $AbsoluteFilename)) { + if (!$this->config_allow_src_above_phpthumb && !preg_match('#^'.preg_quote(str_replace(DIRECTORY_SEPARATOR, '/', dirname(__FILE__))).'#', $AbsoluteFilename)) { $this->DebugMessage('!$this->config_allow_src_above_phpthumb therefore setting "'.$AbsoluteFilename.'" (outside "'.dirname(__FILE__).'") to null', __FILE__, __LINE__); return false; } return $AbsoluteFilename; } + function file_exists_ignoreopenbasedir($filename, $cached=true) { + static $open_basedirs = null; + static $file_exists_cache = array(); + if (!$cached || !isset($file_exists_cache[$filename])) { + if (is_null($open_basedirs)) { + $open_basedirs = explode(';', ini_get('open_basedir')); + } + if (empty($open_basedirs) || in_array(dirname($filename), $open_basedirs)) { + $file_exists_cache[$filename] = file_exists($filename); + } elseif ($this->iswindows) { + $ls_filename = trim(phpthumb_functions::SafeExec('dir '.escapeshellarg($filename))); + $file_exists_cache[$filename] = !preg_match('#File Not Found#i', $ls_filename); + } else { + $ls_filename = trim(phpthumb_functions::SafeExec('ls '.escapeshellarg($filename))); + $file_exists_cache[$filename] = ($ls_filename == $filename); + } + } + return $file_exists_cache[$filename]; + } + function ImageMagickWhichConvert() { static $WhichConvert = null; if (is_null($WhichConvert)) { @@ -1092,6 +1148,10 @@ function ImageMagickCommandlineBase() { static $commandline = null; if (is_null($commandline)) { + if ($this->issafemode) { + $commandline = ''; + return $commandline; + } $commandline = (!is_null($this->config_imagemagick_path) ? $this->config_imagemagick_path : ''); if ($this->config_imagemagick_path && ($this->config_imagemagick_path != realpath($this->config_imagemagick_path))) { @@ -1102,14 +1162,17 @@ $this->DebugMessage('Leaving $this->config_imagemagick_path as ('.$this->config_imagemagick_path.') because !is_execuatable(realpath($this->config_imagemagick_path)) ('.realpath($this->config_imagemagick_path).')', __FILE__, __LINE__); } } - $this->DebugMessage(' file_exists('.$this->config_imagemagick_path.') = '.intval( @file_exists($this->config_imagemagick_path)), __FILE__, __LINE__); - $this->DebugMessage('is_executable('.$this->config_imagemagick_path.') = '.intval(@is_executable($this->config_imagemagick_path)), __FILE__, __LINE__); - if (@file_exists($this->config_imagemagick_path)) { + $this->DebugMessage(' file_exists('.$this->config_imagemagick_path.') = '.intval( @file_exists($this->config_imagemagick_path)), __FILE__, __LINE__); + $this->DebugMessage('file_exists_ignoreopenbasedir('.$this->config_imagemagick_path.') = '.intval($this->file_exists_ignoreopenbasedir($this->config_imagemagick_path)), __FILE__, __LINE__); + $this->DebugMessage(' is_file('.$this->config_imagemagick_path.') = '.intval( @is_file($this->config_imagemagick_path)), __FILE__, __LINE__); + $this->DebugMessage(' is_executable('.$this->config_imagemagick_path.') = '.intval( @is_executable($this->config_imagemagick_path)), __FILE__, __LINE__); + + if ($this->file_exists_ignoreopenbasedir($this->config_imagemagick_path)) { $this->DebugMessage('using ImageMagick path from $this->config_imagemagick_path ('.$this->config_imagemagick_path.')', __FILE__, __LINE__); if ($this->iswindows) { - $commandline = substr($this->config_imagemagick_path, 0, 2).' && cd "'.str_replace('/', DIRECTORY_SEPARATOR, substr(dirname($this->config_imagemagick_path), 2)).'" && '.basename($this->config_imagemagick_path); + $commandline = substr($this->config_imagemagick_path, 0, 2).' && cd '.escapeshellarg(str_replace('/', DIRECTORY_SEPARATOR, substr(dirname($this->config_imagemagick_path), 2))).' && '.escapeshellarg(basename($this->config_imagemagick_path)); } else { - $commandline = '"'.$this->config_imagemagick_path.'"'; + $commandline = escapeshellarg($this->config_imagemagick_path); } return $commandline; } @@ -1117,7 +1180,7 @@ $which_convert = $this->ImageMagickWhichConvert(); $IMversion = $this->ImageMagickVersion(); - if ($which_convert && ($which_convert{0} == '/') && @file_exists($which_convert)) { + if ($which_convert && ($which_convert{0} == '/') && $this->file_exists_ignoreopenbasedir($which_convert)) { // `which convert` *should* return the path if "convert" exist, or nothing if it doesn't // other things *may* get returned, like "sh: convert: not found" or "no convert in /usr/local/bin /usr/sbin /usr/bin /usr/ccs/bin" @@ -1143,24 +1206,24 @@ function ImageMagickVersion($returnRAW=false) { static $versionstring = null; if (is_null($versionstring)) { + $versionstring = array(0=>false, 1=>false); $commandline = $this->ImageMagickCommandlineBase(); $commandline = (!is_null($commandline) ? $commandline : ''); - $versionstring = array(0=>'', 1=>''); if ($commandline) { $commandline .= ' --version'; $this->DebugMessage('ImageMagick version checked with "'.$commandline.'"', __FILE__, __LINE__); $versionstring[1] = trim(phpthumb_functions::SafeExec($commandline)); - if (eregi('^Version: [^0-9]*([ 0-9\\.\\:Q/]+) (http|file)\:', $versionstring[1], $matches)) { + if (preg_match('#^Version: [^0-9]*([ 0-9\\.\\:Q/\\-]+) (http|file)\:#i', $versionstring[1], $matches)) { $versionstring[0] = $matches[1]; } else { $versionstring[0] = false; $this->DebugMessage('ImageMagick did not return recognized version string ('.$versionstring[1].')', __FILE__, __LINE__); } - $this->DebugMessage('ImageMagick convert --version says "'.$matches[0].'"', __FILE__, __LINE__); + $this->DebugMessage('ImageMagick convert --version says "'.@$matches[0].'"', __FILE__, __LINE__); } } - return @$versionstring[intval($returnRAW)]; + return $versionstring[intval($returnRAW)]; } function ImageMagickSwitchAvailable($switchname) { @@ -1172,7 +1235,7 @@ $commandline .= ' -help'; $IMhelp_lines = explode("\n", phpthumb_functions::SafeExec($commandline)); foreach ($IMhelp_lines as $line) { - if (ereg('^[\+\-]([a-z\-]+) ', trim($line), $matches)) { + if (preg_match('#^[\\+\\-]([a-z\\-]+) #', trim($line), $matches)) { $IMoptions[$matches[1]] = true; } } @@ -1288,14 +1351,26 @@ } } + // http://freealter.org/doc_distrib/ImageMagick-5.1.1/www/convert.html if (!$this->sourceFilename && $this->rawImageData) { - !$this->SourceDataToTempFile(); + $this->SourceDataToTempFile(); } if (!$this->sourceFilename) { $this->DebugMessage('ImageMagickThumbnailToGD() aborting because $this->sourceFilename is empty', __FILE__, __LINE__); $this->useRawIMoutput = false; return false; } + if ($this->issafemode) { + $this->DebugMessage('ImageMagickThumbnailToGD() aborting because safe_mode is enabled', __FILE__, __LINE__); + $this->useRawIMoutput = false; + return false; + } +// TO BE FIXED +//if (true) { +// $this->DebugMessage('ImageMagickThumbnailToGD() aborting it is broken right now', __FILE__, __LINE__); +// $this->useRawIMoutput = false; +// return false; +//} $commandline = $this->ImageMagickCommandlineBase(); if ($commandline) { @@ -1309,9 +1384,9 @@ $IMresizeParameter = 'resize'; // some (older? around 2002) versions of IM won't accept "-resize 100x" but require "-resize 100x100" - $commandline_test = $this->ImageMagickCommandlineBase().' logo: -resize 1x "'.$IMtempfilename.'" 2>&1'; + $commandline_test = $this->ImageMagickCommandlineBase().' logo: -resize 1x '.escapeshellarg($IMtempfilename).' 2>&1'; $IMresult_test = phpthumb_functions::SafeExec($commandline_test); - $IMuseExplicitImageOutputDimensions = eregi('image dimensions are zero', $IMresult_test); + $IMuseExplicitImageOutputDimensions = preg_match('#image dimensions are zero#i', $IMresult_test); $this->DebugMessage('IMuseExplicitImageOutputDimensions = '.intval($IMuseExplicitImageOutputDimensions), __FILE__, __LINE__); if ($fp_im_temp = @fopen($IMtempfilename, 'wb')) { // erase temp image so ImageMagick logo doesn't get output if other processing fails @@ -1322,7 +1397,7 @@ if (!is_null($this->dpi) && $this->ImageMagickSwitchAvailable('density')) { // for raster source formats only (WMF, PDF, etc) - $commandline .= ' -density '.$this->dpi; + $commandline .= ' -density '.escapeshellarg($this->dpi); } ob_start(); $getimagesize = GetImageSize($this->sourceFilename); @@ -1340,16 +1415,14 @@ $this->DebugMessage('source dimensions set to '.$this->source_width.'x'.$this->source_height, __FILE__, __LINE__); $this->SetOrientationDependantWidthHeight(); - if (!eregi('('.implode('|', $this->AlphaCapableFormats).')', $outputFormat)) { + if (!preg_match('#('.implode('|', $this->AlphaCapableFormats).')#i', $outputFormat)) { // not a transparency-capable format - $commandline .= ' -background "#'.($this->bg ? $this->bg : 'FFFFFF').'"'; - if ($getimagesize[2] == 1) { - // GIF + $commandline .= ' -background '.escapeshellarg('#'.($this->bg ? $this->bg : 'FFFFFF')); + if ($getimagesize[2] == IMAGETYPE_GIF) { $commandline .= ' -flatten'; } } - if ($getimagesize[2] == 1) { - // GIF + if ($getimagesize[2] == IMAGETYPE_GIF) { $commandline .= ' -coalesce'; // may be needed for animated GIFs } if ($this->source_width || $this->source_height) { @@ -1358,7 +1431,7 @@ $borderThickness = 0; if (!empty($this->fltr)) { foreach ($this->fltr as $key => $value) { - if (ereg('^bord\|([0-9]+)', $value, $matches)) { + if (preg_match('#^bord\|([0-9]+)#', $value, $matches)) { $borderThickness = $matches[1]; break; } @@ -1373,11 +1446,7 @@ $sideY = phpthumb_functions::nonempty_min( $this->source_height, $hAll, round($wAll / $zcAR)); $thumbnailH = round(max($sideY, ($sideY * $zcAR) / $imAR)); - if ($IMuseExplicitImageOutputDimensions) { - $commandline .= ' -'.$IMresizeParameter.' '.$thumbnailH.'x'.$thumbnailH; - } else { - $commandline .= ' -'.$IMresizeParameter.' x'.$thumbnailH; - } + $commandline .= ' -'.$IMresizeParameter.' '.escapeshellarg(($IMuseExplicitImageOutputDimensions ? $thumbnailH : '').'x'.$thumbnailH); switch (strtoupper($this->zc)) { case 'T': @@ -1412,9 +1481,9 @@ } if (($wAll > 0) && ($hAll > 0)) { - $commandline .= ' -crop '.$wAll.'x'.$hAll.'+0+0'; + $commandline .= ' -crop '.escapeshellarg($wAll.'x'.$hAll.'+0+0'); } else { - $commandline .= ' -crop '.$side.'x'.$side.'+0+0'; + $commandline .= ' -crop '.escapeshellarg($side.'x'.$side.'+0+0'); } if ($this->ImageMagickSwitchAvailable('repage')) { $commandline .= ' +repage'; @@ -1424,10 +1493,23 @@ } elseif ($this->sw || $this->sh || $this->sx || $this->sy) { - $commandline .= ' -crop '.($this->sw ? $this->sw : $this->source_width).'x'.($this->sh ? $this->sh : $this->source_height).'+'.$this->sx.'+'.$this->sy; + $crop_param = ''; + $crop_param .= ($this->sw ? (($this->sw < 2) ? round($this->sw * $this->source_width) : $this->sw) : $this->source_width); + $crop_param .= 'x'.($this->sh ? (($this->sh < 2) ? round($this->sh * $this->source_height) : $this->sh) : $this->source_height); + $crop_param .= '+'.(($this->sx < 2) ? round($this->sx * $this->source_width) : $this->sx); + $crop_param .= '+'.(($this->sy < 2) ? round($this->sy * $this->source_height) : $this->sy); +// TO BE FIXED +// makes 1x1 output +// http://trainspotted.com/phpThumb/phpThumb.php?src=/content/CNR/47/CNR-4728-LD-L-20110723-898.jpg&w=100&h=100&far=1&f=png&fltr[]=lvl&sx=0.05&sy=0.25&sw=0.92&sh=0.42 +// '/usr/bin/convert' -density 150 -thumbnail 100x100 -contrast-stretch '0.1%' '/var/www/vhosts/trainspotted.com/httpdocs/content/CNR/47/CNR-4728-LD-L-20110723-898.jpg[0]' png:'/var/www/vhosts/trainspotted.com/httpdocs/phpThumb/_cache/pThumbIIUlvj' +// $commandline .= ' -crop '.escapeshellarg($crop_param); + // this is broken for aoe=1, but unsure how to fix. Send advice to in...@si... if ($this->w || $this->h) { - if ($this->ImageMagickSwitchAvailable('repage')) { + //if ($this->ImageMagickSwitchAvailable('repage')) { +if (false) { +// TO BE FIXED +// newer versions of ImageMagick require -repage <geometry> $commandline .= ' -repage'; } else { $this->DebugMessage('Skipping "-repage" because ImageMagick (v'.$this->ImageMagickVersion().') does not support it', __FILE__, __LINE__); @@ -1439,17 +1521,16 @@ $this->w = ceil($this->h * ($this->source_width / $this->source_height)); } } - $commandline .= ' -'.$IMresizeParameter.' '.$this->w.'x'.$this->h; + $commandline .= ' -'.$IMresizeParameter.' '.escapeshellarg($this->w.'x'.$this->h); } } else { if ($this->iar && (intval($this->w) > 0) && (intval($this->h) > 0)) { - //$commandline .= ' -'.$IMresizeParameter.' '.$this->w.'x'.$this->h.'!'; list($nw, $nh) = phpthumb_functions::TranslateWHbyAngle($this->w, $this->h, $this->ra); $nw = ((round($nw) != 0) ? round($nw) : ''); $nh = ((round($nh) != 0) ? round($nh) : ''); - $commandline .= ' -'.$IMresizeParameter.' '.$nw.'x'.$nh.'!'; + $commandline .= ' -'.$IMresizeParameter.' '.escapeshellarg($nw.'x'.$nh.'!'); } else { $this->w = ((($this->aoe || $this->far) && $this->w) ? $this->w : ($this->w ? phpthumb_functions::nonempty_min($this->w, $getimagesize[0]) : '')); $this->h = ((($this->aoe || $this->far) && $this->h) ? $this->h : ($this->h ? phpthumb_functions::nonempty_min($this->h, $getimagesize[1]) : '')); @@ -1461,11 +1542,10 @@ $this->w = ceil($this->h * ($this->source_width / $this->source_height)); } } - //$commandline .= ' -'.$IMresizeParameter.' '.$this->w.'x'.$this->h; list($nw, $nh) = phpthumb_functions::TranslateWHbyAngle($this->w, $this->h, $this->ra); $nw = ((round($nw) != 0) ? round($nw) : ''); $nh = ((round($nh) != 0) ? round($nh) : ''); - $commandline .= ' -'.$IMresizeParameter.' '.$nw.'x'.$nh; + $commandline .= ' -'.$IMresizeParameter.' '.escapeshellarg($nw.'x'.$nh); } } } @@ -1475,15 +1555,13 @@ $this->DebugMessage('GetImageSize('.$this->sourceFilename.') failed', __FILE__, __LINE__); if ($this->w || $this->h) { + $exactDimensionsBang = (($this->iar && (intval($this->w) > 0) && (intval($this->h) > 0)) ? '!' : ''); if ($IMuseExplicitImageOutputDimensions) { - // unknown source aspect ration, just put large number and hope IM figures it out - $commandline .= ' -'.$IMresizeParameter.' '.($this->w ? $this->w : '9999').'x'.($this->h ? $this->h : '9999'); + // unknown source aspect ratio, just put large number and hope IM figures it out + $commandline .= ' -'.$IMresizeParameter.' '.escapeshellarg(($this->w ? $this->w : '9999').'x'.($this->h ? $this->h : '9999').$exactDimensionsBang); } else { - $commandline .= ' -'.$IMresizeParameter.' '.$this->w.'x'.$this->h; + $commandline .= ' -'.$IMresizeParameter.' '.escapeshellarg($this->w.'x'.$this->h.$exactDimensionsBang); } - if ($this->iar && (intval($this->w) > 0) && (intval($this->h) > 0)) { - $commandline .= '!'; - } } } @@ -1491,15 +1569,15 @@ if ($this->ra) { $this->ra = intval($this->ra); if ($this->ImageMagickSwitchAvailable('rotate')) { - if (!eregi('('.implode('|', $this->AlphaCapableFormats).')', $outputFormat) || phpthumb_functions::version_compare_replacement($this->ImageMagickVersion(), '6.3.7', '>=')) { + if (!preg_match('#('.implode('|', $this->AlphaCapableFormats).')#i', $outputFormat) || phpthumb_functions::version_compare_replacement($this->ImageMagickVersion(), '6.3.7', '>=')) { $this->DebugMessage('Using ImageMagick rotate', __FILE__, __LINE__); - $commandline .= ' -rotate '.$this->ra; + $commandline .= ' -rotate '.escapeshellarg($this->ra); if (($this->ra % 90) != 0) { - if (eregi('('.implode('|', $this->AlphaCapableFormats).')', $outputFormat)) { + if (preg_match('#('.implode('|', $this->AlphaCapableFormats).')#i', $outputFormat)) { // alpha-capable format $commandline .= ' -background rgba(255,255,255,0)'; } else { - $commandline .= ' -background "#'.($this->bg ? $this->bg : 'FFFFFF').'"'; + $commandline .= ' -background '.escapeshellarg('#'.($this->bg ? $this->bg : 'FFFFFF')); } } $this->ra = 0; @@ -1517,19 +1595,21 @@ switch ($command) { case 'brit': if ($this->ImageMagickSwitchAvailable('modulate')) { - $commandline .= ' -modulate '.(100 + $parameter).',100,100'; + $commandline .= ' -modulate '.escapeshellarg((100 + intval($parameter)).',100,100'); $successfullyProcessedFilters[] = $filterkey; } break; case 'cont': if ($this->ImageMagickSwitchAvailable('contrast')) { - $contDiv10 = round($parameter / 10); + $contDiv10 = round(intval($parameter) / 10); if ($contDiv10 > 0) { + $contDiv10 = min($contDiv10, 100); for ($i = 0; $i < $contDiv10; $i++) { $commandline .= ' -contrast'; // increase contrast by 10% } } elseif ($contDiv10 < 0) { + $contDiv10 = max($contDiv10, -100); for ($i = $contDiv10; $i < 0; $i++) { $commandline .= ' +contrast'; // decrease contrast by 10% } @@ -1543,9 +1623,10 @@ case 'ds': if ($this->ImageMagickSwitchAvailable(array('colorspace', 'modulate'))) { if ($parameter == 100) { - $commandline .= ' -colorspace GRAY -modulate 100,0,100'; + $commandline .= ' -colorspace GRAY'; + $commandline .= ' -modulate 100,0,100'; } else { - $commandline .= ' -modulate 100,'.(100 - $parameter).',100'; + $commandline .= ' -modulate '.escapeshellarg('100,'.(100 - intval($parameter)).',100'); } $successfullyProcessedFilters[] = $filterkey; } @@ -1554,9 +1635,10 @@ case 'sat': if ($this->ImageMagickSwitchAvailable(array('colorspace', 'modulate'))) { if ($parameter == -100) { - $commandline .= ' -colorspace GRAY -modulate 100,0,100'; + $commandline .= ' -colorspace GRAY'; + $commandline .= ' -modulate 100,0,100'; } else { - $commandline .= ' -modulate 100,'.(100 + $parameter).',100'; + $commandline .= ' -modulate '.escapeshellarg('100,'.(100 + intval($parameter)).',100'); } $successfullyProcessedFilters[] = $filterkey; } @@ -1564,8 +1646,8 @@ case 'gray': if ($this->ImageMagickSwitchAvailable(array('colorspace', 'modulate'))) { - $commandline .= ' -colorspace GRAY -modulate 100,0,100'; - //$commandline .= ' -colorspace GRAY'; + $commandline .= ' -colorspace GRAY'; + $commandline .= ' -modulate 100,0,100'; $successfullyProcessedFilters[] = $filterkey; } break; @@ -1573,7 +1655,8 @@ case 'clr': if ($this->ImageMagickSwitchAvailable(array('fill', 'colorize'))) { @list($amount, $color) = explode('|', $parameter); - $commandline .= ' -fill "#'.$color.'" -colorize '.$amount; + $commandline .= ' -fill '.escapeshellarg('#'.preg_replace('#[^0-9A-F]#i', '', $color)); + $commandline .= ' -colorize '.escapeshellarg(min(max(intval($amount), 0), 100)); } break; @@ -1582,16 +1665,20 @@ @list($amount, $color) = explode('|', $parameter); $amount = ($amount ? $amount : 80); if (!$color) { - $commandline .= ' -sepia-tone '.$amount.'%'; + $commandline .= ' -sepia-tone '.escapeshellarg(min(max(intval($amount), 0), 100).'%'); $successfullyProcessedFilters[] = $filterkey; } } break; case 'gam': - if ($this->ImageMagickSwitchAvailable('gamma')) { - $commandline .= ' -gamma '.$parameter; - $successfullyProcessedFilters[] = $filterkey; + @list($amount) = explode('|', $parameter); + $amount = min(max(floatval($amount), 0.001), 10); + if (number_format($amount, 3) != '1.000') { + if ($this->ImageMagickS... [truncated message content] |
From: <be...@us...> - 2012-04-15 02:48:17
|
Revision: 9328 http://xoops.svn.sourceforge.net/xoops/?rev=9328&view=rev Author: beckmi Date: 2012-04-15 02:48:11 +0000 (Sun, 15 Apr 2012) Log Message: ----------- ID: 3466534 tooltip "$ not defined" fix (culex) Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/default/js/tooltip.js Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 00:38:58 UTC (rev 9327) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 02:48:11 UTC (rev 9328) @@ -5,6 +5,7 @@ =============================== Bugfixes: - preventing division by zero in pagenav.php (timgno) + - ID: 3466534 tooltip "$ not defined" fix (culex) Updated: - phpThumb to 1.7.11 (mamba) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/default/js/tooltip.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/default/js/tooltip.js 2012-04-15 00:38:58 UTC (rev 9327) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/default/js/tooltip.js 2012-04-15 02:48:11 UTC (rev 9328) @@ -1,3 +1,4 @@ +( function($) { /* * Tooltip script * powered by jQuery (http://www.jquery.com) @@ -60,4 +61,5 @@ // starting the script on page load $(document).ready(function(){ tooltip(); +}); }); \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-15 03:01:46
|
Revision: 9329 http://xoops.svn.sourceforge.net/xoops/?rev=9329&view=rev Author: beckmi Date: 2012-04-15 03:01:40 +0000 (Sun, 15 Apr 2012) Log Message: ----------- ID: 3513787 wrong cookie_domain (arion92fr) Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 02:48:11 UTC (rev 9328) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 03:01:40 UTC (rev 9329) @@ -6,6 +6,7 @@ Bugfixes: - preventing division by zero in pagenav.php (timgno) - ID: 3466534 tooltip "$ not defined" fix (culex) + - ID: 3513787 wrong cookie_domain (arion92fr) Updated: - phpThumb to 1.7.11 (mamba) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php 2012-04-15 02:48:11 UTC (rev 9328) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/include/common.php 2012-04-15 03:01:40 UTC (rev 9329) @@ -93,7 +93,9 @@ * Set cookie dope for multiple subdomains remove the '.'. to use top level dope for session cookie; * Requires functions */ -define('XOOPS_COOKIE_DOMAIN', ($domain = xoops_getBaseDomain(XOOPS_URL)) == 'localhost' ? '' : '.' . $domain); +//define('XOOPS_COOKIE_DOMAIN', ($domain = xoops_getBaseDomain(XOOPS_URL)) == 'localhost' ? '' : '.' . $domain); +//When you don't use Localhost but your "computer name" as domain you can't use session cookies +define('XOOPS_COOKIE_DOMAIN', (strpos($domain = xoops_getBaseDomain(XOOPS_URL),'.')) === FALSE ? '' : '.' . $domain); //by arion92fr /** * Check Proxy; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-15 11:50:25
|
Revision: 9330 http://xoops.svn.sourceforge.net/xoops/?rev=9330&view=rev Author: beckmi Date: 2012-04-15 11:50:18 +0000 (Sun, 15 Apr 2012) Log Message: ----------- updated jGrowl to 1.2.6 (mowaffaq/mamba) Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/zetadigme/css/style.css XoopsCore/branches/2.5.x/2.5.5/htdocs/themes/suico/css/style.css XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops.css XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/plugins/jquery.jgrowl.js Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 03:01:40 UTC (rev 9329) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 11:50:18 UTC (rev 9330) @@ -10,6 +10,7 @@ Updated: - phpThumb to 1.7.11 (mamba) + - jGrowl to 1.2.6 (mowaffaq/mamba) =============================== 2011/03/14: Version 2.5.5 RC Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/zetadigme/css/style.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/zetadigme/css/style.css 2012-04-15 03:01:40 UTC (rev 9329) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/modules/system/themes/zetadigme/css/style.css 2012-04-15 11:50:18 UTC (rev 9330) @@ -1,4 +1,4 @@ - + /* $Id: style.css 3963 2009-11-30 01:08:59Z kris_fr $ */ /* IMPORTANT, PLEASE RESPECT THIS SEMANTIC ORDER !!! : position box; width; heigth; margin; background-color; background-image; padding; content (color, style font, ...); border ... */ @@ -438,7 +438,7 @@ -moz-box-shadow: 2px 2px 10px rgba(102, 102, 102, .5); -webkit-box-shadow: 2px 2px 10px rgba(102, 102, 102, .5) ; } -.jGrowl-notification .header { font-size : 1.2em; /*padding-top: .75em;*/ padding-bottom: .75em;} +.jGrowl-notification .jGrowl-header { font-size : 1.2em; /*padding-top: .75em;*/ padding-bottom: .75em;} #xo-module-log {text-align: center;} .logger {margin: 0 auto !important; text-align: left;} Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/themes/suico/css/style.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/themes/suico/css/style.css 2012-04-15 03:01:40 UTC (rev 9329) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/themes/suico/css/style.css 2012-04-15 11:50:18 UTC (rev 9330) @@ -1,4 +1,4 @@ -/* +/* * Suico theme * In memory of Marcello Brandao * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/ @@ -646,4 +646,4 @@ -moz-box-shadow: 2px 2px 10px rgba(102, 102, 102, .5); -webkit-box-shadow: 2px 2px 10px rgba(102, 102, 102, .5) ; } -.jGrowl-notification .header { font-size : 1.2em; /*padding-top: .75em;*/ padding-bottom: .75em;} +.jGrowl-notification .jGrowl-header { font-size : 1.2em; /*padding-top: .75em;*/ padding-bottom: .75em;} Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops.css =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops.css 2012-04-15 03:01:40 UTC (rev 9329) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops.css 2012-04-15 11:50:18 UTC (rev 9330) @@ -1,4 +1,4 @@ -/* $Id$ */ +/* $Id$ */ /*=== FORMAT BASIC ELEMENTS, can be overwritten in theme styles ===*/ table {width: 100%; border-collapse:collapse; border-spacing: 0;} @@ -96,7 +96,7 @@ body > div.jGrowl.top-right {right: 25%; left: 25%; top: 2px;} body > div.jGrowl.bottom-left {left:0; bottom:0;} body > div.jGrowl.bottom-right {right:0; bottom:0;} -body > div.jGrowl.center {top:0; left:0;} +body > div.jGrowl.center {top:0; width: 50%;left:25%;} body > div.jGrowl.top-left {left:0; top:0;} /* jGrowl Box style */ div.center div.jGrowl-notification, div.center div.jGrowl-closer {margin-left: auto; margin-right: auto;} @@ -118,9 +118,9 @@ -khtml-border-radius: 5px; } div.jGrowl div.jGrowl-notification {min-height: 40px;} -div.jGrowl div.jGrowl-notification div.header {font-weight: bold; font-size: 10px;} +div.jGrowl div.jGrowl-notification div.jGrowl-header {font-weight: bold; font-size: 10px;} /* jGrowl Close button */ -div.jGrowl div.jGrowl-notification div.close {float: right; font-weight: bold; font-size: 12px; cursor: pointer;} +div.jGrowl div.jGrowl-notification div.jGrowl-close {float: right; font-weight: bold; font-size: 12px; cursor: pointer;} div.jGrowl div.jGrowl-closer {height: 15px; padding-top: 4px; padding-bottom: 4px; cursor: pointer; font-size: 11px; font-weight: bold; text-align: center;} /*=== GENERIC CLASS, for use in themes, modules and contents ===*/ Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/plugins/jquery.jgrowl.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/plugins/jquery.jgrowl.js 2012-04-15 03:01:40 UTC (rev 9329) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/Frameworks/jquery/plugins/jquery.jgrowl.js 2012-04-15 11:50:18 UTC (rev 9330) @@ -1,11 +1,11 @@ /** - * jGrowl 1.2.4 + * jGrowl 1.2.6 * * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. * * Written by Stan Lemon <sto...@gm...> - * Last updated: 2009.12.13 + * Last updated: 2011.03.27 * * jGrowl is a jQuery plugin implementing unobtrusive userland notifications. These * notifications function similarly to the Growl Framework available for @@ -14,6 +14,19 @@ * To Do: * - Move library settings to containers and allow them to be changed per container * + * Changes in 1.2.6 + * - Fixed js error when a notification is opening and closing at the same time + * + * Changes in 1.2.5 + * - Changed wrapper jGrowl's options usage to "o" instead of $.jGrowl.defaults + * - Added themeState option to control 'highlight' or 'error' for jQuery UI + * - Ammended some CSS to provide default positioning for nested usage. + * - Changed some CSS to be prefixed with jGrowl- to prevent namespacing issues + * - Added two new options - openDuration and closeDuration to allow + * better control of notification open and close speeds, respectively + * Patch contributed by Jesse Vincet. + * - Added afterOpen callback. Patch contributed by Russel Branca. + * * Changes in 1.2.4 * - Fixed IE bug with the close-all button * - Fixed IE bug with the filter CSS attribute (special thanks to gotwic) @@ -98,7 +111,7 @@ $.jGrowl = function( m , o ) { // To maintain compatibility with older version that only supported one instance we'll create the base container. if ( $('#jGrowl').size() == 0 ) - $('<div id="jGrowl"></div>').addClass($.jGrowl.defaults.position).appendTo('body'); + $('<div id="jGrowl"></div>').addClass( (o && o.position) ? o.position : $.jGrowl.defaults.position ).appendTo('body'); // Create a notification on the container. $('#jGrowl').jGrowl(m,o); @@ -137,19 +150,22 @@ header: '', group: '', sticky: false, - position: 'top-right', // Is this still needed? + position: 'top-right', glue: 'after', theme: 'default', + themeState: 'highlight', corners: '10px', check: 250, life: 3000, - speed: 'normal', + closeDuration: 'normal', + openDuration: 'normal', easing: 'swing', closer: true, closeTemplate: '×', closerTemplate: '<div>[ close all ]</div>', log: function(e,m,o) {}, beforeOpen: function(e,m,o) {}, + afterOpen: function(e,m,o) {}, open: function(e,m,o) {}, beforeClose: function(e,m,o) {}, close: function(e,m,o) {}, @@ -173,6 +189,12 @@ create: function( message , o ) { var o = $.extend({}, this.defaults, o); + /* To keep backward compatibility with 1.24 and earlier, honor 'speed' if the user has set it */ + if (typeof o.speed !== 'undefined') { + o.openDuration = o.speed; + o.closeDuration = o.speed; + } + this.notifications.push({ message: message , options: o }); o.log.apply( this.element , [this.element,message,o] ); @@ -183,13 +205,16 @@ var message = notification.message; var o = notification.options; + // Support for jQuery theme-states, if this is not used it displays a widget header + o.themeState = (o.themeState == '') ? '' : 'ui-state-' + o.themeState; + var notification = $( - '<div class="jGrowl-notification ui-state-highlight ui-corner-all' + + '<div class="jGrowl-notification ' + o.themeState + ' ui-corner-all' + ((o.group != undefined && o.group != '') ? ' ' + o.group : '') + '">' + - '<div class="close">' + o.closeTemplate + '</div>' + - '<div class="header">' + o.header + '</div>' + - '<div class="message">' + message + '</div></div>' - ).data("jGrowl", o).addClass(o.theme).children('div.close').bind("click.jGrowl", function() { + '<div class="jGrowl-close">' + o.closeTemplate + '</div>' + + '<div class="jGrowl-header">' + o.header + '</div>' + + '<div class="jGrowl-message">' + message + '</div></div>' + ).data("jGrowl", o).addClass(o.theme).children('div.jGrowl-close').bind("click.jGrowl", function() { $(this).parent().trigger('jGrowl.close'); }).parent(); @@ -211,39 +236,45 @@ $('div.jGrowl-notification:first', self.element).before(notification); } - $(this).animate(o.animateOpen, o.speed, o.easing, function() { + $(this).animate(o.animateOpen, o.openDuration, o.easing, function() { // Fixes some anti-aliasing issues with IE filters. if ($.browser.msie && (parseInt($(this).css('opacity'), 10) === 1 || parseInt($(this).css('opacity'), 10) === 0)) this.style.removeAttribute('filter'); - $(this).data("jGrowl").created = new Date(); + if ( $(this).data("jGrowl") != null ) // Happens when a notification is closing before it's open. + $(this).data("jGrowl").created = new Date(); + + $(this).trigger('jGrowl.afterOpen'); }); } + }).bind('jGrowl.afterOpen', function() { + o.afterOpen.apply( notification , [notification,message,o,self.element] ); }).bind('jGrowl.beforeClose', function() { if ( o.beforeClose.apply( notification , [notification,message,o,self.element] ) != false ) $(this).trigger('jGrowl.close'); }).bind('jGrowl.close', function() { // Pause the notification, lest during the course of animation another close event gets called. $(this).data('jGrowl.pause', true); - $(this).animate(o.animateClose, o.speed, o.easing, function() { - $(this).remove(); - var close = o.close.apply( notification , [notification,message,o,self.element] ); - - if ( $.isFunction(close) ) - close.apply( notification , [notification,message,o,self.element] ); + $(this).animate(o.animateClose, o.closeDuration, o.easing, function() { + if ( $.isFunction(o.close) ) { + if ( o.close.apply( notification , [notification,message,o,self.element] ) !== false ) + $(this).remove(); + } else { + $(this).remove(); + } }); }).trigger('jGrowl.beforeOpen'); /** Optional Corners Plugin **/ - if ( $.fn.corner != undefined ) $(notification).corner( o.corners ); + if ( o.corners != '' && $.fn.corner != undefined ) $(notification).corner( o.corners ); /** Add a Global Closer if more than one notification exists **/ if ( $('div.jGrowl-notification:parent', self.element).size() > 1 && $('div.jGrowl-closer', self.element).size() == 0 && this.defaults.closer != false ) { - $(this.defaults.closerTemplate).addClass('jGrowl-closer ui-state-highlight ui-corner-all').addClass(this.defaults.theme) + $(this.defaults.closerTemplate).addClass('jGrowl-closer ' + this.defaults.themeState + ' ui-corner-all').addClass(this.defaults.theme) .appendTo(self.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing) .bind("click.jGrowl", function() { - $(this).siblings().children('div.close').trigger("click.jGrowl"); + $(this).siblings().trigger("jGrowl.beforeClose"); if ( $.isFunction( self.defaults.closer ) ) { self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] ); @@ -256,7 +287,7 @@ update: function() { $(this.element).find('div.jGrowl-notification:parent').each( function() { if ( $(this).data("jGrowl") != undefined && $(this).data("jGrowl").created != undefined && - ($(this).data("jGrowl").created.getTime() + $(this).data("jGrowl").life) < (new Date()).getTime() && + ($(this).data("jGrowl").created.getTime() + parseInt($(this).data("jGrowl").life)) < (new Date()).getTime() && $(this).data("jGrowl").sticky != true && ($(this).data("jGrowl.pause") == undefined || $(this).data("jGrowl.pause") != true) ) { @@ -281,7 +312,7 @@ this.element = $(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>'); this.interval = setInterval( function() { $(e).data('jGrowl.instance').update(); - }, this.defaults.check); + }, parseInt(this.defaults.check)); if ($.browser.msie && parseInt($.browser.version) < 7 && !window["XMLHttpRequest"]) { $(this.element).addClass('ie6'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-16 00:15:11
|
Revision: 9339 http://xoops.svn.sourceforge.net/xoops/?rev=9339&view=rev Author: beckmi Date: 2012-04-16 00:15:04 +0000 (Mon, 16 Apr 2012) Log Message: ----------- ID: 3518291 Fix of variables assigned by reference in formelementtray.php Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formelementtray.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-15 22:59:21 UTC (rev 9338) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-16 00:15:04 UTC (rev 9339) @@ -7,6 +7,7 @@ - preventing division by zero in pagenav.php (timgno) - ID: 3466534 tooltip "$ not defined" fix (culex) - ID: 3513787 wrong cookie_domain (arion92fr) + - ID: 3518291 Fix of variables assigned by reference in formelementtray Updated: - phpThumb to 1.7.11 (mamba) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formelementtray.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formelementtray.php 2012-04-15 22:59:21 UTC (rev 9338) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formelementtray.php 2012-04-16 00:15:04 UTC (rev 9339) @@ -83,14 +83,14 @@ * @param object $ &$element {@link XoopsFormElement} to add */ function addElement( &$formElement, $required = false ) { - $this->_elements[] = &$formElement; + $this->_elements[] = $formElement; if ( !$formElement->isContainer() ) { if ( $required ) { $formElement->_required = true; - $this->_required[] = &$formElement; + $this->_required[] = $formElement; } } else { - $required_elements = &$formElement->getRequired(); + $required_elements = $formElement->getRequired(); $count = count( $required_elements ); for ( $i = 0 ; $i < $count; $i++ ) { $this->_required[] = &$required_elements[$i]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-16 01:07:14
|
Revision: 9341 http://xoops.svn.sourceforge.net/xoops/?rev=9341&view=rev Author: beckmi Date: 2012-04-16 01:07:08 +0000 (Mon, 16 Apr 2012) Log Message: ----------- Preparing for final release Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/htdocs/include/version.php XoopsCore/branches/2.5.x/2.5.5/release_notes.txt Removed Paths: ------------- XoopsCore/branches/2.5.x/2.5.5/htdocs/install/img/xoops_2.5.5-Beta.png XoopsCore/branches/2.5.x/2.5.5/htdocs/install/img/xoops_2.5.5-Beta2.png XoopsCore/branches/2.5.x/2.5.5/htdocs/install/img/xoops_2.5.5-RC.png Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/include/version.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/include/version.php 2012-04-16 01:03:19 UTC (rev 9340) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/include/version.php 2012-04-16 01:07:08 UTC (rev 9341) @@ -30,6 +30,6 @@ /** * Define XOOPS version */ -define('XOOPS_VERSION', 'XOOPS 2.5.5-RC'); +define('XOOPS_VERSION', 'XOOPS 2.5.5'); ?> \ No newline at end of file Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/install/img/xoops_2.5.5-Beta.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/install/img/xoops_2.5.5-Beta2.png =================================================================== (Binary files differ) Deleted: XoopsCore/branches/2.5.x/2.5.5/htdocs/install/img/xoops_2.5.5-RC.png =================================================================== (Binary files differ) Modified: XoopsCore/branches/2.5.x/2.5.5/release_notes.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/release_notes.txt 2012-04-16 01:03:19 UTC (rev 9340) +++ XoopsCore/branches/2.5.x/2.5.5/release_notes.txt 2012-04-16 01:07:08 UTC (rev 9341) @@ -1,6 +1,6 @@ -XOOPS 2.5.5 RC +XOOPS 2.5.5 Final -The XOOPS Development Team is pleased to announce the release of XOOPS 2.5.5 RC (Release Candidate). +The XOOPS Development Team is pleased to announce the release of XOOPS 2.5.5 Final. This release is focused on fixing open bugs, and on updating our libraries to the latest versions: @@ -9,6 +9,8 @@ - jQuery 1.7.2 - jQueryUI 1.8.18 - HTML Purifier to 4.4.0 +- phpThumb 1.7.11 +- jGrowl 1.2.6 See the Changelog for more details. @@ -28,7 +30,7 @@ Downloading XOOPS ----------------------------------- -You can get this release package from the [url=https://sourceforge.net/projects/xoops/files/XOOPS%20Core%20%28Beta%20Releases%29/XOOPS_2.5.5_RC/]Sourceforge repository[/url]. +You can get this release package from the [url=https://sourceforge.net/projects/xoops/files/XOOPS%20Core%20%28stable%20releases%29/XOOPS_2.5.5/]Sourceforge repository[/url]. There are .zip, .7z, and .gz archives provided. @@ -73,9 +75,9 @@ Following are instructions for upgrading from XOOPS 2.4.5 to 2.5 provided by John Healy: 0. Verify the system requirements, in particular the version of PHP. Backup your XOOPS database and site directory. (There are several ways to do these actions, which are discussed elsewhere.) Turning your site off is optional. Change the permissions on mainfile.php and /include/license.php to be writable, for example: - File Normal For upgrade - mainfile.php 400 700 - /include/license.php 444 777 + File Normal For upgrade + mainfile.php 400 700 + /include/license.php 444 777 Get the correct update package from the SourceForge file repository. 1. In the upgrade package folder, move the "upgrade" folder inside the "htdocs" folder, if it's not already there. Remove the install folder from the "htdocs" folder, if it's there. Remove the mainfile.php file from the "htdocs" folder, if it's there. If you've moved the xoops_data and xoops_lib folders outside your site's root directory, move these folders out of the "htdocs" folder in the upgrade package folder. @@ -95,7 +97,7 @@ Debug information display level ----------------------------------- -Since XOOPS 2.3.1 debug information display level is enabled as a temporary solution for 2.3* to show debug information to different level of users: to all users, to members or to admins only. +Debug information display level is enabled at a different level of users: to all users, to members or to admins only. The configuration can be set in /xoops_data/configs/xoopsconfig.php As a default, the display level is set for Admin only. @@ -125,4 +127,4 @@ XOOPS Development Team -April 2nd, 2012 \ No newline at end of file +April 15th, 2012 \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-16 01:17:34
|
Revision: 9342 http://xoops.svn.sourceforge.net/xoops/?rev=9342&view=rev Author: beckmi Date: 2012-04-16 01:17:28 +0000 (Mon, 16 Apr 2012) Log Message: ----------- fixing problem in formtextdateselect (wishcraft) Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formtextdateselect.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-16 01:07:08 UTC (rev 9341) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-04-16 01:17:28 UTC (rev 9342) @@ -8,6 +8,7 @@ - ID: 3466534 tooltip "$ not defined" fix (culex) - ID: 3513787 wrong cookie_domain (arion92fr) - ID: 3518291 Fix of variables assigned by reference in formelementtray + - problem in formtextdateselect (wishcraft) Updated: - phpThumb to 1.7.11 (mamba) Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formtextdateselect.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formtextdateselect.php 2012-04-16 01:07:08 UTC (rev 9341) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopsform/formtextdateselect.php 2012-04-16 01:17:28 UTC (rev 9342) @@ -49,91 +49,93 @@ } $jstime = formatTimestamp($ele_value, _CAL_FORMAT); - $GLOBALS['xoTheme']->addScript('include/calendar.js'); - $GLOBALS['xoTheme']->addStylesheet('include/calendar-blue.css'); - if (!$included) { - $included = true; - $GLOBALS['xoTheme']->addScript('','', ' - var calendar = null; - - function selected(cal, date) { - cal.sel.value = date; - } - - function closeHandler(cal) { - cal.hide(); - Calendar.removeEvent(document, "mousedown", checkCalendar); - } - - function checkCalendar(ev) { - var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); - for (; el != null; el = el.parentNode) - if (el == calendar.element || el.tagName == "A") break; - if (el == null) { - calendar.callCloseHandler(); Calendar.stopEvent(ev); - } - } - function showCalendar(id) { - var el = xoopsGetElementById(id); - if (calendar != null) { - calendar.hide(); - } else { - var cal = new Calendar(true, "' . $jstime . '", selected, closeHandler); - calendar = cal; - cal.setRange(1900, 2100); - calendar.create(); - } - calendar.sel = el; - calendar.parseDate(el.value); - calendar.showAtElement(el); - Calendar.addEvent(document, "mousedown", checkCalendar); - return false; - } - - Calendar._DN = new Array - ("' . _CAL_SUNDAY . '", - "' . _CAL_MONDAY . '", - "' . _CAL_TUESDAY . '", - "' . _CAL_WEDNESDAY . '", - "' . _CAL_THURSDAY . '", - "' . _CAL_FRIDAY . '", - "' . _CAL_SATURDAY . '", - "' . _CAL_SUNDAY . '"); - Calendar._MN = new Array - ("' . _CAL_JANUARY . '", - "' . _CAL_FEBRUARY . '", - "' . _CAL_MARCH . '", - "' . _CAL_APRIL . '", - "' . _CAL_MAY . '", - "' . _CAL_JUNE . '", - "' . _CAL_JULY . '", - "' . _CAL_AUGUST . '", - "' . _CAL_SEPTEMBER . '", - "' . _CAL_OCTOBER . '", - "' . _CAL_NOVEMBER . '", - "' . _CAL_DECEMBER . '"); - - Calendar._TT = {}; - Calendar._TT["TOGGLE"] = "' . _CAL_TGL1STD . '"; - Calendar._TT["PREV_YEAR"] = "' . _CAL_PREVYR . '"; - Calendar._TT["PREV_MONTH"] = "' . _CAL_PREVMNTH . '"; - Calendar._TT["GO_TODAY"] = "' . _CAL_GOTODAY . '"; - Calendar._TT["NEXT_MONTH"] = "' . _CAL_NXTMNTH . '"; - Calendar._TT["NEXT_YEAR"] = "' . _CAL_NEXTYR . '"; - Calendar._TT["SEL_DATE"] = "' . _CAL_SELDATE . '"; - Calendar._TT["DRAG_TO_MOVE"] = "' . _CAL_DRAGMOVE . '"; - Calendar._TT["PART_TODAY"] = "(' . _CAL_TODAY . ')"; - Calendar._TT["MON_FIRST"] = "' . _CAL_DISPM1ST . '"; - Calendar._TT["SUN_FIRST"] = "' . _CAL_DISPS1ST . '"; - Calendar._TT["CLOSE"] = "' . _CLOSE . '"; - Calendar._TT["TODAY"] = "' . _CAL_TODAY . '"; - - // date formats - Calendar._TT["DEF_DATE_FORMAT"] = "' . _CAL_FORMAT . '"; - Calendar._TT["TT_DATE_FORMAT"] = "' . _CAL_FORMAT . '"; - - Calendar._TT["WK"] = ""; - '); + if (is_object($GLOBALS['xoTheme'])) { + $GLOBALS['xoTheme']->addScript('include/calendar.js'); + $GLOBALS['xoTheme']->addStylesheet('include/calendar-blue.css'); + if (!$included) { + $included = true; + $GLOBALS['xoTheme']->addScript('','', ' + var calendar = null; + + function selected(cal, date) { + cal.sel.value = date; + } + + function closeHandler(cal) { + cal.hide(); + Calendar.removeEvent(document, "mousedown", checkCalendar); + } + + function checkCalendar(ev) { + var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); + for (; el != null; el = el.parentNode) + if (el == calendar.element || el.tagName == "A") break; + if (el == null) { + calendar.callCloseHandler(); Calendar.stopEvent(ev); + } + } + function showCalendar(id) { + var el = xoopsGetElementById(id); + if (calendar != null) { + calendar.hide(); + } else { + var cal = new Calendar(true, "' . $jstime . '", selected, closeHandler); + calendar = cal; + cal.setRange(1900, 2100); + calendar.create(); + } + calendar.sel = el; + calendar.parseDate(el.value); + calendar.showAtElement(el); + Calendar.addEvent(document, "mousedown", checkCalendar); + return false; + } + + Calendar._DN = new Array + ("' . _CAL_SUNDAY . '", + "' . _CAL_MONDAY . '", + "' . _CAL_TUESDAY . '", + "' . _CAL_WEDNESDAY . '", + "' . _CAL_THURSDAY . '", + "' . _CAL_FRIDAY . '", + "' . _CAL_SATURDAY . '", + "' . _CAL_SUNDAY . '"); + Calendar._MN = new Array + ("' . _CAL_JANUARY . '", + "' . _CAL_FEBRUARY . '", + "' . _CAL_MARCH . '", + "' . _CAL_APRIL . '", + "' . _CAL_MAY . '", + "' . _CAL_JUNE . '", + "' . _CAL_JULY . '", + "' . _CAL_AUGUST . '", + "' . _CAL_SEPTEMBER . '", + "' . _CAL_OCTOBER . '", + "' . _CAL_NOVEMBER . '", + "' . _CAL_DECEMBER . '"); + + Calendar._TT = {}; + Calendar._TT["TOGGLE"] = "' . _CAL_TGL1STD . '"; + Calendar._TT["PREV_YEAR"] = "' . _CAL_PREVYR . '"; + Calendar._TT["PREV_MONTH"] = "' . _CAL_PREVMNTH . '"; + Calendar._TT["GO_TODAY"] = "' . _CAL_GOTODAY . '"; + Calendar._TT["NEXT_MONTH"] = "' . _CAL_NXTMNTH . '"; + Calendar._TT["NEXT_YEAR"] = "' . _CAL_NEXTYR . '"; + Calendar._TT["SEL_DATE"] = "' . _CAL_SELDATE . '"; + Calendar._TT["DRAG_TO_MOVE"] = "' . _CAL_DRAGMOVE . '"; + Calendar._TT["PART_TODAY"] = "(' . _CAL_TODAY . ')"; + Calendar._TT["MON_FIRST"] = "' . _CAL_DISPM1ST . '"; + Calendar._TT["SUN_FIRST"] = "' . _CAL_DISPS1ST . '"; + Calendar._TT["CLOSE"] = "' . _CLOSE . '"; + Calendar._TT["TODAY"] = "' . _CAL_TODAY . '"; + + // date formats + Calendar._TT["DEF_DATE_FORMAT"] = "' . _CAL_FORMAT . '"; + Calendar._TT["TT_DATE_FORMAT"] = "' . _CAL_FORMAT . '"; + + Calendar._TT["WK"] = ""; + '); + } } return "<input type='text' name='" . $ele_name . "' id='" . $ele_name . "' size='" . $this->getSize() . "' maxlength='" . $this->getMaxlength() . "' value='" . $display_value . "'" . $this->getExtra() . " /><input type='reset' value=' ... ' onclick='return showCalendar(\"" . $ele_name . "\");'>"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-04-16 02:23:05
|
Revision: 9343 http://xoops.svn.sourceforge.net/xoops/?rev=9343&view=rev Author: beckmi Date: 2012-04-16 02:22:58 +0000 (Mon, 16 Apr 2012) Log Message: ----------- Adding translations to Protector Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/polish/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php Modified: XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/docs/lang_diff.txt 2012-04-16 02:22:58 UTC (rev 9343) @@ -23,6 +23,13 @@ /language/english/calendar.php - added define("_CAL_FORMAT","Y-m-d"); +/xoops_lib/modules/protector/language/english/modinfo.php + +- added define($constpref."_ADMINHOME","Home"); +- added define($constpref."_ADMINABOUT","About"); +- added define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +- added define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); + =============================== 2011/11/17: Version 2.5.4 =============================== Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/arabic/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -114,6 +114,11 @@ define($constpref.'_SPAMURI4G','\xE3\xC7\xE4\xDA \xC7\xE1\xD3\xC8\xC7\xE3 \xE1\xE1\xD2\xE6\xC7\xD1'); define($constpref.'_SPAMURI4GDSC','\xC7\xED \xE3\xE6\xD6\xE6\xDA \xC7\xE6 \xCA\xDA\xE1\xED\xDE \xED\xCD\xCA\xE6\xED \xE5\xD0\xC7 \xC7\xE1\xDA\xCF\xCF \xE3\xE4 \xC7\xE1\xD1\xE6\xC7\xC8\xD8 \xD3\xED\xDA\xCA\xC8\xD1 \xD3\xC8\xC7\xE3 \xE6\xD6\xDA \xD5\xDD\xD1 \xED\xDA\xE4\xED \xCA\xDA\xD8\xED\xE1\xDF \xE1\xE1\xC7\xCE\xCA\xED\xC7\xD1'); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> \ No newline at end of file +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/de_utf8/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -116,5 +116,12 @@ define($constpref.'_SPAMURI4UDSC','Wenn diese Anzahl von URLs in Beitragen von Usern (nicht Admins) gefunden wird, ist der Beitrag als Spam eingestuft. 0 bedeutet dieses Feature ist deaktiviert.'); define($constpref.'_SPAMURI4G','anti-SPAM: Anzahl URLs fur Gaste'); define($constpref.'_SPAMURI4GDSC','Wenn diese Anzahl von URLs in Beitragen von Gasten gefunden wird, ist der Beitrag als Spam eingestuft. 0 bedeutet dieses Feature ist deaktiviert.'); -} -?> + +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); + +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/english/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -121,4 +121,4 @@ define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -} +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/fr_utf8/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -120,6 +120,11 @@ define($constpref."_SPAMURI4G","anti-SPAM: URLs par anonymes"); define($constpref."_SPAMURI4GDSC","Nombre limite d'URL dans les données POST d'un visiteur anonyme, pour consider comme du SPAM. Pour désactiver cette option, laisser sur 0 ."); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/french/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -120,6 +120,11 @@ define($constpref."_SPAMURI4G","anti-SPAM: nombre d'URLs pour les anonymes"); define($constpref."_SPAMURI4GDSC","Si un nombre équivalent (ou supérieur) d'URLs est trouvé dans les données d'un POST par un visiteur anonyme, le POST sera considéré comme du SPAM. 0 équivaut à désactiver cette fonction."); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/german/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -125,6 +125,11 @@ define($constpref.'_SPAMURI4G','anti-SPAM: Anzahl URLs f\xFCr G\xE4ste'); define($constpref.'_SPAMURI4GDSC','Wenn diese Anzahl von URLs in Beitr\xE4gen von G\xE4sten gefunden wird, ist der Beitrag als Spam eingestuft. 0 bedeutet dieses Feature ist deaktiviert.'); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/italian/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -116,6 +116,11 @@ define($constpref.'_SPAMURI4G','Anti-SPAM: numero di indirizzi per gli utenti anonimi'); define($constpref.'_SPAMURI4GDSC','Se in un invio di dati POST da parte di un utente anonimi vengono rilevati più indirizzi URL di quanto consentito qui, l\'invio viene considerato SPAM. Impostare 0 per disabilitare questa funzionalità..'); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/ja_utf8/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -114,7 +114,11 @@ define($constpref.'_SPAMURI4G','SPAM対策:ゲストに許すURL数'); define($constpref.'_SPAMURI4GDSC','ゲストの投稿内容に、この数以上のURLがあったらSPAMと見なします。0なら無制限許可です。'); +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -} - -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/japanese/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -114,7 +114,11 @@ define($constpref.'_SPAMURI4G','SPAM\xC2к\xF6:\xA5\xB2\xA5\xB9\xA5Ȥ˵\xF6\xA4\xB9URL\xBF\xF4'); define($constpref.'_SPAMURI4GDSC','\xA5\xB2\xA5\xB9\xA5Ȥ\xCE\xC5\xEA\xB9\xC6\xC6\xE2\xCDƤˡ\xA2\xA4\xB3\xA4ο\xF4\xB0ʾ\xE5\xA4\xCEURL\xA4\xAC\xA4\xA2\xA4ä\xBF\xA4\xE9SPAM\xA4ȸ\xAB\xA4ʤ\xB7\xA4ޤ\xB9\xA1\xA30\xA4ʤ\xE9̵\xC0\xA9\xB8µ\xF6\xB2ĤǤ\xB9\xA1\xA3'); +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -} - -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/nederlands/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -122,6 +122,11 @@ define($constpref.'_SPAMURI4G','Anti-SPAM: URLs voor gasten'); define($constpref.'_SPAMURI4GDSC','Het aantal URLs gevonden in POST data van gasten (anonieme gebruikers), dan wordt deze aangemerkt als SPAM. 0 betekent uitschakeling van deze functie.'); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/persian/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -119,6 +119,12 @@ define($constpref.'_SPAMURI4G','محافظ- هرزنامه (anti-SPAM): تعدا لینک ها برای گروه ها'); define($constpref.'_SPAMURI4GDSC','اگر به تعداد عدد مشخص شده در کادر مقابل لینک در پست گروه ها پیدا شد با پست او به عنوان هرز نامه برخورد گردد. با انتخاب صفر این گزینه را غیر فعال کنید.'); -} -?> \ No newline at end of file +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); + +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/polish/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/polish/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/polish/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -128,6 +128,12 @@ define($constpref.'_SPAMURI4G','anti-SPAM: ilo\xB6\xE6 adres\xF3w URL dla go\xB6ci'); define($constpref.'_SPAMURI4GDSC','Jak wy\xBFej, ale dla anonimowych u\xBFytkownik\xF3w (go\xB6ci). Domy\xB6lnie: 5. Wpisz 0 je\xB6li chcesz wy\xB3\xB1czy\xE6 t\xEA funkcj\xEA.'); -} -?> +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); + +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/portuguesebr/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -124,5 +124,12 @@ define($constpref.'_SPAMURI4UDSC','If this number of URLs are found in POST data from users other than admin, the POST is considered as SPAM. 0 means disabling this feature.'); define($constpref.'_SPAMURI4G','anti-SPAM: URLs for guests'); define($constpref.'_SPAMURI4GDSC','If this number of URLs are found in POST data from guests, the POST is considered as SPAM. 0 means disabling this feature.'); -} -?> + +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); + +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/russian/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -131,6 +131,11 @@ define($constpref.'_SPAMURI4G','anti-SPAM: \xCA\xEE\xEB\xEB\xE8\xF7\xE5\xF1\xF2\xE2\xEE \xF1\xF1\xFB\xEB\xEE\xEA \xE4\xEB\xFF \xE3\xEE\xF1\xF2\xE5\xE9'); define($constpref.'_SPAMURI4GDSC','\xC5\xF1\xEB\xE8 \xEA\xEE\xEB\xEB\xE8\xF7\xE5\xF1\xF2\xE2\xEE \xF1\xF1\xFB\xEB\xEE\xEA \xE2 \xF1\xEE\xEE\xE1\xF9\xE5\xED\xE8\xFF\xF5 \xEE\xF2 \xE3\xEE\xF1\xF2\xE5\xE9, \xEF\xF0\xE5\xE2\xFB\xF8\xE0\xE5\xF2 \xF3\xEA\xE0\xE7\xE0\xED\xED\xEE\xE5, \xF1\xEE\xEE\xE1\xF9\xE5\xED\xE8\xE5 \xEE\xEF\xF0\xE5\xE4\xE5\xEB\xFF\xE5\xF2\xF1\xFF \xEA\xE0\xEA \xD1\xCF\xC0\xCC.<br /> 0 - \xEE\xF2\xEA\xEB\xFE\xF7\xE5\xED\xEE.'); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/schinese_utf8/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -105,6 +105,11 @@ define($constpref.'_SPAMURI4G','反垃圾邮件(anti-SPAM): URLs for guests'); define($constpref.'_SPAMURI4GDSC','If this number of URLs are found in POST data from guests, the POST is considered as SPAM. 填0表示禁用此功能.'); -} +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); -?> \ No newline at end of file +} \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php 2012-04-16 01:17:28 UTC (rev 9342) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/xoops_lib/modules/protector/language/spanish/modinfo.php 2012-04-16 02:22:58 UTC (rev 9343) @@ -123,6 +123,12 @@ define($constpref.'_SPAMURI4G','Contra SPAM: URLs para an\xF3nimos'); define($constpref.'_SPAMURI4GDSC','Si esta cantidad de URLs es hallada en datos ENVIADOS por an\xF3nimos, el ENV\xCDO es considerado como SPAM. Cero (0) significa deshabilitar esta caracter\xEDstica.'); -} -?> +//3.40b +define($constpref."_ADMINHOME","Home"); +define($constpref."_ADMINABOUT","About"); +//3.50 +define($constpref.'_STOPFORUMSPAM_ACTION','Stop Forum Spam'); +define($constpref.'_STOPFORUMSPAM_ACTIONDSC','Checks POST data against spammers registered on www.stopforumspam.com database. Requires php CURL lib.'); + +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-06-24 17:15:39
|
Revision: 9704 http://xoops.svn.sourceforge.net/xoops/?rev=9704&view=rev Author: beckmi Date: 2012-06-24 17:15:30 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Updating TinyMCE to 3.5.4 Modified Paths: -------------- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/langs/en.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/style/css/props.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/style/js/props.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/style/props.htm XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/table/js/table.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/tiny_mce.js XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/tiny_mce_popup.js Added Paths: ----------- XoopsCore/branches/2.5.x/2.5.5/htdocs/Frameworks/moduleclasses/icons/bookmarks/google_plus.png XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/style/readme.txt XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/visualblocks/ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/visualblocks/css/ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/visualblocks/css/visualblocks.css XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/visualblocks/editor_plugin.js Modified: XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/docs/changelog.250.txt 2012-06-24 17:15:30 UTC (rev 9704) @@ -1,6 +1,15 @@ XOOPS 2.5.x Changelog (Language changes: see: /docs/lang_diff.txt) =============================== +2012/06/24: Version 2.5.6 Alpha +=============================== +Bugfixes: + +Updated: + - TinyMCE to 3.5.4 (mamba) + + +=============================== 2012/04/15: Version 2.5.5 Final =============================== Bugfixes: Added: XoopsCore/branches/2.5.x/2.5.5/htdocs/Frameworks/moduleclasses/icons/bookmarks/google_plus.png =================================================================== (Binary files differ) Property changes on: XoopsCore/branches/2.5.x/2.5.5/htdocs/Frameworks/moduleclasses/icons/bookmarks/google_plus.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/changelog.txt 2012-06-24 17:15:30 UTC (rev 9704) @@ -1,3 +1,140 @@ +Version 3.5.4 (2012-06-21) + Added missing mouse events to HTML5 schema. Some events needs to be manually defined though since the spec is huge. + Added image resizing for WebKit browsers by faking the whole resize behavior. + Fixed bug in context menu plugin where listener to hide menu wasn't removed correctly. + Fixed bug where media plugin wouldn't use placeholder size for the object/video elements. + Fixed bug where jQuery plugin would break attr function in jQuery 1.7.2. + Fixed bug where jQuery plugin would throw an error if you used the tinymce pseudo selector when TinyMCE wasn't loaded. + Fixed so encoding option gets applied when using jQuery val() or attr() to extract the contents. + Fixed so any non valid width/height passed to media plugin would get parsed to proper integer or percent values. +Version 3.5.3 (2012-06-19) + Added missing wbr element to HTML5 schema. + Added new mceToggleFormat command. Enabled you to toggle a specific format on/off. + Fixed bug where undo/redo state didn't update correctly after executing an execCommand call. + Fixed bug where the editor would get auto focused on IE running in quirks mode. + Fixed bug where pressing enter before an IMG or INPUT element wouldn't properly split the block. + Fixed bug where backspace would navigate back when selecting control types on IE. + Fixed bug where the editor remove method would unbind events for controls outside the editor instance UI. + Fixed bug where the autosave plugin would try to store a draft copy of editors that where removed. + Fixed bug where floated elements wouldn't expand the block created when pressing enter on non IE browsers. + Fixed bug where the caret would be placed in the wrong location when pressing enter at the beginning of a block. + Fixed bug where it wasn't possible to block events using the handle_event_callback option. + Fixed bug where keyboard navigation of the ColorSplitButton.js didn't work correctly. + Fixed bug where keyboard navigation didn't work correctly on split buttons. + Fixed bug where the legacy Event.add function didn't properly handle multiple id:s passed in. + Fixed bug where the caret would disappear on IE when selecting all contents and pressing backspace/delete. + Fixed bug where the getStart/getEnd methods would sometimes return elements from the wrong document on IE. + Fixed so paragraphs gets created if you press enter inside a form element. +Version 3.5.2 (2012-05-31) + Added new formatChanged method to tinymce.Formatter class. Enables easier state change handling of formats. + Added new selectorChanged method to tinymce.dom.Selection class. Enables easier state change handling of matching CSS selectors. + Changed the default theme to be advanced instead of simple since most users uses the advanced theme. + Changed so the theme_advanced_buttons doesn't have a default set if one button row is specified. + Changed the theme_advanced_toolbar_align default value to "left". + Changed the theme_advanced_toolbar_location default value to "top". + Changed the theme_advanced_statusbar_location default value to "bottom". + Fixed bug where the simple link dialog would remove class and target attributes from links when updating them if the drop downs wasn't visible. + Fixed bug where the link/unlink buttons wouldn't get disabled once a link was created by the autolink plugin logic. + Fixed bug where the border attribute was missing in the HTML5 schema. + Fixed bug where the legacyoutput plugin would use inline styles for font color. + Fixed bug where editing of anchor names wouldn't produce an undo level. + Fixed bug where the table plugin would delete the last empty block element in the editor. + Fixed bug where pasting table rows when they where selected would make it impossible to editor that table row. + Fixed bug with pressing enter in IE while having a select list focused would produce a JS error. + Fixed bug where it wasn't possible to merge table cells by selecting them and using merge from context menu. + Removed summary from HTML5 table attributes and fixed so this and other deprecated table fields gets hidden in the table dialog. +Version 3.5.1.1 (2012-05-25) + Fixed bug with control creation where plugin specific controls didn't work as expected. +Version 3.5.1 (2012-05-25) + Added new onBeforeAdd event to UndoManager patch contributed by Dan Rumney. + Added support for overriding the theme rendering logic by using a custom function. + Fixed bug where links wasn't automatically created by the autolink plugin on old IE versions when pressing enter in BR mode. + Fixed bug where enter on older IE versions wouldn't produce a new paragraph if the previous sibling paragraph was empty. + Fixed bug where toString on a faked DOM range on older IE versions wouldn't return a proper string. + Fixed bug where named anchors wouldn't work properly when schema was set to HTML5. + Fixed bug where HTML5 datalist options wasn't correctly parsed or indented. + Fixed bug where linking would add anchors around block elements when the HTML5 schema was used. + Fixed issue where the autolink plugin wouldn't properly handle mailto:us...@do.... + Optimized initialization and reduced rendering flicker by hiding the target element while initializing. +Version 3.5.0.1 (2012-05-10) + Fixed bug where selection normalization logic would break the selections of parent elements using the element path. + Fixed bug where the autolink plugin would include trailing dots in domain names in the link creation. + Fixed bug where the autolink plugin would produce an error on older IE versions when pressing enter. + Fixed bug where old IE versions would throw an error during initialization when the editor was placed in an size restricted div. +Version 3.5 (2012-05-03) + Fixed menu rendering issue if the document was in rtl mode. + Fixed bug where the hide function would throw an error about a missing variable. + Fixed bug where autolink wouldn't convert URLs when hitting enter on IE due to the new enter key logic. + Fixed bug where formatting using shortcuts like ctrl+b wouldn't work properly the first time. + Fixed bug where selection.setContent after a formatter call wouldn't generate formatted contents. + Fixed bug where whitespace would be removed before/after invalid_elements when they where removed. + Fixed bug where updating styles using the theme image dialog in non inline mode on IE9 would produce errors. + Fixed bug where IE 8 would produce an error when using the contextmenu plugin. + Fixed bug where delete/backspace could remove contents of noneditable elements. + Fixed so background color in style preview gets computed from body element if the current style element is transparent. +Version 3.5b3 (2012-03-29) + Added cancel button to colour picker dialog. + Added figure and figcaption to the html5 visualblocks plugin. + Added default alignment options for the figure element. + Fixed bug where empty inline elements within block elements would sometimes produce a br child element. + Fixed bug where urls pointing to the same domain as the current one would cause undefined errors. Patch contributed by Paul Giberson. + Fixed bug where enter inside an editable element inside an non editable element would split the element. + Fixed bug where cut/copy/paste of noneditable elements didn't work. + Fixed bug where backspace would sometimes produce font elements on WebKit. + Fixed bug where WebKit would produce spans out of various inline elements when using backspace. + Fixed bug where IE9 wouldn't properly update image styles when images where resized. + Fixed bug where drag/drop of noneditable elements didn't work correctly. + Fixed bug where applying formatting to all contents wouldn't work correctly when an end point was inside an empty bock. Patch contributed by Jose Luiz. + Fixed bug where IE10 removed the scopeName from the DOM element interface and there for it produced an undefined string in element path. + Fixed bug where the caret would be placed at an incorrect location if you applied block formatting while having the caret at the end of the block. + Fixed bug where applying column changes using the cell dialog would only update the first column. Patch contributed by krzyko. + Fixed bug where the visualblocks plugin would force editor focus if it was turned on by default. + Fixed bug where the tabfocus plugin would tab to iframes these are now ignored. + Fixed bug where format drop down list wouldn't show the currently active format for a parent element. + Fixed bug where paste of plain text in IE 9 would remove the new line characters from text. + Fixed bug where the menu buttons/split button menus wouldn't be opened at the right location on older IE versions. + Fixed bug where Gecko browsers wouldn't properly display the right format when having the selection as specific places. + Fixed bug where shift+enter inside the body when having forced_root_blocks set to false would throw an error. + Fixed bug where the jQuery plugin would break the attr method of jQuery 1.7.2. Patch contributed by Markus Kemmerling. + Fixed so options like content_css accepts and array as well as a comma separated string as input. + Restructured the internal logic to make it more separate from Editor.js. + Updated the Sizzle engine to the latest version. +Version 3.5b2 (2012-03-15) + Rewrote the enter key logic to normalize browser behavior. + Fixed so enter within PRE elements produces a BR and shift+enter breaks/end the PRE. Can be disabled using the br_in_pre option. + Fixed bug where the selection wouldn't be correct after applying formatting and having the caret at the end of the new format node. + Fixed bug where the noneditable plugin would process contents on raw input calls for example on undo/redo calls. + Fixed bug where WebKit could produce an exception when a bookmark was requested when there wasn't a proper selection. + Fixed bug where WebKit would fail to open the image dialog since it would be returning false for a class name instead of a string. + Fixed so alignment and indentation works properly when forced_root_blocks is set to false. It will produce a DIV by default. +Version 3.5b1 (2012-03-08) + Added new event class that is faster and enables support for faking events. + Added new self_closing_elements, short_ended_elements, boolean_attributes, non_empty_elements and block_elements options to control the HTML Schema. + Added new schema option and support for the HTML5 schema. + Added new visualblocks plugin that shows html5 blocks with visual borders. + Added new types and selector options to make it easier to create editor instances with different configs. + Added new preview of formatting options in various listboxes. + Added new preview_styles option that enables control over what gets previewed. + Fixed bug where content css would be loaded twice into iframe. + Fixed bug where start elements with only whitespace in the attribute part wouldn't be correctly parsed. + Fixed bug where the advlink dialog would produce an error about the addSelectAccessibility function not being defined. + Fixed bug where the caret would be placed at an incorrect position if span was removed by the invalid_elements setting. + Fixed bug where elements inside a white space preserve element like pre didn't inherit the behavior while parsing. +Version 3.4.9 (2012-02-23) + Added settings to wordcount plugin to configure update rate and checking wordcount on backspace and delete using wordcount_update_rate and wordcount_update_on_delete. + Fixed bug in Webkit and IE where deleting empty paragraphs would remove entire editor contents. + Fixed bug where pressing enter on end of list item with a heading would create a new item with heading. + Fixed edit css style dialog text-decoration none checkbox so it disables other text-decoration options when enabled. + Fixed bug in Gecko where undo wasn't added when focus was lost. + Fixed bug in Gecko where shift-enter in table cell ending with BR doesn't move caret to new line. + Fixed bug where right-click on formatted text in IE selected the entire line. + Fixed bug where text ending with space could not be unformatted in IE. + Fixed bug where caret formatting would be removed when moving the caret when a selector expression was used. + Fixed bug where formatting would be applied to the body element when all contents where selected and format had both inline and selector parts. + Fixed bug where the media plugin would throw errors if you had iframe set as an invalid element in config. + Fixed bug where the caret would be placed at the top of the document if you inserted a table and undo:ed that operation. Patch contributed by Wesley Walser. + Fixed bug where content css files where loaded twice into the iframe. + Fixed so elements with comments would be trated as non empty elements. Patch contributed by Arjan Scherpenisse. Version 3.4.8 (2012-02-02) Fixed bug in IE where selected text ending with space cannot be formatted then formatted again to get original text. Fixed bug in IE where images larger than editor area were being deselected when toolbar buttons are clicked. Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/langs/en.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/langs/en.js 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/langs/en.js 2012-06-24 17:15:30 UTC (rev 9704) @@ -1 +1 @@ -tinyMCE.addI18n({en:{common:{"more_colors":"More Colors...","invalid_data":"Error: Invalid values entered, these are marked in red.","popup_blocked":"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.","clipboard_no_support":"Currently not supported by your browser, use keyboard shortcuts instead.","clipboard_msg":"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?","not_set":"-- Not Set --","class_name":"Class",browse:"Browse",close:"Close",cancel:"Cancel",update:"Update",insert:"Insert",apply:"Apply","edit_confirm":"Do you want to use the WYSIWYG mode for this textarea?","invalid_data_number":"{#field} must be a number","invalid_data_min":"{#field} must be a number greater than {#min}","invalid_data_size":"{#field} must be a number or percentage",value:"(value)"},contextmenu:{full:"Full",right:"Right",center:"Center",left:"Left",align:"Alignment"},insertdatetime:{"day_short":"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun","day_long":"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday","months_short":"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec","months_long":"January,February,March,April,May,June,July,August,September,October,November,December","inserttime_desc":"Insert Time","insertdate_desc":"Insert Date","time_fmt":"%H:%M:%S","date_fmt":"%Y-%m-%d"},print:{"print_desc":"Print"},preview:{"preview_desc":"Preview"},directionality:{"rtl_desc":"Direction Right to Left","ltr_desc":"Direction Left to Right"},layer:{content:"New layer...","absolute_desc":"Toggle Absolute Positioning","backward_desc":"Move Backward","forward_desc":"Move Forward","insertlayer_desc":"Insert New Layer"},save:{"save_desc":"Save","cancel_desc":"Cancel All Changes"},nonbreaking:{"nonbreaking_desc":"Insert Non-Breaking Space Character"},iespell:{download:"ieSpell not detected. Do you want to install it now?","iespell_desc":"Check Spelling"},advhr:{"delta_height":"","delta_width":"","advhr_desc":"Insert Horizontal Line"},emotions:{"delta_height":"","delta_width":"","emotions_desc":"Emotions"},searchreplace:{"replace_desc":"Find/Replace","delta_width":"","delta_height":"","search_desc":"Find"},advimage:{"delta_width":"","image_desc":"Insert/Edit Image","delta_height":""},advlink:{"delta_height":"","delta_width":"","link_desc":"Insert/Edit Link"},xhtmlxtras:{"attribs_delta_height":"","attribs_delta_width":"","ins_delta_height":"","ins_delta_width":"","del_delta_height":"","del_delta_width":"","acronym_delta_height":"","acronym_delta_width":"","abbr_delta_height":"","abbr_delta_width":"","cite_delta_height":"","cite_delta_width":"","attribs_desc":"Insert/Edit Attributes","ins_desc":"Insertion","del_desc":"Deletion","acronym_desc":"Acronym","abbr_desc":"Abbreviation","cite_desc":"Citation"},style:{"delta_height":"","delta_width":"",desc:"Edit CSS Style"},paste:{"plaintext_mode_stick":"Paste is now in plain text mode. Click again to toggle back to regular paste mode.","plaintext_mode":"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.","selectall_desc":"Select All","paste_word_desc":"Paste from Word","paste_text_desc":"Paste as Plain Text"},"paste_dlg":{"word_title":"Use Ctrl+V on your keyboard to paste the text into the window.","text_linebreaks":"Keep Linebreaks","text_title":"Use Ctrl+V on your keyboard to paste the text into the window."},table:{"merge_cells_delta_height":"","merge_cells_delta_width":"","table_delta_height":"","table_delta_width":"","cellprops_delta_height":"","cellprops_delta_width":"","rowprops_delta_height":"","rowprops_delta_width":"",cell:"Cell",col:"Column",row:"Row",del:"Delete Table","copy_row_desc":"Copy Table Row","cut_row_desc":"Cut Table Row","paste_row_after_desc":"Paste Table Row After","paste_row_before_desc":"Paste Table Row Before","props_desc":"Table Properties","cell_desc":"Table Cell Properties","row_desc":"Table Row Properties","merge_cells_desc":"Merge Table Cells","split_cells_desc":"Split Merged Table Cells","delete_col_desc":"Delete Column","col_after_desc":"Insert Column After","col_before_desc":"Insert Column Before","delete_row_desc":"Delete Row","row_after_desc":"Insert Row After","row_before_desc":"Insert Row Before",desc:"Insert/Edit Table"},autosave:{"warning_message":"If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?","restore_content":"Restore auto-saved content.","unload_msg":"The changes you made will be lost if you navigate away from this page."},fullscreen:{desc:"Toggle Full Screen Mode"},media:{"delta_height":"","delta_width":"",edit:"Edit Embedded Media",desc:"Insert/Edit Embedded Media"},fullpage:{desc:"Document Properties","delta_width":"","delta_height":""},template:{desc:"Insert Predefined Template Content"},visualchars:{desc:"Show/Hide Visual Control Characters"},spellchecker:{desc:"Toggle Spell Checker",menu:"Spell Checker Settings","ignore_word":"Ignore Word","ignore_words":"Ignore All",langs:"Languages",wait:"Please wait...",sug:"Suggestions","no_sug":"No Suggestions","no_mpell":"No misspellings found.","learn_word":"Learn word"},pagebreak:{desc:"Insert Page Break for Printing"},advlist:{types:"Types",def:"Default","lower_alpha":"Lower Alpha","lower_greek":"Lower Greek","lower_roman":"Lower Roman","upper_alpha":"Upper Alpha","upper_roman":"Upper Roman",circle:"Circle",disc:"Disc",square:"Square"},colors:{"333300":"Dark olive","993300":"Burnt orange","000000":"Black","003300":"Dark green","003366":"Dark azure","000080":"Navy Blue","333399":"Indigo","333333":"Very dark gray","800000":"Maroon",FF6600:"Orange","808000":"Olive","008000":"Green","008080":"Teal","0000FF":"Blue","666699":"Grayish blue","808080":"Gray",FF0000:"Red",FF9900:"Amber","99CC00":"Yellow green","339966":"Sea green","33CCCC":"Turquoise","3366FF":"Royal blue","800080":"Purple","999999":"Medium gray",FF00FF:"Magenta",FFCC00:"Gold",FFFF00:"Yellow","00FF00":"Lime","00FFFF":"Aqua","00CCFF":"Sky blue","993366":"Brown",C0C0C0:"Silver",FF99CC:"Pink",FFCC99:"Peach",FFFF99:"Light yellow",CCFFCC:"Pale green",CCFFFF:"Pale cyan","99CCFF":"Light sky blue",CC99FF:"Plum",FFFFFF:"White"},aria:{"rich_text_area":"Rich Text Area"},wordcount:{words:"Words:"}}}); \ No newline at end of file +tinyMCE.addI18n({en:{common:{"more_colors":"More Colors...","invalid_data":"Error: Invalid values entered, these are marked in red.","popup_blocked":"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.","clipboard_no_support":"Currently not supported by your browser, use keyboard shortcuts instead.","clipboard_msg":"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?","not_set":"-- Not Set --","class_name":"Class",browse:"Browse",close:"Close",cancel:"Cancel",update:"Update",insert:"Insert",apply:"Apply","edit_confirm":"Do you want to use the WYSIWYG mode for this textarea?","invalid_data_number":"{#field} must be a number","invalid_data_min":"{#field} must be a number greater than {#min}","invalid_data_size":"{#field} must be a number or percentage",value:"(value)"},contextmenu:{full:"Full",right:"Right",center:"Center",left:"Left",align:"Alignment"},insertdatetime:{"day_short":"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun","day_long":"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday","months_short":"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec","months_long":"January,February,March,April,May,June,July,August,September,October,November,December","inserttime_desc":"Insert Time","insertdate_desc":"Insert Date","time_fmt":"%H:%M:%S","date_fmt":"%Y-%m-%d"},print:{"print_desc":"Print"},preview:{"preview_desc":"Preview"},directionality:{"rtl_desc":"Direction Right to Left","ltr_desc":"Direction Left to Right"},layer:{content:"New layer...","absolute_desc":"Toggle Absolute Positioning","backward_desc":"Move Backward","forward_desc":"Move Forward","insertlayer_desc":"Insert New Layer"},save:{"save_desc":"Save","cancel_desc":"Cancel All Changes"},nonbreaking:{"nonbreaking_desc":"Insert Non-Breaking Space Character"},iespell:{download:"ieSpell not detected. Do you want to install it now?","iespell_desc":"Check Spelling"},advhr:{"delta_height":"","delta_width":"","advhr_desc":"Insert Horizontal Line"},emotions:{"delta_height":"","delta_width":"","emotions_desc":"Emotions"},searchreplace:{"replace_desc":"Find/Replace","delta_width":"","delta_height":"","search_desc":"Find"},advimage:{"delta_width":"","image_desc":"Insert/Edit Image","delta_height":""},advlink:{"delta_height":"","delta_width":"","link_desc":"Insert/Edit Link"},xhtmlxtras:{"attribs_delta_height":"","attribs_delta_width":"","ins_delta_height":"","ins_delta_width":"","del_delta_height":"","del_delta_width":"","acronym_delta_height":"","acronym_delta_width":"","abbr_delta_height":"","abbr_delta_width":"","cite_delta_height":"","cite_delta_width":"","attribs_desc":"Insert/Edit Attributes","ins_desc":"Insertion","del_desc":"Deletion","acronym_desc":"Acronym","abbr_desc":"Abbreviation","cite_desc":"Citation"},style:{"delta_height":"","delta_width":"",desc:"Edit CSS Style"},paste:{"plaintext_mode_stick":"Paste is now in plain text mode. Click again to toggle back to regular paste mode.","plaintext_mode":"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.","selectall_desc":"Select All","paste_word_desc":"Paste from Word","paste_text_desc":"Paste as Plain Text"},"paste_dlg":{"word_title":"Use Ctrl+V on your keyboard to paste the text into the window.","text_linebreaks":"Keep Linebreaks","text_title":"Use Ctrl+V on your keyboard to paste the text into the window."},table:{"merge_cells_delta_height":"","merge_cells_delta_width":"","table_delta_height":"","table_delta_width":"","cellprops_delta_height":"","cellprops_delta_width":"","rowprops_delta_height":"","rowprops_delta_width":"",cell:"Cell",col:"Column",row:"Row",del:"Delete Table","copy_row_desc":"Copy Table Row","cut_row_desc":"Cut Table Row","paste_row_after_desc":"Paste Table Row After","paste_row_before_desc":"Paste Table Row Before","props_desc":"Table Properties","cell_desc":"Table Cell Properties","row_desc":"Table Row Properties","merge_cells_desc":"Merge Table Cells","split_cells_desc":"Split Merged Table Cells","delete_col_desc":"Delete Column","col_after_desc":"Insert Column After","col_before_desc":"Insert Column Before","delete_row_desc":"Delete Row","row_after_desc":"Insert Row After","row_before_desc":"Insert Row Before",desc:"Insert/Edit Table"},autosave:{"warning_message":"If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?","restore_content":"Restore auto-saved content.","unload_msg":"The changes you made will be lost if you navigate away from this page."},fullscreen:{desc:"Toggle Full Screen Mode"},media:{"delta_height":"","delta_width":"",edit:"Edit Embedded Media",desc:"Insert/Edit Embedded Media"},fullpage:{desc:"Document Properties","delta_width":"","delta_height":""},template:{desc:"Insert Predefined Template Content"},visualchars:{desc:"Show/Hide Visual Control Characters"},spellchecker:{desc:"Toggle Spell Checker",menu:"Spell Checker Settings","ignore_word":"Ignore Word","ignore_words":"Ignore All",langs:"Languages",wait:"Please wait...",sug:"Suggestions","no_sug":"No Suggestions","no_mpell":"No misspellings found.","learn_word":"Learn word"},pagebreak:{desc:"Insert Page Break for Printing"},advlist:{types:"Types",def:"Default","lower_alpha":"Lower Alpha","lower_greek":"Lower Greek","lower_roman":"Lower Roman","upper_alpha":"Upper Alpha","upper_roman":"Upper Roman",circle:"Circle",disc:"Disc",square:"Square"},colors:{"333300":"Dark olive","993300":"Burnt orange","000000":"Black","003300":"Dark green","003366":"Dark azure","000080":"Navy Blue","333399":"Indigo","333333":"Very dark gray","800000":"Maroon",FF6600:"Orange","808000":"Olive","008000":"Green","008080":"Teal","0000FF":"Blue","666699":"Grayish blue","808080":"Gray",FF0000:"Red",FF9900:"Amber","99CC00":"Yellow green","339966":"Sea green","33CCCC":"Turquoise","3366FF":"Royal blue","800080":"Purple","999999":"Medium gray",FF00FF:"Magenta",FFCC00:"Gold",FFFF00:"Yellow","00FF00":"Lime","00FFFF":"Aqua","00CCFF":"Sky blue","993366":"Brown",C0C0C0:"Silver",FF99CC:"Pink",FFCC99:"Peach",FFFF99:"Light yellow",CCFFCC:"Pale green",CCFFFF:"Pale cyan","99CCFF":"Light sky blue",CC99FF:"Plum",FFFFFF:"White"},aria:{"rich_text_area":"Rich Text Area"},wordcount:{words:"Words:"},visualblocks:{desc:'Show/hide block elements'}}}); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js 2012-06-24 17:15:30 UTC (rev 9704) @@ -488,7 +488,7 @@ var html = ""; html += '<select id="' + elm_id + '" name="' + elm_id + '"'; - html += ' class="mceLinkList" onfoc2us="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value='; + html += ' class="mceLinkList" onchange="this.form.' + target_form_element + '.value='; html += 'this.options[this.selectedIndex].value;'; if (typeof(onchange_func) != "undefined") @@ -510,7 +510,7 @@ var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); var html = ''; - html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value='; + html += '<select id="' + elm_id + '" name="' + elm_id + '" onchange="this.form.' + target_form_element + '.value='; html += 'this.options[this.selectedIndex].value;">'; html += '<option value="_self">' + tinyMCEPopup.getLang('advlink_dlg.target_same') + '</option>'; html += '<option value="_blank">' + tinyMCEPopup.getLang('advlink_dlg.target_blank') + ' (_blank)</option>'; Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js 2012-06-24 17:15:30 UTC (rev 9704) @@ -1 +1 @@ -(function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;if(tinyMCE.isIE){return}a.onKeyDown.add(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}});a.onKeyPress.add(function(d,f){if(f.which==41){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng().cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f-2);a.setEnd(n,f-1);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("createlink",false,h[1]+h[2]);i.selection.moveToBookmark(k);if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})(); \ No newline at end of file +(function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;a.onKeyDown.addToTop(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}});if(tinyMCE.isIE){return}a.onKeyPress.add(function(d,f){if(f.which==41){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng(true).cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f-2);a.setEnd(n,f-1);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}var m=a.toString();if(m.charAt(m.length-1)=="."){a.setEnd(n,c-1)}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+-]+@)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}else{if(/@$/.test(h[1])&&!/^mailto:/.test(h[1])){h[1]="mailto:"+h[1]}}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("createlink",false,h[1]+h[2]);i.selection.moveToBookmark(k);i.nodeChanged();if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})(); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js 2012-06-24 17:15:30 UTC (rev 9704) @@ -1 +1 @@ -(function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent({draft:true}).replace(/\s| |<\/?p[^>]*>|<br[^>]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();try{m.save("TinyMCE")}catch(o){}},getItem:function(l){var m=i.getElement();try{m.load("TinyMCE");return m.getAttribute(l)}catch(n){return null}},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent({draft:true});if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,j=h.storage,i;if(j){i=j.getItem(h.key);if(i){h.editor.setContent(i);h.onRestoreDraft.dispatch(h,{content:i})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()<i.getTime()){return b}h.removeDraft()}else{return b}}}return false},removeDraft:function(){var h=this,k=h.storage,i=h.key,j;if(k){j=k.getItem(i);k.removeItem(i);k.removeItem(i+"_expires");if(j){h.onRemoveDraft.dispatch(h,{content:j})}}},"static":{_beforeUnloadHandler:function(h){var i;e.each(tinyMCE.editors,function(j){if(j.plugins.autosave){j.plugins.autosave.storeDraft()}if(j.getParam("fullscreen_is_enabled")){return}if(!i&&j.isDirty()&&j.getParam("autosave_ask_before_unload")){i=j.getLang("autosave.unload_msg")}});return i}}});e.PluginManager.add("autosave",e.plugins.AutoSave)})(tinymce); \ No newline at end of file +(function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent({draft:true}).replace(/\s| |<\/?p[^>]*>|<br[^>]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){if(!i.removed){h.storeDraft();i.nodeChanged()}},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();try{m.save("TinyMCE")}catch(o){}},getItem:function(l){var m=i.getElement();try{m.load("TinyMCE");return m.getAttribute(l)}catch(n){return null}},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent({draft:true});if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,j=h.storage,i;if(j){i=j.getItem(h.key);if(i){h.editor.setContent(i);h.onRestoreDraft.dispatch(h,{content:i})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()<i.getTime()){return b}h.removeDraft()}else{return b}}}return false},removeDraft:function(){var h=this,k=h.storage,i=h.key,j;if(k){j=k.getItem(i);k.removeItem(i);k.removeItem(i+"_expires");if(j){h.onRemoveDraft.dispatch(h,{content:j})}}},"static":{_beforeUnloadHandler:function(h){var i;e.each(tinyMCE.editors,function(j){if(j.plugins.autosave){j.plugins.autosave.storeDraft()}if(j.getParam("fullscreen_is_enabled")){return}if(!i&&j.isDirty()&&j.getParam("autosave_ask_before_unload")){i=j.getLang("autosave.unload_msg")}});return i}}});e.PluginManager.add("autosave",e.plugins.AutoSave)})(tinymce); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js 2012-06-24 17:15:30 UTC (rev 9704) @@ -1 +1 @@ -(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(e){var h=this,f,d,i;h.editor=e;d=e.settings.contextmenu_never_use_native;h.onContextMenu=new tinymce.util.Dispatcher(this);f=e.onContextMenu.add(function(j,k){if((i!==0?i:k.ctrlKey)&&!d){return}a.cancel(k);if(k.target.nodeName=="IMG"){j.selection.select(k.target)}h._getMenu(j).showMenu(k.clientX||k.pageX,k.clientY||k.pageY);a.add(j.getDoc(),"click",function(l){g(j,l)});j.nodeChanged()});e.onRemove.add(function(){if(h._menu){h._menu.removeAll()}});function g(j,k){i=0;if(k&&k.button==2){i=k.ctrlKey;return}if(h._menu){h._menu.removeAll();h._menu.destroy();a.remove(j.getDoc(),"click",g);h._menu=null}}e.onMouseDown.add(g);e.onKeyDown.add(g);e.onKeyDown.add(function(j,k){if(k.shiftKey&&!k.ctrlKey&&!k.altKey&&k.keyCode===121){a.cancel(k);f(j,k)}})},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file +(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(f){var i=this,g,d,j,e;i.editor=f;d=f.settings.contextmenu_never_use_native;i.onContextMenu=new tinymce.util.Dispatcher(this);e=function(k){h(f,k)};g=f.onContextMenu.add(function(k,l){if((j!==0?j:l.ctrlKey)&&!d){return}a.cancel(l);if(l.target.nodeName=="IMG"){k.selection.select(l.target)}i._getMenu(k).showMenu(l.clientX||l.pageX,l.clientY||l.pageY);a.add(k.getDoc(),"click",e);k.nodeChanged()});f.onRemove.add(function(){if(i._menu){i._menu.removeAll()}});function h(k,l){j=0;if(l&&l.button==2){j=l.ctrlKey;return}if(i._menu){i._menu.removeAll();i._menu.destroy();a.remove(k.getDoc(),"click",e);i._menu=null}}f.onMouseDown.add(h);f.onKeyDown.add(h);f.onKeyDown.add(function(k,l){if(l.shiftKey&&!l.ctrlKey&&!l.altKey&&l.keyCode===121){a.cancel(l);g(k,l)}})},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file Modified: XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js =================================================================== --- XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js 2012-06-24 16:15:33 UTC (rev 9703) +++ XoopsCore/branches/2.5.x/2.5.5/htdocs/class/xoopseditor/tinymce/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js 2012-06-24 17:15:30 UTC (rev 9704) @@ -1 +1 @@ -(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(d,e){var f=this,g={},c,b;f.editor=d;d.addCommand("mceFullScreen",function(){var i,j=a.doc.documentElement;if(d.getParam("fullscreen_is_enabled")){if(d.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",f.resizeFunc);tinyMCE.get(d.getParam("fullscreen_editor_id")).setContent(d.getContent());tinyMCE.remove(d);a.remove("mce_fullscreen_container");j.style.overflow=d.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",d.getParam("fullscreen_overflow"));a.win.scrollTo(d.getParam("fullscreen_scrollx"),d.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(d.getParam("fullscreen_new_window")){i=a.win.open(e+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{i.resizeTo(screen.availWidth,screen.availHeight)}catch(h){}}else{tinyMCE.oldSettings=tinyMCE.settings;g.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";g.fullscreen_html_overflow=a.getStyle(j,"overflow",1);c=a.getViewPort();g.fullscreen_scrollx=c.x;g.fullscreen_scrolly=c.y;if(tinymce.isOpera&&g.fullscreen_overflow=="visible"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&g.fullscreen_overflow=="scroll"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&(g.fullscreen_html_overflow=="visible"||g.fullscreen_html_overflow=="scroll")){g.fullscreen_html_overflow="auto"}if(g.fullscreen_overflow=="0px"){g.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");j.style.overflow="hidden";c=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){c.h-=1}if(tinymce.isIE6){b="absolute;top:"+c.y}else{b="fixed;top:0"}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+b+";left:0;width:"+c.w+"px;height:"+c.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(d.settings,function(k,l){g[l]=k});g.id="mce_fullscreen";g.width=n.clientWidth;g.height=n.clientHeight-15;g.fullscreen_is_enabled=true;g.fullscreen_editor_id=d.id;g.theme_advanced_resizing=false;g.save_onsavecallback=function(){d.setContent(tinyMCE.get(g.id).getContent());d.execCommand("mceSave")};tinymce.each(d.getParam("fullscreen_settings"),function(m,l){g[l]=m});if(g.theme_advanced_toolbar_location==="external"){g.theme_advanced_toolbar_location="top"}f.fullscreenEditor=new tinymce.Editor("mce_fullscreen",g);f.fullscreenEditor.onInit.add(function(){f.fullscreenEditor.setContent(d.getContent());f.fullscreenEditor.focus()});f.fullscreenEditor.render();f.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");f.fullscreenElement.update();f.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var o=tinymce.DOM.getViewPort(),l=f.fullscreenEditor,k,m;k=l.dom.getSize(l.getContainer().firstChild);m=l.dom.getSize(l.getContainer().getElementsByTagName("iframe")[0]);l.theme.resizeTo(o.w-k.w+m.w,o.h-k.h+m.h)})}});d.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});d.onNodeChange.add(function(i,h){h.setActive("fullscreen",i.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file +(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(d,e){var f=this,g={},c,b;f.editor=d;d.addCommand("mceFullScreen",function(){var i,j=a.doc.documentElement;if(d.getParam("fullscreen_is_enabled")){if(d.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",f.resizeFunc);tinyMCE.get(d.getParam("fullscreen_editor_id")).setContent(d.getContent());tinyMCE.remove(d);a.remove("mce_fullscreen_container");j.style.overflow=d.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",d.getParam("fullscreen_overflow"));a.win.scrollTo(d.getParam("fullscreen_scrollx"),d.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(d.getParam("fullscreen_new_window")){i=a.win.open(e+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{i.resizeTo(screen.availWidth,screen.availHeight)}catch(h){}}else{tinyMCE.oldSettings=tinyMCE.settings;g.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";g.fullscreen_html_overflow=a.getStyle(j,"overflow",1);c=a.getViewPort();g.fullscreen_scrollx=c.x;g.fullscreen_scrolly=c.y;if(tinymce.isOpera&&g.fullscreen_overflow=="visible"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&g.fullscreen_overflow=="scroll"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&(g.fullscreen_html_overflow=="visible"||g.fullscreen_html_overflow=="scroll")){g.fullscreen_html_overflow="auto"}if(g.fullscreen_overflow=="0px"){g.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");j.style.overflow="hidden";c=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){c.h-=1}if(tinymce.isIE6||document.compatMode=="BackCompat"){b="absolute;top:"+c.y}else{b="fixed;top:0"}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+b+";left:0;width:"+c.w+"px;height:"+c.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(d.settin... [truncated message content] |