2000-08-19 16:22:09 +02:00
< ? php
/************************************************************************** \
* phpGroupWare - administration *
* http :// www . 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$ */
2000-11-21 01:41:31 +01:00
$phpgw_info = array ();
2000-12-20 11:09:33 +01:00
$phpgw_info [ " flags " ] = array ( " currentapp " => " admin " , " noheader " => True , " nonavbar " => True ,
" enable_nextmatchs_class " => True );
2000-08-19 16:22:09 +02:00
include ( " ../header.inc.php " );
2000-08-20 04:08:01 +02:00
2000-12-20 11:09:33 +01:00
$phpgw -> template -> set_file ( array ( " form " => " application_form.tpl " ,
" row " => " application_form_row.tpl "
));
function display_row ( $label , $value )
{
global $phpgw ;
$phpgw -> template -> set_var ( " tr_color " , $phpgw -> nextmatchs -> alternate_row_color ());
$phpgw -> template -> set_var ( " label " , $label );
$phpgw -> template -> set_var ( " value " , $value );
$phpgw -> template -> parse ( " rows " , " row " , True );
}
2000-08-20 04:08:01 +02:00
2000-08-19 16:49:32 +02:00
if ( $submit ) {
2000-11-22 07:26:44 +01:00
$totalerrors = 0 ;
2000-12-26 06:15:20 +01:00
if ( ! $app_order ) {
$app_order = 0 ;
}
2000-10-28 21:24:51 +02:00
$phpgw -> db -> query ( " select count(*) from applications where app_name=' "
2000-12-26 06:30:40 +01:00
. addslashes ( $n_app_name ) . " ' " , __LINE__ , __FILE__ );
2000-10-28 21:24:51 +02:00
$phpgw -> db -> next_record ();
if ( $phpgw -> db -> f ( 0 ) != 0 ) {
2000-11-22 07:26:44 +01:00
$error [ $totalerrors ++ ] = lang ( " That application name already exsists. " );
2000-10-28 21:24:51 +02:00
}
2000-12-20 11:09:33 +01:00
if ( preg_match ( " / \ D/ " , $app_order )) {
$error [ $totalerrors ++ ] = lang ( " That application order must be a number. " );
}
2000-10-28 21:24:51 +02:00
if ( ! $n_app_name )
2000-11-22 07:26:44 +01:00
$error [ $totalerrors ++ ] = lang ( " You must enter an application name. " );
2000-10-28 21:24:51 +02:00
if ( ! $n_app_title )
2000-11-22 07:26:44 +01:00
$error [ $totalerrors ++ ] = lang ( " You must enter an application title. " );
2000-10-28 21:24:51 +02:00
2000-11-22 07:26:44 +01:00
if ( ! $totalerrors ) {
2000-12-20 11:09:33 +01:00
$phpgw -> db -> query ( " insert into applications (app_name,app_title,app_enabled,app_order) values(' "
2000-12-26 06:30:40 +01:00
. addslashes ( $n_app_name ) . " ',' " . addslashes ( $n_app_title ) . " ',' "
. " $n_app_status ',' $app_order ') " , __LINE__ , __FILE__ );
2000-08-19 16:49:32 +02:00
2000-12-22 22:18:35 +01:00
$phpgw -> db -> query ( " SELECT preference_owner, preference_value FROM preferences " );
2000-12-26 06:30:40 +01:00
if ( $phpgw -> db -> num_rows ()) {
while ( $phpgw -> db -> next_record ()) {
if ( $phpgw -> db -> f ( " preference_owner " ) != $phpgw_info [ " user " ][ " account_id " ]) {
$phpgw_newuser [ " user " ][ " preferences " ] = unserialize ( $phpgw -> db -> f ( " preference_value " ));
if ( ! $phpgw_newuser [ " user " ][ " preferences " ][ $n_app_name ]) {
$phpgw -> common -> hook_single ( " add_def_pref " , $n_app_name );
$phpgw -> preferences -> commit_user ( $phpgw -> db -> f ( " preference_owner " ));
}
} elseif ( ! $phpgw_info [ " user " ][ " preferences " ][ $n_app_name ]) {
$phpgw -> common -> hook_single ( " add_def_pref " , $n_app_name );
$phpgw_info [ " user " ][ " preferences " ][ $n_app_name ] = $phpgw_newuser [ " user " ][ " preferences " ][ $n_app_name ];
unset ( $phpgw_newuser );
$phpgw -> preferences -> commit ();
}
}
}
2000-08-19 16:49:32 +02:00
Header ( " Location: " . $phpgw -> link ( " applications.php " ));
2000-12-23 23:50:32 +01:00
$phpgw -> common -> phpgw_exit ();
2000-10-28 21:24:51 +02:00
} else {
2000-11-07 21:37:02 +01:00
$phpgw -> template -> set_var ( " error " , " <p><center> " . $phpgw -> common -> error_list ( $error ) . " </center><br> " );
2000-08-19 16:49:32 +02:00
}
2000-12-26 06:30:40 +01:00
} else { // else submit
2000-11-07 21:37:02 +01:00
$phpgw -> template -> set_var ( " error " , " " );
2000-08-19 16:49:32 +02:00
}
2000-10-28 21:24:51 +02:00
$phpgw -> common -> phpgw_header ();
$phpgw -> common -> navbar ();
2000-08-19 16:49:32 +02:00
2000-11-07 21:37:02 +01:00
$phpgw -> template -> set_var ( " lang_header " , lang ( " Add new application " ));
2000-12-20 11:09:33 +01:00
$phpgw -> template -> set_var ( " th_bg " , $phpgw_info [ " theme " ][ " th_bg " ]);
2000-08-20 04:08:01 +02:00
2000-11-07 21:37:02 +01:00
$phpgw -> template -> set_var ( " hidden_vars " , " " );
$phpgw -> template -> set_var ( " form_action " , $phpgw -> link ( " newapplication.php " ));
2000-08-19 16:22:09 +02:00
2000-12-20 11:09:33 +01:00
display_row ( lang ( " application name " ), '<input name="n_app_name" value="' . $n_app_name . '">' );
display_row ( lang ( " application title " ), '<input name="n_app_title" value="' . $n_app_title . '">' );
2000-11-13 13:00:47 +01:00
2000-12-25 02:12:12 +01:00
if ( ! isset ( $n_app_status )) $n_app_status = 1 ;
2000-11-13 13:00:47 +01:00
$selected [ $n_app_status ] = " selected " ;
$status_html = '<option value="0"' . $selected [ 0 ] . '>' . lang ( " Disabled " ) . '</option>'
2000-11-22 05:18:29 +01:00
. '<option value="1"' . $selected [ 1 ] . '>' . lang ( " Enabled " ) . '</option>'
2000-11-13 13:00:47 +01:00
. '<option value="2"' . $selected [ 2 ] . '>' . lang ( " Enabled - Hidden from navbar " ) . '</option>' ;
2000-12-20 11:09:33 +01:00
display_row ( lang ( " Status " ), '<select name="n_app_status">' . $status_html . '</select>' );
2000-12-26 06:30:40 +01:00
if ( ! $app_order ) {
$phpgw -> db -> query ( " select (max(app_order)+1) as max from applications " );
$phpgw -> db -> next_record ();
$app_order = $phpgw -> db -> f ( " max " );
}
2000-12-20 11:09:33 +01:00
display_row ( lang ( " Select which location this app should appear on the navbar, lowest (left) to highest (right) " ), '<input name="app_order" value="' . $app_order . '">' );
2000-08-20 04:56:02 +02:00
2000-12-20 11:09:33 +01:00
$phpgw -> template -> set_var ( " lang_submit_button " , lang ( " add " ));
2000-08-19 16:22:09 +02:00
2000-12-20 11:09:33 +01:00
$phpgw -> template -> pparse ( " out " , " form " );
2000-09-29 07:24:18 +02:00
$phpgw -> common -> phpgw_footer ();
2000-09-25 23:13:52 +02:00
?>