set_filenames(array(
	"body" => "admin/logs_config_body.tpl")
);
$sql = "SELECT config_value AS all_admin
FROM " . LOGS_CONFIG_TABLE . "
WHERE config_name = 'all_admin' ";
if(!$result = $db->sql_query($sql)) 
{ 
   message_die(CRITICAL_ERROR, "Could not query log config informations", "", __LINE__, __FILE__, $sql); 
}
$row = $db->sql_fetchrow($result);
$all_admin_authorized = $row['all_admin'];
//if ( $all_admin_authorized == '0' && $userdata['user_id'] <> '2' && $userdata['user_view_log'] <> '1' )
//{
//	message_die(GENERAL_MESSAGE, $lang['Admin_not_authorized']);
//}
$sql = "SELECT *
FROM " . LOGS_CONFIG_TABLE ;
if(!$result = $db->sql_query($sql)) 
{ 
   message_die(CRITICAL_ERROR, "Could not query log config informations", "", __LINE__, __FILE__, $sql); 
}
else
{
	while ( $row = $db->sql_fetchrow($result) )
	{
		$config_name = $row['config_name'];
		$config_value = $row['config_value'];
		$default_config[$config_name] = $config_value;
		
		$new[$config_name] = ( isset($HTTP_POST_VARS[$config_name]) ) ? $HTTP_POST_VARS[$config_name] : $default_config[$config_name];
		if ( isset($HTTP_POST_VARS['submit']) )
		{
			$sql = "UPDATE " . LOGS_CONFIG_TABLE . " SET
				config_value = '" . str_replace("\'", "''", $new[$config_name]) . "'
				WHERE config_name = '$config_name'";
			if( !$db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Failed to update configuration for $config_name", "", __LINE__, __FILE__, $sql);
			}
		}
	}	
	if( isset($HTTP_POST_VARS['submit']) )
	{
		$message = $lang['Log_Config_updated'] . "
" . sprintf($lang['Click_return_admin_log_config'], "", "") . "
" . sprintf($lang['Click_return_admin_index'], "", "");
		
		message_die(GENERAL_MESSAGE, $message);
	}
}
$add_admin_username = ( isset($HTTP_POST_VARS['add_admin']) ) ? $HTTP_POST_VARS['add_admin'] : '';
$delete_admin_username = ( isset($HTTP_POST_VARS['delete_admin']) ) ? $HTTP_POST_VARS['delete_admin'] : array();
//
// Admins which can be allowed
//
$sql = "SELECT user_id, username
	FROM " . USERS_TABLE . "
	WHERE user_level = '2'
	AND user_id <> '2'
	AND user_view_log = '0' ";
$result = $db->sql_query($sql);
if( !$result )
{
	message_die(GENERAL_ERROR, "Couldn't selected informations about user.", "",__LINE__, __FILE__, $sql);
}
$choose = $db->sql_fetchrowset($result);
$add_admin_select = '';
$choose_username_add = ( isset($HTTP_POST_VARS['add_admin_select']) ) ? $HTTP_POST_VARS['add_admin_select'] : '';
if ( $add_admin_username )
{
	if ( $choose_username_add != '' )
	{
		//
		// Allow a admin to see the logs
		//
		$sql = "UPDATE " . USERS_TABLE . "
			SET user_view_log = '1'
			WHERE user_id = '$choose_username_add' ";
			$result = $db->sql_query($sql);
			if( !$result )
			{
				message_die(GENERAL_ERROR, "Couldn't allow this admin to see the logs.", "",__LINE__, __FILE__, $sql);
			}
			else
			{
				message_die(GENERAL_MESSAGE, $lang['Admins_add_success'] . "
" . sprintf($lang['Click_return_admin_log_config'], "", ""));
			}
	}
	else
	{
		message_die(GENERAL_MESSAGE, $lang['No_admins_allow'] . "
" . sprintf($lang['Click_return_admin_log_config'], "", ""));
	}
}
//
// Admins which can be disallowed
//
$sql = "SELECT user_id, username
	FROM " . USERS_TABLE . "
	WHERE user_level = '1'
	AND user_id <> '2'
	AND user_view_log = '1' ";
$result = $db->sql_query($sql);
if( !$result )
{
	message_die(GENERAL_ERROR, "Couldn't selected informations about user.", "",__LINE__, __FILE__, $sql);
}
$choose_delete = $db->sql_fetchrowset($result);
$delete_admin_select = '';
$choose_username_del = ( isset($HTTP_POST_VARS['delete_admin_select']) ) ? $HTTP_POST_VARS['delete_admin_select'] : array();
$choose_username_del_sql = implode(', ', $choose_username_del);
if ( $delete_admin_username )
{
	if ( $choose_username_del_sql != '' )
	{
		//
		// Disllow a admin to see the logs
		//
		$sql = "UPDATE " . USERS_TABLE . "
			SET user_view_log = '0'
			WHERE user_id ";
			
			if ( count($choose_username_del) > 1 )
			{
				$sql .= "IN ($choose_username_del_sql)";
			}
			else
			{
				$sql .= " = $choose_username_del_sql ";
			}
			$result = $db->sql_query($sql);
			if( !$result )
			{
				message_die(GENERAL_ERROR, "Couldn't disallow this admin to see the logs.", "",__LINE__, __FILE__, $sql);
			}
			else
			{
				message_die(GENERAL_MESSAGE, $lang['Admins_del_success'] . "
" . sprintf($lang['Click_return_admin_log_config'], "", ""));
			}
	}
	else
	{
		message_die(GENERAL_MESSAGE, $lang['No_admins_disallow'] . "
" . sprintf($lang['Click_return_admin_log_config'], "", ""));
	}
}
$do_prune = ( isset($HTTP_POST_VARS['do_prune']) ) ? TRUE : FALSE;
if ( $do_prune )
{
	$prune_days = ( isset($HTTP_POST_VARS['prune_days']) ) ? intval($HTTP_POST_VARS['prune_days']) : 0;
	$prune = prune_logs($prune_days);
	
	if ( $prune )
	{
		message_die(GENERAL_MESSAGE, $lang['Prune_success'] . "
" . sprintf($lang['Click_return_admin_log_config'], "", ""));
	}
}
$all_admin_yes = ( $new['all_admin'] ) ? "checked=\"checked\"" : "";
$all_admin_no = ( !$new['all_admin'] ) ? "checked=\"checked\"" : "";
$template->assign_vars(array(
	"S_CONFIG_ACTION" => append_sid("admin_logs_conf.$phpEx"),
	"L_YES" => $lang['Yes'],
	"L_NO" => $lang['No'],
	"L_SUBMIT" => $lang['Submit'],
	"L_RESET" => $lang['Reset'], 
	"L_ENABLED" => $lang['Enabled'], 
	"L_DISABLED" => $lang['Disabled'],
	"L_ADD" => $lang['Add_disallow'],
	"L_DELETE" => $lang['Delete_disallow'],
	"L_LOG_CONFIG_TITLE" => $lang['Log_Config'],
	"L_LOG_CONFIG_TITLE_EXPLAIN" => $lang['Log_Config_explain'],
	"L_GENERAL_LOG_CONFIG" => $lang['General_Config_Log'],
	"L_ALLOW_OTHER_ADMIN" => $lang['Allow_all_admin'],
	"L_ALLOW_OTHER_ADMIN_EXPLAIN" => $lang['Allow_all_admin_explain'],
	"L_ADD_ADMIN_USERNAME" => $lang['Add_Admin_Username'],
	"L_DELETE_ADMIN_USERNAME" => $lang['Delete_Admin_Username'],
	"L_USERNAME_ADD_ADMIN_EXPLAIN" => $lang['Add_username_admin_explain'],
	"L_USERNAME_DELETE_ADMIN_EXPLAIN" => $lang['Delete_username_admin_explain'],
	"L_PRUNE_LOG" => $lang['Prune_of_logs'],
	"L_PRUNE" => $lang['Prune'],
	"L_PRUNE_EXPLAIN" => $lang['Prune_explain'],
	"L_DO_PRUNE" => $lang['Prune_!'],
	"S_ALLOW_ALL_ADMIN" => $all_admin_yes,
	"S_DISALLOW_ALL_ADMIN" => $all_admin_no,
	"S_ADD_ADMIN" => $add_admin_select,
	"S_DELETE_ADMIN" => $delete_admin_select)
);
$template->pparse("body");
include('./page_footer_admin.'.$phpEx);
?>