merge from trunk(revision 23834:23851) to 1.4 branch

This commit is contained in:
Lars Kneschke 2007-05-09 16:29:32 +00:00
commit 96c8f47e67
23 changed files with 271 additions and 235 deletions

View File

@ -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

View File

@ -51,6 +51,9 @@ switch($action)
case '--change-account-id': case '--change-account-id':
return do_change_account_id($arg0s); return do_change_account_id($arg0s);
case '--check-acl';
return do_check_acl();
default: default:
usage($action); 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 " 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 "--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 " 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; 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 * Delete a given user from eGW
* *

View File

@ -1,47 +0,0 @@
<?php
/**************************************************************************\
* eGroupWare - Admin - delete ACL records of deleted accounts *
* http://www.egroupware.org *
* Written and (c) 2004 by Ralf Becker <RalfBecker@outdoor-training.de> *
* -------------------------------------------- *
* 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 '<p align="center">'.lang('Permission denied')."</p>\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 '<p align="center">'.lang('%1 ACL records of not (longer) existing accounts deleted.',$deleted)."</p>\n";
}
$GLOBALS['egw']->common->egw_footer();
$GLOBALS['egw']->common->egw_exit();

View File

@ -281,7 +281,7 @@
} }
else else
{ {
echo '<div id="divMain">'."\n"; echo '<div id="popupMainDiv">'."\n";
if ($GLOBALS['egw_info']['user']['apps']['manual']) // adding a manual icon to every popup if ($GLOBALS['egw_info']['user']['apps']['manual']) // adding a manual icon to every popup
{ {
$manual =& new etemplate('etemplate.popup.manual'); $manual =& new etemplate('etemplate.popup.manual');

View File

@ -145,7 +145,7 @@ file into felamimail de verschiebe nach
files felamimail de Dateien files felamimail de Dateien
filter active felamimail de Filter aktiv filter active felamimail de Filter aktiv
filter name felamimail de Filtername filter name felamimail de Filtername
filter rules preferences de Filter Regeln filter rules common de Filter Regeln
first name felamimail de Vorname first name felamimail de Vorname
flagged felamimail de wichtig flagged felamimail de wichtig
flags felamimail de Markierungen flags felamimail de Markierungen
@ -224,7 +224,7 @@ location of buttons when composing felamimail de Ort der Kn
mail server login type admin de Typ der Mailserver Anmeldung mail server login type admin de Typ der Mailserver Anmeldung
mail settings felamimail de E-Mail-Einstellungen mail settings felamimail de E-Mail-Einstellungen
mainmessage felamimail de Hauptnachricht mainmessage felamimail de Hauptnachricht
manage emailaccounts felamimail de E-Mail-Konten verwalten manage emailaccounts preferences de E-Mail-Konten verwalten
manage emailfilter / vacation preferences de Verwalten der E-Mail-Filter und Abwesenheitsnotiz manage emailfilter / vacation preferences de Verwalten der E-Mail-Filter und Abwesenheitsnotiz
manage folders common de Ordner verwalten manage folders common de Ordner verwalten
manage sieve common de Sieve Scripte verwalten manage sieve common de Sieve Scripte verwalten
@ -403,7 +403,7 @@ use custom settings felamimail de benutze angepa
use regular expressions felamimail de reguläre Ausdrücke verwenden use regular expressions felamimail de reguläre Ausdrücke verwenden
use smtp auth admin de SMTP Auth benutzen use smtp auth admin de SMTP Auth benutzen
users can define their own emailaccounts admin de Anwender können ihre eigenen Konten definieren users can define their own emailaccounts admin de Anwender können ihre eigenen Konten definieren
vacation notice preferences de Abwesenheitsnotiz vacation notice common de Abwesenheitsnotiz
vacation notice is active felamimail de Abwesenheitsnotiz ist aktiv vacation notice is active felamimail de Abwesenheitsnotiz ist aktiv
validate certificate felamimail de Zertifikat überprüfen validate certificate felamimail de Zertifikat überprüfen
view full header felamimail de alle Kopfzeilen anzeigen view full header felamimail de alle Kopfzeilen anzeigen

View File

@ -145,7 +145,7 @@ file into felamimail en file into
files felamimail en files files felamimail en files
filter active felamimail en filter active filter active felamimail en filter active
filter name felamimail en Filter name filter name felamimail en Filter name
filter rules preferences en filter rules filter rules common en filter rules
first name felamimail en First name first name felamimail en First name
flagged felamimail en flagged flagged felamimail en flagged
flags felamimail en Flags flags felamimail en Flags
@ -403,7 +403,7 @@ use custom settings felamimail en Use Custom Settings
use regular expressions felamimail en use regular expressions use regular expressions felamimail en use regular expressions
use smtp auth admin en Use SMTP auth use smtp auth admin en Use SMTP auth
users can define their own emailaccounts admin en Users can define their own emailaccounts users can define their own emailaccounts admin en Users can define their own emailaccounts
vacation notice preferences en vacation notice vacation notice common en vacation notice
vacation notice is active felamimail en Vacation notice is active vacation notice is active felamimail en Vacation notice is active
validate certificate felamimail en validate certificate validate certificate felamimail en validate certificate
view full header felamimail en View full header view full header felamimail en View full header

View File

@ -621,6 +621,7 @@ class html
switch($_mode) { switch($_mode) {
case 'simple': case 'simple':
$oFCKeditor->ToolbarSet = 'egw_simple'; $oFCKeditor->ToolbarSet = 'egw_simple';
$oFCKeditor->Config['ContextMenu'] = false;
break; break;
default: default:
@ -661,6 +662,7 @@ class html
return "<textarea name=\"$_name\" style=\"width:100%; height:400px; border:0px;\">$_content</textarea>"; return "<textarea name=\"$_name\" style=\"width:100%; height:400px; border:0px;\">$_content</textarea>";
break; break;
case 'simple': case 'simple':
$oFCKeditor->Config['ContextMenu'] = false;
$oFCKeditor->ToolbarSet = 'egw_simple'; $oFCKeditor->ToolbarSet = 'egw_simple';
return $oFCKeditor->CreateHTML() ; return $oFCKeditor->CreateHTML() ;
break; break;

View File

@ -227,7 +227,7 @@ class EGW_SyncML_State extends Horde_SyncML_State
return FALSE; return FALSE;
} }
if(strstr($this->_locName,'@') === False) if(strpos($this->_locName,'@') === False)
{ {
$this->_locName .= '@'.$GLOBALS['egw_info']['server']['default_domain']; $this->_locName .= '@'.$GLOBALS['egw_info']['server']['default_domain'];
} }

View File

@ -60,8 +60,10 @@ FCK.InitializeBehaviors = function()
this.EditorDocument.addEventListener( 'dblclick', this._DblClickListener, true ) ; this.EditorDocument.addEventListener( 'dblclick', this._DblClickListener, true ) ;
// Reset the context menu. // Reset the context menu.
FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow( FCK.EditorWindow ) ; if ( FCKConfig.ContextMenu != null ) {
FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument ) ; FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow( FCK.EditorWindow ) ;
FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument ) ;
}
} }
FCK.MakeEditable = function() FCK.MakeEditable = function()

View File

@ -127,7 +127,8 @@ FCK.InitializeBehaviors = function( dontReturn )
this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ; this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ;
// Reset the context menu. // 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). // Build the "TAB" key replacement (if necessary).
if ( FCKConfig.TabSpaces > 0 ) if ( FCKConfig.TabSpaces > 0 )

View File

@ -101,7 +101,8 @@ LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
<script type="text/javascript"> <script type="text/javascript">
// Initialize the editing area context menu. // Initialize the editing area context menu.
FCK_ContextMenu_Init() ; if ( FCKConfig.ContextMenu != null )
FCK_ContextMenu_Init() ;
FCKPlugins.Load() ; FCKPlugins.Load() ;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -151,7 +151,7 @@
), ),
'pk' => array('vfs_file_id'), 'pk' => array('vfs_file_id'),
'fk' => array(), 'fk' => array(),
'ix' => array(array('vfs_directory','vfs_name','vfs_mime_type')), 'ix' => array(array('vfs_directory','vfs_name')),
'uc' => array() 'uc' => array()
)); ));

View File

@ -7,7 +7,7 @@
</div> </div>
</div> </div>
{page_generation_time} {page_generation_time}
<div id="divPoweredBy"><br/><span>{powered_by}</span></div> <div id="divPoweredBy">{powered_by}</div>
<!-- enable wz_tooltips --> <!-- enable wz_tooltips -->
{activate_tooltips} {activate_tooltips}
</body> </body>

View File

@ -94,7 +94,6 @@ input,button,select
input[type=submit],input[type=button],input[type=reset],button,.egwbutton input[type=submit],input[type=button],input[type=reset],button,.egwbutton
{ {
/* color:white;*/
background-color:#c5c5c5; background-color:#c5c5c5;
border: outset 1px #dcdad5; border: outset 1px #dcdad5;
background-color:#b9d5e3; background-color:#b9d5e3;
@ -103,7 +102,6 @@ input[type=submit],input[type=button],input[type=reset],button,.egwbutton
padding: 1px; padding: 1px;
cursor: pointer; cursor: pointer;
color: #004e7d; color: #004e7d;
/* cursor: hand; */
} }
input[type=submit]:hover,input[type=button]:hover,input[type=reset]:hover,button:hover,.egwbutton:hover input[type=submit]:hover,input[type=button]:hover,input[type=reset]:hover,button:hover,.egwbutton:hover
@ -130,7 +128,6 @@ input.egwbutton
padding: 1px; padding: 1px;
cursor: pointer; cursor: pointer;
color: #004e7d; color: #004e7d;
/* cursor: hand; */
} }
input.egwbutton:hover input.egwbutton:hover
@ -149,7 +146,6 @@ input.egwbutton:active
input[type=image] input[type=image]
{ {
cursor: pointer; cursor: pointer;
/* cursor: hand; */
border: 0; border: 0;
} }
@ -194,7 +190,6 @@ input[type=image]
a.divSideboxEntry, .divSideboxEntry a.divSideboxEntry, .divSideboxEntry
{ {
text-align:left; text-align:left;
height:16px;
background-color:#FDFDFD; background-color:#FDFDFD;
} }
@ -212,9 +207,8 @@ a.textSidebox
.textSidebox .textSidebox
{ {
height:18px; padding-top:3px;
padding-top:2px; padding-bottom:3px;
padding-bottom:2px;
border-top: solid #aaaaaa 1px; border-top: solid #aaaaaa 1px;
} }
/* /*
@ -253,19 +247,27 @@ body {
margin: 0px; margin: 0px;
} }
#divMain,#loginMainDiv #divMain,#loginMainDiv,#popupMainDiv
{ {
background-color: white; background-color: white;
padding: 8px; padding: 8px;
border-bottom: solid 1px #7e7e7e;
}
/*
** Popups
*/
#popupMainDiv
{
margin: 8px; margin: 8px;
border: solid 1px #7e7e7e; border: solid 1px #7e7e7e;
} padding-bottom: 0px;
}
#divLogo #divLogo
{ {
position:absolute; position:absolute;
left:30px; left:30px;
top:15px; top:6px;
z-index:999; z-index:999;
} }
@ -274,7 +276,7 @@ body {
background-color: #0081c1; background-color: #0081c1;
background-image: url(../images/bgtopmenu2.png); background-image: url(../images/bgtopmenu2.png);
color:#006699; color:#006699;
border-top: solid 2px #7e7e7e; /*border-top: solid 1px #7e7e7e;*/
border-bottom: solid #5793ff 1px; border-bottom: solid #5793ff 1px;
height:20px; height:20px;
padding-top:4px ; padding-top:4px ;
@ -337,7 +339,6 @@ body {
background-color:white; background-color:white;
height:18px; height:18px;
padding-left:3px; padding-left:3px;
margin-top: 10px;
} }
#tdSidebox #tdSidebox
@ -358,7 +359,8 @@ body {
{ {
background-image:url(../images/appbox-header-background.png); background-image:url(../images/appbox-header-background.png);
background-repeat: repeat-x; background-repeat: repeat-x;
height:36px; height: 25px;
border-bottom:solid 1px #c0c0c0;
text-align:center; text-align:center;
padding-bottom:0px; padding-bottom:0px;
border-top:solid 1px #9c9c9c; border-top:solid 1px #9c9c9c;

View File

@ -34,7 +34,9 @@ table {
/* nextmatch/list rows */ /* nextmatch/list rows */
tr.row_on,tr.row_off{ 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 */ /* nextmatch/list headers */

View File

@ -156,24 +156,23 @@ input[type=image]
#thesideboxcolumn #thesideboxcolumn
{ {
width: 203px; width: 203px;
position:relative; position:relative;
} }
#sideresize #sideresize
{ {
background-image:url(../images/resize-bm.png); background-image:url(../images/resize-bm.png);
width:16px; width:16px;
height:100px; height:100px;
right:-18px; right:-18px;
top:0px; top:0px;
position:absolute; position:absolute;
z-index:9999; z-index:9999;
} }
#tdSidebox #tdSidebox
{ {
/*width:204px;*/
overflow:visible; overflow:visible;
} }
@ -186,25 +185,20 @@ input[type=image]
.divSidebox .divSidebox
{ {
/*width: 188px;*/
position: relative; position: relative;
border: 0px solid #9f9f9f; border: 0px solid #9f9f9f;
/*background-image: url(../images/bmback2.jpg);*/
background-color: white; background-color: white;
} }
.divLoginboxHeader,.divSideboxHeader,a.appTitles,.appTitles,a.textSidebox,.textSidebox,#fmStatusBar .divLoginboxHeader,.divSideboxHeader,a.appTitles,.appTitles,a.textSidebox,.textSidebox,#fmStatusBar
{ {
font-size:90%; font-size:90%;
white-space: nowrap;
} }
.textSideboxStar .textSideboxStar
{ {
width: 20px; width: 20px;
font-size:90%; font-size:90%;
/*background-image: url(../images/rowoff-bm.png);*/
/*background-color: white:*/
border-top:1px solid #e1e1e1; border-top:1px solid #e1e1e1;
border-right: 1px solid #e1e1e1; border-right: 1px solid #e1e1e1;
border-left: 0px solid #9f9f9f; border-left: 0px solid #9f9f9f;
@ -213,14 +207,13 @@ input[type=image]
.divSideboxHeader,.divLoginboxHeader .divSideboxHeader,.divLoginboxHeader
{ {
text-align:center; text-align:center;
/*background-image:url(../images/menuTitle-bm.png);*/
color: #666666; color: #666666;
height: 23px; height: 23px;
font-weight:bold; font-weight:bold;
font-size:12px; font-size:12px;
position: relative; position: relative;
left: 0px; left: 0px;
top: 0px; top: 0px;
padding:0px; padding:0px;
border-top: 0px solid #9f9f9f; border-top: 0px solid #9f9f9f;
border-left: 0px solid #9f9f9f; border-left: 0px solid #9f9f9f;
@ -229,46 +222,46 @@ input[type=image]
.menuHeadLt .menuHeadLt
{ {
background-image:url(../images/menuTitleLt-bm.png); background-image:url(../images/menuTitleLt-bm.png);
padding:0px; padding:0px;
width: 24px; width: 24px;
height:23px; height:23px;
} }
.menuHeadMid .menuHeadMid
{ {
background-image:url(../images/menuTitleMid-bm.png); background-image:url(../images/menuTitleMid-bm.png);
width: 100%; width: 100%;
line-height:23px; line-height:23px;
} }
.menuHeadRt .menuHeadRt
{ {
background-image:url(../images/menuTitleRt-bm.png); background-image:url(../images/menuTitleRt-bm.png);
width:24px; width:24px;
padding:0px; padding:0px;
height: 23px; height: 23px;
} }
.menuBotLt .menuBotLt
{ {
background-image:url(../images/menuBotLt-bm.png); background-image:url(../images/menuBotLt-bm.png);
padding:0px; padding:0px;
width: 20px; width: 20px;
height:18px; height:18px;
} }
.menuBotMid .menuBotMid
{ {
background-image:url(../images/menuBotMid-bm.png); background-image:url(../images/menuBotMid-bm.png);
width: 100%; width: 100%;
line-height:18px; line-height:18px;
} }
.menuBotRt .menuBotRt
{ {
background-image:url(../images/menuBotRt-bm.png); background-image:url(../images/menuBotRt-bm.png);
width:20px; width:20px;
padding:0px; padding:0px;
height: 18px; height: 18px;
} }
@ -276,8 +269,6 @@ a.divSideboxEntry, .divSideboxEntry
{ {
text-align:left; text-align:left;
height:18px; height:18px;
/*background-image:url(../images/bmback2.jpg);*/
/*background-color:#ffffff;*/
border-left: 0px solid #9f9f9f; border-left: 0px solid #9f9f9f;
} }
@ -301,9 +292,6 @@ a.textSidebox
.textSideboxHover .textSideboxHover
{ {
/*background-image: url(../images/arrow-rt-grey.png);*/
/*background-repeat: no-repeat;*/
/*background-position: top right;*/
background-color: white; background-color: white;
height: 18px; height: 18px;
border-top: 1px solid #e1e1e1; border-top: 1px solid #e1e1e1;
@ -336,9 +324,9 @@ a.textSidebox
.sideboxDrop .sideboxDrop
{ {
position: relative; position: relative;
left: 0px; left: 0px;
top: 0px; top: 0px;
border-bottom: 0px solid white; border-bottom: 0px solid white;
border-left: 1px solid #9f9f9f; border-left: 1px solid #9f9f9f;
border-right: 1px solid #9f9f9f; border-right: 1px solid #9f9f9f;
@ -352,7 +340,6 @@ position: relative;
.sideboxSpace .sideboxSpace
{ {
height:29px; height:29px;
/*background-image: url(../images/botspacer.png);*/
} }
/* /*
@ -380,9 +367,9 @@ position: relative;
.menuOneBoxTwo .menuOneBoxTwo
{ {
position: relative; position: relative;
left: 0; left: 0;
text-align: left; text-align: left;
} }
@ -406,11 +393,11 @@ position: relative;
.extraIconsHeader .extraIconsHeader
{ {
text-align:center; text-align:center;
background-image:url(../images/menuTitle-bm.png); background-image:url(../images/menuTitle-bm.png);
color:#e1e1e1; color:#e1e1e1;
font-weight:normal; font-weight:normal;
font-size:10px; font-size:10px;
height: 23px; height: 23px;
} }
@ -424,23 +411,21 @@ position: relative;
.extraIconsRow .extraIconsRow
{ {
border-top: 1px solid #e1e1e1; border-top: 1px solid #e1e1e1;
height: 19px; height: 19px;
padding:1px; padding:1px;
padding-left: 3px; padding-left: 3px;
font-size: 10px; font-size: 10px;
background-color: white; background-color: white;
/*background-image:url(../images/bmback2.jpg);*/
} }
.extraIconsRow:hover .extraIconsRow:hover
{ {
border-top: 1px solid #e1e1e1; border-top: 1px solid #e1e1e1;
padding:1px; padding:1px;
padding-left: 3px; padding-left: 3px;
font-size: 10px; font-size: 10px;
background-color: #e1e1e1; background-color: #e1e1e1;
/*background-image:url(../images/bmback.jpg);*/
} }
/* /*
@ -451,13 +436,17 @@ body {
padding: 0px; padding: 0px;
} }
#divMain #divMain,#popupMainDiv
{ {
background-image:url(../images/bmback.jpg); background-image:url(../images/bmback.jpg);
background-color: #646464; background-color: #646464;
padding:9px; padding:9px;
margin: 0px; margin: 0px;
border-bottom: 2px solid white; }
#popupMainDiv
{
margin: 9px;
} }
#divLogo #divLogo
@ -470,27 +459,27 @@ body {
#topmenu #topmenu
{ {
background-color: #0081c1; background-color: #0081c1;
background-image: url(../images/hilitetest-bm.png); background-image: url(../images/hilitetest-bm.png);
color:#006699; color:#006699;
border-top: 1px solid #9f9f9f; border-top: 1px solid #9f9f9f;
border-bottom: 1px solid #9f9f9f; border-bottom: 1px solid #9f9f9f;
height:24px; height:24px;
line-height:20px; line-height:20px;
padding-top: 4px; padding-top: 4px;
} }
#topmenu a #topmenu a
{ {
color:#006699; color:#006699;
} }
#topmenu_items #topmenu_items
{ {
float:left; float:left;
} }
#topmenu_info #topmenu_info
{ {
float:right; float:right;
} }
#divUpperTabs #divUpperTabs
@ -543,8 +532,8 @@ body {
.iconBackFirstCell .iconBackFirstCell
{ {
background-image: url(../images/firstcell-bm.png); background-image: url(../images/firstcell-bm.png);
background-repeat: no-repeat; background-repeat: no-repeat;
height:60px; height:60px;
} }
@ -560,7 +549,6 @@ body {
.iconBack .iconBack
{ {
/*background-image: url(../images/iconbar-bm.png);*/
border-right: 0px solid #bfbfbf; border-right: 0px solid #bfbfbf;
border-top: 1px solid #9f9f9f; border-top: 1px solid #9f9f9f;
height: 38px; height: 38px;
@ -584,7 +572,6 @@ body {
#divAppTextBar #divAppTextBar
{ {
/*background-color:white;*/
white-space: nowrap; white-space: nowrap;
} }
@ -631,23 +618,20 @@ body {
.appBoxHeadLt .appBoxHeadLt
{ {
background-image:url(../images/abhlt.png); background-image:url(../images/abhlt.png);
/*background-image:url(../images/menuTitleLt-bm.png);*/
padding:0px; padding:0px;
width: 24px; width: 24px;
height:24px; height:24px;
} }
.appBoxHeadMid .appBoxHeadMid
{ {
background-image:url(../images/abhmid.png); background-image:url(../images/abhmid.png);
/*background-image:url(../images/menuTitleMid-bm.png);*/
padding:0px; padding:0px;
line-height:24px; line-height:24px;
} }
.appBoxHeadRt .appBoxHeadRt
{ {
background-image:url(../images/abhrt.png); background-image:url(../images/abhrt.png);
/*background-image:url(../images/menuTitleRt-bm.png);*/
width:24px; width:24px;
padding:0px; padding:0px;
height: 24px; height: 24px;
@ -690,13 +674,13 @@ body {
background-image: url(../images/hilitetest-bm.png); background-image: url(../images/hilitetest-bm.png);
} }
.row_on { .row_on {
color: black; color: black;
background-color: #F1F1F1; background-color: #F1F1F1;
background-image: url(../images/rowon-bm.png); background-image: url(../images/rowon-bm.png);
} }
.row_off { .row_off {
color: black; color: black;
background-color: #ffffff; background-color: #ffffff;
background-image: url(../images/rowoff-bm.png); background-image: url(../images/rowoff-bm.png);
} }
.narrow_column { width: 1%; white-space: nowrap; } .narrow_column { width: 1%; white-space: nowrap; }
@ -711,16 +695,16 @@ body {
Portal_box as used in home Portal_box as used in home
*/ */
.portal_box { .portal_box {
border: #9c9c9c 1px solid; border: #9c9c9c 1px solid;
} }
.portal_box table { .portal_box table {
border: 1px solid black; border: 1px solid black;
} }
.portal_box_header { .portal_box_header {
height: 15px; height: 15px;
padding-top: 0px; padding-top: 0px;
} }
/* /*
@ -728,8 +712,8 @@ body {
*/ */
.tablink .tablink
{ {
white-space: nowrap; white-space: nowrap;
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
} }

View File

@ -60,8 +60,8 @@ a:hover,a:active
body body
{ {
background-color:#9f9f9f; background-color:#9f9f9f;
padding:9px; padding: 0px;
margin:9px; margin: 0px;
} }
form form
@ -155,19 +155,19 @@ input[type=image]
#thesideboxcolumn #thesideboxcolumn
{ {
width: 177px; width: 177px;
position:relative; position:relative;
} }
#sideresize #sideresize
{ {
background-image:url(../images/resize.png); background-image:url(../images/resize.png);
width:10px; width:10px;
height:100px; height:100px;
right:-12px; right:-12px;
top:0px; top:0px;
position:absolute; position:absolute;
z-index:9999; z-index:9999;
} }
.divLoginbox .divLoginbox
@ -202,28 +202,28 @@ input[type=image]
text-align:center; text-align:center;
background-image:url(../images/menuTitle.png); background-image:url(../images/menuTitle.png);
color:#17202b; color:#17202b;
height: 18px; /*height: 18px;*/
font-weight:bold; font-weight:bold;
font-size:12px; font-size:12px;
} }
.menuHeadLt .menuHeadLt
{ {
padding:0px; padding:0px;
width: 24px; width: 24px;
height:18px; height:18px;
} }
.menuHeadMid .menuHeadMid
{ {
padding:0px; padding:0px;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }
.menuHeadRt .menuHeadRt
{ {
width:24px; width:24px;
padding:0px; padding:0px;
height: 18px; height: 18px;
} }
@ -247,7 +247,6 @@ a.textSidebox
.textSidebox .textSidebox
{ {
height:18px;
padding-left: 2px; padding-left: 2px;
border-top: solid #9f9f9f 1px; border-top: solid #9f9f9f 1px;
} }
@ -278,17 +277,17 @@ a.textSidebox
{ {
background-image: url(../images/divmain-background.jpg); background-image: url(../images/divmain-background.jpg);
background-repeat: no-repeat; background-repeat: no-repeat;
background-color:white; background-color:white;
border: #17202b 1px solid; border: #17202b 1px solid;
padding:10px; padding:10px;
width: 203px; width: 203px;
} }
.sideboxDrop .sideboxDrop
{ {
position: relative; position: relative;
left: 0px; left: 0px;
top: 0px; top: 0px;
} }
.textSidebox:first-letter .textSidebox:first-letter
@ -343,11 +342,11 @@ position: relative;
.extraIconsHeader .extraIconsHeader
{ {
text-align:center; text-align:center;
background-image:url(../images/menuTitle.png); background-image:url(../images/menuTitle.png);
color:#17202b; color:#17202b;
font-weight:normal; font-weight:normal;
font-size:10px; font-size:10px;
height: 18px; height: 18px;
} }
@ -370,10 +369,10 @@ position: relative;
.extraIconsRow:hover .extraIconsRow:hover
{ {
border-top:solid 1px #9f9f9f; border-top:solid 1px #9f9f9f;
padding:1px; padding:1px;
padding-left: 3px; padding-left: 3px;
font-size: 10px; font-size: 10px;
background-color: #ede6d8; background-color: #ede6d8;
} }
@ -385,12 +384,13 @@ body {
padding: 0px; padding: 0px;
} }
#divMain #divMain,#popupMainDiv
{ {
background-image:url(../images/divmain-background.jpg); background-image:url(../images/divmain-background.jpg);
background-repeat:no-repeat; background-repeat:no-repeat;
background-color:white; background-color:white;
padding:9px; padding:9px;
padding-top: 0px; /* CHANGED RALF */
border:solid 1px #17202b; border:solid 1px #17202b;
} }
@ -398,36 +398,42 @@ body {
{ {
position:absolute; position:absolute;
left:27px; left:27px;
top:28px; top:20px;
z-index:999; z-index:999;
} }
#popupMainDiv
{
padding:9px;
margin: 9px;
}
#topmenu #topmenu
{ {
background-color: #0081c1; background-color: #0081c1;
background-image: url(../images/hilitetest.png); background-image: url(../images/hilitetest.png);
color:#006699; color:#006699;
border-top: solid 1px #17202b; border-top: solid 1px #17202b;
border-right: 1px solid #17202b; border-right: 1px solid #17202b;
border-left: 1px solid #17202b; border-left: 1px solid #17202b;
border-bottom: solid #5793ff 0px; border-bottom: solid #5793ff 0px;
height:24px; height:24px;
padding-top:4px ; padding-top:4px ;
} }
#topmenu a #topmenu a
{ {
color:#006699; color:#006699;
} }
#topmenu_items #topmenu_items
{ {
float:left; float:left;
} }
#topmenu_info #topmenu_info
{ {
float:right; float:right;
} }
@ -468,7 +474,7 @@ body {
.iconBackFirstCell .iconBackFirstCell
{ {
background-image: url(../images/firstcell.png); background-image: url(../images/firstcell.png);
background-repeat: no-repeat; background-repeat: no-repeat;
height: 58px; height: 58px;
} }
@ -500,7 +506,6 @@ body {
#divAppTextBar #divAppTextBar
{ {
/*background-color:white;*/
} }
/* /*
@ -512,7 +517,6 @@ body {
position: relative; position: relative;
top:0px; top:0px;
left:0px; left:0px;
height:30px;
vertical-align:bottom; vertical-align:bottom;
border: 0px solid black; border: 0px solid black;
padding-top:10px; padding-top:10px;
@ -520,22 +524,22 @@ body {
.userinfolt .userinfolt
{ {
background-image: url(../images/userbacklt.png); background-image: url(../images/userbacklt.png);
width: 20px; width: 20px;
height: 25px; height: 25px;
} }
.userinfomid .userinfomid
{ {
background-image: url(../images/userback.png); background-image: url(../images/userback.png);
background-repeat: repeat-x; background-repeat: repeat-x;
color: #000000; color: #000000;
} }
.userinfort .userinfort
{ {
background-image: url(../images/userbackrt.png); background-image: url(../images/userbackrt.png);
width: 20px; width: 20px;
} }

View File

@ -492,7 +492,7 @@ class bo_resources
case 'gen_src': case 'gen_src':
default : default :
$picture = $GLOBALS['egw_info']['server']['webserver_url'].$this->resource_icons; $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; return $picture;
} }

View File

@ -219,8 +219,8 @@ class ui_resources
if ($res_id > 0) if ($res_id > 0)
{ {
$content = $this->bo->read($res_id); $content = $this->bo->read($res_id);
$content['gen_src_list'] = strstr($content['picture_src'],'.') ? $content['picture_src'] : false; $content['gen_src_list'] = strpos($content['picture_src'],'.') !== false ? $content['picture_src'] : false;
$content['picture_src'] = strstr($content['picture_src'],'.') ? 'gen_src' : $content['picture_src']; $content['picture_src'] = strpos($content['picture_src'],'.') !== false ? 'gen_src' : $content['picture_src'];
$content['link_to'] = array( $content['link_to'] = array(
'to_id' => $res_id, 'to_id' => $res_id,
'to_app' => 'resources' 'to_app' => 'resources'
@ -310,8 +310,8 @@ class ui_resources
$content = array('res_id' => $res_id); $content = array('res_id' => $res_id);
$content = $this->bo->read($res_id); $content = $this->bo->read($res_id);
$content['gen_src_list'] = strstr($content['picture_src'],'.') ? $content['picture_src'] : false; $content['gen_src_list'] = strpos($content['picture_src'],'.') !== false ? $content['picture_src'] : false;
$content['picture_src'] = strstr($content['picture_src'],'.') ? 'gen_src' : $content['picture_src']; $content['picture_src'] = strpos($content['picture_src'],'.') !== false ? 'gen_src' : $content['picture_src'];
$content['link_to'] = array( $content['link_to'] = array(
'to_id' => $res_id, 'to_id' => $res_id,
'to_app' => 'resources' 'to_app' => 'resources'

View File

@ -323,7 +323,7 @@ class botimesheet extends so_sql
if ($only_summary) return $this->summary; 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'))) $this->db->capabilities['union'] && ($from_unixtime_ts_start = $this->db->from_unixtime('ts_start')))
{ {
$sum_sql = array( $sum_sql = array(

View File

@ -86,7 +86,7 @@ class uitimesheet extends botimesheet
); );
} }
$referer = preg_match('/menuaction=([^&]+)/',$_SERVER['HTTP_REFERER'],$matches) ? $matches[1] : $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 else
{ {
@ -635,6 +635,9 @@ class uitimesheet extends botimesheet
if (!is_array($projects)) $projects = array(); if (!is_array($projects)) $projects = array();
$sel_options['ts_project'] = $projects + array(lang('No project')); $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); return $etpl->exec(TIMESHEET_APP.'.uitimesheet.index',$content,$sel_options,$readonlys,$preserv);
} }