Can now save new holidays by locales.

This commit is contained in:
skeeter 2001-05-16 04:38:14 +00:00
parent 1de46d028c
commit b7a4b1ca57
3 changed files with 158 additions and 120 deletions

View File

@ -11,11 +11,6 @@
\**************************************************************************/ \**************************************************************************/
/* $Id$ */ /* $Id$ */
if(!$id)
{
Header('Location: ' . $phpgw->link('/calendar/editlocale.php','locale='.$locale));
}
$phpgw_flags = Array( $phpgw_flags = Array(
'currentapp' => 'calendar', 'currentapp' => 'calendar',
'enable_nextmatchs_class' => True, 'enable_nextmatchs_class' => True,
@ -24,7 +19,7 @@
'nonavbar' => True, 'nonavbar' => True,
'noappheader' => True, 'noappheader' => True,
'noappfooter' => True, 'noappfooter' => True,
'parent_page' => 'holiday_admin.php' 'parent_page' => '/calendar/editlocale.php'
); );
$phpgw_info['flags'] = $phpgw_flags; $phpgw_info['flags'] = $phpgw_flags;
include('../header.inc.php'); include('../header.inc.php');
@ -36,7 +31,22 @@
$p->parse('rows','list',True); $p->parse('rows','list',True);
} }
if(!$submit) if(isset($submit) && $submit)
{
if(empty($holiday['mday']))
{
$holiday['mday'] = 0;
}
// Still need to put some validation in here.....
$ok = True;
if(isset($ok) && $ok)
{
$phpgw->calendar->holidays->save_holiday($holiday);
Header('Location: ' . $phpgw->link('/calendar/editlocale.php','locale='.$locale));
}
}
if($id != 0)
{ {
$phpgw->calendar->holidays->users['admin'] = $locale; $phpgw->calendar->holidays->users['admin'] = $locale;
$phpgw->calendar->holidays->read_holiday(); $phpgw->calendar->holidays->read_holiday();
@ -46,14 +56,28 @@
} }
else else
{ {
$index = $phpgw->calendar->holidays->index[$id];
$holiday = $phpgw->calendar->holidays->get_holiday($index);
}
$title_descriptor = 'Edit';
}
else
{
$holiday['locale'] = $locale;
$holiday['name'] = '';
$holiday['day'] = 0;
$holiday['month'] = 0;
$holiday['occurence'] = 0;
$holiday['dow'] = 0;
$holiday['observance_rule'] = 0;
$title_descriptor = 'Add';
}
$phpgw->common->phpgw_header(); $phpgw->common->phpgw_header();
echo parse_navbar(); echo parse_navbar();
$index = $phpgw->calendar->holidays->index[$id];
}
$sb = CreateObject('phpgwapi.sbox'); $sb = CreateObject('phpgwapi.sbox');
$holiday = $phpgw->calendar->holidays->get_holiday($index);
$t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); $t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
$templates = Array( $templates = Array(
'holiday' => 'holiday.tpl', 'holiday' => 'holiday.tpl',
@ -63,7 +87,7 @@
$t->set_block('holiday','form','form'); $t->set_block('holiday','form','form');
$t->set_block('holiday','list','list'); $t->set_block('holiday','list','list');
$title_holiday = lang('Holiday'); $title_holiday = lang($title_descriptor).' '.lang('Holiday');
if ($errorcount) if ($errorcount)
{ {
@ -75,10 +99,11 @@
} }
$actionurl = $phpgw->link('/calendar/editholiday.php'); $actionurl = $phpgw->link('/calendar/editholiday.php');
$hidden_vars = '<input type="hidden" name="locale" value="'.$locale.'">'."\n" $hidden_vars = '<input type="hidden" name="holiday[locale]" value="'.$locale.'">'."\n"
. '<input type="hidden" name="holiday[hol_id]" value="'.$id.'">'."\n"
. '<input type="hidden" name="locale" value="'.$locale.'">'."\n"
. '<input type="hidden" name="id" value="'.$id.'">'."\n"; . '<input type="hidden" name="id" value="'.$id.'">'."\n";
$var = Array( $var = Array(
'title_holiday' => $title_holiday, 'title_holiday' => $title_holiday,
'message' => $message, 'message' => $message,
@ -89,11 +114,11 @@
$t->set_var($var); $t->set_var($var);
// Title/Name // Title/Name
display_item($t,lang('title'),'<input name="name" size="25" maxlength="50" value="'.$holiday['name'].'">'); display_item($t,lang('title'),'<input name="holiday[name]" size="25" maxlength="50" value="'.$holiday['name'].'">');
// Date // Date
$day_html = $sb->getDays('day',$holiday['day']); $day_html = $sb->getDays('holiday[mday]',$holiday['day']);
$month_html = $sb->getMonthText('month',$holiday['month']); $month_html = $sb->getMonthText('holiday[month_num]',$holiday['month']);
$year_html = ''; $year_html = '';
display_item($t,lang('Date'),$phpgw->common->dateformatorder($year_html,$month_html,$day_html)); display_item($t,lang('Date'),$phpgw->common->dateformatorder($year_html,$month_html,$day_html));
@ -107,7 +132,7 @@
5 => '5th', 5 => '5th',
99 => 'Last' 99 => 'Last'
); );
$out = '<select name="occurence">'."\n"; $out = '<select name="holiday[occurence]">'."\n";
while(list($key,$value) = each($occur)) while(list($key,$value) = each($occur))
{ {
$out .= '<option value="'.$key.'"'; $out .= '<option value="'.$key.'"';
@ -127,11 +152,11 @@
5 => lang('Fri'), 5 => lang('Fri'),
6 => lang('Sat') 6 => lang('Sat')
); );
$out = '<select name="dow">'."\n"; $out = '<select name="holiday[dow]">'."\n";
for($i=0;$i<7;$i++) for($i=0;$i<7;$i++)
{ {
$out .= '<option value="'.$i.'"'; $out .= '<option value="'.$i.'"';
if($holiday['occurence']==$i) $out .= ' selected'; if($holiday['dow']==$i) $out .= ' selected';
$out .= '>'.$dow[$i].'</option>'."\n"; $out .= '>'.$dow[$i].'</option>'."\n";
} }
$out .= '</select>'."\n"; $out .= '</select>'."\n";
@ -140,7 +165,7 @@
display_item($t,lang('Occurence'),$occurence_html.'&nbsp;'.$dow_html); display_item($t,lang('Occurence'),$occurence_html.'&nbsp;'.$dow_html);
$str = '<input type="checkbox" name="observance_rule" value="True"'; $str = '<input type="checkbox" name="holiday[observance_rule]" value="True"';
if($holiday['observance_rule']) if($holiday['observance_rule'])
{ {
$str .= ' checked'; $str .= ' checked';
@ -148,7 +173,6 @@
$str .= '>'; $str .= '>';
display_item($t,lang('Observance Rule'),$str); display_item($t,lang('Observance Rule'),$str);
$t->set_var('lang_add',lang('Save')); $t->set_var('lang_add',lang('Save'));
$t->set_var('lang_reset',lang('Reset')); $t->set_var('lang_reset',lang('Reset'));
$var = Array( $var = Array(
@ -161,5 +185,4 @@
$t->parse('cancel_button','form_button'); $t->parse('cancel_button','form_button');
$t->pparse('out','form'); $t->pparse('out','form');
$phpgw->common->phpgw_footer(); $phpgw->common->phpgw_footer();
}
?> ?>

View File

@ -117,8 +117,8 @@
} }
} }
$p->set_var('new_action',$phpgw->link('/calendar/new_holiday.php','locale='.$locale)); $p->set_var('new_action',$phpgw->link('/calendar/editholiday.php','locale='.$locale.'&id=0'));
$p->set_var("lang_add",lang('add')); $p->set_var('lang_add',lang('add'));
$p->set_var('search_action',$phpgw->link('/calendar/editlocale.php')); $p->set_var('search_action',$phpgw->link('/calendar/editlocale.php'));
$p->set_var('lang_search',lang('search')); $p->set_var('lang_search',lang('search'));

View File

@ -56,6 +56,22 @@ class calendar_holiday
} }
} }
function save_holiday($holiday)
{
if(isset($holiday['hol_id']) && $holiday['hol_id'])
{
// echo "Updating LOCALE='".$holiday['locale']."' NAME='".$holiday['name']."' extra=(".$holiday['mday'].'/'.$holiday['month_num'].'/'.$holiday['occurence'].'/'.$holiday['dow'].'/'.$holiday['observance_rule'].")<br>\n";
$sql = "UPDATE phpgw_cal_holidays SET name='".$holiday['name']."', mday=".$holiday['mday'].', month_num='.$holiday['month_num'].', occurence='.$holiday['occurence'].', dow='.$holiday['dow'].', observance_rule='.intval($holiday['observance_rule']).' WHERE hol_id='.$holiday['hol_id'];
}
else
{
// echo "Inserting LOCALE='".$holiday['locale']."' NAME='".$holiday['name']."' extra=(".$holiday['mday'].'/'.$holiday['month_num'].'/'.$holiday['occurence'].'/'.$holiday['dow'].'/'.$holiday['observance_rule'].")<br>\n";
$sql = 'INSERT INTO phpgw_cal_holidays(locale,name,mday,month_num,occurence,dow,observance_rule) '
. "VALUES('".$holiday['locale']."','".$holiday['name']."',".$holiday['mday'].','.$holiday['month_num'].','.$holiday['occurence'].','.$holiday['dow'].','.intval($holiday['observance_rule']).")";
}
$this->db->query($sql,__LINE__,__FILE__);
}
function load_from_network($locale) function load_from_network($locale)
{ {
global $phpgw_info, $HTTP_HOST, $SERVER_PORT; global $phpgw_info, $HTTP_HOST, $SERVER_PORT;
@ -101,16 +117,15 @@ class calendar_holiday
$holiday = explode("\t",$lines[$i]); $holiday = explode("\t",$lines[$i]);
if(count($holiday) == 7) if(count($holiday) == 7)
{ {
$loc = $holiday[0]; $holiday['locale'] = $holiday[0];
$name = addslashes($holiday[1]); $holiday['name'] = addslashes($holiday[1]);
$day = intval($holiday[2]); $holiday['mday'] = intval($holiday[2]);
$month = intval($holiday[3]); $holiday['month_num'] = intval($holiday[3]);
$occurence = intval($holiday[4]); $holiday['occurence'] = intval($holiday[4]);
$dow = intval($holiday[5]); $holiday['dow'] = intval($holiday[5]);
$observ_rule = intval($holiday[6]); $holiday['observance_rule'] = intval($holiday[6]);
// echo "Inserting LOCALE='".$loc."' NAME='".$name."' extra=(".$day.'/'.$month.'/'.$occurence.'/'.$dow.'/'.")<br>\n"; $holiday['hol_id'] = 0;
$sql = "INSERT INTO phpgw_cal_holidays(locale,name,mday,month_num,occurence,dow,observance_rule) VALUES('$loc','$name',$day,$month,$occurence,$dow,$observ_rule)"; $this->save_holiday($holiday);
$this->db->query($sql,__LINE__,__FILE__);
} }
} }
} }