diff --git a/infolog/inc/class.infolog_tracking.inc.php b/infolog/inc/class.infolog_tracking.inc.php index 26d8951432..0bd5cf2e4f 100644 --- a/infolog/inc/class.infolog_tracking.inc.php +++ b/infolog/inc/class.infolog_tracking.inc.php @@ -60,6 +60,7 @@ class infolog_tracking extends bo_tracking 'info_startdate' => 'st', 'info_enddate' => 'En', 'info_responsible' => 'Re', + 'info_cc' => 'cc', 'info_subject' => 'Su', 'info_des' => 'De', 'info_location' => 'Lo', @@ -96,6 +97,7 @@ class infolog_tracking extends bo_tracking 'info_startdate' => 'Startdate', 'info_enddate' => 'Enddate', 'info_responsible' => 'Responsible', + 'info_cc' => 'Cc', // PM fields 'info_planned_time' => 'planned time', 'info_used_time' => 'used time', @@ -321,4 +323,31 @@ class infolog_tracking extends bo_tracking return parent::save_history($data,$old); } + + /** + * Get a notification-config value + * + * @param string $what + * - 'copy' array of email addresses notifications should be copied too, can depend on $data + * - 'lang' string lang code for copy mail + * - 'sender' string send email address + * @param array $data current entry + * @param array $old=null old/last state of the entry or null for a new entry + * @return mixed + */ + function get_config($name,$data,$old=null) + { + $config = array(); + switch($name) + { + case 'copy': // include the info_cc addresses + if ($data['info_access'] == 'private') return array(); // no copies for private entries + if ($data['info_cc']) + { + $config = array_merge($config,preg_split('/, ?/',$data['info_cc'])); + } + break; + } + return $config; + } } diff --git a/infolog/inc/class.infolog_ui.inc.php b/infolog/inc/class.infolog_ui.inc.php index f05b582503..54b57c742c 100644 --- a/infolog/inc/class.infolog_ui.inc.php +++ b/infolog/inc/class.infolog_ui.inc.php @@ -1649,6 +1649,7 @@ class infolog_ui { $readonlys[$tabs]['history'] = true; } + egw_framework::validate_file('.','edit','infolog'); $GLOBALS['egw_info']['flags']['app_header'] = lang('InfoLog').' - '. ($content['status_only'] ? lang('Edit Status') : lang('Edit')); $GLOBALS['egw_info']['flags']['params']['manual'] = array('page' => ($info_id ? 'ManualInfologEdit' : 'ManualInfologAdd')); diff --git a/infolog/js/edit.js b/infolog/js/edit.js new file mode 100644 index 0000000000..0aacd3dc87 --- /dev/null +++ b/infolog/js/edit.js @@ -0,0 +1,28 @@ +/** + * Javascript used on the infolog edit popup + */ + +function add_email_from_ab(ab_id,info_cc) +{ + var ab = document.getElementById(ab_id); + + if (!ab || !ab.value) + { + set_style_by_class('tr','hiddenRow','display','block'); + } + else + { + var cc = document.getElementById(info_cc); + + for(var i=0; i < ab.options.length && ab.options[i].value != ab.value; ++i) ; + + if (i < ab.options.length) + { + cc.value += (cc.value?', ':'')+ab.options[i].text.replace(/^.* <(.*)>$/,'$1'); + ab.value = ''; + ab.onchange(); + set_style_by_class('tr','hiddenRow','display','none'); + } + } + return false; +} diff --git a/infolog/setup/etemplates.inc.php b/infolog/setup/etemplates.inc.php index f9903d86fd..c1c728ab94 100644 --- a/infolog/setup/etemplates.inc.php +++ b/infolog/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * eGroupWare - eTemplates for Application infolog * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2011-01-26 13:11 + * generated by soetemplate::dump4setup() 2011-03-08 11:28 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package infolog @@ -24,12 +24,15 @@ $templ_data[] = array('name' => 'infolog.customfields.status','template' => '',' $templ_data[] = array('name' => 'infolog.delete','template' => '','lang' => '','group' => '0','version' => '1.0.1.002','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:3:{s:2:"h3";s:2:"30";s:2:"h4";s:2:"50";s:2:"c3";s:7:",bottom";}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"main";s:5:"align";s:6:"center";s:4:"name";s:27:"infolog.index.rows-noheader";}}i:3;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",headertext";s:5:"label";s:45:"Are you shure you want to delete this entry ?";s:5:"align";s:6:"center";}}i:4;a:1:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:12:"Yes - Delete";s:4:"name";s:6:"delete";s:4:"help";s:75:"Sub-entries become subs of the parent or main entries, if there\'s no parent";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:34:"Yes - Delete including sub-entries";s:4:"name";s:11:"delete_subs";s:4:"help";s:44:"Delete this entry and all listed sub-entries";}s:5:"align";s:6:"center";i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:11:"No - Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:22:"Abort without deleting";}}}i:5;a:1:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:20:"infolog.index.rows,1";s:4:"span";s:3:"all";s:4:"name";s:2:"nm";}}}s:4:"rows";i:5;s:4:"cols";i:1;s:4:"size";s:12:"100%,,0,,0,0";}}','size' => '100%,,0,,0,0','style' => '','modified' => '1131742953',); $templ_data[] = array('name' => 'infolog.edit','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:13:{i:0;a:19:{s:1:"A";s:3:"103";s:1:"B";s:3:"260";s:1:"C";s:3:"140";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:2:"c8";s:6:"row_on";s:2:"c9";s:3:"row";s:2:"c7";s:2:"th";s:2:"c6";s:4:",top";s:2:"c5";s:3:"row";s:2:"c2";s:2:"th";s:2:"h6";s:3:"250";s:2:"h7";s:2:",1";s:2:"h2";s:2:"28";s:2:"h1";s:6:",!@msg";s:3:"c11";s:3:"row";s:3:"h11";s:13:",!@info_owner";s:3:"c10";s:3:"row";s:1:"D";s:3:"27%";}i:1;a:4:{s:1:"A";a:5:{s:4:"type";s:4:"html";s:4:"span";s:13:"all,redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";s:7:"no_lang";s:1:"1";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";s:4:"size";s:12:",,,info_type";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:3:"all";s:4:"size";s:6:"2,,0,0";i:1;a:5:{s:4:"type";s:6:"select";s:4:"name";s:9:"info_type";s:8:"onchange";i:1;s:4:"help";s:46:"Type of the log-entry: Note, Phonecall or ToDo";s:7:"no_lang";s:1:"1";}i:2;a:4:{s:4:"type";s:3:"int";s:4:"name";s:11:"info_number";s:4:"span";s:7:",infoId";s:8:"readonly";s:1:"1";}}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:5:"label";s:7:"Contact";s:4:"size";s:12:",,,info_from";}s:1:"B";a:38:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:10:"link-entry";s:4:"name";s:12:"info_contact";s:4:"span";s:7:",noWrap";}i:2;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:16:"info_custom_from";s:8:"onchange";s:91:"document.getElementById(form::name(\'info_from\')).style.display=this.checked?\'block\':\'none\';";s:4:"help";s:31:"Check to specify custom contact";}}i:2;a:6:{s:4:"type";s:4:"text";s:4:"size";s:6:"36,255";s:4:"name";s:9:"info_from";s:4:"help";s:80:"Custom contact-information, leave emtpy to use information from most recent link";s:4:"blur";s:11:"@blur_title";s:4:"span";s:21:",$cont[hide_from_css]";}i:3;a:1:{s:4:"type";s:5:"label";}i:4;a:1:{s:4:"type";s:5:"label";}i:5;a:1:{s:4:"type";s:5:"label";}i:6;a:1:{s:4:"type";s:5:"label";}i:7;a:1:{s:4:"type";s:5:"label";}i:8;a:1:{s:4:"type";s:5:"label";}i:9;a:1:{s:4:"type";s:5:"label";}i:10;a:1:{s:4:"type";s:5:"label";}i:11;a:1:{s:4:"type";s:5:"label";}i:12;a:1:{s:4:"type";s:5:"label";}i:13;a:1:{s:4:"type";s:5:"label";}i:14;a:1:{s:4:"type";s:5:"label";}i:15;a:1:{s:4:"type";s:5:"label";}i:16;a:1:{s:4:"type";s:5:"label";}i:17;a:1:{s:4:"type";s:5:"label";}i:18;a:1:{s:4:"type";s:5:"label";}i:19;a:1:{s:4:"type";s:5:"label";}i:20;a:1:{s:4:"type";s:5:"label";}i:21;a:1:{s:4:"type";s:5:"label";}i:22;a:1:{s:4:"type";s:5:"label";}i:23;a:1:{s:4:"type";s:5:"label";}i:24;a:1:{s:4:"type";s:5:"label";}i:25;a:1:{s:4:"type";s:5:"label";}i:26;a:1:{s:4:"type";s:5:"label";}i:27;a:1:{s:4:"type";s:5:"label";}i:28;a:1:{s:4:"type";s:5:"label";}i:29;a:1:{s:4:"type";s:5:"label";}i:30;a:1:{s:4:"type";s:5:"label";}i:31;a:1:{s:4:"type";s:5:"label";}i:32;a:1:{s:4:"type";s:5:"label";}i:33;a:1:{s:4:"type";s:5:"label";}i:34;a:1:{s:4:"type";s:5:"label";}i:35;a:1:{s:4:"type";s:5:"label";}i:36;a:1:{s:4:"type";s:5:"label";}}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"size";s:12:",,,info_addr";s:5:"label";s:11:"Phone/Email";}s:1:"D";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"30,255";s:4:"name";s:9:"info_addr";s:4:"help";s:76:"Custom contact-address, leave empty to use information from most recent link";s:4:"span";s:15:",inputFullWidth";}}i:4;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:8:"Category";s:4:"size";s:11:",,,info_cat";}s:1:"B";a:4:{s:4:"type";s:10:"select-cat";s:4:"size";s:4:"None";s:4:"name";s:8:"info_cat";s:4:"help";s:32:"select a category for this entry";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Parent";}i:2;a:5:{s:4:"type";s:10:"link-entry";s:4:"size";s:7:"infolog";s:4:"name";s:14:"info_id_parent";s:5:"align";s:5:"right";s:4:"span";s:7:",noWrap";}s:4:"span";s:3:"all";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:5;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subject";s:4:"size";s:15:",,,info_subject";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:6:"80,255";s:4:"span";s:3:"all";s:4:"name";s:12:"info_subject";s:4:"help";s:29:"a short subject for the entry";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:6;a:4:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:64:"Description|Links|Delegation|Projectmanager|Customfields|History";s:4:"name";s:57:"description|links|delegation|project|customfields|history";s:4:"help";s:133:"longer textual description|Links of this entry|responsible user, priority|Project settings: price, times|Custom fields|Change history";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:7;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";s:5:"label";s:21:"Dates, Status, Access";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:8;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Startdate";s:4:"size";s:17:",,,info_startdate";}s:1:"B";a:4:{s:4:"type";s:9:"date-time";s:4:"size";s:2:",2";s:4:"name";s:14:"info_startdate";s:4:"help";s:115:"when should the ToDo or Phonecall be started, it shows up from that date in the filter open or own open (startpage)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Enddate";s:4:"size";s:15:",,,info_enddate";}s:1:"D";a:3:{s:4:"type";s:4:"date";s:4:"name";s:12:"info_enddate";s:4:"help";s:49:"til when should the ToDo or Phonecall be finished";}}i:9;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Status";s:4:"size";s:14:",,,info_status";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:11:"info_status";s:4:"help";s:12:"@status_help";s:8:"onchange";s:183:"if (this.value==\'done\' || this.value==\'billed\') set_element(this.form,\'exec[info_percent]\',\'100\'); else if (this.value==\'not-started\') set_element(this.form,\'exec[info_percent]\',\'0\');";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:9:"Completed";s:4:"size";s:15:",,,info_percent";}s:1:"D";a:4:{s:4:"type";s:14:"select-percent";s:4:"name";s:12:"info_percent";s:4:"help";s:17:"Percent completed";s:8:"onchange";s:570:"if (this.value==100 && this.form[\'exec[info_status]\'].value != \'done\' && this.form[\'exec[info_status]\'].value != \'billed\' && this.form[\'exec[info_status]\'].value != \'cancelled\') this.form[\'exec[info_status]\'].value=\'done\'; else if (this.value != 100 && this.form[\'exec[info_status]\'].value != \'cancelled\') this.form[\'exec[info_status]\'].value=this.value != 0 ? \'ongoing\' : \'not-started\'; else if (this.value==0 && this.form[\'exec[info_status]\'].value != \'cancelled\' && this.form[\'exec[info_status]\'].value != \'offer\') this.form[\'exec[info_status]\'].value=\'not-started\'; ";}}i:10;a:4:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:21:",,,info_datecompleted";s:5:"label";s:14:"Date completed";}s:1:"B";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:18:"info_datecompleted";s:4:"help";s:84:"Date completed (leave it empty to have it automatic set if status is done or billed)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Private";s:4:"size";s:14:",,,info_access";}s:1:"D";a:4:{s:4:"type";s:8:"checkbox";s:4:"size";s:14:"private,public";s:4:"name";s:11:"info_access";s:4:"help";s:87:"should this entry only be visible to you and people you grant privat access via the ACL";}}i:11;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Owner";}s:1:"B";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:10:"info_owner";s:8:"readonly";s:1:"1";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Last modified";}s:1:"D";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"2,0,0";i:1;a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:13:"info_modifier";s:8:"readonly";s:1:"1";}i:2;a:4:{s:4:"type";s:9:"date-time";s:4:"span";s:10:",lpadding5";s:4:"name";s:17:"info_datemodified";s:8:"readonly";s:1:"1";}}}i:12;a:4:{s:1:"A";a:9:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"6";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:16:"Saves this entry";}s:4:"span";s:1:"3";i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:13:"button[apply]";s:5:"label";s:5:"Apply";s:4:"help";s:17:"Apply the changes";}i:3;a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:14:"button[cancel]";s:4:"help";s:31:"leave without saveing the entry";s:7:"onclick";s:15:"window.close();";}i:4;a:5:{s:4:"type";s:6:"select";s:4:"name";s:6:"action";s:4:"help";s:39:"Execute a further action for this entry";s:4:"size";s:10:"Actions...";s:8:"onchange";s:34:"this.form.submit(); this.value=\'\';";}i:5;a:4:{s:4:"type";s:8:"checkbox";s:5:"label";s:30:"Do not notify of these changes";s:4:"name";s:16:"no_notifications";s:4:"span";s:1:"2";}i:6;a:2:{s:4:"type";s:4:"html";s:4:"name";s:2:"js";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:5:"align";s:5:"right";s:4:"name";s:14:"button[delete]";s:4:"help";s:17:"delete this entry";s:7:"onclick";s:60:"return $cont[info_anz_subs] || confirm(\'Delete this entry\');";}}}s:4:"rows";i:12;s:4:"cols";i:4;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.hideFrom input { display: none; } +.hiddenRow { + display: none; +} .link_select select { width: 250px; } .description textarea { width: 98%; }','modified' => '1286552776',); $templ_data[] = array('name' => 'infolog.edit.customfields','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:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"h2";s:4:"100%";s:2:"h1";s:2:"20";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:13:"Custom fields";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:12:"customfields";s:4:"size";s:10:"@info_type";}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:25:"100%,245,,row_on,0,0,auto";s:7:"options";a:6:{i:3;s:6:"row_on";i:0;s:4:"100%";i:1;s:3:"245";i:6;s:4:"auto";i:4;s:1:"0";i:5;s:1:"0";}}}','size' => '100%,245,,row_on,0,0,auto','style' => '','modified' => '1061732462',); -$templ_data[] = array('name' => 'infolog.edit.delegation','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:8:{s:1:"A";s:3:"100";s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:2:"th";s:2:"c5";s:7:"row,top";s:2:"c6";s:3:"row";s:2:"h6";s:2:",1";}i:1;a:2:{s:1:"A";a:3:{s:4:"span";s:3:"all";s:4:"type";s:5:"label";s:5:"label";s:7:"General";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:3:{s:4:"size";s:16:",,,info_priority";s:4:"type";s:5:"label";s:5:"label";s:8:"Priority";}s:1:"B";a:3:{s:4:"name";s:13:"info_priority";s:4:"type";s:6:"select";s:4:"help";s:31:"select a priority for this task";}}i:3;a:2:{s:1:"A";a:3:{s:4:"size";s:16:",,,info_location";s:4:"type";s:5:"label";s:5:"label";s:8:"Location";}s:1:"B";a:3:{s:4:"size";s:6:"80,255";s:4:"name";s:13:"info_location";s:4:"type";s:4:"text";}}i:4;a:2:{s:1:"A";a:3:{s:4:"span";s:3:"all";s:4:"type";s:5:"label";s:5:"label";s:10:"Delegation";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:3:{s:4:"size";s:19:",,,info_responsible";s:4:"type";s:5:"label";s:5:"label";s:11:"Responsible";}s:1:"B";a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:16:"info_responsible";s:4:"size";s:7:"10,both";s:4:"help";s:66:"select a responsible user: a person you want to delegate this task";}}i:6;a:2:{s:1:"A";a:3:{s:4:"size";s:15:",,,info_confirm";s:4:"type";s:5:"label";s:5:"label";s:7:"Confirm";}s:1:"B";a:3:{s:4:"name";s:12:"info_confirm";s:4:"type";s:6:"select";s:4:"help";s:87:"do you want a confirmation of the responsible on: accepting, finishing the task or both";}}}s:4:"cols";i:2;s:4:"rows";i:6;s:4:"size";s:8:"100%,245";}}','size' => '100%,245','style' => '','modified' => '1217409875',); +$templ_data[] = array('name' => 'infolog.edit.delegation','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:8:{i:0;a:9:{s:1:"A";s:3:"100";s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:2:"th";s:2:"c6";s:7:"row,top";s:2:"c7";s:3:"row";s:2:"h7";s:2:",1";s:2:"c5";s:3:"nmr";}i:1;a:2:{s:1:"A";a:3:{s:4:"span";s:3:"all";s:4:"type";s:5:"label";s:5:"label";s:7:"General";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:3:{s:4:"size";s:16:",,,info_priority";s:4:"type";s:5:"label";s:5:"label";s:8:"Priority";}s:1:"B";a:3:{s:4:"name";s:13:"info_priority";s:4:"type";s:6:"select";s:4:"help";s:31:"select a priority for this task";}}i:3;a:2:{s:1:"A";a:3:{s:4:"size";s:16:",,,info_location";s:4:"type";s:5:"label";s:5:"label";s:8:"Location";}s:1:"B";a:3:{s:4:"size";s:6:"80,255";s:4:"name";s:13:"info_location";s:4:"type";s:4:"text";}}i:4;a:2:{s:1:"A";a:3:{s:4:"span";s:3:"all";s:4:"type";s:5:"label";s:5:"label";s:10:"Delegation";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"CC";}s:1:"B";a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c2";s:9:"hiddenRow";s:1:"B";s:2:"16";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",254";s:4:"name";s:5:"tr_cc";s:4:"span";s:15:",inputFullWidth";}s:1:"B";a:4:{s:4:"type";s:10:"buttononly";s:4:"size";s:5:"users";s:5:"label";s:20:"Add from Addressbook";s:7:"onclick";s:67:"return add_email_from_ab(form::name(\'ab[id]\'),form::name(\'tr_cc\'));";}}i:2;a:2:{s:1:"A";a:5:{s:4:"type";s:10:"link-entry";s:4:"size";s:17:"addressbook-email";s:4:"name";s:2:"ab";s:4:"blur";s:6:"Search";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:7:"100%,,0";s:7:"options";a:2:{i:0;s:4:"100%";i:2;s:1:"0";}}}i:6;a:2:{s:1:"A";a:3:{s:4:"size";s:19:",,,info_responsible";s:4:"type";s:5:"label";s:5:"label";s:11:"Responsible";}s:1:"B";a:4:{s:4:"type";s:14:"select-account";s:4:"name";s:16:"info_responsible";s:4:"size";s:7:"10,both";s:4:"help";s:66:"select a responsible user: a person you want to delegate this task";}}i:7;a:2:{s:1:"A";a:3:{s:4:"size";s:15:",,,info_confirm";s:4:"type";s:5:"label";s:5:"label";s:7:"Confirm";}s:1:"B";a:3:{s:4:"name";s:12:"info_confirm";s:4:"type";s:6:"select";s:4:"help";s:87:"do you want a confirmation of the responsible on: accepting, finishing the task or both";}}}s:4:"cols";i:2;s:4:"rows";i:7;s:4:"size";s:8:"100%,245";}}','size' => '100%,245','style' => '','modified' => '1299608518',); $templ_data[] = array('name' => 'infolog.edit.description','template' => '','lang' => '','group' => '0','version' => '1.6.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:1:"A";s:3:"100";s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";s:5:"label";s:11:"Description";s:4:"size";s:11:",,,info_des";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:6:{s:4:"type";s:8:"textarea";s:4:"size";s:2:"13";s:7:"no_lang";s:1:"1";s:4:"name";s:8:"info_des";s:4:"help";s:44:"enter a textual description of the log-entry";s:4:"span";s:12:",description";}}}s:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:10:"100%,245,0";s:7:"options";a:3:{i:0;s:4:"100%";i:1;s:3:"245";i:2;s:1:"0";}}}','size' => '100%,245,0','style' => '','modified' => '1229074983',); diff --git a/infolog/setup/setup.inc.php b/infolog/setup/setup.inc.php index bc5fa4f04d..920371aaec 100755 --- a/infolog/setup/setup.inc.php +++ b/infolog/setup/setup.inc.php @@ -12,7 +12,7 @@ */ $setup_info['infolog']['name'] = 'infolog'; -$setup_info['infolog']['version'] = '1.8'; +$setup_info['infolog']['version'] = '1.9.001'; $setup_info['infolog']['app_order'] = 5; $setup_info['infolog']['tables'] = array('egw_infolog','egw_infolog_extra'); $setup_info['infolog']['enable'] = 1; @@ -70,3 +70,4 @@ $setup_info['infolog']['depends'][] = array( 'appname' => 'etemplate', 'versions' => Array('1.7','1.8','1.9') ); + diff --git a/infolog/setup/tables_current.inc.php b/infolog/setup/tables_current.inc.php index 7f312476b4..f91cc8a143 100644 --- a/infolog/setup/tables_current.inc.php +++ b/infolog/setup/tables_current.inc.php @@ -11,53 +11,54 @@ * @version $Id$ */ - $phpgw_baseline = array( - 'egw_infolog' => array( - 'fd' => array( - 'info_id' => array('type' => 'auto','nullable' => False), - 'info_type' => array('type' => 'varchar','precision' => '40','nullable' => False,'default' => 'task'), - 'info_from' => array('type' => 'varchar','precision' => '255'), - 'info_addr' => array('type' => 'varchar','precision' => '255'), - 'info_subject' => array('type' => 'varchar','precision' => '255'), - 'info_des' => array('type' => 'text'), - 'info_owner' => array('type' => 'int','precision' => '4','nullable' => False), - 'info_responsible' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '0'), - 'info_access' => array('type' => 'varchar','precision' => '10','default' => 'public'), - 'info_cat' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), - 'info_datemodified' => array('type' => 'int','precision' => '8','nullable' => False), - 'info_startdate' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), - 'info_enddate' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), - 'info_id_parent' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), - 'info_planned_time' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), - 'info_replanned_time' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), - 'info_used_time' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), - 'info_status' => array('type' => 'varchar','precision' => '40','default' => 'done'), - 'info_confirm' => array('type' => 'varchar','precision' => '10','default' => 'not'), - 'info_modifier' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), - 'info_link_id' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), - 'info_priority' => array('type' => 'int','precision' => '2','default' => '1'), - 'pl_id' => array('type' => 'int','precision' => '4'), - 'info_price' => array('type' => 'float','precision' => '8'), - 'info_percent' => array('type' => 'int','precision' => '2','default' => '0'), - 'info_datecompleted' => array('type' => 'int','precision' => '8'), - 'info_location' => array('type' => 'varchar','precision' => '255'), - 'info_custom_from' => array('type' => 'int','precision' => '1'), - 'info_uid' => array('type' => 'varchar','precision' => '255') - ), - 'pk' => array('info_id'), - 'fk' => array(), - 'ix' => array(array('info_owner','info_responsible','info_status','info_startdate'),array('info_id_parent','info_owner','info_responsible','info_status','info_startdate')), - 'uc' => array() +$phpgw_baseline = array( + 'egw_infolog' => array( + 'fd' => array( + 'info_id' => array('type' => 'auto','nullable' => False), + 'info_type' => array('type' => 'varchar','precision' => '40','nullable' => False,'default' => 'task'), + 'info_from' => array('type' => 'varchar','precision' => '255'), + 'info_addr' => array('type' => 'varchar','precision' => '255'), + 'info_subject' => array('type' => 'varchar','precision' => '255'), + 'info_des' => array('type' => 'text'), + 'info_owner' => array('type' => 'int','precision' => '4','nullable' => False), + 'info_responsible' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '0'), + 'info_access' => array('type' => 'varchar','precision' => '10','default' => 'public'), + 'info_cat' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), + 'info_datemodified' => array('type' => 'int','precision' => '8','nullable' => False), + 'info_startdate' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), + 'info_enddate' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), + 'info_id_parent' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), + 'info_planned_time' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), + 'info_replanned_time' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), + 'info_used_time' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), + 'info_status' => array('type' => 'varchar','precision' => '40','default' => 'done'), + 'info_confirm' => array('type' => 'varchar','precision' => '10','default' => 'not'), + 'info_modifier' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), + 'info_link_id' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), + 'info_priority' => array('type' => 'int','precision' => '2','default' => '1'), + 'pl_id' => array('type' => 'int','precision' => '4'), + 'info_price' => array('type' => 'float','precision' => '8'), + 'info_percent' => array('type' => 'int','precision' => '2','default' => '0'), + 'info_datecompleted' => array('type' => 'int','precision' => '8'), + 'info_location' => array('type' => 'varchar','precision' => '255'), + 'info_custom_from' => array('type' => 'int','precision' => '1'), + 'info_uid' => array('type' => 'varchar','precision' => '255'), + 'info_cc' => array('type' => 'varchar','precision' => '255') ), - 'egw_infolog_extra' => array( - 'fd' => array( - 'info_id' => array('type' => 'int','precision' => '4','nullable' => False), - 'info_extra_name' => array('type' => 'varchar','precision' => '64','nullable' => False), - 'info_extra_value' => array('type' => 'text','nullable' => False) - ), - 'pk' => array('info_id','info_extra_name'), - 'fk' => array(), - 'ix' => array(), - 'uc' => array() - ) - ); + 'pk' => array('info_id'), + 'fk' => array(), + 'ix' => array(array('info_owner','info_responsible','info_status','info_startdate'),array('info_id_parent','info_owner','info_responsible','info_status','info_startdate')), + 'uc' => array() + ), + 'egw_infolog_extra' => array( + 'fd' => array( + 'info_id' => array('type' => 'int','precision' => '4','nullable' => False), + 'info_extra_name' => array('type' => 'varchar','precision' => '64','nullable' => False), + 'info_extra_value' => array('type' => 'text','nullable' => False) + ), + 'pk' => array('info_id','info_extra_name'), + 'fk' => array(), + 'ix' => array(), + 'uc' => array() + ) +); diff --git a/infolog/setup/tables_update.inc.php b/infolog/setup/tables_update.inc.php index 9ae0ac29c6..1d2f10f06b 100644 --- a/infolog/setup/tables_update.inc.php +++ b/infolog/setup/tables_update.inc.php @@ -634,3 +634,14 @@ function infolog_upgrade1_6() { return $GLOBALS['setup_info']['infolog']['currentver'] = '1.8'; } + +function infolog_upgrade1_8() +{ + $GLOBALS['egw_setup']->oProc->AddColumn('egw_infolog','info_cc',array( + 'type' => 'varchar', + 'precision' => '255' + )); + + return $GLOBALS['setup_info']['infolog']['currentver'] = '1.9.001'; +} +