0)
- tt_w = tt_aV[WIDTH];
- else
- {
- tt_w = tt_GetDivW(tt_aElt[3]) + tt_GetDivW(tt_aElt[4]);
- // Some spacing between title DIV and closebutton
- if(tt_aElt[4])
- tt_w += pad;
- // Restrict auto width to max width
- if(tt_aV[WIDTH] < -1 && tt_w > -tt_aV[WIDTH])
- tt_w = -tt_aV[WIDTH];
- }
// Ensure the top border of the body DIV be covered by the title DIV
iOffY = -wBrd;
}
else
{
- tt_w = 0;
iOffY = 0;
}
+
+ tt_w = Math.abs(tt_aV[WIDTH]);
//-------- Body DIV ------------
css = tt_aElt[5].style;
@@ -802,27 +789,37 @@ function tt_FormatTip()
tt_SetTipOpa(tt_aV[FADEIN] ? 0 : tt_aV[OPACITY]);
tt_FixSize(iOffY, iOffSh);
}
+
+function tt_set_elem_maxwidth(elem, w)
+{
+ if (tt_ie56)
+ elem.style.width = w + "px";
+ else
+ elem.style.maxWidth = w + "px";
+}
+
// Fixate the size so it can't dynamically change while the tooltip is moving.
function tt_FixSize(iOffY, iOffSh)
{
var wIn, wOut, h, add, pad = tt_aV[PADDING], wBrd = tt_aV[BORDERWIDTH], i;
- tt_aElt[0].style.width = tt_w + "px";
- tt_aElt[0].style.pixelWidth = tt_w;
+ tt_set_elem_maxwidth(tt_aElt[0], tt_w);
wOut = tt_w - ((tt_aV[SHADOW]) ? tt_aV[SHADOWWIDTH] : 0);
// Body
wIn = wOut;
if(!tt_bBoxOld)
wIn -= (pad + wBrd) << 1;
- tt_aElt[5].style.width = wIn + "px";
+
+ tt_set_elem_maxwidth(tt_aElt[5], wIn);
// Title
if(tt_aElt[1])
{
wIn = wOut - ((tt_aV[TITLEPADDING] + 2) << 1);
if(!tt_bBoxOld)
wOut = wIn;
- tt_aElt[1].style.width = wOut + "px";
- tt_aElt[2].style.width = wIn + "px";
+
+ tt_set_elem_maxwidth(tt_aElt[1], wOut);
+ tt_set_elem_maxwidth(tt_aElt[2], wIn);
}
// Max height specified
if(tt_h)
@@ -832,6 +829,7 @@ function tt_FixSize(iOffY, iOffSh)
{
if(!tt_bBoxOld)
tt_h -= (pad + wBrd) << 1;
+
tt_aElt[5].style.height = tt_h + "px";
}
}
@@ -842,7 +840,7 @@ function tt_FixSize(iOffY, iOffSh)
i = tt_aElt.length - 1;
if(tt_aElt[i])
{
- tt_aElt[i].style.width = tt_w + "px";
+ tt_set_elem_maxwidth(tt_aElt[i], tt_w);
tt_aElt[i].style.height = tt_h + "px";
}
}
@@ -954,11 +952,12 @@ function tt_Show()
if(tt_aV[DURATION] > 0)
tt_tDurt.Timer("tt_HideInit()", tt_aV[DURATION], true);
tt_ExtCallFncs(0, "Show")
- css.visibility = "visible";
+ css.display = "block";
tt_iState |= 0x2;
if(tt_aV[FADEIN])
tt_Fade(0, 0, tt_aV[OPACITY], Math.round(tt_aV[FADEIN] / tt_aV[FADEINTERVAL]));
tt_ShowIfrm();
+ tt_AdjustTipSize();
}
function tt_ShowIfrm()
{
@@ -1135,6 +1134,25 @@ function tt_Fade(a, now, z, n)
}
now ? tt_SetTipOpa(now) : tt_Hide();
}
+
+function tt_AdjustTipSize()
+{
+ //As this function is called on fade in, adjust the width of the div, when using ie56
+ if ((tt_aV[WIDTH] < 0) && tt_ie56) //!!!!!!! replace true with tt_ie56
+ {
+ var elm = tt_GetElt('WzBoDyI');
+ if (elm)
+ {
+ var w = tt_GetDivW(elm);
+ if ((w > 10) && (w < -tt_aV[WIDTH]))
+ {
+ tt_w = w;
+ tt_FixSize(0, 0);
+ }
+ }
+ }
+}
+
function tt_SetTipOpa(opa)
{
// To circumvent the opacity nesting flaws of IE, we set the opacity
@@ -1233,15 +1251,15 @@ function tt_SetOpa(el, opa)
el.filtNo = css.filter;
// 2.) A DIV cannot be made visible in a single step if an
// opacity < 100 has been applied while the DIV was hidden
- var bVis = css.visibility != "hidden";
+ var bVis = css.display != "none";
// 3.) In IE6, applying an opacity < 100 has no effect if the
// element has no layout (position, size, zoom, ...)
css.zoom = "100%";
if(!bVis)
- css.visibility = "visible";
+ css.display = "block";
css.filter = "alpha(opacity=" + opa + ")";
if(!bVis)
- css.visibility = "hidden";
+ css.display = "none";
}
else if(typeof(el.filtNo) != tt_u)
// Restore 'non-filter'
From c93b76987ad3307ec94fa2969875db818a43363a Mon Sep 17 00:00:00 2001
From: Klaus Leithoff
Date: Fri, 16 Apr 2010 13:24:58 +0000
Subject: [PATCH 11/97] enable create of recurreence for weekdays only for
recur_type weekly (conditional enabling/disabling weekday selection area)
provided by andreas stoeckel
---
calendar/inc/class.calendar_uiforms.inc.php | 13 +++++++-
calendar/setup/etemplates.inc.php | 4 +--
calendar/templates/default/edit.xet | 4 +--
phpgwapi/js/jsapi/jsapi.js | 36 +++++++++++++++++++++
4 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/calendar/inc/class.calendar_uiforms.inc.php b/calendar/inc/class.calendar_uiforms.inc.php
index 7a275c675d..721d2005c6 100644
--- a/calendar/inc/class.calendar_uiforms.inc.php
+++ b/calendar/inc/class.calendar_uiforms.inc.php
@@ -1070,9 +1070,14 @@ class calendar_uiforms extends calendar_ui
}
else
{
+ //Add the check_recur_type function to onload, which disables recur_data function
+ //if recur_type is not repeat weekly.
+ $onload = "check_recur_type('recur_type',2);";
// We hide the enddate if one of our predefined durations fits
// the call to set_style_by_class has to be in onload, to make sure the function and the element is already created
- $GLOBALS['egw']->js->set_onload("set_style_by_class('table','end_hide','display','".($content['duration'] && isset($sel_options['duration'][$content['duration']]) ? 'none' : 'block')."');");
+ $onload .= " set_style_by_class('table','end_hide','display','".($content['duration'] && isset($sel_options['duration'][$content['duration']]) ? 'none' : 'block')."');";
+
+ $GLOBALS['egw']->js->set_onload($onload);
$readonlys['recur_exception'] = !count($content['recur_exception']); // otherwise we get a delete button
@@ -1147,6 +1152,12 @@ class calendar_uiforms extends calendar_ui
. (!$event['id'] ? lang('Add')
: ($view ? ($content['edit_single'] ? lang('View exception') : ($content['recur_type'] ? lang('View series') : lang('View')))
: ($content['edit_single'] ? lang('Create exception') : ($content['recur_type'] ? lang('Edit series') : lang('Edit')))));
+
+ //Function for disabling the recur_data multiselect box
+ $js .=
+ "\nfunction check_recur_type(_id, _ind)\n{\negw_set_checkbox_multiselect_enabled('recur_data',".
+ "document.getElementById('exec['+_id+']').selectedIndex == _ind);\n}\n";
+
$GLOBALS['egw_info']['flags']['java_script'] .= "\n";
$content['cancel_needs_refresh'] = (bool)$_GET['cancel_needs_refresh'];
diff --git a/calendar/setup/etemplates.inc.php b/calendar/setup/etemplates.inc.php
index 094d404347..9fc2227cad 100644
--- a/calendar/setup/etemplates.inc.php
+++ b/calendar/setup/etemplates.inc.php
@@ -2,7 +2,7 @@
/**
* eGroupWare - eTemplates for Application calendar
* http://www.egroupware.org
- * generated by soetemplate::dump4setup() 2010-04-16 12:15
+ * generated by soetemplate::dump4setup() 2010-04-16 15:15
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package calendar
@@ -35,7 +35,7 @@ $templ_data[] = array('name' => 'calendar.edit.participants','template' => '','l
$templ_data[] = array('name' => 'calendar.edit.print','template' => '','lang' => '','group' => '0','version' => '1.6.001','data' => 'a:1:{i:0;a:7:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:6:{s:1:"A";s:2:"95";s:2:"c3";s:4:",top";s:2:"c1";s:3:"row";s:2:"c2";s:2:"th";s:2:"h1";s:8:",@no_add";s:1:"D";s:24:",@hide_status_recurrence";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"New";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:14:"select-account";s:4:"size";s:27:"User or group,calendar+,,10";s:4:"name";s:7:"account";s:4:"help";s:13:"User or group";}i:2;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:8:"resource";s:4:"size";s:14:"@cal_resources";}}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:8:"quantity";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:2;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Participants";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"Quantity";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"All future";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:6:{s:4:"type";s:5:"label";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:26:"accounts_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:13:"${row}[title]";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:3:"int";s:4:"name";s:16:"${row}[quantity]";s:4:"size";s:4:"1,,3";}s:1:"D";a:3:{s:4:"type";s:8:"checkbox";s:4:"name";s:25:"${row}[status_recurrence]";s:5:"align";s:6:"center";}s:1:"E";a:4:{s:4:"type";s:6:"select";s:4:"name";s:14:"${row}[status]";s:7:"no_lang";s:1:"1";s:8:"onchange";i:1;}s:1:"F";a:9:{s:4:"type";s:6:"button";s:4:"data";a:2:{i:0;a:1:{s:2:"h1";s:19:",!@resources_status";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:16:"resources_select";s:4:"name";s:6:"${row}";s:8:"readonly";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"select";s:4:"name";s:27:"resources_status[$row_cont]";s:8:"onchange";s:1:"1";s:4:"help";s:30:"Accept or reject an invitation";s:7:"no_lang";s:1:"1";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:22:"delete[$row_cont[uid]]";s:5:"align";s:6:"center";s:5:"label";s:6:"Delete";s:8:"onchange";i:1;s:4:"size";s:6:"delete";}}}s:4:"rows";i:3;s:4:"cols";i:6;s:4:"size";s:17:"100%,200,,,,,auto";s:4:"name";s:12:"participants";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"200";i:6;s:4:"auto";}}}','size' => '100%,200,,,,,auto','style' => '','modified' => '1229280346',);
-$templ_data[] = array('name' => 'calendar.edit.recurrence','template' => '','lang' => '','group' => '0','version' => '1.7.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:11:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:1:"D";s:3:"50%";s:2:"h1";s:12:",!@reference";s:2:"h3";s:2:"12";s:2:"c5";s:7:"row,top";s:2:"h4";s:2:"12";s:2:"h2";s:2:"12";s:2:"c2";s:2:"th";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"Exception";}s:1:"B";a:4:{s:4:"type";s:9:"date-time";s:4:"span";s:5:",gray";s:8:"readonly";s:1:"1";s:4:"name";s:10:"recurrence";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:4:"name";s:9:"reference";}s:1:"D";a:3:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:4:"name";s:3:"uid";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:8:"all,gray";s:5:"label";s:27:"Repeating Event Information";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"be back soon ;-)";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,recur_type";s:5:"label";s:11:"Repeat type";}s:1:"B";a:2:{s:4:"type";s:6:"select";s:4:"name";s:10:"recur_type";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:17:",,,recur_interval";s:5:"label";s:8:"Interval";}s:1:"D";a:4:{s:4:"type";s:13:"select-number";s:4:"name";s:14:"recur_interval";s:4:"help";s:53:"repeating interval, eg. 2 to repeat every second week";s:4:"size";s:9:"None,2,31";}}i:4;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:16:",,,recur_enddate";s:5:"label";s:8:"End date";}s:1:"B";a:3:{s:4:"type";s:4:"date";s:4:"name";s:13:"recur_enddate";s:4:"help";s:57:"repeat the event until which date (empty means unlimited)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,tzid";s:5:"label";s:8:"Timezone";}s:1:"D";a:3:{s:4:"type";s:15:"select-timezone";s:4:"name";s:4:"tzid";s:4:"help";s:49:"Timezone in which recurrences have identical time";}}i:5;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,recur_data";s:5:"label";s:11:"Repeat days";}s:1:"B";a:4:{s:4:"type";s:10:"select-dow";s:4:"size";s:3:"6,1";s:4:"name";s:10:"recur_data";s:4:"help";s:44:"Days of the week for a weekly repeated event";}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"Exceptions";}i:2;a:5:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[exception]";s:5:"label";s:16:"@exception_label";s:4:"help";s:38:"Create an exception for the given date";s:7:"no_lang";s:1:"1";}}s:1:"D";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:4:"$row";s:8:"readonly";s:1:"1";}s:1:"B";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"size";s:6:"delete";s:4:"name";s:27:"delete_exception[$row_cont]";s:4:"help";s:21:"Delete this exception";s:7:"onclick";s:40:"return confirm(\'Delete this exception\');";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:15:"recur_exception";s:7:"options";a:0:{}}}}s:4:"rows";i:5;s:4:"cols";i:4;s:4:"size";s:8:"100%,210";s:7:"options";a:2:{i:0;s:4:"100%";i:1;s:3:"210";}}}','size' => '100%,210','style' => '','modified' => '1210321464',);
+$templ_data[] = array('name' => 'calendar.edit.recurrence','template' => '','lang' => '','group' => '0','version' => '1.7.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:11:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:1:"D";s:3:"50%";s:2:"h1";s:12:",!@reference";s:2:"h3";s:2:"12";s:2:"c5";s:7:"row,top";s:2:"h4";s:2:"12";s:2:"h2";s:2:"12";s:2:"c2";s:2:"th";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"Exception";}s:1:"B";a:4:{s:4:"type";s:9:"date-time";s:4:"span";s:5:",gray";s:8:"readonly";s:1:"1";s:4:"name";s:10:"recurrence";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:4:"name";s:9:"reference";}s:1:"D";a:3:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:4:"name";s:3:"uid";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:8:"all,gray";s:5:"label";s:27:"Repeating Event Information";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"be back soon ;-)";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,recur_type";s:5:"label";s:11:"Repeat type";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:10:"recur_type";s:8:"onchange";s:34:"check_recur_type(\'recur_type\', 2);";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:17:",,,recur_interval";s:5:"label";s:8:"Interval";}s:1:"D";a:4:{s:4:"type";s:13:"select-number";s:4:"name";s:14:"recur_interval";s:4:"help";s:53:"repeating interval, eg. 2 to repeat every second week";s:4:"size";s:9:"None,2,31";}}i:4;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:16:",,,recur_enddate";s:5:"label";s:8:"End date";}s:1:"B";a:3:{s:4:"type";s:4:"date";s:4:"name";s:13:"recur_enddate";s:4:"help";s:57:"repeat the event until which date (empty means unlimited)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,tzid";s:5:"label";s:8:"Timezone";}s:1:"D";a:3:{s:4:"type";s:15:"select-timezone";s:4:"name";s:4:"tzid";s:4:"help";s:49:"Timezone in which recurrences have identical time";}}i:5;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,recur_data";s:5:"label";s:11:"Repeat days";}s:1:"B";a:4:{s:4:"type";s:10:"select-dow";s:4:"size";s:3:"6,1";s:4:"name";s:10:"recur_data";s:4:"help";s:44:"Days of the week for a weekly repeated event";}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"Exceptions";}i:2;a:5:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[exception]";s:5:"label";s:16:"@exception_label";s:4:"help";s:38:"Create an exception for the given date";s:7:"no_lang";s:1:"1";}}s:1:"D";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:4:"$row";s:8:"readonly";s:1:"1";}s:1:"B";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"size";s:6:"delete";s:4:"name";s:27:"delete_exception[$row_cont]";s:4:"help";s:21:"Delete this exception";s:7:"onclick";s:40:"return confirm(\'Delete this exception\');";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:15:"recur_exception";s:7:"options";a:0:{}}}}s:4:"rows";i:5;s:4:"cols";i:4;s:4:"size";s:8:"100%,210";s:7:"options";a:2:{i:0;s:4:"100%";i:1;s:3:"210";}}}','size' => '100%,210','style' => '','modified' => '1210321464',);
$templ_data[] = array('name' => 'calendar.edit_series','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:10:{s:4:"type";s:8:"groupbox";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:67:"Do you want to edit this event as an exception or the whole series?";}s:5:"label";s:30:"This event is part of a series";i:2;a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:14:"Edit exception";s:7:"onclick";s:17:"open_edit(false);";}i:2;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:11:"Edit series";s:7:"onclick";s:16:"open_edit(true);";}i:3;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:62:"document.getElementById(\'edit_series\').style.display = \'none\';";}s:5:"align";s:6:"center";}s:4:"span";s:11:",editSeries";s:4:"name";s:11:"edit_series";}}','size' => '','style' => '#edit_series {
position: absolute;
diff --git a/calendar/templates/default/edit.xet b/calendar/templates/default/edit.xet
index e9696a797f..fb79c2213f 100644
--- a/calendar/templates/default/edit.xet
+++ b/calendar/templates/default/edit.xet
@@ -119,7 +119,7 @@
.selectRole select { width: 100%; }
-
+
@@ -143,7 +143,7 @@
-
+
diff --git a/phpgwapi/js/jsapi/jsapi.js b/phpgwapi/js/jsapi/jsapi.js
index 4316838756..027488633b 100644
--- a/phpgwapi/js/jsapi/jsapi.js
+++ b/phpgwapi/js/jsapi/jsapi.js
@@ -39,6 +39,42 @@ else if (document.layers)
is_ns4 = true;
}
+function egw_set_checkbox_multiselect_enabled(_id, _enabled)
+{
+ //Retrieve the checkbox_multiselect base div
+ var ms = document.getElementById('exec['+_id+']');
+ if (ms !== null)
+ {
+ //Set the background color
+ var label_color = "";
+ if (_enabled)
+ {
+ ms.style.backgroundColor = "white";
+ label_color = "black";
+ }
+ else
+ {
+ ms.style.backgroundColor = "#EEEEEE";
+ label_color = "gray"
+ }
+
+ //Enable/Disable all children input elements
+ for (var i = 0; i = 1) &&
+ (ms.childNodes[i].childNodes[0].nodeName == 'INPUT'))
+ {
+ ms.childNodes[i].childNodes[0].disabled = !_enabled;
+ ms.childNodes[i].childNodes[0].checked &= _enabled;
+ }
+ }
+ }
+ }
+}
+
// works only correctly in Mozilla/FF and Konqueror
function egw_openWindowCentered2(_url, _windowName, _width, _height, _status)
{
From 2ce6c9ecbb2a316eb9e3fa48135edcf70a4466bb Mon Sep 17 00:00:00 2001
From: Ralf Becker
Date: Fri, 16 Apr 2010 13:30:38 +0000
Subject: [PATCH 12/97] "support for Mandriva mailaccount schema for group
email addresses "
---
phpgwapi/inc/class.accounts_ldap.inc.php | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/phpgwapi/inc/class.accounts_ldap.inc.php b/phpgwapi/inc/class.accounts_ldap.inc.php
index 2bfefb4aac..cfe6f328ce 100644
--- a/phpgwapi/inc/class.accounts_ldap.inc.php
+++ b/phpgwapi/inc/class.accounts_ldap.inc.php
@@ -96,8 +96,9 @@ class accounts_ldap
*/
var $group_mail_classes = array(
'dbmailforwardingaddress' => 'mailforwardingaddress',
- 'dbmailuser' => 'mailforwardingaddress',
- 'qmailuser' => 'mailforwardingaddress',
+ 'dbmailuser' => array('mailforwardingaddress','uid'),
+ 'qmailuser' => array('mailforwardingaddress','uid'),
+ 'mailaccount' => 'mailalias',
);
/**
@@ -270,6 +271,8 @@ class accounts_ldap
if ($this->ldapServerInfo->supportsObjectClass($objectclass) &&
($old && in_array($objectclass,$old['objectclass']) || $data_utf8['account_email'] || $old['mail']))
{
+ $extra_attr = false;
+ if (is_array($forward)) list($forward,$extra_attr) = each($forward);
if ($data_utf8['account_email']) // setting an email
{
if (!in_array($objectclass,$old ? $old['objectclass'] : $to_write['objectclass']))
@@ -277,7 +280,7 @@ class accounts_ldap
if ($old) $to_write['objectclass'] = $old['objectclass'];
$to_write['objectclass'][] = $objectclass;
}
- if ($objectclass != 'dbmailforwardingaddress') $to_write['uid'] = $data_utf8['account_lid'];
+ if ($extra_attr) $to_write[$extra_attr] = $data_utf8['account_lid'];
$to_write['mail'] = $data_utf8['account_email'];
if (!$members) $members = $this->members($data['account_id']);
@@ -293,7 +296,7 @@ class accounts_ldap
elseif($old) // remove the mail and forwards only for existing entries
{
$to_write['mail'] = $to_write[$forward] = array();
- if ($objectclass != 'dbmailforwardingaddress') $to_write['uid'] = array();
+ if ($extra_attr) $to_write[$extra_attr] = array();
if (($key = array_search($objectclass,$old['objectclass'])))
{
$to_write['objectclass'] = $old['objectclass'];
@@ -346,6 +349,7 @@ class accounts_ldap
}
if ($err)
{
+ error_log(__METHOD__."() ldap_".($old ? 'modify' : 'add')."(,'$dn',".array2string($to_write).") --> ldap_error()=".ldap_error($this->ds));
echo "ldap_".($old ? 'modify' : 'add')."(,$dn,".print_r($to_write,true).")\n";
echo ldap_error($this->ds);
return false;
From 8d5e509672efcf5d94614467ac7cd81b58422776 Mon Sep 17 00:00:00 2001
From: Klaus Leithoff
Date: Fri, 16 Apr 2010 13:48:36 +0000
Subject: [PATCH 13/97] fix another tooltip problem (tooltips at the edge of
the screen get misplaced) provided by andreas stoeckel
---
phpgwapi/js/wz_tooltip/wz_tooltip.js | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/phpgwapi/js/wz_tooltip/wz_tooltip.js b/phpgwapi/js/wz_tooltip/wz_tooltip.js
index 988a1997af..c909588776 100644
--- a/phpgwapi/js/wz_tooltip/wz_tooltip.js
+++ b/phpgwapi/js/wz_tooltip/wz_tooltip.js
@@ -1138,7 +1138,7 @@ function tt_Fade(a, now, z, n)
function tt_AdjustTipSize()
{
//As this function is called on fade in, adjust the width of the div, when using ie56
- if ((tt_aV[WIDTH] < 0) && tt_ie56) //!!!!!!! replace true with tt_ie56
+ if (tt_aV[WIDTH] < 0)
{
var elm = tt_GetElt('WzBoDyI');
if (elm)
@@ -1148,6 +1148,12 @@ function tt_AdjustTipSize()
{
tt_w = w;
tt_FixSize(0, 0);
+ nmpx = tt_GetClientW() + tt_GetScrollX() - tt_w - 1;
+ if (nmpx != tt_maxPosX)
+ {
+ tt_maxPosX = nmpx;
+ tt_SetTipPos(tt_Pos(0), tt_Pos(1));
+ }
}
}
}
From 851f017d1dcf9918e2f73f5f32ad641dccbda09e Mon Sep 17 00:00:00 2001
From: Klaus Leithoff
Date: Fri, 16 Apr 2010 14:21:13 +0000
Subject: [PATCH 14/97] fix for absolute position of new edit-series-dialog;
provided by andreas stoeckel
---
calendar/setup/etemplates.inc.php | 8 ++++----
calendar/templates/default/edit_series.xet | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/calendar/setup/etemplates.inc.php b/calendar/setup/etemplates.inc.php
index 9fc2227cad..5b963c5e5e 100644
--- a/calendar/setup/etemplates.inc.php
+++ b/calendar/setup/etemplates.inc.php
@@ -2,7 +2,7 @@
/**
* eGroupWare - eTemplates for Application calendar
* http://www.egroupware.org
- * generated by soetemplate::dump4setup() 2010-04-16 15:15
+ * generated by soetemplate::dump4setup() 2010-04-16 16:12
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package calendar
@@ -37,8 +37,8 @@ $templ_data[] = array('name' => 'calendar.edit.print','template' => '','lang' =>
$templ_data[] = array('name' => 'calendar.edit.recurrence','template' => '','lang' => '','group' => '0','version' => '1.7.003','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:11:{s:2:"c1";s:3:"row";s:1:"A";s:2:"95";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:1:"D";s:3:"50%";s:2:"h1";s:12:",!@reference";s:2:"h3";s:2:"12";s:2:"c5";s:7:"row,top";s:2:"h4";s:2:"12";s:2:"h2";s:2:"12";s:2:"c2";s:2:"th";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"Exception";}s:1:"B";a:4:{s:4:"type";s:9:"date-time";s:4:"span";s:5:",gray";s:8:"readonly";s:1:"1";s:4:"name";s:10:"recurrence";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:4:"name";s:9:"reference";}s:1:"D";a:3:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:4:"name";s:3:"uid";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:8:"all,gray";s:5:"label";s:27:"Repeating Event Information";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"be back soon ;-)";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,recur_type";s:5:"label";s:11:"Repeat type";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:10:"recur_type";s:8:"onchange";s:34:"check_recur_type(\'recur_type\', 2);";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:17:",,,recur_interval";s:5:"label";s:8:"Interval";}s:1:"D";a:4:{s:4:"type";s:13:"select-number";s:4:"name";s:14:"recur_interval";s:4:"help";s:53:"repeating interval, eg. 2 to repeat every second week";s:4:"size";s:9:"None,2,31";}}i:4;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:16:",,,recur_enddate";s:5:"label";s:8:"End date";}s:1:"B";a:3:{s:4:"type";s:4:"date";s:4:"name";s:13:"recur_enddate";s:4:"help";s:57:"repeat the event until which date (empty means unlimited)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,tzid";s:5:"label";s:8:"Timezone";}s:1:"D";a:3:{s:4:"type";s:15:"select-timezone";s:4:"name";s:4:"tzid";s:4:"help";s:49:"Timezone in which recurrences have identical time";}}i:5;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,recur_data";s:5:"label";s:11:"Repeat days";}s:1:"B";a:4:{s:4:"type";s:10:"select-dow";s:4:"size";s:3:"6,1";s:4:"name";s:10:"recur_data";s:4:"help";s:44:"Days of the week for a weekly repeated event";}s:1:"C";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:10:"Exceptions";}i:2;a:5:{s:4:"type";s:6:"button";s:4:"name";s:17:"button[exception]";s:5:"label";s:16:"@exception_label";s:4:"help";s:38:"Create an exception for the given date";s:7:"no_lang";s:1:"1";}}s:1:"D";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:4:"$row";s:8:"readonly";s:1:"1";}s:1:"B";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"size";s:6:"delete";s:4:"name";s:27:"delete_exception[$row_cont]";s:4:"help";s:21:"Delete this exception";s:7:"onclick";s:40:"return confirm(\'Delete this exception\');";}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"name";s:15:"recur_exception";s:7:"options";a:0:{}}}}s:4:"rows";i:5;s:4:"cols";i:4;s:4:"size";s:8:"100%,210";s:7:"options";a:2:{i:0;s:4:"100%";i:1;s:3:"210";}}}','size' => '100%,210','style' => '','modified' => '1210321464',);
-$templ_data[] = array('name' => 'calendar.edit_series','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:10:{s:4:"type";s:8:"groupbox";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:67:"Do you want to edit this event as an exception or the whole series?";}s:5:"label";s:30:"This event is part of a series";i:2;a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:14:"Edit exception";s:7:"onclick";s:17:"open_edit(false);";}i:2;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:11:"Edit series";s:7:"onclick";s:16:"open_edit(true);";}i:3;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:62:"document.getElementById(\'edit_series\').style.display = \'none\';";}s:5:"align";s:6:"center";}s:4:"span";s:11:",editSeries";s:4:"name";s:11:"edit_series";}}','size' => '','style' => '#edit_series {
- position: absolute;
+$templ_data[] = array('name' => 'calendar.edit_series','template' => '','lang' => '','group' => '0','version' => '1.7.002','data' => 'a:1:{i:0;a:10:{s:4:"type";s:8:"groupbox";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:67:"Do you want to edit this event as an exception or the whole series?";}s:5:"label";s:30:"This event is part of a series";i:2;a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:14:"Edit exception";s:7:"onclick";s:17:"open_edit(false);";}i:2;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:11:"Edit series";s:7:"onclick";s:16:"open_edit(true);";}i:3;a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:6:"Cancel";s:7:"onclick";s:62:"document.getElementById(\'edit_series\').style.display = \'none\';";}s:5:"align";s:6:"center";}s:4:"span";s:11:",editSeries";s:4:"name";s:11:"edit_series";}}','size' => '','style' => '#edit_series {
+ position: fixed;
top: 200px;
left: 500px;
background-color: white;
@@ -51,7 +51,7 @@ $templ_data[] = array('name' => 'calendar.edit_series','template' => '','lang' =
}
#edit_series legend {
font-weight: bold;
-}','modified' => '1271341538',);
+}','modified' => '1271427082',);
$templ_data[] = array('name' => 'calendar.export','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:8:{i:0;a:2:{s:2:"h5";s:2:",1";s:2:"h1";s:6:",!@msg";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:11:"all,message";s:4:"name";s:3:"msg";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,start";s:5:"label";s:5:"Start";}s:1:"B";a:3:{s:4:"type";s:4:"date";s:4:"name";s:5:"start";s:4:"help";s:23:"Startdate of the export";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:6:",,,end";s:5:"label";s:3:"End";}s:1:"B";a:3:{s:4:"type";s:4:"date";s:4:"name";s:3:"end";s:4:"help";s:21:"Enddate of the export";}}i:4;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,file";s:5:"label";s:8:"Filename";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"file";s:4:"help";s:24:"Filename of the download";}}i:5;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:10:",,,version";s:5:"label";s:7:"Version";}s:1:"B";a:2:{s:4:"type";s:6:"select";s:4:"name";s:7:"version";}}i:6;a:2:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:3:{s:4:"type";s:6:"button";s:5:"label";s:8:"Download";s:4:"name";s:8:"download";}}i:7;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:7;s:4:"cols";i:2;s:5:"align";s:6:"center";s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1130738737',);
diff --git a/calendar/templates/default/edit_series.xet b/calendar/templates/default/edit_series.xet
index 664d5a1674..28ad295a60 100644
--- a/calendar/templates/default/edit_series.xet
+++ b/calendar/templates/default/edit_series.xet
@@ -1,7 +1,7 @@
-
+
@@ -13,7 +13,7 @@
#edit_series {
- position: absolute;
+ position: fixed;
top: 200px;
left: 500px;
background-color: white;
From 9b441faaf17e1ea4df0ae9ea078b4a20577844d1 Mon Sep 17 00:00:00 2001
From: Klaus Leithoff
Date: Fri, 16 Apr 2010 14:30:21 +0000
Subject: [PATCH 15/97] fixing warning regarding template->show
---
calendar/inc/class.calendar_uiviews.inc.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/calendar/inc/class.calendar_uiviews.inc.php b/calendar/inc/class.calendar_uiviews.inc.php
index 6dd5cb6857..6f8f4d6d55 100644
--- a/calendar/inc/class.calendar_uiviews.inc.php
+++ b/calendar/inc/class.calendar_uiviews.inc.php
@@ -630,7 +630,7 @@ class calendar_uiviews extends calendar_ui
$tpl = new etemplate('calendar.edit_series');
- return $tpl->show().' |