diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 976cc08c8..df29dc191 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -107,6 +107,10 @@ - added [ 1205807 ] ability to report file size in File template - added [ 1201811 ] resizable textAreas - added [ 1376374 ] WebGUI should return a Last-Modified http/1.x header + - added [ 1216059 ] Admin Bar Made Sticky + - fix [ 1463411 ] Denied content not getting expired or trashed + - fix [ 1461522 ] 6.8.7 Linking items in the page tree (PDF and other files) + - fix [ 1465280 ] BR Tag in Outlook - fix [ 1178981 ] IE is in "quirks mode" - multi-column layout templates break - fix [ 999590 ] Rating diff --git a/docs/gotcha.txt b/docs/gotcha.txt index 7f1d76745..53d05bfc7 100644 --- a/docs/gotcha.txt +++ b/docs/gotcha.txt @@ -51,7 +51,9 @@ save you many hours of grief. * You no longer need the cron job for runHourly.pl. Instead, you must start sbin/spectre.pl when your server starts up. Spectre is WebGUI's offline execution engine. It triggers - scheduled events and executes workflow tasks. + scheduled events and executes workflow tasks. Be sure to + edit each of your WebGUI config files to set the + spectreSubnet setting to match your IP address or IP range. * If you wish to run the full test suite, you'll need to install these optional modules: diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 1382bdb3c..48c02a6bb 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -509,15 +509,8 @@ Creates and returns a tabform to edit parameters of an Asset. sub getEditForm { my $self = shift; my $i18n = WebGUI::International->new($self->session, "Asset"); - my $ac = $self->getAdminConsole; my $ago = $i18n->get("ago"); my $rs = $self->session->db->read("select revisionDate from assetData where assetId=? order by revisionDate desc limit 5", [$self->getId]); - $ac->addSubmenuItem($self->getUrl("func=manageRevisions"),$i18n->get("revisions").":"); - while (my ($version) = $rs->array) { - my ($interval, $units) = $self->session->datetime->secondsToInterval(time() - $version); - $ac->addSubmenuItem($self->getUrl("func=edit;revision=".$version), $interval." ".$units." ".$ago); - } - $ac->addSubmenuItem(); my $uiLevelOverride = $self->get("className"); $uiLevelOverride =~ s/\:\:/_/g; my $tabform = WebGUI::TabForm->new($self->session,undef,undef,$self->getUrl(),$uiLevelOverride); @@ -534,6 +527,13 @@ sub getEditForm { name=>"class", value=>$self->session->form->process("class") }); + } else { + my $ac = $self->getAdminConsole; + $ac->addSubmenuItem($self->getUrl("func=manageRevisions"),$i18n->get("revisions").":"); + while (my ($version) = $rs->array) { + my ($interval, $units) = $self->session->datetime->secondsToInterval(time() - $version); + $ac->addSubmenuItem($self->getUrl("func=edit;revision=".$version), $interval." ".$units." ".$ago); + } } if ($self->session->form->process("proceed")) { $tabform->hidden({ diff --git a/www/extras/adminConsole/adminConsole.css b/www/extras/adminConsole/adminConsole.css index a54463d8f..8573fd5f8 100644 --- a/www/extras/adminConsole/adminConsole.css +++ b/www/extras/adminConsole/adminConsole.css @@ -47,12 +47,13 @@ th { .adminConsoleWorkArea { border: 1px solid #D7D7D7; - margin: 65px 190px 50px 10px; + margin: 65px 170px 10px 9px; padding: 15px; -moz-border-radius: 10px; background-color: #fafafa; min-height: 400px; - width: 75%; + width: 78%; + z-index: 10; } /* Hides from non-ie: the holly hack \*/ * html .adminConsoleWorkArea { @@ -63,44 +64,59 @@ th { .adminConsoleMenu { + z-index: 0; position: absolute; top: 65px; - right: 10px; + left: 78%; + margin-top: 10px; + margin-left: 31px; width: 180px; font-family: helvetica, arial; font-size: 12px; - z-index: 1000; } .adminConsoleMainMenu:hover, .adminConsoleUtilityMenu:hover { opacity: 1.0; + z-index: 10; background-color: #fafafa; } .adminConsoleMainMenu { - border: 1px solid #D7D7D7; + z-index: 1; + border-top: 1px solid #D7D7D7; + border-bottom: 1px solid #D7D7D7; + border-right: 1px solid #D7D7D7; padding: 5px; + padding-left: 10px; margin: 5px; -moz-border-radius: 5px; - background-color: #bbbbbb; + background-color: #fafafa; opacity: 0.7; } .adminConsoleSubmenu { - border: 1px solid #D7D7D7; + z-index: 10; + border-top: 1px solid #D7D7D7; + border-bottom: 1px solid #D7D7D7; + border-right: 1px solid #D7D7D7; padding: 5px; + padding-left: 10px; margin: 5px; -moz-border-radius: 5px; background-color: #fafafa; } .adminConsoleUtilityMenu { + z-index: 1; opacity: 0.6; - border: 1px solid #D7D7D7; + border-top: 1px solid #D7D7D7; + border-bottom: 1px solid #D7D7D7; + border-right: 1px solid #D7D7D7; padding: 5px; + padding-left: 10px; margin: 5px; -moz-border-radius: 5px; - background-color: #bbbbbb; + background-color: #fafafa; } .adminConsoleHidden { diff --git a/www/extras/adminConsole/adminConsole.js b/www/extras/adminConsole/adminConsole.js index 74993a15e..2d8701666 100644 --- a/www/extras/adminConsole/adminConsole.js +++ b/www/extras/adminConsole/adminConsole.js @@ -1,16 +1,14 @@ var adminConsoleIsOn = true; - +var adminConsoleApplicationSubmenu = false; function initAdminConsole (viewAnApplication,hasSubmenu) { + adminConsoleApplicationSubmenu = hasSubmenu; if (viewAnApplication) { switchToApplication(); } else { switchToAdminConsole(); document.getElementById("adminConsoleMainMenu").className = "adminConsoleHidden"; } - if (!hasSubmenu) { - document.getElementById("adminConsoleApplicationSubmenu").className = "adminConsoleHidden"; - } } function switchToApplication () { @@ -21,7 +19,9 @@ function switchToApplication () { document.getElementById("application_help").className = "adminConsoleHelpIcon"; document.getElementById("application_icon").className = "adminConsoleTitleIcon"; document.getElementById("application_title").className = "adminConsoleTitle"; - document.getElementById("adminConsoleApplicationSubmenu").className = "adminConsoleSubmenu"; + if (adminConsoleApplicationSubmenu) { + document.getElementById("adminConsoleApplicationSubmenu").className = "adminConsoleSubmenu"; + } document.getElementById("application_workarea").className = "adminConsoleWorkArea"; document.getElementById("console_toggle_off").className = "adminConsoleHidden"; document.getElementById("console_toggle_on").className = "adminConsoleToggle"; diff --git a/www/extras/assetManager/assetManager.css b/www/extras/assetManager/assetManager.css index 385c6aea7..4c0c3e92e 100644 --- a/www/extras/assetManager/assetManager.css +++ b/www/extras/assetManager/assetManager.css @@ -48,7 +48,8 @@ position:absolute; display: none; border: 1px dashed #405F6E; - font-size: 12;} + font-size: 12px; +} .dragImage { position:absolute; diff --git a/www/extras/contextMenu/contextMenu.js b/www/extras/contextMenu/contextMenu.js index a2140bfd0..7a6627519 100755 --- a/www/extras/contextMenu/contextMenu.js +++ b/www/extras/contextMenu/contextMenu.js @@ -33,8 +33,8 @@ var firedobj = ie5?e.srcElement:e.target; var el = document.documentElement; posx = e.clientX - xoffset + (ie5? el.scrollLeft : window.pageXOffset); posy = e.clientY - yoffset + (ie5? el.scrollTop : window.pageYOffset); - menuobj.style.left=posx; - menuobj.style.top=posy; + menuobj.style.left=posx + "px"; + menuobj.style.top=posy + "px"; menuobj.style.visibility="visible" return false } diff --git a/www/extras/draggable.css b/www/extras/draggable.css index e3417afe7..6bab190be 100644 --- a/www/extras/draggable.css +++ b/www/extras/draggable.css @@ -16,7 +16,7 @@ div.dragable:hover { opacity:0.6; -moz-opacity:0.6; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60); - cursor: hand; + cursor: pointer; z-index: 2000; } .draggedOverTop{ @@ -34,12 +34,12 @@ div.dragable:hover { } .blank { position: relative; - cursor: hand; + cursor: pointer; background-color: white; } .blankOver { position: relative; - cursor: hand; + cursor: pointer; background-color: black; } .empty { diff --git a/www/extras/slidePanel/slidePanel.css b/www/extras/slidePanel/slidePanel.css index 0261b1c22..f4c5739e6 100644 --- a/www/extras/slidePanel/slidePanel.css +++ b/www/extras/slidePanel/slidePanel.css @@ -1,24 +1,18 @@ -#slidePanelBar { +#slidePanel { position:absolute; - font:bold 12px Verdana; + font: bold 12px sans-serif; line-height:20px; text-align: left; + left:0px; + top:0px; } -#slidePanelBarHandle { - z-index: 100000; - position: absolute; - top: 0px; - right: 3px; - line-height: 100px; -} - -.panelButton { +.slidePanelButton { width:300px; text-align:center; - font-family:arial; + font-family: sans-serif; font-size:11px; - cursor:hand; + cursor: pointer; border-width:1px; border-color: #ACACAC; background-color:#dddddd; @@ -29,14 +23,14 @@ border-style: solid; } -.panelButton A, .panelButton A:visited, .panelButton A:link { +.slidePanelButton A, .slidePanelButton A:visited, .slidePanelButton A:link { text-decoration: none; color: black; } .scrollPanelUp { position:absolute; - top:40px; + top: 40px; } .scrollPanelDown { @@ -59,24 +53,27 @@ } .panelLinkOut { - position:absolute; + position: absolute; overflow: hidden; height: 20px; - cursor: hand; - left:0px; + cursor: pointer; + left: 0px; font-size: 11px; - font-family: helvetica, arial, sans; + color: black; + font-family: sans-serif; } + .panelLinkIn { position:absolute; cursor: pointer; height: 20px; overflow: hidden; - cursor: hand; + cursor: pointer; left:0px; border: 1px solid #DEDCDC; font-size: 11px; - font-family: helvetica, arial, sans; + font-family: sans-serif; + color: black; background-color: #F5F5F5; } diff --git a/www/extras/slidePanel/slidePanel.js b/www/extras/slidePanel/slidePanel.js index e772b3f73..79770ea6f 100644 --- a/www/extras/slidePanel/slidePanel.js +++ b/www/extras/slidePanel/slidePanel.js @@ -1,53 +1,8 @@ -var panelButtonHeight = 23; -var panelLinkTop = 25; - - - -//create a crossbrowser layer object -function createLayerObject(name) { - this.name=name; - this.obj=document.getElementById(name); - this.cssobj.style; - this.x=parseInt(this.css.left); - this.y=parseInt(this.css.top); - this.show=b_show; - this.hide=b_hide; - this.moveTo=b_moveTo; - this.moveBy=b_moveBy; - this.writeText=b_writeText; - return this; -} - -//crossbrowser show -function b_show(){ - this.css.visibility='visible'; -} - -//crossbrowser hide -function b_hide(){ - this.css.visibility='hidden'; -} - -//crossbrowser move absolute -function b_moveTo(x,y){ - this.x = x; - this.y = y; - this.css.left=x; - this.css.top=y; -} - -//crossbrowser move relative -function b_moveBy(x,y){ - this.moveTo(this.x+x, this.y+y) -} - -//write text into a layer -function b_writeText(text) { - this.obj.innerHTML=text; -} +var slidePanelButtonHeight = 23; +var slidePanelLinkTop = slidePanelButtonHeight+2; //add one button to a panel -function b_addLink(img, label, action) { +function sp_addLink(img, label, action) { this.img[this.img.length]=img; this.lbl[this.lbl.length]=label; this.act[this.act.length]=action; @@ -56,11 +11,11 @@ function b_addLink(img, label, action) { } //test if scroll buttons should be visible -function b_testScroll() { +function sp_testScroll() { var i=parseInt(this.obj.style.height); var j=parseInt(this.objf.style.height); var k=parseInt(this.objf.style.top); - if (k==panelLinkTop) + if (k==slidePanelLinkTop) this.objm1.style.visibility='hidden'; else this.objm1.style.visibility='visible'; @@ -71,9 +26,7 @@ function b_testScroll() { } //scroll the panel content up -function b_up(nr) { - - +function sp_up(nr) { this.ftop = this.ftop - 5; this.objf.style.top=(this.ftop+'px'); //this.objf.style.zIndex=1; @@ -84,13 +37,11 @@ function b_up(nr) { this.testScroll(); } - - //scroll the panel content down -function b_down(nr) { +function sp_down(nr) { this.ftop = this.ftop + 5; - if (this.ftop>=panelLinkTop) { - this.ftop=panelLinkTop; + if (this.ftop>=slidePanelLinkTop) { + this.ftop=slidePanelLinkTop; nr=0; } this.objf.style.top=(this.ftop+'px'); @@ -104,7 +55,7 @@ function b_down(nr) { //create one panel function createPanel(name,caption) { this.name=name; // panel layer ID - this.ftop=panelLinkTop; // actual panel scroll position + this.ftop=slidePanelLinkTop; // actual panel scroll position this.obj=null; // panel layer object this.objc=null; // caption layer object this.objf=null; // panel field layer object @@ -115,45 +66,38 @@ function createPanel(name,caption) { this.lbl=new Array(); // button labels this.act=new Array(); // button actions this.sta=new Array(); // button status (internal) - this.addLink=b_addLink; // add one button to panel - this.testScroll=b_testScroll; // test if scroll buttons should be visible - this.up=b_up; // scroll panel buttons up - this.down=b_down; // scroll panel buttons down + this.addLink=sp_addLink; // add one button to panel + this.testScroll=sp_testScroll; // test if scroll buttons should be visible + this.up=sp_up; // scroll panel buttons up + this.down=sp_down; // scroll panel buttons down this.v = this.name + "var"; // global var of 'this' eval(this.v + "=this"); return this } //add one panel to the slider -function b_addPanel(panel) { +function sp_addPanel(panel) { panel.name=this.name+'_panel'+this.panels.length this.panels[this.panels.length] = panel; } // Draw the slider -function b_draw() { - document.body.style.marginLeft = '160px'; +function sp_draw() { + document.body.style.marginLeft = this.width+'px'; var i; var j; var t=0; var h; var c=3; - //slide panel bar - var slidemenu_width='160px' //specify width of menu (in pixels) - var slidemenu_reveal='15px' //specify amount that menu should protrude initially - var slidemenu_top='0px' //specify vertical offset of menu on page - //document.write('