From 06b826b6110381d097e62aea92ec2c1e7e3fd651 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 8 May 2007 13:36:17 +0000 Subject: [PATCH 1/9] moved check_acl to admin-cli and fixed bug #143: check_acl.php deletes all ACL if accounts are in ldap --- admin/admin-cli.php | 22 +++++++++++++++++++++ admin/check_acl.php | 47 --------------------------------------------- 2 files changed, 22 insertions(+), 47 deletions(-) delete mode 100644 admin/check_acl.php diff --git a/admin/admin-cli.php b/admin/admin-cli.php index c79ca85153..f37996a296 100755 --- a/admin/admin-cli.php +++ b/admin/admin-cli.php @@ -51,6 +51,9 @@ switch($action) case '--change-account-id': return do_change_account_id($arg0s); + + case '--check-acl'; + return do_check_acl(); default: usage($action); @@ -100,9 +103,28 @@ function usage($action=null,$ret=0) echo " Deletes a user from eGroupWare. It's data can be moved to an other user or it get deleted too.\n"; echo "--change-account-id admin-account[@domain],admin-password,from1,to1[...,fromN,toN]\n"; echo " Changes one or more account_id's in the database (make a backup before!).\n"; + echo "--check-acl admin-account[@domain],admin-password\n"; + echo " Deletes ACL entries of not longer existing accounts (make a database backup before!).\n"; exit; } +function do_check_acl() +{ + $deleted = 0; + if (($all_accounts = $GLOBALS['egw']->accounts->search(array('type'=>'both')))) + { + $ids = array(); + foreach($all_accounts as $account) + { + $ids[] = $account['account_id']; + } + // does not work for LDAP! $ids = array_keys($all_accounts); + $GLOBALS['egw']->db->query("DELETE FROM egw_acl WHERE acl_account NOT IN (".implode(',',$ids).") OR acl_appname='phpgw_group' AND acl_location NOT IN ('".implode("','",$ids)."')",__LINE__,__FILE__); + $deleted = $GLOBALS['egw']->db->affected_rows(); + } + echo "\n$deleted ACL records of not (longer) existing accounts deleted.\n\n"; +} + /** * Delete a given user from eGW * diff --git a/admin/check_acl.php b/admin/check_acl.php deleted file mode 100644 index c487180e1c..0000000000 --- a/admin/check_acl.php +++ /dev/null @@ -1,47 +0,0 @@ - * -* -------------------------------------------- * -* This program is free software; you can redistribute it and/or modify it * -* under the terms of the GNU General Public License as published by the * -* Free Software Foundation; either version 2 of the License, or (at your * -* option) any later version. * -\**************************************************************************/ - -/* $Id$ */ - -/** - * delete ACL records of deleted accounts (can be called only via the URL) - * - * ACL records of deleted accounts have very irritating effects on the ACL (specialy calendar) - * - * @package admin - * @author RalfBecker@outdoor-training.de - * @license GPL - */ - -$GLOBALS['egw_info'] = array( - 'flags' => array( - 'currentapp' => 'admin', -)); -include('../header.inc.php'); - -if (!$GLOBALS['egw_info']['user']['apps']['admin']) -{ - echo '

'.lang('Permission denied')."

\n"; -} -else -{ - $deleted = 0; - if (($all_accounts = $GLOBALS['egw']->accounts->search(array('type'=>'both')))) - { - $all_accounts = array_keys($all_accounts); - $GLOBALS['egw']->db->query("DELETE FROM egw_acl WHERE acl_account NOT IN (".implode(',',$all_accounts).") OR acl_appname='phpgw_group' AND acl_location NOT IN ('".implode("','",$all_accounts)."')",__LINE__,__FILE__); - $deleted = $GLOBALS['egw']->db->affected_rows(); - } - echo '

'.lang('%1 ACL records of not (longer) existing accounts deleted.',$deleted)."

\n"; -} -$GLOBALS['egw']->common->egw_footer(); -$GLOBALS['egw']->common->egw_exit(); From 1b10333979733977c88f64f3c9391cce479edcec Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 8 May 2007 16:52:04 +0000 Subject: [PATCH 2/9] fix for bug #275: tree of projects is only one line high in IE, plus removing the margin arround the mainDiv and saving some space around the navbar --- phpgwapi/templates/default/footer.tpl | 2 +- phpgwapi/templates/idots/css/idots.css | 30 ++-- phpgwapi/templates/idots/print.css | 4 +- .../templates/jerryr/css/brushed-metal.css | 170 ++++++++---------- phpgwapi/templates/jerryr/css/jerryr.css | 120 +++++++------ 5 files changed, 159 insertions(+), 167 deletions(-) diff --git a/phpgwapi/templates/default/footer.tpl b/phpgwapi/templates/default/footer.tpl index 45d53c7292..512f810486 100644 --- a/phpgwapi/templates/default/footer.tpl +++ b/phpgwapi/templates/default/footer.tpl @@ -7,7 +7,7 @@ {page_generation_time} -

{powered_by}
+
{powered_by}
{activate_tooltips} diff --git a/phpgwapi/templates/idots/css/idots.css b/phpgwapi/templates/idots/css/idots.css index bd0351be5f..a494d7dca2 100755 --- a/phpgwapi/templates/idots/css/idots.css +++ b/phpgwapi/templates/idots/css/idots.css @@ -94,7 +94,6 @@ input,button,select input[type=submit],input[type=button],input[type=reset],button,.egwbutton { -/* color:white;*/ background-color:#c5c5c5; border: outset 1px #dcdad5; background-color:#b9d5e3; @@ -103,7 +102,6 @@ input[type=submit],input[type=button],input[type=reset],button,.egwbutton padding: 1px; cursor: pointer; color: #004e7d; -/* cursor: hand; */ } input[type=submit]:hover,input[type=button]:hover,input[type=reset]:hover,button:hover,.egwbutton:hover @@ -130,7 +128,6 @@ input.egwbutton padding: 1px; cursor: pointer; color: #004e7d; -/* cursor: hand; */ } input.egwbutton:hover @@ -149,7 +146,6 @@ input.egwbutton:active input[type=image] { cursor: pointer; -/* cursor: hand; */ border: 0; } @@ -194,7 +190,6 @@ input[type=image] a.divSideboxEntry, .divSideboxEntry { text-align:left; - height:16px; background-color:#FDFDFD; } @@ -212,9 +207,8 @@ a.textSidebox .textSidebox { - height:18px; - padding-top:2px; - padding-bottom:2px; + padding-top:3px; + padding-bottom:3px; border-top: solid #aaaaaa 1px; } /* @@ -253,19 +247,27 @@ body { margin: 0px; } -#divMain,#loginMainDiv +#divMain,#loginMainDiv,#popupMainDiv { background-color: white; padding: 8px; + border-bottom: solid 1px #7e7e7e; +} +/* + ** Popups + */ +#popupMainDiv +{ margin: 8px; border: solid 1px #7e7e7e; -} + padding-bottom: 0px; +} #divLogo { position:absolute; left:30px; - top:15px; + top:6px; z-index:999; } @@ -274,7 +276,7 @@ body { background-color: #0081c1; background-image: url(../images/bgtopmenu2.png); color:#006699; - border-top: solid 2px #7e7e7e; + /*border-top: solid 1px #7e7e7e;*/ border-bottom: solid #5793ff 1px; height:20px; padding-top:4px ; @@ -337,7 +339,6 @@ body { background-color:white; height:18px; padding-left:3px; - margin-top: 10px; } #tdSidebox @@ -358,7 +359,8 @@ body { { background-image:url(../images/appbox-header-background.png); background-repeat: repeat-x; - height:36px; + height: 25px; + border-bottom:solid 1px #c0c0c0; text-align:center; padding-bottom:0px; border-top:solid 1px #9c9c9c; diff --git a/phpgwapi/templates/idots/print.css b/phpgwapi/templates/idots/print.css index 16d0422a36..16b1dad929 100644 --- a/phpgwapi/templates/idots/print.css +++ b/phpgwapi/templates/idots/print.css @@ -34,7 +34,9 @@ table { /* nextmatch/list rows */ tr.row_on,tr.row_off{ - border-bottom: thin black dashed; + border-bottom: thin gray dotted; + padding-top: 0px; margin-top:0px; + padding-bottom: 0px; margin-bottom: 0px; } /* nextmatch/list headers */ diff --git a/phpgwapi/templates/jerryr/css/brushed-metal.css b/phpgwapi/templates/jerryr/css/brushed-metal.css index 892db7b355..73ccc868d3 100644 --- a/phpgwapi/templates/jerryr/css/brushed-metal.css +++ b/phpgwapi/templates/jerryr/css/brushed-metal.css @@ -156,24 +156,23 @@ input[type=image] #thesideboxcolumn { - width: 203px; - position:relative; + width: 203px; + position:relative; } #sideresize { - background-image:url(../images/resize-bm.png); - width:16px; - height:100px; - right:-18px; - top:0px; - position:absolute; - z-index:9999; + background-image:url(../images/resize-bm.png); + width:16px; + height:100px; + right:-18px; + top:0px; + position:absolute; + z-index:9999; } #tdSidebox { - /*width:204px;*/ overflow:visible; } @@ -186,25 +185,20 @@ input[type=image] .divSidebox { - /*width: 188px;*/ position: relative; border: 0px solid #9f9f9f; - /*background-image: url(../images/bmback2.jpg);*/ background-color: white; } .divLoginboxHeader,.divSideboxHeader,a.appTitles,.appTitles,a.textSidebox,.textSidebox,#fmStatusBar { font-size:90%; - white-space: nowrap; } .textSideboxStar { width: 20px; font-size:90%; - /*background-image: url(../images/rowoff-bm.png);*/ - /*background-color: white:*/ border-top:1px solid #e1e1e1; border-right: 1px solid #e1e1e1; border-left: 0px solid #9f9f9f; @@ -213,14 +207,13 @@ input[type=image] .divSideboxHeader,.divLoginboxHeader { text-align:center; - /*background-image:url(../images/menuTitle-bm.png);*/ color: #666666; height: 23px; font-weight:bold; font-size:12px; position: relative; - left: 0px; - top: 0px; + left: 0px; + top: 0px; padding:0px; border-top: 0px solid #9f9f9f; border-left: 0px solid #9f9f9f; @@ -229,46 +222,46 @@ input[type=image] .menuHeadLt { - background-image:url(../images/menuTitleLt-bm.png); - padding:0px; - width: 24px; - height:23px; + background-image:url(../images/menuTitleLt-bm.png); + padding:0px; + width: 24px; + height:23px; } .menuHeadMid { - background-image:url(../images/menuTitleMid-bm.png); - width: 100%; + background-image:url(../images/menuTitleMid-bm.png); + width: 100%; line-height:23px; } .menuHeadRt { - background-image:url(../images/menuTitleRt-bm.png); - width:24px; - padding:0px; - height: 23px; + background-image:url(../images/menuTitleRt-bm.png); + width:24px; + padding:0px; + height: 23px; } .menuBotLt { - background-image:url(../images/menuBotLt-bm.png); - padding:0px; - width: 20px; - height:18px; + background-image:url(../images/menuBotLt-bm.png); + padding:0px; + width: 20px; + height:18px; } .menuBotMid { - background-image:url(../images/menuBotMid-bm.png); - width: 100%; - line-height:18px; + background-image:url(../images/menuBotMid-bm.png); + width: 100%; + line-height:18px; } .menuBotRt { - background-image:url(../images/menuBotRt-bm.png); - width:20px; - padding:0px; - height: 18px; + background-image:url(../images/menuBotRt-bm.png); + width:20px; + padding:0px; + height: 18px; } @@ -276,8 +269,6 @@ a.divSideboxEntry, .divSideboxEntry { text-align:left; height:18px; - /*background-image:url(../images/bmback2.jpg);*/ - /*background-color:#ffffff;*/ border-left: 0px solid #9f9f9f; } @@ -301,9 +292,6 @@ a.textSidebox .textSideboxHover { - /*background-image: url(../images/arrow-rt-grey.png);*/ - /*background-repeat: no-repeat;*/ - /*background-position: top right;*/ background-color: white; height: 18px; border-top: 1px solid #e1e1e1; @@ -336,9 +324,9 @@ a.textSidebox .sideboxDrop { -position: relative; - left: 0px; - top: 0px; + position: relative; + left: 0px; + top: 0px; border-bottom: 0px solid white; border-left: 1px solid #9f9f9f; border-right: 1px solid #9f9f9f; @@ -352,7 +340,6 @@ position: relative; .sideboxSpace { height:29px; - /*background-image: url(../images/botspacer.png);*/ } /* @@ -380,9 +367,9 @@ position: relative; .menuOneBoxTwo { - position: relative; - left: 0; - text-align: left; + position: relative; + left: 0; + text-align: left; } @@ -406,11 +393,11 @@ position: relative; .extraIconsHeader { - text-align:center; - background-image:url(../images/menuTitle-bm.png); + text-align:center; + background-image:url(../images/menuTitle-bm.png); color:#e1e1e1; - font-weight:normal; - font-size:10px; + font-weight:normal; + font-size:10px; height: 23px; } @@ -424,23 +411,21 @@ position: relative; .extraIconsRow { - border-top: 1px solid #e1e1e1; + border-top: 1px solid #e1e1e1; height: 19px; - padding:1px; + padding:1px; padding-left: 3px; - font-size: 10px; + font-size: 10px; background-color: white; - /*background-image:url(../images/bmback2.jpg);*/ } .extraIconsRow:hover { - border-top: 1px solid #e1e1e1; - padding:1px; + border-top: 1px solid #e1e1e1; + padding:1px; padding-left: 3px; - font-size: 10px; + font-size: 10px; background-color: #e1e1e1; - /*background-image:url(../images/bmback.jpg);*/ } /* @@ -451,13 +436,17 @@ body { padding: 0px; } -#divMain +#divMain,#popupMainDiv { background-image:url(../images/bmback.jpg); background-color: #646464; padding:9px; margin: 0px; - border-bottom: 2px solid white; +} + +#popupMainDiv +{ + margin: 9px; } #divLogo @@ -470,27 +459,27 @@ body { #topmenu { - background-color: #0081c1; - background-image: url(../images/hilitetest-bm.png); - color:#006699; - border-top: 1px solid #9f9f9f; - border-bottom: 1px solid #9f9f9f; + background-color: #0081c1; + background-image: url(../images/hilitetest-bm.png); + color:#006699; + border-top: 1px solid #9f9f9f; + border-bottom: 1px solid #9f9f9f; height:24px; line-height:20px; padding-top: 4px; } #topmenu a { - color:#006699; + color:#006699; } #topmenu_items { - float:left; + float:left; } #topmenu_info { - float:right; + float:right; } #divUpperTabs @@ -543,8 +532,8 @@ body { .iconBackFirstCell { - background-image: url(../images/firstcell-bm.png); - background-repeat: no-repeat; + background-image: url(../images/firstcell-bm.png); + background-repeat: no-repeat; height:60px; } @@ -560,7 +549,6 @@ body { .iconBack { - /*background-image: url(../images/iconbar-bm.png);*/ border-right: 0px solid #bfbfbf; border-top: 1px solid #9f9f9f; height: 38px; @@ -584,7 +572,6 @@ body { #divAppTextBar { - /*background-color:white;*/ white-space: nowrap; } @@ -631,23 +618,20 @@ body { .appBoxHeadLt { - background-image:url(../images/abhlt.png); - /*background-image:url(../images/menuTitleLt-bm.png);*/ + background-image:url(../images/abhlt.png); padding:0px; width: 24px; height:24px; } .appBoxHeadMid { - background-image:url(../images/abhmid.png); - /*background-image:url(../images/menuTitleMid-bm.png);*/ + background-image:url(../images/abhmid.png); padding:0px; line-height:24px; } .appBoxHeadRt { - background-image:url(../images/abhrt.png); - /*background-image:url(../images/menuTitleRt-bm.png);*/ + background-image:url(../images/abhrt.png); width:24px; padding:0px; height: 24px; @@ -690,13 +674,13 @@ body { background-image: url(../images/hilitetest-bm.png); } .row_on { - color: black; - background-color: #F1F1F1; + color: black; + background-color: #F1F1F1; background-image: url(../images/rowon-bm.png); } .row_off { - color: black; - background-color: #ffffff; + color: black; + background-color: #ffffff; background-image: url(../images/rowoff-bm.png); } .narrow_column { width: 1%; white-space: nowrap; } @@ -711,16 +695,16 @@ body { Portal_box as used in home */ .portal_box { - border: #9c9c9c 1px solid; + border: #9c9c9c 1px solid; } .portal_box table { - border: 1px solid black; + border: 1px solid black; } .portal_box_header { - height: 15px; - padding-top: 0px; + height: 15px; + padding-top: 0px; } /* @@ -728,8 +712,8 @@ body { */ .tablink { - white-space: nowrap; + white-space: nowrap; padding-left: 15px; - padding-right: 15px; + padding-right: 15px; } diff --git a/phpgwapi/templates/jerryr/css/jerryr.css b/phpgwapi/templates/jerryr/css/jerryr.css index 0e4a8e044e..05bcf2652a 100644 --- a/phpgwapi/templates/jerryr/css/jerryr.css +++ b/phpgwapi/templates/jerryr/css/jerryr.css @@ -60,8 +60,8 @@ a:hover,a:active body { background-color:#9f9f9f; - padding:9px; - margin:9px; + padding: 0px; + margin: 0px; } form @@ -155,19 +155,19 @@ input[type=image] #thesideboxcolumn { - width: 177px; - position:relative; + width: 177px; + position:relative; } #sideresize { - background-image:url(../images/resize.png); - width:10px; - height:100px; - right:-12px; - top:0px; - position:absolute; - z-index:9999; + background-image:url(../images/resize.png); + width:10px; + height:100px; + right:-12px; + top:0px; + position:absolute; + z-index:9999; } .divLoginbox @@ -202,28 +202,28 @@ input[type=image] text-align:center; background-image:url(../images/menuTitle.png); color:#17202b; - height: 18px; + /*height: 18px;*/ font-weight:bold; font-size:12px; } .menuHeadLt { - padding:0px; - width: 24px; - height:18px; + padding:0px; + width: 24px; + height:18px; } .menuHeadMid { - padding:0px; - margin-left: auto; + padding:0px; + margin-left: auto; margin-right: auto; } .menuHeadRt { - width:24px; - padding:0px; - height: 18px; + width:24px; + padding:0px; + height: 18px; } @@ -247,7 +247,6 @@ a.textSidebox .textSidebox { - height:18px; padding-left: 2px; border-top: solid #9f9f9f 1px; } @@ -278,17 +277,17 @@ a.textSidebox { background-image: url(../images/divmain-background.jpg); background-repeat: no-repeat; - background-color:white; - border: #17202b 1px solid; - padding:10px; + background-color:white; + border: #17202b 1px solid; + padding:10px; width: 203px; } .sideboxDrop { -position: relative; - left: 0px; - top: 0px; + position: relative; + left: 0px; + top: 0px; } .textSidebox:first-letter @@ -343,11 +342,11 @@ position: relative; .extraIconsHeader { - text-align:center; - background-image:url(../images/menuTitle.png); - color:#17202b; - font-weight:normal; - font-size:10px; + text-align:center; + background-image:url(../images/menuTitle.png); + color:#17202b; + font-weight:normal; + font-size:10px; height: 18px; } @@ -370,10 +369,10 @@ position: relative; .extraIconsRow:hover { - border-top:solid 1px #9f9f9f; - padding:1px; + border-top:solid 1px #9f9f9f; + padding:1px; padding-left: 3px; - font-size: 10px; + font-size: 10px; background-color: #ede6d8; } @@ -385,12 +384,13 @@ body { padding: 0px; } -#divMain +#divMain,#popupMainDiv { background-image:url(../images/divmain-background.jpg); background-repeat:no-repeat; background-color:white; padding:9px; + padding-top: 0px; /* CHANGED RALF */ border:solid 1px #17202b; } @@ -398,36 +398,42 @@ body { { position:absolute; left:27px; - top:28px; + top:20px; z-index:999; } +#popupMainDiv +{ + padding:9px; + margin: 9px; +} + #topmenu { - background-color: #0081c1; - background-image: url(../images/hilitetest.png); - color:#006699; - border-top: solid 1px #17202b; + background-color: #0081c1; + background-image: url(../images/hilitetest.png); + color:#006699; + border-top: solid 1px #17202b; border-right: 1px solid #17202b; border-left: 1px solid #17202b; - border-bottom: solid #5793ff 0px; - height:24px; - padding-top:4px ; + border-bottom: solid #5793ff 0px; + height:24px; + padding-top:4px ; } #topmenu a { - color:#006699; + color:#006699; } #topmenu_items { - float:left; + float:left; } #topmenu_info { - float:right; + float:right; } @@ -468,7 +474,7 @@ body { .iconBackFirstCell { - background-image: url(../images/firstcell.png); + background-image: url(../images/firstcell.png); background-repeat: no-repeat; height: 58px; } @@ -500,7 +506,6 @@ body { #divAppTextBar { - /*background-color:white;*/ } /* @@ -512,7 +517,6 @@ body { position: relative; top:0px; left:0px; - height:30px; vertical-align:bottom; border: 0px solid black; padding-top:10px; @@ -520,22 +524,22 @@ body { .userinfolt { - background-image: url(../images/userbacklt.png); - width: 20px; - height: 25px; + background-image: url(../images/userbacklt.png); + width: 20px; + height: 25px; } .userinfomid { - background-image: url(../images/userback.png); - background-repeat: repeat-x; - color: #000000; + background-image: url(../images/userback.png); + background-repeat: repeat-x; + color: #000000; } .userinfort { - background-image: url(../images/userbackrt.png); - width: 20px; + background-image: url(../images/userbackrt.png); + width: 20px; } From f40e6d5b5d4ea358edbf3c3ebcaafd82137ead11 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 8 May 2007 16:54:07 +0000 Subject: [PATCH 3/9] fix for bug #275: tree of projects is only one line high in IE, plus removing the margin arround the mainDiv and saving some space around the navbar --- etemplate/inc/class.uietemplate.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etemplate/inc/class.uietemplate.inc.php b/etemplate/inc/class.uietemplate.inc.php index 83ac1078ef..d04b49b5c3 100644 --- a/etemplate/inc/class.uietemplate.inc.php +++ b/etemplate/inc/class.uietemplate.inc.php @@ -281,7 +281,7 @@ } else { - echo '
'."\n"; + echo '
'."\n"; if ($GLOBALS['egw_info']['user']['apps']['manual']) // adding a manual icon to every popup { $manual =& new etemplate('etemplate.popup.manual'); From 3cdd3a8600d563f7f1daf439ce1088e926ae4948 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 9 May 2007 07:42:41 +0000 Subject: [PATCH 4/9] "some docu, maybe useful for others too" --- addressbook/doc/fieldnames.txt | 60 ++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 addressbook/doc/fieldnames.txt diff --git a/addressbook/doc/fieldnames.txt b/addressbook/doc/fieldnames.txt new file mode 100644 index 0000000000..88b5ba8fe6 --- /dev/null +++ b/addressbook/doc/fieldnames.txt @@ -0,0 +1,60 @@ +This are the internal fieldnames and their meaning of the 1.4 addressbook: +------------------------------------------------------------------------- +id => Contact ID +tid => Typ +owner => Addressbook +private => private +cat_id => Category +n_prefix => prefix +n_given => first name +n_middle => middle name +n_family => last name +n_suffix => suffix +n_fn => full name +n_fileas => own sorting +bday => birthday +org_name => Company +org_unit => Department +title => Title +role => Role +assistent => Assistent +room => Room +adr_one_street => street business +adr_one_street2 => address line 2 business +adr_one_locality => city business +adr_one_region => state business +adr_one_postalcode => zip code business +adr_one_countryname => country business +label => label +adr_two_street => street private +adr_two_street2 => address line 2 private +adr_two_locality => city private +adr_two_region => state private +adr_two_postalcode => zip code private +adr_two_countryname => country private +tel_work => work phone +tel_cell => mobile phone +tel_fax => fax business +tel_assistent => assistent phone +tel_car => car phone +tel_pager => pager +tel_home => home phone +tel_fax_home => fax private +tel_cell_private => mobile phone private +tel_other => other phone +tel_prefer => preferred phone +email => email business +email_home => email private +url => url business +url_home => url private +freebusy_uri => Freebusy URI +calendar_uri => Calendar URI +note => note +tz => time zone +geo => geo +pubkey => public key +created => created +creator => created by +modified => last modified +modifier => last modified by +jpegphoto => photo From 8dc321cfe364ba58952a9f8be98f453ae4d119fd Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 9 May 2007 07:56:19 +0000 Subject: [PATCH 5/9] "a small fix a had to make some time ago to update a 1.0 install" --- phpgwapi/setup/tables_update_1_0.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpgwapi/setup/tables_update_1_0.inc.php b/phpgwapi/setup/tables_update_1_0.inc.php index 6eab60e639..241ef6eb66 100644 --- a/phpgwapi/setup/tables_update_1_0.inc.php +++ b/phpgwapi/setup/tables_update_1_0.inc.php @@ -151,7 +151,7 @@ ), 'pk' => array('vfs_file_id'), 'fk' => array(), - 'ix' => array(array('vfs_directory','vfs_name','vfs_mime_type')), + 'ix' => array(array('vfs_directory','vfs_name')), 'uc' => array() )); From 20fcee771bc2f03b754b85e87964f46c1f76ad97 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 9 May 2007 08:07:06 +0000 Subject: [PATCH 6/9] "php5.2" --- resources/inc/class.bo_resources.inc.php | 2 +- resources/inc/class.ui_resources.inc.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/inc/class.bo_resources.inc.php b/resources/inc/class.bo_resources.inc.php index 056f9e55cd..8bc97ae01b 100755 --- a/resources/inc/class.bo_resources.inc.php +++ b/resources/inc/class.bo_resources.inc.php @@ -492,7 +492,7 @@ class bo_resources case 'gen_src': default : $picture = $GLOBALS['egw_info']['server']['webserver_url'].$this->resource_icons; - $picture .= strstr($src,'.') ? $src : 'generic.png'; + $picture .= strpos($src,'.') !== false ? $src : 'generic.png'; } return $picture; } diff --git a/resources/inc/class.ui_resources.inc.php b/resources/inc/class.ui_resources.inc.php index d4abedd310..f32ecf940c 100755 --- a/resources/inc/class.ui_resources.inc.php +++ b/resources/inc/class.ui_resources.inc.php @@ -219,8 +219,8 @@ class ui_resources if ($res_id > 0) { $content = $this->bo->read($res_id); - $content['gen_src_list'] = strstr($content['picture_src'],'.') ? $content['picture_src'] : false; - $content['picture_src'] = strstr($content['picture_src'],'.') ? 'gen_src' : $content['picture_src']; + $content['gen_src_list'] = strpos($content['picture_src'],'.') !== false ? $content['picture_src'] : false; + $content['picture_src'] = strpos($content['picture_src'],'.') !== false ? 'gen_src' : $content['picture_src']; $content['link_to'] = array( 'to_id' => $res_id, 'to_app' => 'resources' @@ -310,8 +310,8 @@ class ui_resources $content = array('res_id' => $res_id); $content = $this->bo->read($res_id); - $content['gen_src_list'] = strstr($content['picture_src'],'.') ? $content['picture_src'] : false; - $content['picture_src'] = strstr($content['picture_src'],'.') ? 'gen_src' : $content['picture_src']; + $content['gen_src_list'] = strpos($content['picture_src'],'.') !== false ? $content['picture_src'] : false; + $content['picture_src'] = strpos($content['picture_src'],'.') !== false ? 'gen_src' : $content['picture_src']; $content['link_to'] = array( 'to_id' => $res_id, 'to_app' => 'resources' From 4947ddfd991eb110dbe5280e0ea56396b132a647 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 9 May 2007 08:21:26 +0000 Subject: [PATCH 7/9] "php5.2 fixes and hiding Export button for php4 or importexport not available" --- timesheet/inc/class.botimesheet.inc.php | 2 +- timesheet/inc/class.uitimesheet.inc.php | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/timesheet/inc/class.botimesheet.inc.php b/timesheet/inc/class.botimesheet.inc.php index 85079cd9bd..388148dbeb 100644 --- a/timesheet/inc/class.botimesheet.inc.php +++ b/timesheet/inc/class.botimesheet.inc.php @@ -323,7 +323,7 @@ class botimesheet extends so_sql if ($only_summary) return $this->summary; - if ($this->show_sums && strstr($order_by,'ts_start') && // sums only make sense if ordered by ts_start + if ($this->show_sums && strpos($order_by,'ts_start') !== false && // sums only make sense if ordered by ts_start $this->db->capabilities['union'] && ($from_unixtime_ts_start = $this->db->from_unixtime('ts_start'))) { $sum_sql = array( diff --git a/timesheet/inc/class.uitimesheet.inc.php b/timesheet/inc/class.uitimesheet.inc.php index 7a436f1e57..b7308f73d5 100644 --- a/timesheet/inc/class.uitimesheet.inc.php +++ b/timesheet/inc/class.uitimesheet.inc.php @@ -86,7 +86,7 @@ class uitimesheet extends botimesheet ); } $referer = preg_match('/menuaction=([^&]+)/',$_SERVER['HTTP_REFERER'],$matches) ? $matches[1] : - (strstr($_SERVER['HTTP_REFERER'],'/infolog/index.php') ? 'infolog.uiinfolog.index' : TIMESHEET_APP.'.uitimesheet.index'); + (strpos($_SERVER['HTTP_REFERER'],'/infolog/index.php') !== false ? 'infolog.uiinfolog.index' : TIMESHEET_APP.'.uitimesheet.index'); } else { @@ -635,6 +635,9 @@ class uitimesheet extends botimesheet if (!is_array($projects)) $projects = array(); $sel_options['ts_project'] = $projects + array(lang('No project')); } + // dont show [Export] button if app is not availible to the user or we are on php4 + $readonlys['export'] = !$GLOBALS['egw_info']['user']['apps']['importexport'] || (int) phpversion() < 5; + return $etpl->exec(TIMESHEET_APP.'.uitimesheet.index',$content,$sel_options,$readonlys,$preserv); } From 0f5ccb8c9ff3df9e752b49e4e85b3f1be044810a Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 9 May 2007 08:53:08 +0000 Subject: [PATCH 8/9] php5.2 --- phpgwapi/inc/horde/Horde/SyncML/State_egw.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpgwapi/inc/horde/Horde/SyncML/State_egw.php b/phpgwapi/inc/horde/Horde/SyncML/State_egw.php index 3073882adc..2fb6f6ce0e 100644 --- a/phpgwapi/inc/horde/Horde/SyncML/State_egw.php +++ b/phpgwapi/inc/horde/Horde/SyncML/State_egw.php @@ -227,7 +227,7 @@ class EGW_SyncML_State extends Horde_SyncML_State return FALSE; } - if(strstr($this->_locName,'@') === False) + if(strpos($this->_locName,'@') === False) { $this->_locName .= '@'.$GLOBALS['egw_info']['server']['default_domain']; } From defef645e27084bc208569ebe32b4748683ecc6b Mon Sep 17 00:00:00 2001 From: Lars Kneschke Date: Wed, 9 May 2007 15:37:25 +0000 Subject: [PATCH 9/9] disabled context menu in simple view to enable FF2 and IE7 spellchecker --- phpgwapi/inc/class.html.inc.php | 2 ++ phpgwapi/js/fckeditor/editor/_source/internals/fck_gecko.js | 6 ++++-- phpgwapi/js/fckeditor/editor/_source/internals/fck_ie.js | 3 ++- phpgwapi/js/fckeditor/editor/fckeditor.html | 3 ++- phpgwapi/js/fckeditor/editor/js/fckeditorcode_gecko.js | 2 +- phpgwapi/js/fckeditor/editor/js/fckeditorcode_ie.js | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/phpgwapi/inc/class.html.inc.php b/phpgwapi/inc/class.html.inc.php index ca3696fd8d..414b9d7228 100644 --- a/phpgwapi/inc/class.html.inc.php +++ b/phpgwapi/inc/class.html.inc.php @@ -621,6 +621,7 @@ class html switch($_mode) { case 'simple': $oFCKeditor->ToolbarSet = 'egw_simple'; + $oFCKeditor->Config['ContextMenu'] = false; break; default: @@ -661,6 +662,7 @@ class html return ""; break; case 'simple': + $oFCKeditor->Config['ContextMenu'] = false; $oFCKeditor->ToolbarSet = 'egw_simple'; return $oFCKeditor->CreateHTML() ; break; diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fck_gecko.js b/phpgwapi/js/fckeditor/editor/_source/internals/fck_gecko.js index 0a35d68e67..20030fd12c 100644 --- a/phpgwapi/js/fckeditor/editor/_source/internals/fck_gecko.js +++ b/phpgwapi/js/fckeditor/editor/_source/internals/fck_gecko.js @@ -60,8 +60,10 @@ FCK.InitializeBehaviors = function() this.EditorDocument.addEventListener( 'dblclick', this._DblClickListener, true ) ; // Reset the context menu. - FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow( FCK.EditorWindow ) ; - FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument ) ; + if ( FCKConfig.ContextMenu != null ) { + FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow( FCK.EditorWindow ) ; + FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument ) ; + } } FCK.MakeEditable = function() diff --git a/phpgwapi/js/fckeditor/editor/_source/internals/fck_ie.js b/phpgwapi/js/fckeditor/editor/_source/internals/fck_ie.js index a6df4b4f44..4aabce8799 100644 --- a/phpgwapi/js/fckeditor/editor/_source/internals/fck_ie.js +++ b/phpgwapi/js/fckeditor/editor/_source/internals/fck_ie.js @@ -127,7 +127,8 @@ FCK.InitializeBehaviors = function( dontReturn ) this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ; // Reset the context menu. - FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument.body ) ; + if ( FCKConfig.ContextMenu != null ) + FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument.body ) ; // Build the "TAB" key replacement (if necessary). if ( FCKConfig.TabSpaces > 0 ) diff --git a/phpgwapi/js/fckeditor/editor/fckeditor.html b/phpgwapi/js/fckeditor/editor/fckeditor.html index 92beaf4d20..5abcf31a57 100644 --- a/phpgwapi/js/fckeditor/editor/fckeditor.html +++ b/phpgwapi/js/fckeditor/editor/fckeditor.html @@ -101,7 +101,8 @@ LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;