From c65d9490e7fc5ead638e27026b688706b3d15dbb Mon Sep 17 00:00:00 2001 From: JT Smith Date: Mon, 24 Jul 2006 22:18:39 +0000 Subject: [PATCH] - Fixed mail bounce processing. - fix: Asset Manager displaying incorrectly - fix: Cannot paste from clipboard - Made the search indexer mor compatible with Chinese and other non-ascii characters. (Thanks to Zhou Xiaopeng) --- docs/changelog/7.x.x.txt | 5 ++++ docs/previousVersion.sql | 4 +++- lib/WebGUI/Asset.pm | 32 +++++++++++++++----------- lib/WebGUI/Asset/Post.pm | 1 + lib/WebGUI/Asset/Wobject/Navigation.pm | 4 ++-- lib/WebGUI/Mail/Send.pm | 9 +++----- lib/WebGUI/Search/Index.pm | 8 +++++++ 7 files changed, 41 insertions(+), 22 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 6b028d02a..2d4cca294 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -35,6 +35,11 @@ line, which fixed a problem with the WRE monitor, and also enabled us to add more complete connectivity testing. - fix: Templates XHTML compliance (Wouter van Oijen / ProcoliX) + - Fixed mail bounce processing. + - fix: Asset Manager displaying incorrectly + - fix: Cannot paste from clipboard + - Made the search indexer mor compatible with Chinese and other non-ascii + characters. (Thanks to Zhou Xiaopeng) - fix: Splat_random Macro not so random (Wouter van Oijen / ProcoliX) (Thanks to Colin Kuskie for pointing this out and writing some tests) diff --git a/docs/previousVersion.sql b/docs/previousVersion.sql index 205a91b42..d101b6015 100644 --- a/docs/previousVersion.sql +++ b/docs/previousVersion.sql @@ -1406,7 +1406,9 @@ CREATE TABLE `snippet` ( `cacheTimeout` int(11) NOT NULL default '3600', PRIMARY KEY (`assetId`,`revisionDate`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -INSERT INTO `snippet` VALUES ('SynConXSLT000000000001','\n\n\n \n \n \n \n \n \nYou\'re viewing an RSS version 0.9 feed. Please use an RSS feed reader to view this content as intended.\n
\n
\n \n
\n
\n \n
\n
    \n \n
\n
\n
\n \n
  • \n \n \n \n
  • \n
    \n
    ',0,'application/xml',1124395707,3600),('SynConXSLT000000000002','\n\n\n \n \n \n \n \n \n
    \nYou\'re viewing an RSS version 0.91 feed. Please use an RSS feed reader to view this content as intended.\n
    \n \n
    \n
    \n \n
    \n
      \n \n
    \n\n
    \n
    \n \n
  • \n \n \n \n
    \n \n\n
    \n
  • \n
    \n
    ',0,'application/xml',1124395707,3600),('SynConXSLT000000000003','\n\n\n \n \n \n \n \n \n
    \nYou\'re viewing an RSS version 1.0 feed. Please use an RSS feed reader to view this content as intended.\n
    \n \n
    \n
    \n \n
    \n
      \n \n
    \n\n
    \n
    \n \n
  • \n \n \n \n \n (\n )\n \n\n
    \n \n
    \n
  • \n
    \n
    \n',0,'application/xml',1124395707,3600),('SynConXSLT000000000004','\n\n\n \n \n \n \n \n \n
    \nYou\'re viewing an RSS version 2.0 feed. Please use an RSS feed reader to view this content as intended.\n
    \n \n
    \n
    \n \n
    \n
      \n \n
    \n\n
    \n
    \n \n
  • \n \n \n \n \n ()\n \n\n
    \n \n
    \n
  • \n
    \n
    ',0,'application/xml',1124395707,3600),('7.0-style0000000000003','body, html\n{\n text-align:center;\n margin:0px;\n height:100%; \n background-color:#494949;\n}\n\n#main\n{\n width:800px;\n background: url(\'^FileUrl(style1/main_bg.jpg);\') repeat-y;\n height:100%;\n margin-left:auto;\n margin-right:auto;\n margin-top:0px;\n margin-bottom:0px;\n position:relative;\n}\nbody > #main\n{\n height:auto;\n min-height:100%;\n}\n\n#main #mainHeader\n{\n width:800px;\n height:133px;\n background: url(\'^FileUrl(style1/header.jpg);\') top left no-repeat;\n margin-bottom:0px;\n position:relative;\n}\n#main #mainHeader #title\n{\n position:absolute;\n top:23px;\n left:145px;\n font-size:32pt;\n font-family:arial;\n color:white;\n font-weight:bold;\n}\n#main #mainHeader #title a {\n color:white;\n text-decoration:none;\n}\n\n#main #mainContent\n{\n background: url(\'^FileUrl(style1/orange_left01.jpg);\') left top no-repeat;\n width:100%;\n height:100%; \n margin-top:0px;\n text-align:left;\n border:solid red 0px;\n}\n#main > #mainContent\n{\n margin-top:0px;\n min-height:500px;\n}\n#main > #mainContent > p {\n margin-top:0px;\n}\n#main #mainContent #mainText a:link {\n color:#FF7F23;\n}\n#main #mainContent #mainText a:visited {\n color:#D25900;\n}\n\n/* LEVEL 1 AND 2 NAVIGATION */\n#main .mainNav_1, #main .mainNav_2 {\n border-bottom:dashed #DADADA 1px; \n width:621px;\n height:25px;\n text-align:left;\n position:relative;\n margin-left:137px; \n clear:both;\n}\n#main .mainNav_1 a:link, #main .mainNav_1 a:visited, #main .mainNav_2 a:link, #main .mainNav_2 a:visited {\n color:white;\n text-decoration:none;\n top:5px;\n position:relative;\n -moz-box-sizing:border-box;\n}\n#main .mainNav_1 a:hover,#main .mainNav_2 a:hover {\n color:black;\n}\n#main .mainNav_1 div .left, #main .mainNav_2 div .left {\n width:12px;\n height:25px;\n display:block;\n float:left;\n background: url(\'^FileUrl(style1/nav1_off_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div .left {\n background: url(\'^FileUrl(style1/nav2_off_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_1 div .center, #main .mainNav_2 div .center { \n height:25px;\n display:block;\n float:left;\n background: url(\'^FileUrl(style1/nav1_off_center.jpg);\') repeat-x top left;\n color:white;\n font-family:arial, verdana;\n font-size:8pt;\n}\n#main .mainNav_2 div .center {\n background: url(\'^FileUrl(style1/nav2_off_center.jpg);\') repeat-x top left;\n}\n#main .mainNav_1 div .right, #main .mainNav_2 div .right {\n width:10px;\n height:25px;\n display:block;\n float:left;\n background: url(\'^FileUrl(style1/nav1_off_right.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div .right {\n background: url(\'^FileUrl(style1/nav2_off_right.jpg);\') no-repeat top left;\n}\n#main .mainNav_1 div.navOn .left {\n background: url(\'^FileUrl(style1/nav1_on_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_1 div.navOn .center {\n background: url(\'^FileUrl(style1/nav1_center_on.jpg);\') repeat-x top left;\n}\n#main .mainNav_1 div.navOn .right {\n background: url(\'^FileUrl(style1/nav1_on_right.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div.navOn .left {\n background: url(\'^FileUrl(style1/nav2_on_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div.navOn .center {\n background: url(\'^FileUrl(style1/nav2_center_on.jpg);\') repeat-x top left;\n}\n#main .mainNav_2 div.navOn .right {\n background: url(\'^FileUrl(style1/nav2_on_right.jpg);\') no-repeat top left;\n} \n#main .mainNav_1 div.navOn a:link, #main .mainNav_1 div.navOn a:visited, #main .mainNav_2 div.navOn a:link, #main .mainNav_2 div.navOn a:visited {\n color:black;\n}\n/* ENDOF LEVEL 1 AND 2 NAVIGATION */\n\n#main #crumbTrail {\n margin-left:177px;\n margin-bottom:0px;\n color:gray;\n font-size:8pt;\n font-weight:bold;\n}\n#main #crumbTrail a.crumbTrail:visited, #main #crumbTrail a.crumbTrail:link {\n color:silver;\n font-size:8pt; \n font-family:arial;\n text-decoration:none;\n font-weight:normal;\n}\n#main #crumbTrail a.crumbTrail:hover {\n color:gray;\n}\n\n#main #mainText\n{\n padding-left:150px;\n font-family:verdana;\n font-size:9pt;\n width:600px;\n margin-top:0px;\n}\n\n#main #gui\n{\n bottom:0px;\n left:0px;\n position:absolute;\n width:135px;\n font-size:8pt;\n color:black;\n font-family:arial;\n text-align:right;\n}\n#main #gui .loginBox {\n padding-right:12px;\n -moz-box-sizing:border-box;\n width:100px; \n float:right;\n margin-bottom:10px;\n}\n#main #gui .loginBox .loginBoxField {\n width:75px;\n}\n#main #gui .loginBox .loginBoxButton {\n background-color:#D65501;\n color:white;\n border:solid white 2px;\n margin-top:4px;\n font-variant:small-caps;\n}\n#main #gui a\n{\n color:white; \n}\n#copyright {\n color:#fff;\n position:absolute;\n top:110px;\n right:40px;\n font-family:verdana;\n font-size:8pt;\n font-weight:bold;\n background-color:#2D2D2D;\n opacity:0.4;\n -moz-opacity:0.4;\n -khtml-opacity:0.4; \n padding:2px;\n}\n* html #copyright {\n background: transparent;\n}\n',1,'text/css',1147642492,3600),('7.0-style0000000000033','body, html { \n height:100%; \n}\nbody {\n background:#7c9ab0 url(\'^FileUrl(style2/main_bg.jpg);\') repeat-y right; \n margin:0px;\n}\n.rightColumn {\n width:20%;\n height:100%;\n background: #eeeeee url(\'^FileUrl(style2/rightCol_bg.jpg);\') repeat-y right; \n text-align:center; \n}\n.rightColumn #pb_wg_bg {\n background: url(\'^FileUrl(style2/pb_wg_bg.jpg);\') repeat-x;\n width:100%;\n text-align:left; \n}\n.rightColumn #pb_wg {\n background: url(\'^FileUrl(style2/pb_wg.jpg);\') left no-repeat;\n height:53px;\n}\n.leftColumn { \n width:80%; \n background: white url(\'^FileUrl(style2/context_bg.jpg);\') repeat-y right; \n} \n.leftColumn #header {\n width:100%;\n background:#7c9ab0 url(\'^FileUrl(style2/leftCol_header.jpg);\') right no-repeat; \n height:86px;\n position:relative;\n}\n.leftColumn #header #title, .leftColumn #header #title_bg {\n color:white;\n font-size:36pt;\n font-weight:bold;\n font-family:arial;\n font-variant:small-caps;\n letter-spacing:12px;\n top:15px;\n left:5px;\n position:absolute;\n z-index:10;\n}\n.leftColumn #header #title a {\n color:white;\n text-decoration:none;\n}\n.leftColumn #header #title_bg {\n color:black;\n z-index:5;\n top:17px;\n left:7px;\n}\n.leftColumn #context {\n /*background: #fff url(\'^FileUrl(style2/context_bg.jpg);\') repeat-y right; */\n width:95%;\n font-family:verdana;\n font-size:9pt;\n color:#242424;\n -moz-box-sizing:border-box; \n position:relative;\n padding-left:1%;\n padding-right:1%;\n padding-bottom:15px;\n}\n.leftColumn #context a {\n color:#7C9AB0;\n font-weight:bold;\n}\n.leftColumn #context a:hover {\n text-decoration:none;\n}\n.leftColumn #pageTitleBG {\n background: url(\'^FileUrl(style2/page_title_bg.jpg);\') repeat-x; \n width:100%;\n}\n.leftColumn #pageTitleBG #pageTitle {\n background: url(\'^FileUrl(style2/page_title.jpg);\') right no-repeat; \n width:100%;\n height:50px;\n} \n.leftColumn #pageTitleBG #pageTitle h2 {\n font-size:14pt;\n color:#696969;\n font-family:arial;\n font-weight:normal;\n margin:0px;\n padding-top:2px;\n padding-left:25px;\n letter-spacing:3px;\n}\n.rightColumn #nav {\n width:85%;\n background: #b5b5b5 url(\'^FileUrl(style2/nav_bg.jpg);\') repeat-x top; \n border-right:solid #848484 1px;\n margin-left:auto;\n margin-right:auto;\n text-align:left;\n padding-left:3px;\n padding-top:7px;\n padding-bottom:7px;\n}\n.rightColumn #nav a {\n color:white;\n font-size:8pt;\n font-weight:bold;\n text-decoration:none;\n font-family:arial;\n line-height:8pt; \n} \n.rightColumn #nav .selectedMenuItem {\n color:yellow;\n}\n#loginStyles {\n font-size:8pt;\n font-family:arial;\n padding-bottom:25px;\n}\n#loginStyles a {\n color:#89ACCF;\n font-weight:bold; \n border-bottom:solid transparent 2px;\n text-decoration:none;\n}\n#loginStyles a:hover {\n border-bottom:dotted #B2C9D9 2px;\n} \n\n.copyright {\n border-top:solid silver 3px;\n background-color:gray;\n font-family:arial;\n font-size:9pt;\n color:silver; \n text-align:center;\n}\n',0,'text/css',1147642500,3600),('7.0-style0000000000051','body, html {\n margin:0px;\n background-color:#b53018;\n padding:0px;\n}\n#main {\n width:98%;\n /*min-width:790px;*/\n margin:0px;\n padding:0px;\n padding-top:20px;\n padding-bottom:20px;\n position:relative;\n}\n#header { \n background: url(\'^FileUrl(style3/header_bg.jpg);\') repeat-x;\n width:100%;\n margin:0px; \n height:115px;\n}\n#headerTitle {\n background: url(\'^FileUrl(style3/header_left.jpg);\') no-repeat left top;\n height:100%;\n width:100%;\n}\n#headerRight {\n background: url(\'^FileUrl(style3/header_right.jpg);\') no-repeat right top;\n width:100%;\n height:100%;\n text-align:right;\n position:relative;\n}\n#headerRight #title {\n position:absolute;\n top:25px;\n left:20px;\n font-family:arial;\n text-align:left;\n}\n#title h1 {\n text-transform:uppercase; \n margin-bottom:0px; \n font-weight:normal;\n font-size:26pt;\n margin-top:0px;\n color:white;\n}\n#title h1 a {\n color:white;\n text-decoration:none;\n}\n#title h2 {\n margin:0px;\n font-size:12pt;\n color:#bebebe;\n padding-left:20px;\n}\n#title img {\n z-index:5;\n}\n#login {\n position:absolute;\n font-size:8pt;\n top:45%;\n right:150px; \n color:white;\n z-index:6;\n font-family:arial;\n}\n#login a {\n color:white;\n}\n.loginBox {\n font-size:8pt;\n margin:0px;\n display:inline;\n}\n.loginBox input {\n font-size:8pt;\n}\n\n#mainBody {\n width:100%;\n margin:0px;\n height:500px;\n background: #fff;\n position:relative;\n} \n#main > #mainBody {\n height:auto;\n min-height:500px;\n}\n#contentArea {\n z-index:2;\n position:relative;\n padding-top:50px;\n padding-left:10px;\n padding-right:20px;\n padding-bottom:20px;\n -moz-box-sizing:border:box;\n font-family:verdana;\n font-size:9pt;\n\n}\nhtml #main #mainBody #contentArea {\n height:1%;\n}\n#contentArea a {\n color:#EE963E;\n font-weight:bold;\n letter-spacing:1px;\n font-size:8pt;\n}\n#topCorner {\n width:100%;\n height:214px;\n position:absolute;\n top:0px;\n left:0px;\n background: url(\'^FileUrl(style3/main_top_bg.jpg);\') repeat-x;\n z-index:1;\n}\n#bottomCorner {\n width:100%;\n height:211px;\n position:absolute;\n bottom:0px;\n right:0px;\n background: url(\'^FileUrl(style3/main_bottom.jpg);\') no-repeat right;\n z-index:1;\n} \n\n#footer {\n width:100%;\n margin:0px;\n background:#000 url(\'^FileUrl(style3/footer_right.jpg);\') no-repeat right top;\n height:57px;\n border-top:solid #B53018 2px;\n text-align:right;\n position:relative;\n} \n#footer #copyright {\n color:#3b3b3b;\n font-family:arial;\n position:absolute;\n top:20px;\n left:30px;\n font-size:8pt;\n}\n\n',0,'text/css',1147642505,3600),('pbrobot000000000000001','User-agent: googlebot\nDisallow: *?op=displayLogin\nDisallow: *?op=makePrintable\n',0,'text/html',1147642511,3600),('7.0-style0000000000051','body, html {\n margin:0px;\n background-color:#b53018;\n padding:0px;\n}\nbody a {\n color:#EE963E;\n}\n#main {\n width:98%;\n /*min-width:790px;*/\n margin:0px;\n padding:0px;\n padding-top:20px;\n padding-bottom:20px;\n position:relative;\n}\n#header { \n background: url(\'^FileUrl(style3/header_bg.jpg);\') repeat-x;\n width:100%;\n margin:0px;\n height:115px;\n}\n#headerTitle {\n background: url(\'^FileUrl(style3/header_left.jpg);\') no-repeat left top;\n height:100%;\n width:100%;\n}\n#headerRight {\n background: url(\'^FileUrl(style3/header_right.jpg);\') no-repeat right top;\n width:100%;\n height:100%;\n text-align:right;\n position:relative;\n}\n#headerRight #title {\n position:absolute;\n top:25px;\n left:20px;\n font-family:arial;\n text-align:left;\n}\n#title h1 {\n text-transform:uppercase;\n margin-bottom:0px;\n font-weight:normal;\n font-size:26pt;\n margin-top:0px;\n color:white;\n}\n#title h1 a {\n color:white;\n text-decoration:none;\n}\n#title h2 {\n margin:0px;\n font-size:12pt;\n color:#bebebe;\n padding-left:20px;\n}\n#title img {\n z-index:5;\n}\n#login {\n position:absolute;\n font-size:8pt;\n top:45%;\n right:150px;\n color:white;\n z-index:6;\n font-family:arial;\n}\n#login a {\n color:white;\n}\n.loginBox {\n font-size:8pt;\n margin:0px;\n display:inline;\n}\n.loginBox input {\n font-size:8pt;\n}\n\n#mainBody {\n width:100%;\n margin:0px;\n height:500px;\n background: #fff;\n position:relative;\n}\n#main > #mainBody {\n height:auto;\n min-height:500px;\n}\n#contentArea {\n z-index:2;\n position:relative;\n padding-top:50px;\n padding-left:10px;\n padding-right:20px;\n padding-bottom:20px;\n -moz-box-sizing:border:box;\n font-family:verdana;\n font-size:9pt;\n\n}\nhtml #main #mainBody #contentArea {\n height:1%;\n}\n#contentArea a {\n font-weight:bold;\n letter-spacing:1px;\n font-size:8pt;\n}\n#topCorner {\n width:100%;\n height:214px;\n position:absolute;\n top:0px;\n left:0px;\n background: url(\'^FileUrl(style3/main_top_bg.jpg);\') repeat-x;\n z-index:1;\n}\n#bottomCorner {\n width:100%;\n height:211px;\n position:absolute;\n bottom:0px;\n right:0px;\n background: url(\'^FileUrl(style3/main_bottom.jpg);\') no-repeat right;\n z-index:1;\n}\n\n#footer {\n width:100%;\n margin:0px;\n background:#000 url(\'^FileUrl(style3/footer_right.jpg);\') no-repeat right top;\n height:57px;\n border-top:solid #B53018 2px;\n text-align:right;\n position:relative;\n}\n#footer #copyright {\n color:#3b3b3b;\n font-family:arial;\n position:absolute;\n top:20px;\n left:30px;\n font-size:8pt;\n}\n',0,'text/css',1149286280,3600); +INSERT INTO `snippet` VALUES ('SynConXSLT000000000001','\n\n\n \n \n \n \n \n \nYou\'re viewing an RSS version 0.9 feed. Please use an RSS feed reader to view this content as intended.\n
    \n
    \n \n
    \n
    \n \n
    \n
      \n \n
    \n
    \n
    \n \n
  • \n \n \n \n
  • \n
    \n
    ',0,'application/xml',1124395707,3600),('SynConXSLT000000000002','\n\n\n \n \n \n \n \n \n
    \nYou\'re viewing an RSS version 0.91 feed. Please use an RSS feed reader to view this content as intended.\n
    \n \n
    \n
    \n \n
    \n
      \n \n
    \n\n
    \n
    \n \n
  • \n \n \n \n
    \n \n\n
    \n
  • \n
    \n
    ',0,'application/xml',1124395707,3600),('SynConXSLT000000000003','\n\n\n \n \n \n \n \n \n
    \nYou\'re viewing an RSS version 1.0 feed. Please use an RSS feed reader to view this content as intended.\n
    \n \n
    \n
    \n \n
    \n
      \n \n
    \n\n
    \n
    \n \n
  • \n \n \n \n \n (\n )\n \n\n
    \n \n
    \n
  • \n
    \n
    \n',0,'application/xml',1124395707,3600),('SynConXSLT000000000004','\n\n\n \n \n \n \n \n \n
    \nYou\'re viewing an RSS version 2.0 feed. Please use an RSS feed reader to view this content as intended.\n
    \n \n
    \n
    \n \n
    \n
      \n \n
    \n\n
    \n
    \n \n
  • \n \n \n \n \n ()\n \n\n
    \n \n
    \n
  • \n
    \n
    ',0,'application/xml',1124395707,3600),('7.0-style0000000000003','body, html\n{\n text-align:center;\n margin:0px;\n height:100%; \n background-color:#494949;\n}\n\n#main\n{\n width:800px;\n background: url(\'^FileUrl(style1/main_bg.jpg);\') repeat-y;\n height:100%;\n margin-left:auto;\n margin-right:auto;\n margin-top:0px;\n margin-bottom:0px;\n position:relative;\n}\nbody > #main\n{\n height:auto;\n min-height:100%;\n}\n\n#main #mainHeader\n{\n width:800px;\n height:133px;\n background: url(\'^FileUrl(style1/header.jpg);\') top left no-repeat;\n margin-bottom:0px;\n position:relative;\n}\n#main #mainHeader #title\n{\n position:absolute;\n top:23px;\n left:145px;\n font-size:32pt;\n font-family:arial;\n color:white;\n font-weight:bold;\n}\n#main #mainHeader #title a {\n color:white;\n text-decoration:none;\n}\n\n#main #mainContent\n{\n background: url(\'^FileUrl(style1/orange_left01.jpg);\') left top no-repeat;\n width:100%;\n height:100%; \n margin-top:0px;\n text-align:left;\n border:solid red 0px;\n}\n#main > #mainContent\n{\n margin-top:0px;\n min-height:500px;\n}\n#main > #mainContent > p {\n margin-top:0px;\n}\n#main #mainContent #mainText a:link {\n color:#FF7F23;\n}\n#main #mainContent #mainText a:visited {\n color:#D25900;\n}\n\n/* LEVEL 1 AND 2 NAVIGATION */\n#main .mainNav_1, #main .mainNav_2 {\n border-bottom:dashed #DADADA 1px; \n width:621px;\n height:25px;\n text-align:left;\n position:relative;\n margin-left:137px; \n clear:both;\n}\n#main .mainNav_1 a:link, #main .mainNav_1 a:visited, #main .mainNav_2 a:link, #main .mainNav_2 a:visited {\n color:white;\n text-decoration:none;\n top:5px;\n position:relative;\n -moz-box-sizing:border-box;\n}\n#main .mainNav_1 a:hover,#main .mainNav_2 a:hover {\n color:black;\n}\n#main .mainNav_1 div .left, #main .mainNav_2 div .left {\n width:12px;\n height:25px;\n display:block;\n float:left;\n background: url(\'^FileUrl(style1/nav1_off_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div .left {\n background: url(\'^FileUrl(style1/nav2_off_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_1 div .center, #main .mainNav_2 div .center { \n height:25px;\n display:block;\n float:left;\n background: url(\'^FileUrl(style1/nav1_off_center.jpg);\') repeat-x top left;\n color:white;\n font-family:arial, verdana;\n font-size:8pt;\n}\n#main .mainNav_2 div .center {\n background: url(\'^FileUrl(style1/nav2_off_center.jpg);\') repeat-x top left;\n}\n#main .mainNav_1 div .right, #main .mainNav_2 div .right {\n width:10px;\n height:25px;\n display:block;\n float:left;\n background: url(\'^FileUrl(style1/nav1_off_right.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div .right {\n background: url(\'^FileUrl(style1/nav2_off_right.jpg);\') no-repeat top left;\n}\n#main .mainNav_1 div.navOn .left {\n background: url(\'^FileUrl(style1/nav1_on_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_1 div.navOn .center {\n background: url(\'^FileUrl(style1/nav1_center_on.jpg);\') repeat-x top left;\n}\n#main .mainNav_1 div.navOn .right {\n background: url(\'^FileUrl(style1/nav1_on_right.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div.navOn .left {\n background: url(\'^FileUrl(style1/nav2_on_left.jpg);\') no-repeat top left;\n}\n#main .mainNav_2 div.navOn .center {\n background: url(\'^FileUrl(style1/nav2_center_on.jpg);\') repeat-x top left;\n}\n#main .mainNav_2 div.navOn .right {\n background: url(\'^FileUrl(style1/nav2_on_right.jpg);\') no-repeat top left;\n} \n#main .mainNav_1 div.navOn a:link, #main .mainNav_1 div.navOn a:visited, #main .mainNav_2 div.navOn a:link, #main .mainNav_2 div.navOn a:visited {\n color:black;\n}\n/* ENDOF LEVEL 1 AND 2 NAVIGATION */\n\n#main #crumbTrail {\n margin-left:177px;\n margin-bottom:0px;\n color:gray;\n font-size:8pt;\n font-weight:bold;\n}\n#main #crumbTrail a.crumbTrail:visited, #main #crumbTrail a.crumbTrail:link {\n color:silver;\n font-size:8pt; \n font-family:arial;\n text-decoration:none;\n font-weight:normal;\n}\n#main #crumbTrail a.crumbTrail:hover {\n color:gray;\n}\n\n#main #mainText\n{\n padding-left:150px;\n font-family:verdana;\n font-size:9pt;\n width:600px;\n margin-top:0px;\n}\n\n#main #gui\n{\n bottom:0px;\n left:0px;\n position:absolute;\n width:135px;\n font-size:8pt;\n color:black;\n font-family:arial;\n text-align:right;\n}\n#main #gui .loginBox {\n padding-right:12px;\n -moz-box-sizing:border-box;\n width:100px; \n float:right;\n margin-bottom:10px;\n}\n#main #gui .loginBox .loginBoxField {\n width:75px;\n}\n#main #gui .loginBox .loginBoxButton {\n background-color:#D65501;\n color:white;\n border:solid white 2px;\n margin-top:4px;\n font-variant:small-caps;\n}\n#main #gui a\n{\n color:white; \n}\n#copyright {\n color:#fff;\n position:absolute;\n top:110px;\n right:40px;\n font-family:verdana;\n font-size:8pt;\n font-weight:bold;\n background-color:#2D2D2D;\n opacity:0.4;\n -moz-opacity:0.4;\n -khtml-opacity:0.4; \n padding:2px;\n}\n* html #copyright {\n background: transparent;\n}\n',1,'text/css',1147642492,3600),('7.0-style0000000000033','body, html { \n height:100%; \n}\nbody {\n background:#7c9ab0 url(\'^FileUrl(style2/main_bg.jpg);\') repeat-y right; \n margin:0px;\n}\n.rightColumn {\n width:20%;\n height:100%;\n background: #eeeeee url(\'^FileUrl(style2/rightCol_bg.jpg);\') repeat-y right; \n text-align:center; \n}\n.rightColumn #pb_wg_bg {\n background: url(\'^FileUrl(style2/pb_wg_bg.jpg);\') repeat-x;\n width:100%;\n text-align:left; \n}\n.rightColumn #pb_wg {\n background: url(\'^FileUrl(style2/pb_wg.jpg);\') left no-repeat;\n height:53px;\n}\n.leftColumn { \n width:80%; \n background: white url(\'^FileUrl(style2/context_bg.jpg);\') repeat-y right; \n} \n.leftColumn #header {\n width:100%;\n background:#7c9ab0 url(\'^FileUrl(style2/leftCol_header.jpg);\') right no-repeat; \n height:86px;\n position:relative;\n}\n.leftColumn #header #title, .leftColumn #header #title_bg {\n color:white;\n font-size:36pt;\n font-weight:bold;\n font-family:arial;\n font-variant:small-caps;\n letter-spacing:12px;\n top:15px;\n left:5px;\n position:absolute;\n z-index:10;\n}\n.leftColumn #header #title a {\n color:white;\n text-decoration:none;\n}\n.leftColumn #header #title_bg {\n color:black;\n z-index:5;\n top:17px;\n left:7px;\n}\n.leftColumn #context {\n /*background: #fff url(\'^FileUrl(style2/context_bg.jpg);\') repeat-y right; */\n width:95%;\n font-family:verdana;\n font-size:9pt;\n color:#242424;\n -moz-box-sizing:border-box; \n position:relative;\n padding-left:1%;\n padding-right:1%;\n padding-bottom:15px;\n}\n.leftColumn #context a {\n color:#7C9AB0;\n font-weight:bold;\n}\n.leftColumn #context a:hover {\n text-decoration:none;\n}\n.leftColumn #pageTitleBG {\n background: url(\'^FileUrl(style2/page_title_bg.jpg);\') repeat-x; \n width:100%;\n}\n.leftColumn #pageTitleBG #pageTitle {\n background: url(\'^FileUrl(style2/page_title.jpg);\') right no-repeat; \n width:100%;\n height:50px;\n} \n.leftColumn #pageTitleBG #pageTitle h2 {\n font-size:14pt;\n color:#696969;\n font-family:arial;\n font-weight:normal;\n margin:0px;\n padding-top:2px;\n padding-left:25px;\n letter-spacing:3px;\n}\n.rightColumn #nav {\n width:85%;\n background: #b5b5b5 url(\'^FileUrl(style2/nav_bg.jpg);\') repeat-x top; \n border-right:solid #848484 1px;\n margin-left:auto;\n margin-right:auto;\n text-align:left;\n padding-left:3px;\n padding-top:7px;\n padding-bottom:7px;\n}\n.rightColumn #nav a {\n color:white;\n font-size:8pt;\n font-weight:bold;\n text-decoration:none;\n font-family:arial;\n line-height:8pt; \n} \n.rightColumn #nav .selectedMenuItem {\n color:yellow;\n}\n#loginStyles {\n font-size:8pt;\n font-family:arial;\n padding-bottom:25px;\n}\n#loginStyles a {\n color:#89ACCF;\n font-weight:bold; \n border-bottom:solid transparent 2px;\n text-decoration:none;\n}\n#loginStyles a:hover {\n border-bottom:dotted #B2C9D9 2px;\n} \n\n.copyright {\n border-top:solid silver 3px;\n background-color:gray;\n font-family:arial;\n font-size:9pt;\n color:silver; \n text-align:center;\n}\n',0,'text/css',1147642500,3600), +('7.0-style0000000000051','body, html {\n margin:0px;\n background-color:#b53018;\n padding:0px;\n}\n#main {\n width:98%;\n /*min-width:790px;*/\n margin:0px;\n padding:0px;\n padding-top:20px;\n padding-bottom:20px;\n position:relative;\n}\n#header { \n background: url(\'^FileUrl(style3/header_bg.jpg);\') repeat-x;\n width:100%;\n margin:0px; \n height:115px;\n}\n#headerTitle {\n background: url(\'^FileUrl(style3/header_left.jpg);\') no-repeat left top;\n height:100%;\n width:100%;\n}\n#headerRight {\n background: url(\'^FileUrl(style3/header_right.jpg);\') no-repeat right top;\n width:100%;\n height:100%;\n text-align:right;\n position:relative;\n}\n#headerRight #title {\n position:absolute;\n top:25px;\n left:20px;\n font-family:arial;\n text-align:left;\n}\n#title h1 {\n text-transform:uppercase; \n margin-bottom:0px; \n font-weight:normal;\n font-size:26pt;\n margin-top:0px;\n color:white;\n}\n#title h1 a {\n color:white;\n text-decoration:none;\n}\n#title h2 {\n margin:0px;\n font-size:12pt;\n color:#bebebe;\n padding-left:20px;\n}\n#title img {\n z-index:5;\n}\n#login {\n position:absolute;\n font-size:8pt;\n top:45%;\n right:150px; \n color:white;\n z-index:6;\n font-family:arial;\n}\n#login a {\n color:white;\n}\n.loginBox {\n font-size:8pt;\n margin:0px;\n display:inline;\n}\n.loginBox input {\n font-size:8pt;\n}\n\n#mainBody {\n width:100%;\n margin:0px;\n height:500px;\n background: #fff;\n position:relative;\n} \n#main > #mainBody {\n height:auto;\n min-height:500px;\n}\n#contentArea {\n z-index:2;\n position:relative;\n padding-top:50px;\n padding-left:10px;\n padding-right:20px;\n padding-bottom:20px;\n -moz-box-sizing:border:box;\n font-family:verdana;\n font-size:9pt;\n\n}\nhtml #main #mainBody #contentArea {\n height:1%;\n}\n#contentArea a {\n color:#EE963E;\n font-weight:bold;\n letter-spacing:1px;\n font-size:8pt;\n}\n#topCorner {\n width:100%;\n height:214px;\n position:absolute;\n top:0px;\n left:0px;\n background: url(\'^FileUrl(style3/main_top_bg.jpg);\') repeat-x;\n z-index:1;\n}\n#bottomCorner {\n width:100%;\n height:211px;\n position:absolute;\n bottom:0px;\n right:0px;\n background: url(\'^FileUrl(style3/main_bottom.jpg);\') no-repeat right;\n z-index:1;\n} \n\n#footer {\n width:100%;\n margin:0px;\n background:#000 url(\'^FileUrl(style3/footer_right.jpg);\') no-repeat right top;\n height:57px;\n border-top:solid #B53018 2px;\n text-align:right;\n position:relative;\n} \n#footer #copyright {\n color:#3b3b3b;\n font-family:arial;\n position:absolute;\n top:20px;\n left:30px;\n font-size:8pt;\n}\n\n',0,'text/css',1147642505,3600),('pbrobot000000000000001','User-agent: googlebot\nDisallow: *?op=displayLogin\nDisallow: *?op=makePrintable\n',0,'text/html',1147642511,3600), +('7.0-style0000000000051','body, html {\n margin:0px;\n background-color:#b53018;\n padding:0px;\n}\nbody a {\n color:#EE963E;font-weight:bold;\n letter-spacing:1px;\n font-size:8pt;\n}\n#main {\n width:98%;\n /*min-width:790px;*/\n margin:0px;\n padding:0px;\n padding-top:20px;\n padding-bottom:20px;\n position:relative;\n}\n#header { \n background: url(\'^FileUrl(style3/header_bg.jpg);\') repeat-x;\n width:100%;\n margin:0px;\n height:115px;\n}\n#headerTitle {\n background: url(\'^FileUrl(style3/header_left.jpg);\') no-repeat left top;\n height:100%;\n width:100%;\n}\n#headerRight {\n background: url(\'^FileUrl(style3/header_right.jpg);\') no-repeat right top;\n width:100%;\n height:100%;\n text-align:right;\n position:relative;\n}\n#headerRight #title {\n position:absolute;\n top:25px;\n left:20px;\n font-family:arial;\n text-align:left;\n}\n#title h1 {\n text-transform:uppercase;\n margin-bottom:0px;\n font-weight:normal;\n font-size:26pt;\n margin-top:0px;\n color:white;\n}\n#title h1 a {\n color:white;\n text-decoration:none;\n}\n#title h2 {\n margin:0px;\n font-size:12pt;\n color:#bebebe;\n padding-left:20px;\n}\n#title img {\n z-index:5;\n}\n#login {\n position:absolute;\n font-size:8pt;\n top:45%;\n right:150px;\n color:white;\n z-index:6;\n font-family:arial;\n}\n#login a {\n color:white;\n}\n.loginBox {\n font-size:8pt;\n margin:0px;\n display:inline;\n}\n.loginBox input {\n font-size:8pt;\n}\n\n#mainBody {\n width:100%;\n margin:0px;\n height:500px;\n background: #fff;\n position:relative;\n}\n#main > #mainBody {\n height:auto;\n min-height:500px;\n}\n#contentArea {\n z-index:2;\n position:relative;\n padding-top:50px;\n padding-left:10px;\n padding-right:20px;\n padding-bottom:20px;\n -moz-box-sizing:border:box;\n font-family:verdana;\n font-size:9pt;\n\n}\nhtml #main #mainBody #contentArea {\n height:1%;\n}\n#topCorner {\n width:100%;\n height:214px;\n position:absolute;\n top:0px;\n left:0px;\n background: url(\'^FileUrl(style3/main_top_bg.jpg);\') repeat-x;\n z-index:1;\n}\n#bottomCorner {\n width:100%;\n height:211px;\n position:absolute;\n bottom:0px;\n right:0px;\n background: url(\'^FileUrl(style3/main_bottom.jpg);\') no-repeat right;\n z-index:1;\n}\n\n#footer {\n width:100%;\n margin:0px;\n background:#000 url(\'^FileUrl(style3/footer_right.jpg);\') no-repeat right top;\n height:57px;\n border-top:solid #B53018 2px;\n text-align:right;\n position:relative;\n}\n#footer #copyright {\n color:#3b3b3b;\n font-family:arial;\n position:absolute;\n top:20px;\n left:30px;\n font-size:8pt;\n}\n',0,'text/css',1149286280,3600); CREATE TABLE `subscription` ( `subscriptionId` varchar(22) character set utf8 collate utf8_bin NOT NULL default '', `name` varchar(128) default NULL, diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index cc362325c..7f862b728 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -478,7 +478,11 @@ sub getAssetAdderLinks { my $addToUrl = shift; my $type = shift || "assets"; my %links; - foreach my $class (@{$self->session->config->get($type)}) { + my $classesInType = $self->session->config->get($type); + if (ref $classesInType ne "ARRAY") { + $classesInType = []; + } + foreach my $class (@{$classesInType}) { next unless $class; my %properties = ( className=>$class, @@ -521,19 +525,21 @@ sub getAssetAdderLinks { } else { $constraint = $self->session->db->quoteAndJoin($self->session->config->get("assets")); } - my $sth = $self->session->db->read("select asset.className,asset.assetId,assetData.revisionDate from asset left join assetData on asset.assetId=assetData.assetId where assetData.isPrototype=1 and asset.state='published' and asset.className in ($constraint) and assetData.revisionDate=(SELECT max(revisionDate) from assetData where assetData.assetId=asset.assetId) group by assetData.assetId"); - while (my ($class,$id,$date) = $sth->array) { - my $asset = WebGUI::Asset->new($self->session,$id,$class,$date); - next unless ($asset->canView && $asset->canAdd($self->session) && $asset->getUiLevel <= $self->session->user->profileField("uiLevel")); - my $url = $self->getUrl("func=add;class=".$class.";prototype=".$id); - $url = $self->session->url->append($url,$addToUrl) if ($addToUrl); - $links{$asset->getTitle}{url} = $url; - $links{$asset->getTitle}{icon} = $asset->getIcon; - $links{$asset->getTitle}{'icon.small'} = $asset->getIcon(1); - $links{$asset->getTitle}{'isPrototype'} = 1; - $links{$asset->getTitle}{'asset'} = $asset; + if ($constraint) { + my $sth = $self->session->db->read("select asset.className,asset.assetId,assetData.revisionDate from asset left join assetData on asset.assetId=assetData.assetId where assetData.isPrototype=1 and asset.state='published' and asset.className in ($constraint) and assetData.revisionDate=(SELECT max(revisionDate) from assetData where assetData.assetId=asset.assetId) group by assetData.assetId"); + while (my ($class,$id,$date) = $sth->array) { + my $asset = WebGUI::Asset->new($self->session,$id,$class,$date); + next unless ($asset->canView && $asset->canAdd($self->session) && $asset->getUiLevel <= $self->session->user->profileField("uiLevel")); + my $url = $self->getUrl("func=add;class=".$class.";prototype=".$id); + $url = $self->session->url->append($url,$addToUrl) if ($addToUrl); + $links{$asset->getTitle}{url} = $url; + $links{$asset->getTitle}{icon} = $asset->getIcon; + $links{$asset->getTitle}{'icon.small'} = $asset->getIcon(1); + $links{$asset->getTitle}{'isPrototype'} = 1; + $links{$asset->getTitle}{'asset'} = $asset; + } + $sth->finish; } - $sth->finish; my @sortedLinks; foreach my $label (sort keys %links) { push(@sortedLinks,{ diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm index fd1c76e68..66b7ae94a 100644 --- a/lib/WebGUI/Asset/Post.pm +++ b/lib/WebGUI/Asset/Post.pm @@ -783,6 +783,7 @@ sub postProcess { sub publish { my $self = shift; + $self->SUPER::publish(@_); $self->getThread->sumReplies; } diff --git a/lib/WebGUI/Asset/Wobject/Navigation.pm b/lib/WebGUI/Asset/Wobject/Navigation.pm index 39cb14006..22a4116e6 100644 --- a/lib/WebGUI/Asset/Wobject/Navigation.pm +++ b/lib/WebGUI/Asset/Wobject/Navigation.pm @@ -412,8 +412,8 @@ sub view { $pageData->{"page.isSystem"} = $asset->get("isSystem"); $pageData->{"page.isHidden"} = $asset->get("isHidden"); $pageData->{"page.isViewable"} = $asset->canView; - $pageData->{'page.isContainer'} = isIn($asset->get('className'), @{$self->session->config->get("assetContainers")}); - $pageData->{'page.isUtility'} = isIn($asset->get('className'), @{$self->session->config->get("utilityAssets")}); + $pageData->{'page.isContainer'} = isIn($asset->get('className'), @{$self->session->config->get("assetContainers") || []}); + $pageData->{'page.isUtility'} = isIn($asset->get('className'), @{$self->session->config->get("utilityAssets") || []}); $pageData->{"page.url"} = $asset->getUrl; my $indent = $pageData->{"page.relDepth"}; $pageData->{"page.indent_loop"} = []; diff --git a/lib/WebGUI/Mail/Send.pm b/lib/WebGUI/Mail/Send.pm index 0859322df..d099ad871 100644 --- a/lib/WebGUI/Mail/Send.pm +++ b/lib/WebGUI/Mail/Send.pm @@ -252,9 +252,7 @@ sub create { unless ($id =~ m/\@/) { $id .= '@'.$domain; } - my $returnPath = $headers->{returnPath} || $session->setting->get("mailReturnPath") || $from; my $message = MIME::Entity->build( - "Return-Path"=>$returnPath, Type=>$type, From=>$from, To=>$headers->{to}, @@ -267,8 +265,7 @@ sub create { Date=>$session->datetime->epochToMail, "X-Mailer"=>"WebGUI" ); -# $message->head->delete("Return-Path"); -# $message->head->add("Return-Path", "<". ($session->setting->get("mailReturnPath") || $from) . ">"); + $message->head->add("X-Return-Path", $headers->{returnPath} || $session->setting->get("mailReturnPath") || $from); $type = $headers->{contentType}; if ($session->config->get("emailOverride")) { my $to = $headers->{to}; @@ -392,8 +389,8 @@ sub send { } else { my $smtp = Net::SMTP->new($self->session->setting->get("smtpServer")); # connect to an SMTP server if (defined $smtp) { - $smtp->mail($self->{_message}->head->get("from")); # use the sender's address here - $smtp->to(split(",",$self->{_message}->head->get("to"))); # recipient's address + $smtp->mail($self->{_message}->head->get("X-Return-Path")); + $smtp->to(split(",",$self->{_message}->head->get("to"))); $smtp->cc(split(",",$self->{_message}->head->get("cc"))); $smtp->bcc(split(",",$self->{_message}->head->get("bcc"))); $smtp->data(); # Start the mail diff --git a/lib/WebGUI/Search/Index.pm b/lib/WebGUI/Search/Index.pm index 4d2ca0fbb..580826735 100644 --- a/lib/WebGUI/Search/Index.pm +++ b/lib/WebGUI/Search/Index.pm @@ -75,6 +75,14 @@ sub addKeywords { my $self = shift; my $text = shift; $text = WebGUI::HTML::filter($text, "all"); + #-------------------- added by zxp for chinese word segment + utf8::decode($text); + my @segs = split /([A-z|\d]+|\S)/, $text; + $text = join " ",@segs; + $text =~ s/\s{2,}/ /g; + $text =~ s/(^\s|\s$)//g; + $text =~ s/\s/\'\'/g; + #-------------------- added by zxp end my ($keywords) = $self->session->db->quickArray("select keywords from assetIndex where assetId=?",[$self->getId]); $self->session->db->write("update assetIndex set keywords =? where assetId=?", [$keywords.' '.$text, $self->getId]); }