mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-23 07:09:20 +01:00
changed calendar to use the user/default/forced prefs
deleted the no longer used classes ui-/bo-prefs
This commit is contained in:
parent
54f301cd83
commit
e51ef6d6e8
@ -1,107 +0,0 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare - Calendar *
|
||||
* http://www.phpgroupware.org *
|
||||
* Based on Webcalendar by Craig Knudsen <cknudsen@radix.net> *
|
||||
* http://www.radix.net/~cknudsen *
|
||||
* Modified by Mark Peters <skeeter@phpgroupware.org> *
|
||||
* -------------------------------------------- *
|
||||
* 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$ */
|
||||
|
||||
class bopreferences
|
||||
{
|
||||
var $public_functions = Array(
|
||||
'preferences' => True
|
||||
);
|
||||
|
||||
var $prefs;
|
||||
var $debug = False;
|
||||
|
||||
function bopreferences()
|
||||
{
|
||||
$GLOBALS['phpgw']->nextmatchs = CreateObject('phpgwapi.nextmatchs');
|
||||
$this->prefs['calendar'] = $GLOBALS['phpgw_info']['user']['preferences']['calendar'];
|
||||
}
|
||||
|
||||
function preferences()
|
||||
{
|
||||
if (get_var('submit',Array('POST')))
|
||||
{
|
||||
$prefs = get_var('prefs',Array('POST'));
|
||||
$GLOBALS['phpgw']->preferences->read_repository();
|
||||
|
||||
$pref_list = Array(
|
||||
'weekdaystarts',
|
||||
'workdaystarts',
|
||||
'workdayends',
|
||||
'defaultcalendar',
|
||||
'defaultfilter',
|
||||
'interval',
|
||||
'planner_intervals_per_day',
|
||||
'planner_start_with_group'
|
||||
);
|
||||
|
||||
for($i=0;$i<count($pref_list);$i++)
|
||||
{
|
||||
$GLOBALS['phpgw']->preferences->add('calendar',$pref_list[$i],$prefs[$pref_list[$i]]);
|
||||
}
|
||||
|
||||
$pref_list = Array(
|
||||
'send_updates',
|
||||
'send_extra'
|
||||
);
|
||||
|
||||
if($prefs[$pref_list[1]] == True)
|
||||
{
|
||||
$GLOBALS['phpgw']->preferences->add('calendar',$pref_list[1],$prefs[$pref_list[1]]);
|
||||
if($prefs[$pref_list[2]] == True)
|
||||
{
|
||||
$GLOBALS['phpgw']->preferences->add('calendar',$pref_list[2],$prefs[$pref_list[2]]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$GLOBALS['phpgw']->preferences->delete('calendar',$pref_list[2]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$GLOBALS['phpgw']->preferences->delete('calendar',$pref_list[1]);
|
||||
$GLOBALS['phpgw']->preferences->delete('calendar',$pref_list[2]);
|
||||
}
|
||||
|
||||
$pref_list = Array(
|
||||
'mainscreen_showevents',
|
||||
'display_status',
|
||||
'default_private',
|
||||
'display_minicals',
|
||||
'print_black_white',
|
||||
'weekdays_only'
|
||||
);
|
||||
|
||||
for($i=0;$i<count($pref_list);$i++)
|
||||
{
|
||||
if ($prefs[$pref_list[$i]] == True)
|
||||
{
|
||||
$GLOBALS['phpgw']->preferences->add('calendar',$pref_list[$i],$prefs[$pref_list[$i]]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$GLOBALS['phpgw']->preferences->delete('calendar',$pref_list[$i]);
|
||||
}
|
||||
}
|
||||
|
||||
$GLOBALS['phpgw']->preferences->save_repository(True);
|
||||
|
||||
Header('Location: '.$GLOBALS['phpgw']->link('/preferences/index.php'));
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,207 +0,0 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare - Calendar *
|
||||
* http://www.phpgroupware.org *
|
||||
* Based on Webcalendar by Craig Knudsen <cknudsen@radix.net> *
|
||||
* http://www.radix.net/~cknudsen *
|
||||
* Modified by Mark Peters <skeeter@phpgroupware.org> *
|
||||
* -------------------------------------------- *
|
||||
* 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$ */
|
||||
|
||||
class uipreferences
|
||||
{
|
||||
// var $template_dir;
|
||||
var $template;
|
||||
|
||||
var $bo;
|
||||
|
||||
var $debug = False;
|
||||
// var $debug = True;
|
||||
|
||||
var $theme;
|
||||
|
||||
var $public_functions = array(
|
||||
'preferences' => True
|
||||
);
|
||||
|
||||
function uipreferences()
|
||||
{
|
||||
$GLOBALS['phpgw']->nextmatchs = CreateObject('phpgwapi.nextmatchs');
|
||||
$this->template = $GLOBALS['phpgw']->template;
|
||||
$this->theme = $GLOBALS['phpgw_info']['theme'];
|
||||
$this->bo = CreateObject('calendar.bopreferences');
|
||||
}
|
||||
|
||||
function preferences()
|
||||
{
|
||||
unset($GLOBALS['phpgw_info']['flags']['noheader']);
|
||||
unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
|
||||
$GLOBALS['phpgw_info']['flags']['noappheader'] = True;
|
||||
$GLOBALS['phpgw_info']['flags']['noappfooter'] = True;
|
||||
$GLOBALS['phpgw']->common->phpgw_header();
|
||||
|
||||
$this->template->set_file(
|
||||
Array(
|
||||
'pref' =>'pref.tpl',
|
||||
'pref_colspan' =>'pref_colspan.tpl',
|
||||
'pref_list' =>'pref_list.tpl'
|
||||
)
|
||||
);
|
||||
|
||||
$var = Array(
|
||||
'title' => lang('Calendar preferences'),
|
||||
'action_url' => $GLOBALS['phpgw']->link('/index.php',Array('menuaction'=>'calendar.bopreferences.preferences')),
|
||||
'bg_color ' => $this->theme['th_bg'],
|
||||
'submit_lang' => lang('submit'),
|
||||
'text' => ' '
|
||||
);
|
||||
|
||||
$this->output_template_array('row','pref_colspan',$var);
|
||||
|
||||
$this->display_item(lang('show default view on main screen'),'<input type="checkbox" name="prefs[mainscreen_showevents]" value="True"'.(@$this->bo->prefs['calendar']['mainscreen_showevents']?' checked':'').'>');
|
||||
|
||||
$days = Array(
|
||||
'Monday',
|
||||
'Sunday',
|
||||
'Saturday'
|
||||
);
|
||||
$str = '';
|
||||
for($i=0;$i<count($days);$i++)
|
||||
{
|
||||
$str .= '<option value="'.$days[$i].'"'.($this->bo->prefs['calendar']['weekdaystarts']==$days[$i]?' selected':'').'>'.lang($days[$i]).'</option>'."\n";
|
||||
}
|
||||
$this->display_item(lang('weekday starts on'),'<select name="prefs[weekdaystarts]">'."\n".$str.'</select>'."\n");
|
||||
|
||||
$str = '';
|
||||
for ($i=0; $i<24; $i++)
|
||||
{
|
||||
$str .= '<option value="'.$i.'"'.($this->bo->prefs['calendar']['workdaystarts']==$i?' selected':'').'>'.$GLOBALS['phpgw']->common->formattime($i,'00').'</option>'."\n";
|
||||
}
|
||||
$this->display_item(lang('work day starts on'),'<select name="prefs[workdaystarts]">'."\n".$str.'</select>'."\n");
|
||||
|
||||
$str = '';
|
||||
for ($i=0; $i<24; $i++)
|
||||
{
|
||||
$str .= '<option value="'.$i.'"'.($this->bo->prefs['calendar']['workdayends']==$i?' selected':'').'>'.$GLOBALS['phpgw']->common->formattime($i,'00').'</option>';
|
||||
}
|
||||
$this->display_item(lang('work day ends on'),'<select name="prefs[workdayends]">'."\n".$str.'</select>'."\n");
|
||||
|
||||
if(strpos('.',$this->bo->prefs['calendar']['defaultcalendar']))
|
||||
{
|
||||
$temp = explode('.',$this->bo->prefs['calendar']['defaultcalendar']);
|
||||
$this->bo->prefs['calendar']['defaultcalendar'] = $temp[0];
|
||||
}
|
||||
$selected[$this->bo->prefs['calendar']['defaultcalendar']] = ' selected';
|
||||
if (!isset($this->bo->prefs['calendar']['defaultcalendar']))
|
||||
{
|
||||
$selected['month'] = ' selected';
|
||||
}
|
||||
$str = '<select name="prefs[defaultcalendar]">'
|
||||
. '<option value="planner_cat"'.$selected['planner_cat'].'>'.lang('Planner by category').'</option>'
|
||||
. '<option value="planner_user"'.$selected['planner_user'].'>'.lang('Planner by user').'</option>'
|
||||
. '<option value="year"'.$selected['year'].'>'.lang('Yearly').'</option>'
|
||||
. '<option value="month"'.$selected['month'].'>'.lang('Monthly').'</option>'
|
||||
. '<option value="week"'.$selected['week'].'>'.lang('Weekly').'</option>'
|
||||
. '<option value="day"'.$selected['day'].'>'.lang('Daily').'</option>'
|
||||
. '</select>';
|
||||
$this->display_item(lang('default calendar view'),$str);
|
||||
|
||||
$user = $GLOBALS['phpgw_info']['user']['account_id'];
|
||||
$groups = $GLOBALS['phpgw']->accounts->membership($user);
|
||||
$str = '<option value="-1"'.(intval($this->bo->prefs['calendar']['planner_start_with_group'])==-1?' selected':'').'>none</option>'."\n";
|
||||
while (list($key,$group) = @each($groups))
|
||||
{
|
||||
$str .= '<option value="'.$group['account_id'].'"'.(intval($this->bo->prefs['calendar']['planner_start_with_group'])==$group['account_id']?' selected':'').'>'.$GLOBALS['phpgw']->common->grab_owner_name($group['account_id']).'</option>'."\n";
|
||||
}
|
||||
$this->display_item(lang('Preselected group for entering the planner'),'<select name="prefs[planner_start_with_group]">'."\n".$str.'</select>'."\n");
|
||||
|
||||
$selected = array();
|
||||
$selected[$this->bo->prefs['calendar']['defaultfilter']] = ' selected';
|
||||
if (!isset($this->bo->prefs['calendar']['defaultfilter']) || $this->bo->prefs['calendar']['defaultfilter'] == 'private')
|
||||
{
|
||||
$selected['private'] = ' selected';
|
||||
}
|
||||
$str = '<select name="prefs[defaultfilter]">'
|
||||
. '<option value="all"'.$selected['all'].'>'.lang('all').'</option>'
|
||||
. '<option value="private"'.$selected['private'].'>'.lang('private only').'</option>'
|
||||
// . '<option value="public"'.$selected['public'].'>'.lang('global public only').'</option>'
|
||||
// . '<option value="group"'.$selected['group'].'>'.lang('group public only').'</option>'
|
||||
// . '<option value="private+public"'.$selected['private+public'].'>'.lang('private and global public').'</option>'
|
||||
// . '<option value="private+group"'.$selected['private+group'].'>'.lang('private and group public').'</option>'
|
||||
// . '<option value="public+group"'.$selected['public+group'].'>'.lang('global public and group public').'</option>'
|
||||
. '</select>';
|
||||
$this->display_item(lang('Default calendar filter'),$str);
|
||||
|
||||
$var = Array(
|
||||
5 => '5',
|
||||
10 => '10',
|
||||
15 => '15',
|
||||
20 => '20',
|
||||
30 => '30',
|
||||
45 => '45',
|
||||
60 => '60'
|
||||
);
|
||||
|
||||
$str = '';
|
||||
while(list($key,$value) = each($var))
|
||||
{
|
||||
$str .= '<option value="'.$key.'"'.(intval($this->bo->prefs['calendar']['interval'])==$key?' selected':'').'>'.$value.'</option>'."\n";
|
||||
}
|
||||
$this->display_item(lang('Display interval in Day View'),'<select name="prefs[interval]">'."\n".$str.'</select>'."\n");
|
||||
|
||||
$var = Array(
|
||||
1 => '1',
|
||||
2 => '2',
|
||||
3 => '3',
|
||||
4 => '4',
|
||||
);
|
||||
|
||||
$str = '';
|
||||
while(list($key,$value) = each($var))
|
||||
{
|
||||
$str .= '<option value="'.$key.'"'.(intval($this->bo->prefs['calendar']['planner_intervals_per_day'])==$key?' selected':'').'>'.$value.'</option>'."\n";
|
||||
}
|
||||
$this->display_item(lang('Number of Intervals per Day in Planner View'),'<select name="prefs[planner_intervals_per_day]">'."\n".$str.'</select>'."\n");
|
||||
|
||||
$checkboxes = Array(
|
||||
'send_updates' => lang('Send/receive updates via email'),
|
||||
'send_extra' => lang('Receive extra information in event mails'),
|
||||
'weekdays_only' => lang('Display week days only in Month/Week View'),
|
||||
'display_status' => lang('Display status of events'),
|
||||
'default_private' => lang('When creating new events default set to private'),
|
||||
'display_minicals' => lang('Display mini calendars when printing'),
|
||||
'print_black_white' => lang('Print calendars in black & white')
|
||||
);
|
||||
|
||||
while(list($pref_var,$desc) = each($checkboxes))
|
||||
{
|
||||
$this->display_item($desc,'<input type="checkbox" name="prefs['.$pref_var.']" value="True"'.(@$this->bo->prefs['calendar'][$pref_var]?' checked':'').'>'."\n");
|
||||
}
|
||||
|
||||
$this->template->pparse('out','pref');
|
||||
}
|
||||
|
||||
function output_template_array($row,$list,$var)
|
||||
{
|
||||
$this->template->set_var($var);
|
||||
$this->template->parse($row,$list,True);
|
||||
}
|
||||
|
||||
function display_item($field,$data)
|
||||
{
|
||||
static $tr_color;
|
||||
$tr_color = $GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
|
||||
$var = Array(
|
||||
'bg_color' => $tr_color,
|
||||
'field' => $field,
|
||||
'data' => $data
|
||||
);
|
||||
$this->output_template_array('row','pref_list',$var);
|
||||
}
|
||||
}
|
@ -12,16 +12,13 @@
|
||||
/* $Id$ */
|
||||
{
|
||||
// Only Modify the $file and $title variables.....
|
||||
$title = $appname;
|
||||
$file = array(
|
||||
'Preferences' => $GLOBALS['phpgw']->link('/index.php',
|
||||
Array(
|
||||
'menuaction' => 'calendar.uipreferences.preferences'
|
||||
)
|
||||
),
|
||||
'Grant Access' => $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname),
|
||||
'Preferences' => $GLOBALS['phpgw']->link('/preferences/preferences.php','appname='.$appname),
|
||||
'Grant Access' => $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname),
|
||||
'Edit Categories' => $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app='.$appname.'&cats_level=True&global_cats=True')
|
||||
);
|
||||
//Do not modify below this line
|
||||
display_section($appname,$file);
|
||||
display_section($appname,$title,$file);
|
||||
}
|
||||
?>
|
||||
|
89
calendar/inc/hook_settings.inc.php
Normal file
89
calendar/inc/hook_settings.inc.php
Normal file
@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare - Calendar Preferences *
|
||||
* http://www.phpgroupware.org *
|
||||
* Based on Webcalendar by Craig Knudsen <cknudsen@radix.net> *
|
||||
* http://www.radix.net/~cknudsen *
|
||||
* Modified by Mark Peters <skeeter@phpgroupware.org> *
|
||||
* Modified 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$ */
|
||||
|
||||
create_check_box('show default view on main screen','mainscreen_showevents');
|
||||
|
||||
create_select_box('weekday starts on','weekdaystarts',array(
|
||||
'Monday' => lang('Monday'),
|
||||
'Sunday' => lang('Sunday'),
|
||||
'Saturday' => lang('Saturday')
|
||||
));
|
||||
|
||||
for ($i=0; $i < 24; ++$i)
|
||||
{
|
||||
$options[$i] = $GLOBALS['phpgw']->common->formattime($i,'00');
|
||||
}
|
||||
create_select_box('work day starts on','workdaystarts',$options);
|
||||
create_select_box('work day ends on','workdayends',$options);
|
||||
unset($options);
|
||||
|
||||
create_select_box('default calendar view','defaultcalendar',array(
|
||||
'planner_cat' => lang('Planner by category'),
|
||||
'planner_user' => lang('Planner by user'),
|
||||
'year' => lang('Yearly'),
|
||||
'month' => lang('Monthly'),
|
||||
'week' => lang('Weekly'),
|
||||
'day' => lang('Daily')
|
||||
));
|
||||
$groups = $GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
|
||||
$options = array(-1 => lang('none'));
|
||||
foreach($groups as $group)
|
||||
{
|
||||
$options[$group['account_id']] = $GLOBALS['phpgw']->common->grab_owner_name($group['account_id']);
|
||||
}
|
||||
create_select_box('Preselected group for entering the planner','planner_start_with_group',$options);
|
||||
unset($groups);
|
||||
unset($options);
|
||||
unset($group);
|
||||
|
||||
create_select_box('Default calendar filter','defaultfilter',array(
|
||||
'all' => lang('all'),
|
||||
'private' => lang('private only'),
|
||||
// 'public' => lang('global public only'),
|
||||
// 'group' => lang('group public only'),
|
||||
// 'private+public' => lang('private and global public'),
|
||||
// 'private+group' => lang('private and group public'),
|
||||
// 'public+group' => lang('global public and group public')
|
||||
));
|
||||
|
||||
create_select_box('Display interval in Day View','interval',array(
|
||||
5 => '5',
|
||||
10 => '10',
|
||||
15 => '15',
|
||||
20 => '20',
|
||||
30 => '30',
|
||||
45 => '45',
|
||||
60 => '60'
|
||||
));
|
||||
|
||||
create_select_box('Number of Intervals per Day in Planner View','planner_intervals_per_day',array(
|
||||
1 => '1',
|
||||
2 => '2',
|
||||
3 => '3',
|
||||
4 => '4',
|
||||
));
|
||||
|
||||
create_check_box('Send/receive updates via email','send_updates');
|
||||
create_check_box('Receive extra information in event mails','send_extra');
|
||||
|
||||
create_check_box('Display status of events','display_status');
|
||||
|
||||
create_check_box('When creating new events default set to private','default_private');
|
||||
|
||||
create_check_box('Display mini calendars when printing','display_minicals');
|
||||
|
||||
create_check_box('Print calendars in black & white','print_black_white');
|
@ -23,12 +23,12 @@
|
||||
);
|
||||
|
||||
$setup_info['calendar']['license'] = 'GPL';
|
||||
|
||||
$setup_info['calendar']['description'] = 'Powerful calendar with meeting request system and ACL security.';
|
||||
|
||||
$setup_info['calendar']['maintainer'] = array
|
||||
(
|
||||
'name' => 'Mark Peters',
|
||||
'email' => 'skeeter@phpgroupware.org'
|
||||
$setup_info['calendar']['maintainer'] = array(
|
||||
'name' => 'Ralf Becker',
|
||||
'email' => 'ralfbecker@outdoor-training.de'
|
||||
);
|
||||
|
||||
$setup_info['calendar']['based_on'] = array
|
||||
@ -58,7 +58,7 @@
|
||||
'home_year',
|
||||
'manual',
|
||||
'preferences',
|
||||
'about'
|
||||
'settings'
|
||||
);
|
||||
|
||||
/* Dependencies for this app to work */
|
||||
|
Loading…
Reference in New Issue
Block a user