Normal Users and Admins can now optionally customize most of the general options.

phpLogCon will priorize the users personal options, and only use the
global options in a second step.
This commit is contained in:
Andre Lorbach 2008-07-30 16:18:02 +02:00
parent b41ef42aba
commit 99008ee360
6 changed files with 486 additions and 132 deletions

View File

@ -56,57 +56,143 @@ InitFilterHelpers(); // Helpers for frontend filtering!
IncludeLanguageFile( $gl_root_path . '/lang/' . $LANG . '/admin.php' );
// --- BEGIN Custom Code
if ( isset($_SESSION['SESSION_ISADMIN']) && $_SESSION['SESSION_ISADMIN'] == 1 )
{
$content['EditAllowed'] = true;
$content['DISABLE_GLOBALEDIT_FORMCONTROL'] = "";
}
else
{
$content['EditAllowed'] = false;
$content['DISABLE_GLOBALEDIT_FORMCONTROL'] = "disabled";
}
// --- First thing to do is to check the op get parameter!
// Check for changes first | Abort if Edit is not allowed
if ( isset($_GET['op']) && isset($_GET['value']) )
{
if ( $_GET['op'] == "enableuserops" )
{
$iNewVal = intval($_GET['value']);
if ( $iNewVal == 1 )
$USERCFG['UserOverwriteOptions'] = 1;
else
$USERCFG['UserOverwriteOptions'] = 0;
// Enable User Options!
WriteConfigValue( "UserOverwriteOptions", false, $content['SESSION_USERID'] );
}
}
// ---
// --- Check if user wants to overwrite
$UserOverwriteOptions = GetConfigSetting("UserOverwriteOptions", 0, CFGLEVEL_USER);
if ( $UserOverwriteOptions == 1 )
{
$content['ENABLEUSEROPTIONS'] = true;
}
else
{
$content['ENABLEUSEROPTIONS'] = false;
}
// ---
// Check for changes first | Abort if Edit is not allowed
if ( isset($_POST['op']) && $content['EditAllowed'] )
if ( isset($_POST['op']) )
{
if ( $_POST['op'] == "edit" )
{
// Language needs special treatment
if ( isset ($_POST['ViewDefaultLanguage']) )
{
$tmpvar = DB_RemoveBadChars($_POST['ViewDefaultLanguage']);
if ( VerifyLanguage($tmpvar) )
$content['ViewDefaultLanguage'] = $tmpvar;
// Do if User is ADMIN
if ( $content['EditAllowed'] )
{
// Language needs special treatment
if ( isset ($_POST['ViewDefaultLanguage']) )
{
$tmpvar = DB_RemoveBadChars($_POST['ViewDefaultLanguage']);
if ( VerifyLanguage($tmpvar) )
$content['ViewDefaultLanguage'] = $tmpvar;
}
// Read default theme
if ( isset ($_POST['ViewDefaultTheme']) ) { $content['ViewDefaultTheme'] = $_POST['ViewDefaultTheme']; }
// Read default VIEW | Check if View exists as well!
if ( isset ($_POST['DefaultViewsID']) && isset($content['Views'][$_POST['DefaultViewsID']] )) { $content['DefaultViewsID'] = $_POST['DefaultViewsID']; }
// Read default SOURCES | Check if Source exists as well!
if ( isset ($_POST['DefaultSourceID']) && isset($content['Sources'][$_POST['DefaultSourceID']] )) { $content['DefaultSourceID'] = $_POST['DefaultSourceID']; }
// Read checkboxes
if ( isset ($_POST['ViewUseTodayYesterday']) ) { $content['ViewUseTodayYesterday'] = 1; } else { $content['ViewUseTodayYesterday'] = 0; }
if ( isset ($_POST['ViewEnableDetailPopups']) ) { $content['ViewEnableDetailPopups'] = 1; } else { $content['ViewEnableDetailPopups'] = 0; }
if ( isset ($_POST['EnableIPAddressResolve']) ) { $content['EnableIPAddressResolve'] = 1; } else { $content['EnableIPAddressResolve'] = 0; }
if ( isset ($_POST['MiscShowDebugMsg']) ) { $content['MiscShowDebugMsg'] = 1; } else { $content['MiscShowDebugMsg'] = 0; }
if ( isset ($_POST['MiscShowDebugGridCounter']) ) { $content['MiscShowDebugGridCounter'] = 1; } else { $content['MiscShowDebugGridCounter'] = 0; }
if ( isset ($_POST['MiscShowPageRenderStats']) ) { $content['MiscShowPageRenderStats'] = 1; } else { $content['MiscShowPageRenderStats'] = 0; }
if ( isset ($_POST['MiscEnableGzipCompression']) ) { $content['MiscEnableGzipCompression'] = 1; } else { $content['MiscEnableGzipCompression'] = 0; }
if ( isset ($_POST['DebugUserLogin']) ) { $content['DebugUserLogin'] = 1; } else { $content['DebugUserLogin'] = 0; }
if ( isset ($_POST['SuppressDuplicatedMessages']) ) { $content['SuppressDuplicatedMessages'] = 1; } else { $content['SuppressDuplicatedMessages'] = 0; }
// Read Text number fields
if ( isset ($_POST['ViewMessageCharacterLimit']) && is_numeric($_POST['ViewMessageCharacterLimit']) ) { $content['ViewMessageCharacterLimit'] = $_POST['ViewMessageCharacterLimit']; }
if ( isset ($_POST['ViewEntriesPerPage']) && is_numeric($_POST['ViewEntriesPerPage']) ) { $content['ViewEntriesPerPage'] = $_POST['ViewEntriesPerPage']; }
if ( isset ($_POST['ViewEnableAutoReloadSeconds']) && is_numeric($_POST['ViewEnableAutoReloadSeconds']) ) { $content['ViewEnableAutoReloadSeconds'] = $_POST['ViewEnableAutoReloadSeconds']; }
// Read Text fields
if ( isset ($_POST['PrependTitle']) ) { $content['PrependTitle'] = $_POST['PrependTitle']; }
if ( isset ($_POST['SearchCustomButtonCaption']) ) { $content['SearchCustomButtonCaption'] = $_POST['SearchCustomButtonCaption']; }
if ( isset ($_POST['SearchCustomButtonSearch']) ) { $content['SearchCustomButtonSearch'] = $_POST['SearchCustomButtonSearch']; }
// Save configuration variables now
SaveGeneralSettingsIntoDB();
}
// Do if User wants extra options
if ( $content['ENABLEUSEROPTIONS'] )
{
// Language needs special treatment
if ( isset ($_POST['User_ViewDefaultLanguage']) )
{
$tmpvar = DB_RemoveBadChars($_POST['User_ViewDefaultLanguage']);
if ( VerifyLanguage($tmpvar) )
$USERCFG['ViewDefaultLanguage'] = $tmpvar;
}
// Read default theme
if ( isset ($_POST['ViewDefaultTheme']) ) { $content['ViewDefaultTheme'] = $_POST['ViewDefaultTheme']; }
// Read default theme
if ( isset ($_POST['User_ViewDefaultTheme']) ) { $USERCFG['ViewDefaultTheme'] = $_POST['User_ViewDefaultTheme']; }
// Read default VIEW | Check if View exists as well!
if ( isset ($_POST['DefaultViewsID']) && isset($content['Views'][$_POST['DefaultViewsID']] )) { $content['DefaultViewsID'] = $_POST['DefaultViewsID']; }
// Read default VIEW | Check if View exists as well!
if ( isset ($_POST['User_DefaultViewsID']) && isset($content['Views'][$_POST['User_DefaultViewsID']] )) { $USERCFG['DefaultViewsID'] = $_POST['User_DefaultViewsID']; }
// Read default SOURCES | Check if Source exists as well!
if ( isset ($_POST['DefaultSourceID']) && isset($content['Sources'][$_POST['DefaultSourceID']] )) { $content['DefaultSourceID'] = $_POST['DefaultSourceID']; }
// Read default SOURCES | Check if Source exists as well!
if ( isset ($_POST['User_DefaultSourceID']) && isset($content['Sources'][$_POST['User_DefaultSourceID']] )) { $USERCFG['DefaultSourceID'] = $_POST['User_DefaultSourceID']; }
// Read checkboxes
if ( isset ($_POST['ViewUseTodayYesterday']) ) { $content['ViewUseTodayYesterday'] = 1; } else { $content['ViewUseTodayYesterday'] = 0; }
if ( isset ($_POST['ViewEnableDetailPopups']) ) { $content['ViewEnableDetailPopups'] = 1; } else { $content['ViewEnableDetailPopups'] = 0; }
if ( isset ($_POST['EnableIPAddressResolve']) ) { $content['EnableIPAddressResolve'] = 1; } else { $content['EnableIPAddressResolve'] = 0; }
if ( isset ($_POST['MiscShowDebugMsg']) ) { $content['MiscShowDebugMsg'] = 1; } else { $content['MiscShowDebugMsg'] = 0; }
if ( isset ($_POST['MiscShowDebugGridCounter']) ) { $content['MiscShowDebugGridCounter'] = 1; } else { $content['MiscShowDebugGridCounter'] = 0; }
if ( isset ($_POST['MiscShowPageRenderStats']) ) { $content['MiscShowPageRenderStats'] = 1; } else { $content['MiscShowPageRenderStats'] = 0; }
if ( isset ($_POST['MiscEnableGzipCompression']) ) { $content['MiscEnableGzipCompression'] = 1; } else { $content['MiscEnableGzipCompression'] = 0; }
if ( isset ($_POST['DebugUserLogin']) ) { $content['DebugUserLogin'] = 1; } else { $content['DebugUserLogin'] = 0; }
if ( isset ($_POST['SuppressDuplicatedMessages']) ) { $content['SuppressDuplicatedMessages'] = 1; } else { $content['SuppressDuplicatedMessages'] = 0; }
// Read checkboxes
if ( isset ($_POST['User_ViewUseTodayYesterday']) ) { $USERCFG['ViewUseTodayYesterday'] = 1; } else { $USERCFG['ViewUseTodayYesterday'] = 0; }
if ( isset ($_POST['User_ViewEnableDetailPopups']) ) { $USERCFG['ViewEnableDetailPopups'] = 1; } else { $USERCFG['ViewEnableDetailPopups'] = 0; }
if ( isset ($_POST['User_EnableIPAddressResolve']) ) { $USERCFG['EnableIPAddressResolve'] = 1; } else { $USERCFG['EnableIPAddressResolve'] = 0; }
if ( isset ($_POST['User_MiscShowDebugMsg']) ) { $USERCFG['MiscShowDebugMsg'] = 1; } else { $USERCFG['MiscShowDebugMsg'] = 0; }
if ( isset ($_POST['User_MiscShowDebugGridCounter']) ) { $USERCFG['MiscShowDebugGridCounter'] = 1; } else { $USERCFG['MiscShowDebugGridCounter'] = 0; }
if ( isset ($_POST['User_MiscShowPageRenderStats']) ) { $USERCFG['MiscShowPageRenderStats'] = 1; } else { $USERCFG['MiscShowPageRenderStats'] = 0; }
if ( isset ($_POST['User_MiscEnableGzipCompression']) ) { $USERCFG['MiscEnableGzipCompression'] = 1; } else { $USERCFG['MiscEnableGzipCompression'] = 0; }
// DISABLED FOR USER! if ( isset ($_POST['User_DebugUserLogin']) ) { $USERCFG['DebugUserLogin'] = 1; } else { $USERCFG['DebugUserLogin'] = 0; }
if ( isset ($_POST['User_SuppressDuplicatedMessages']) ) { $USERCFG['SuppressDuplicatedMessages'] = 1; } else { $USERCFG['SuppressDuplicatedMessages'] = 0; }
// Read Text number fields
if ( isset ($_POST['ViewMessageCharacterLimit']) && is_numeric($_POST['ViewMessageCharacterLimit']) ) { $content['ViewMessageCharacterLimit'] = $_POST['ViewMessageCharacterLimit']; }
if ( isset ($_POST['ViewEntriesPerPage']) && is_numeric($_POST['ViewEntriesPerPage']) ) { $content['ViewEntriesPerPage'] = $_POST['ViewEntriesPerPage']; }
if ( isset ($_POST['ViewEnableAutoReloadSeconds']) && is_numeric($_POST['ViewEnableAutoReloadSeconds']) ) { $content['ViewEnableAutoReloadSeconds'] = $_POST['ViewEnableAutoReloadSeconds']; }
// Read Text number fields
if ( isset ($_POST['User_ViewMessageCharacterLimit']) && is_numeric($_POST['User_ViewMessageCharacterLimit']) ) { $USERCFG['ViewMessageCharacterLimit'] = $_POST['User_ViewMessageCharacterLimit']; }
if ( isset ($_POST['User_ViewEntriesPerPage']) && is_numeric($_POST['User_ViewEntriesPerPage']) ) { $USERCFG['ViewEntriesPerPage'] = $_POST['User_ViewEntriesPerPage']; }
if ( isset ($_POST['User_ViewEnableAutoReloadSeconds']) && is_numeric($_POST['User_ViewEnableAutoReloadSeconds']) ) { $USERCFG['ViewEnableAutoReloadSeconds'] = $_POST['User_ViewEnableAutoReloadSeconds']; }
// Read Text fields
if ( isset ($_POST['PrependTitle']) ) { $content['PrependTitle'] = $_POST['PrependTitle']; }
if ( isset ($_POST['SearchCustomButtonCaption']) ) { $content['SearchCustomButtonCaption'] = $_POST['SearchCustomButtonCaption']; }
if ( isset ($_POST['SearchCustomButtonSearch']) ) { $content['SearchCustomButtonSearch'] = $_POST['SearchCustomButtonSearch']; }
// Read Text fields
if ( isset ($_POST['User_PrependTitle']) ) { $USERCFG['PrependTitle'] = $_POST['User_PrependTitle']; }
if ( isset ($_POST['User_SearchCustomButtonCaption']) ) { $USERCFG['SearchCustomButtonCaption'] = $_POST['User_SearchCustomButtonCaption']; }
if ( isset ($_POST['User_SearchCustomButtonSearch']) ) { $USERCFG['SearchCustomButtonSearch'] = $_POST['User_SearchCustomButtonSearch']; }
// Save configuration variables now
SaveGeneralSettingsIntoDB();
// Save configuration variables now
SaveUserGeneralSettingsIntoDB();
}
// Do a redirect
RedirectResult( $content['LN_GEN_SUCCESSFULLYSAVED'], "index.php" );
@ -141,18 +227,95 @@ foreach ( $content['VIEWS'] as $myView )
// ---
// --- Init for DefaultSource field!
// copy Views Array
// copy Sources Array
$content['SOURCES'] = $content['Sources'];
if ( !isset($content['DefaultSourceID']) ) { $content['DefaultSourceID'] = ''; }
foreach ( $content['SOURCES'] as $myView )
foreach ( $content['SOURCES'] as $mySource )
{
if ( $myView['ID'] == $content['DefaultSourceID'] )
$content['SOURCES'][ $myView['ID'] ]['selected'] = "selected";
if ( $mySource['ID'] == $content['DefaultSourceID'] )
$content['SOURCES'][ $mySource['ID'] ]['selected'] = "selected";
else
$content['SOURCES'][ $myView['ID'] ]['selected'] = "";
$content['SOURCES'][ $mySource['ID'] ]['selected'] = "";
}
// ---
// Do if User wants extra options
if ( $content['ENABLEUSEROPTIONS'] )
{
// Set checkbox States
if ( GetConfigSetting('ViewUseTodayYesterday', $content['ViewUseTodayYesterday'], CFGLEVEL_USER) == 1) { $content['User_ViewUseTodayYesterday_checked'] = "checked"; } else { $content['User_ViewUseTodayYesterday_checked'] = ""; }
if ( GetConfigSetting('ViewEnableDetailPopups', $content['ViewEnableDetailPopups'], CFGLEVEL_USER) == 1) { $content['User_ViewEnableDetailPopups_checked'] = "checked"; } else { $content['User_ViewEnableDetailPopups_checked'] = ""; }
if ( GetConfigSetting('EnableIPAddressResolve', $content['EnableIPAddressResolve'], CFGLEVEL_USER) == 1) { $content['User_EnableIPAddressResolve_checked'] = "checked"; } else { $content['User_EnableIPAddressResolve_checked'] = ""; }
if ( GetConfigSetting('MiscShowDebugMsg', $content['MiscShowDebugMsg'], CFGLEVEL_USER) == 1) { $content['User_MiscShowDebugMsg_checked'] = "checked"; } else { $content['User_MiscShowDebugMsg_checked'] = ""; }
if ( GetConfigSetting('MiscShowDebugGridCounter', $content['MiscShowDebugGridCounter'], CFGLEVEL_USER) == 1) { $content['User_MiscShowDebugGridCounter_checked'] = "checked"; } else { $content['User_MiscShowDebugGridCounter_checked'] = ""; }
if ( GetConfigSetting('MiscShowPageRenderStats', $content['MiscShowPageRenderStats'], CFGLEVEL_USER) == 1) { $content['User_MiscShowPageRenderStats_checked'] = "checked"; } else { $content['User_MiscShowPageRenderStats_checked'] = ""; }
if ( GetConfigSetting('MiscEnableGzipCompression', $content['MiscEnableGzipCompression'], CFGLEVEL_USER) == 1) { $content['User_MiscEnableGzipCompression_checked'] = "checked"; } else { $content['User_MiscEnableGzipCompression_checked'] = ""; }
if ( GetConfigSetting('SuppressDuplicatedMessages', $content['SuppressDuplicatedMessages'], CFGLEVEL_USER) == 1) { $content['User_SuppressDuplicatedMessages_checked'] = "checked"; } else { $content['User_SuppressDuplicatedMessages_checked'] = ""; }
// ---
// --- Set TextFields!
$content['User_PrependTitle'] = GetConfigSetting('PrependTitle', $content['PrependTitle'], CFGLEVEL_USER);
$content['User_ViewMessageCharacterLimit'] = GetConfigSetting('ViewMessageCharacterLimit', $content['ViewMessageCharacterLimit'], CFGLEVEL_USER);
$content['User_ViewEntriesPerPage'] = GetConfigSetting('ViewEntriesPerPage', $content['ViewEntriesPerPage'], CFGLEVEL_USER);
$content['User_ViewEnableAutoReloadSeconds'] = GetConfigSetting('ViewEnableAutoReloadSeconds', $content['ViewEnableAutoReloadSeconds'], CFGLEVEL_USER);
$content['User_SearchCustomButtonCaption'] = GetConfigSetting('SearchCustomButtonCaption', $content['SearchCustomButtonCaption'], CFGLEVEL_USER);
$content['User_SearchCustomButtonSearch'] = GetConfigSetting('SearchCustomButtonSearch', $content['SearchCustomButtonSearch'], CFGLEVEL_USER);
// ---
// --- Init for ViewDefaultTheme field!
// copy STYLES Array
$content['USER_STYLES'] = $content['STYLES'];
$userStyleID = GetConfigSetting('ViewDefaultTheme', $content['ViewDefaultTheme'], CFGLEVEL_USER);
foreach ( $content['USER_STYLES'] as &$myStyle )
{
if ( $myStyle['StyleName'] == $userStyleID )
$myStyle['selected'] = "selected";
else
$myStyle['selected'] = "";
}
// ---
// --- Init for ViewDefaultLanguage field!
// copy LANGUAGES Array
$content['USER_LANGUAGES'] = $content['LANGUAGES'];
$userLangID = GetConfigSetting('ViewDefaultLanguage', $content['ViewDefaultLanguage'], CFGLEVEL_USER);
foreach ( $content['USER_LANGUAGES'] as &$myLang )
{
if ( $myLang['langcode'] == $userLangID )
$myLang['selected'] = "selected";
else
$myLang['selected'] = "";
}
// ---
// --- Init for DefaultView field!
// copy Views Array
$content['USER_VIEWS'] = $content['Views'];
$userViewID = GetConfigSetting('DefaultViewsID', $content['DefaultViewsID'], CFGLEVEL_USER);
foreach ( $content['USER_VIEWS'] as &$myView )
{
if ( $myView['ID'] == $userViewID )
$myView['selected'] = "selected";
else
$myView['selected'] = "";
}
// ---
// --- Init for DefaultSource field!
// copy Sources Array
$content['USER_SOURCES'] = $content['Sources'];
$userSourceID = GetConfigSetting('DefaultViewsID', $content['DefaultViewsID'], CFGLEVEL_USER);
foreach ( $content['USER_SOURCES'] as &$mySource )
{
if ( $mySource['ID'] == $userSourceID )
$mySource['selected'] = "selected";
else
$mySource['selected'] = "";
}
// ---
}
// --- BEGIN CREATE TITLE
$content['TITLE'] = InitPageTitle();
$content['TITLE'] .= " :: " . $content['LN_ADMINMENU_GENOPT'];

View File

@ -146,9 +146,6 @@ function InitPhpLogCon()
// Init UserDB related stuff!
InitUserSystemPhpLogCon();
// Moved here, because we do not need if GZIP needs to be enabled before the config is loaded!
InitRuntimeInformations();
// Establish DB Connection
if ( GetConfigSetting("UserDBEnabled", false) )
DB_Connect();
@ -156,6 +153,9 @@ function InitPhpLogCon()
// Now load the Page configuration values
InitConfigurationValues();
// Moved here, because we do not need if GZIP needs to be enabled before the config is loaded!
InitRuntimeInformations();
// Now Create Themes List because we haven't the config before!
CreateThemesList();
@ -376,8 +376,6 @@ function InitRuntimeInformations()
{
global $content;
// TODO| maybe not needed!
// Enable GZIP Compression if enabled!
if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false && GetConfigSetting("MiscEnableGzipCompression", 1, CFGLEVEL_USER) == 1 )
{
@ -445,7 +443,8 @@ function InitFrontEndVariables()
$content['MENU_SOURCE_PDO'] = $content['BASEPATH'] . "images/icons/data_gear.png";
$content['MENU_MAXIMIZE'] = $content['BASEPATH'] . "images/icons/table_selection_all.png";
$content['MENU_NORMAL'] = $content['BASEPATH'] . "images/icons/table_selection_block.png";
$content['MENU_USEROPTIONS'] = $content['BASEPATH'] . "images/icons/businessman_preferences.png";
$content['MENU_PAGER_BEGIN'] = $content['BASEPATH'] . "images/icons/media_beginning.png";
$content['MENU_PAGER_PREVIOUS'] = $content['BASEPATH'] . "images/icons/media_rewind.png";
$content['MENU_PAGER_NEXT'] = $content['BASEPATH'] . "images/icons/media_fast_forward.png";
@ -500,7 +499,7 @@ function InitConfigurationValues()
if ( $result )
{
$rows = DB_GetAllRows($result, true, true);
$rows = DB_GetAllRows($result, true);
// Read results from DB and overwrite in $CFG Array!
if ( isset($rows ) )
{
@ -704,7 +703,7 @@ function InitPageTitle()
{
global $content, $currentSourceID;
$tmpTitle = GetConfigSetting("PrependTitle", "");
$tmpTitle = GetConfigSetting("PrependTitle", "", CFGLEVEL_USER);
if ( strlen($tmpTitle) > 0 )
$szReturn = $tmpTitle . " :: ";
else
@ -1079,15 +1078,51 @@ function SaveGeneralSettingsIntoDB()
WriteConfigValue( "DefaultSourceID", true );
}
function SaveUserGeneralSettingsIntoDB()
{
global $content;
WriteConfigValue( "ViewDefaultLanguage", false, $content['SESSION_USERID']);
WriteConfigValue( "ViewDefaultTheme", false, $content['SESSION_USERID'] );
WriteConfigValue( "ViewUseTodayYesterday", false, $content['SESSION_USERID'] );
WriteConfigValue( "ViewEnableDetailPopups", false, $content['SESSION_USERID'] );
WriteConfigValue( "EnableIPAddressResolve", false, $content['SESSION_USERID'] );
WriteConfigValue( "MiscShowDebugMsg", false, $content['SESSION_USERID'] );
WriteConfigValue( "MiscShowDebugGridCounter", false, $content['SESSION_USERID'] );
WriteConfigValue( "MiscShowPageRenderStats", false, $content['SESSION_USERID'] );
WriteConfigValue( "MiscEnableGzipCompression", false, $content['SESSION_USERID'] );
WriteConfigValue( "SuppressDuplicatedMessages", false, $content['SESSION_USERID'] );
WriteConfigValue( "ViewMessageCharacterLimit", false, $content['SESSION_USERID'] );
WriteConfigValue( "ViewEntriesPerPage", false, $content['SESSION_USERID'] );
WriteConfigValue( "ViewEnableAutoReloadSeconds", false, $content['SESSION_USERID'] );
WriteConfigValue( "PrependTitle", false, $content['SESSION_USERID'] );
WriteConfigValue( "SearchCustomButtonCaption", false, $content['SESSION_USERID'] );
WriteConfigValue( "SearchCustomButtonSearch", false, $content['SESSION_USERID'] );
// Extra Fields
WriteConfigValue( "DefaultViewsID", false, $content['SESSION_USERID'] );
WriteConfigValue( "DefaultSourceID", false, $content['SESSION_USERID'] );
}
function GetConfigSetting($szSettingName, $szDefaultValue = "", $DesiredConfigLevel = CFGLEVEL_GLOBAL)
{
global $content, $CFG;
global $content, $CFG, $USERCFG;
if ( isset($CFG['UserDBEnabled']) && $CFG['UserDBEnabled'] )
{
if ( $DesiredConfigLevel == CFGLEVEL_USER )
{
// TODO!
// only use user settings if desired by the user
if ( isset($USERCFG['UserOverwriteOptions']) && $USERCFG['UserOverwriteOptions'] == 1 )
{
// return user specific setting if available
if ( isset($USERCFG[$szSettingName]) )
return $USERCFG[$szSettingName];
}
}
}

View File

@ -320,38 +320,77 @@ function WriteConfigValue($szPropName, $is_global = true, $userid = false, $grou
return;
// ---
// !!! TODO HANDLE USER AND GROUP FIELDS!
if ( isset($content[$szPropName]) )
if ( $is_global )
{
// Copy value for DB and check for BadDB Chars!
$szDbValue = PrepareValueForDB( $content[$szPropName] );
}
else
{
// Set empty in this case
$szDbValue = "";
$content[$szPropName] = "";
}
if ( isset($content[$szPropName]) )
{
// Copy value for DB and check for BadDB Chars!
$szDbValue = PrepareValueForDB( $content[$szPropName] );
}
else
{
// Set empty in this case
$szDbValue = "";
$content[$szPropName] = "";
}
// Copy to $CFG array as well
$CFG[$szPropName] = $content[$szPropName];
// Check if we need to INSERT or UPDATE
$result = DB_Query("SELECT propname FROM " . DB_CONFIG . " WHERE propname = '" . $szPropName . "' AND is_global = " . $is_global);
$rows = DB_GetAllRows($result, true);
if ( !isset($rows) )
{
// New Entry
$result = DB_Query("INSERT INTO " . DB_CONFIG . " (propname, propvalue, is_global) VALUES ( '" . $szPropName . "', '" . $szDbValue . "', " . $is_global . ")");
DB_FreeQuery($result);
// Copy to $CFG array as well
$CFG[$szPropName] = $content[$szPropName];
// Check if we need to INSERT or UPDATE
$result = DB_Query("SELECT propname FROM " . DB_CONFIG . " WHERE propname = '" . $szPropName . "' AND is_global = " . $is_global);
$rows = DB_GetAllRows($result, true);
if ( !isset($rows) )
{
// New Entry
$result = DB_Query("INSERT INTO " . DB_CONFIG . " (propname, propvalue, is_global) VALUES ( '" . $szPropName . "', '" . $szDbValue . "', " . $is_global . ")");
DB_FreeQuery($result);
}
else
{
// Update Entry
$result = DB_Query("UPDATE " . DB_CONFIG . " SET propvalue = '" . $szDbValue . "' WHERE propname = '" . $szPropName . "' AND is_global = " . $is_global);
DB_FreeQuery($result);
}
}
else
else if ( $userid != false )
{
// Update Entry
$result = DB_Query("UPDATE " . DB_CONFIG . " SET propvalue = '" . $szDbValue . "' WHERE propname = '" . $szPropName . "' AND is_global = " . $is_global);
DB_FreeQuery($result);
global $USERCFG;
if ( isset($USERCFG[$szPropName]) )
{
// Copy value for DB and check for BadDB Chars!
$szDbValue = PrepareValueForDB( $USERCFG[$szPropName] );
}
else
{
// Set empty in this case
$szDbValue = "";
$USERCFG[$szPropName] = "";
}
// Check if we need to INSERT or UPDATE
$result = DB_Query("SELECT propname FROM " . DB_CONFIG . " WHERE propname = '" . $szPropName . "' AND userid = " . $userid);
$rows = DB_GetAllRows($result, true);
if ( !isset($rows) )
{
// New Entry
$result = DB_Query("INSERT INTO " . DB_CONFIG . " (propname, propvalue, userid) VALUES ( '" . $szPropName . "', '" . $szDbValue . "', " . $userid . ")");
DB_FreeQuery($result);
}
else
{
// Update Entry
$result = DB_Query("UPDATE " . DB_CONFIG . " SET propvalue = '" . $szDbValue . "' WHERE propname = '" . $szPropName . "' AND userid = " . $userid);
DB_FreeQuery($result);
}
}
else if ( $groupid != false )
DieWithFriendlyErrorMsg( "Critical Error occured in WriteConfigValue, writing GROUP specific properties is not supported yet!" );
}
function GetSingleDBEntryOnly( $myqry )

View File

@ -52,7 +52,7 @@ $content['IS_USERSYSTEMENABLED'] = true;
// --- BEGIN Usermanagement Function ---
function InitUserSession()
{
global $content;
global $USERCFG, $content;
// --- Hide donate Button if not on Admin Page
if ( !defined('IS_ADMINPAGE') )
@ -77,6 +77,26 @@ function InitUserSession()
$content['SESSION_ISADMIN'] = $_SESSION['SESSION_ISADMIN'];
if ( isset($_SESSION['SESSION_GROUPIDS']) )
$content['SESSION_GROUPIDS'] = $_SESSION['SESSION_GROUPIDS'];
// --- Now we obtain user specific general settings from the DB for the user!
$result = DB_Query("SELECT * FROM " . DB_CONFIG . " WHERE userid = " . $content['SESSION_USERID']);
if ( $result )
{
$rows = DB_GetAllRows($result, true);
// Read results from DB and overwrite in $CFG Array!
if ( isset($rows ) )
{
for($i = 0; $i < count($rows); $i++)
{
// Store and overwrite settings from the user here!
$USERCFG[ $rows[$i]['propname'] ] = $rows[$i]['propvalue'];
// $content[ $rows[$i]['propname'] ] = $rows[$i]['propvalue'];
}
}
}
else // Critical ERROR HERE!
DieWithFriendlyErrorMsg( "Critical Error occured while trying to access the database in table '" . DB_CONFIG . "'" );
// ---
// Successfully logged in
return true;

View File

@ -78,6 +78,12 @@ $content['LN_GEN_ACCESSDENIED'] = "Access denied to this function";
$content['LN_GEN_DEFVIEWS'] = "Default selected view";
$content['LN_GEN_DEFSOURCE'] = "Default selected source";
$content['LN_GEN_SUPPRESSDUPMSG'] = "Suppress duplicated messages";
$content['LN_GEN_OPTIONNAME'] = "Option name";
$content['LN_GEN_GLOBALVALUE'] = "Global value";
$content['LN_GEN_PERSONALVALUE'] = "Personal (User)value";
$content['LN_GEN_DISABLEUSEROPTIONS'] = "Click here to disable personal options";
$content['LN_GEN_ENABLEUSEROPTIONS'] = "Click here to enable personal options";
// User Center
$content['LN_USER_CENTER'] = "User Options";

View File

@ -5,132 +5,223 @@
<td colspan="3" class="title" nowrap><B>{LN_ADMINMENU_GENOPT}</B></td>
</tr>
</table>
<br><br>
<form action="" method="post">
<table border="0" cellpadding="1" cellspacing="1" bgcolor="#DDDDDD" width="600" align="center">
<table border="0" cellpadding="1" cellspacing="1" bgcolor="#DDDDDD" width="750" align="center">
<tr>
<td colspan="2" align="center" valign="top" class="title">
<td colspan="2" class="line1">&nbsp;</td>
<td align="center" class="cellmenu1" width="50%" nowrap rowspan="2" valign="middle">
<!-- IF ENABLEUSEROPTIONS="true" -->
<a href="?op=enableuserops&value=0" class="cellmenu1_link">{LN_GEN_DISABLEUSEROPTIONS}</a>
<br><img src="{MENU_USEROPTIONS}" align="left" width="16" height="16" vspace="0">
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
<!-- IF ENABLEUSEROPTIONS!="true" -->
<a href="?op=enableuserops&value=1" class="cellmenu1_link">{LN_GEN_ENABLEUSEROPTIONS}</a>
<br><img src="{MENU_USEROPTIONS}" align="left" width="16" height="16" vspace="0">
<!-- ENDIF ENABLEUSEROPTIONS!="true" -->
<b>{LN_GEN_PERSONALVALUE}</b>
</td>
</tr>
<tr>
<td align="left" class="cellmenu1" width="250" nowrap><b>{LN_GEN_OPTIONNAME}</b></td>
<td align="center" class="cellmenu1" width="50%" nowrap><img src="{MENU_GLOBAL}" align="left" width="16" height="16" vspace="0"><b>{LN_GEN_GLOBALVALUE}</b></td>
</tr>
<tr>
<td colspan="3" align="center" valign="top" class="title">
<strong>{LN_ADMIN_GLOBFRONTEND}</strong></td>
</tr>
<tr>
<td align="left" class="cellmenu1" width="250" nowrap><b>{LN_GEN_WEBSTYLE}</b></td>
<td align="right" class="line1" width="100%">
<select name="ViewDefaultTheme" size="1">
<td align="left" class="cellmenu2" width="250" nowrap><b>{LN_GEN_WEBSTYLE}</b></td>
<td align="right" class="line1">
<select name="ViewDefaultTheme" size="1" {DISABLE_GLOBALEDIT_FORMCONTROL}>
<!-- BEGIN STYLES -->
<option {selected}>{StyleName}</option>
<!-- END STYLES -->
</select>
</td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1">
<select name="User_ViewDefaultTheme" size="1">
<!-- BEGIN USER_STYLES -->
<option {selected}>{StyleName}</option>
<!-- END USER_STYLES -->
</select>
</td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" width="250" nowrap><b>{LN_GEN_SELLANGUAGE}</b></td>
<td align="right" class="line2" width="100%">
<select name="ViewDefaultLanguage" size="1">
<td align="left" class="cellmenu2" width="250" nowrap><b>{LN_GEN_SELLANGUAGE}</b></td>
<td align="right" class="line2">
<select name="ViewDefaultLanguage" size="1" {DISABLE_GLOBALEDIT_FORMCONTROL}>
<!-- BEGIN LANGUAGES -->
<option {selected} value="{langcode}">{DisplayName}</option>
<!-- END LANGUAGES -->
</select>
</td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line2">
<select name="User_ViewDefaultLanguage" size="1">
<!-- BEGIN USER_LANGUAGES -->
<option {selected} value="{langcode}">{DisplayName}</option>
<!-- END USER_LANGUAGES -->
</select>
</td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_DEFVIEWS}</b></td>
<td align="right" class="line1" width="100%">
<select id="DefaultViewsID" name="DefaultViewsID" size="1">
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_DEFVIEWS}</b></td>
<td align="right" class="line1">
<select id="DefaultViewsID" name="DefaultViewsID" size="1" {DISABLE_GLOBALEDIT_FORMCONTROL}>
<!-- BEGIN VIEWS -->
<option {selected} value="{ID}">{DisplayName}</option>
<!-- END VIEWS -->
</select>
</td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1">
<select id="User_DefaultViewsID" name="User_DefaultViewsID" size="1">
<!-- BEGIN USER_VIEWS -->
<option {selected} value="{ID}">{DisplayName}</option>
<!-- END USER_VIEWS -->
</select>
</td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_DEFSOURCE}</b></td>
<td align="right" class="line1" width="100%">
<select id="DefaultSourceID" name="DefaultSourceID" size="1">
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_DEFSOURCE}</b></td>
<td align="right" class="line1">
<select id="DefaultSourceID" name="DefaultSourceID" size="1" {DISABLE_GLOBALEDIT_FORMCONTROL}>
<!-- BEGIN SOURCES -->
<option {selected} value="{ID}">{Name}</option>
<!-- END SOURCES -->
</select>
</td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1">
<select id="User_DefaultSourceID" name="User_DefaultSourceID" size="1">
<!-- BEGIN USER_SOURCES -->
<option {selected} value="{ID}">{Name}</option>
<!-- END USER_SOURCES -->
</select>
</td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_PREPENDTITLE}</b></td>
<td align="right" class="line1" ><input type="text" name="PrependTitle" size="40" maxlength="255" value="{PrependTitle}"></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_PREPENDTITLE}</b></td>
<td align="right" class="line1" ><input type="text" name="PrependTitle" size="35" maxlength="255" value="{PrependTitle}" {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="text" name="User_PrependTitle" size="35" maxlength="255" value="{User_PrependTitle}"></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_MSGCHARLIMIT}</b></td>
<td align="right" class="line1" ><input type="text" name="ViewMessageCharacterLimit" size="40" maxlength="255" value="{ViewMessageCharacterLimit}"></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_MSGCHARLIMIT}</b></td>
<td align="right" class="line1" ><input type="text" name="ViewMessageCharacterLimit" size="35" maxlength="255" value="{ViewMessageCharacterLimit}" {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="text" name="User_ViewMessageCharacterLimit" size="35" maxlength="255" value="{User_ViewMessageCharacterLimit}"></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_ENTRIESPERPAGE}</b></td>
<td align="right" class="line1" ><input type="text" name="ViewEntriesPerPage" size="40" maxlength="255" value="{ViewEntriesPerPage}"></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_ENTRIESPERPAGE}</b></td>
<td align="right" class="line1" ><input type="text" name="ViewEntriesPerPage" size="35" maxlength="255" value="{ViewEntriesPerPage}" {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="text" name="User_ViewEntriesPerPage" size="35" maxlength="255" value="{User_ViewEntriesPerPage}"></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_AUTORELOADSECONDS}</b></td>
<td align="right" class="line1" ><input type="text" name="ViewEnableAutoReloadSeconds" size="40" maxlength="255" value="{ViewEnableAutoReloadSeconds}"></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_AUTORELOADSECONDS}</b></td>
<td align="right" class="line1" ><input type="text" name="ViewEnableAutoReloadSeconds" size="35" maxlength="255" value="{ViewEnableAutoReloadSeconds}" {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="text" name="User_ViewEnableAutoReloadSeconds" size="35" maxlength="255" value="{User_ViewEnableAutoReloadSeconds}"></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_CUSTBTNCAPT}</b></td>
<td align="right" class="line1" ><input type="text" name="SearchCustomButtonCaption" size="40" maxlength="255" value="{SearchCustomButtonCaption}"></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_CUSTBTNCAPT}</b></td>
<td align="right" class="line1" ><input type="text" name="SearchCustomButtonCaption" size="35" maxlength="255" value="{SearchCustomButtonCaption}" {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="text" name="User_SearchCustomButtonCaption" size="35" maxlength="255" value="{User_SearchCustomButtonCaption}"></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_CUSTBTNSRCH}</b></td>
<td align="right" class="line1" ><input type="text" name="SearchCustomButtonSearch" size="40" maxlength="255" value="{SearchCustomButtonSearch}"></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_CUSTBTNSRCH}</b></td>
<td align="right" class="line1" ><input type="text" name="SearchCustomButtonSearch" size="35" maxlength="255" value="{SearchCustomButtonSearch}" {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="text" name="User_SearchCustomButtonSearch" size="35" maxlength="255" value="{User_SearchCustomButtonSearch}"></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_USETODAY}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="ViewUseTodayYesterday" value="yes" {ViewUseTodayYesterday_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_USETODAY}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="ViewUseTodayYesterday" value="yes" {ViewUseTodayYesterday_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="checkbox" name="User_ViewUseTodayYesterday" value="yes" {User_ViewUseTodayYesterday_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_DETAILPOPUPS}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="ViewEnableDetailPopups" value="yes" {ViewEnableDetailPopups_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_DETAILPOPUPS}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="ViewEnableDetailPopups" value="yes" {ViewEnableDetailPopups_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="checkbox" name="User_ViewEnableDetailPopups" value="yes" {User_ViewEnableDetailPopups_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_IPADRRESOLVE}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="EnableIPAddressResolve" value="yes" {EnableIPAddressResolve_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_IPADRRESOLVE}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="EnableIPAddressResolve" value="yes" {EnableIPAddressResolve_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="checkbox" name="User_EnableIPAddressResolve" value="yes" {User_EnableIPAddressResolve_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_SUPPRESSDUPMSG}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="SuppressDuplicatedMessages" value="yes" {SuppressDuplicatedMessages_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_SUPPRESSDUPMSG}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="SuppressDuplicatedMessages" value="yes" {SuppressDuplicatedMessages_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="checkbox" name="User_SuppressDuplicatedMessages" value="yes" {User_SuppressDuplicatedMessages_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td colspan="2" align="center" valign="top" class="title">
<td colspan="3" align="center" valign="top" class="title">
<strong>{LN_ADMIN_MISC}</strong></td>
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_SHOWDEBUGMSG}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="MiscShowDebugMsg" value="yes" {MiscShowDebugMsg_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_SHOWDEBUGMSG}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="MiscShowDebugMsg" value="yes" {MiscShowDebugMsg_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="checkbox" name="User_MiscShowDebugMsg" value="yes" {User_MiscShowDebugMsg_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_DEBUGGRIDCOUNTER}</b></td>
<td align="right" class="line2" ><input type="checkbox" name="MiscShowDebugGridCounter" value="yes" {MiscShowDebugGridCounter_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_DEBUGGRIDCOUNTER}</b></td>
<td align="right" class="line2" ><input type="checkbox" name="MiscShowDebugGridCounter" value="yes" {MiscShowDebugGridCounter_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line2" ><input type="checkbox" name="User_MiscShowDebugGridCounter" value="yes" {User_MiscShowDebugGridCounter_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_SHOWPAGERENDERSTATS}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="MiscShowPageRenderStats" value="yes" {MiscShowPageRenderStats_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_SHOWPAGERENDERSTATS}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="MiscShowPageRenderStats" value="yes" {MiscShowPageRenderStats_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" ><input type="checkbox" name="User_MiscShowPageRenderStats" value="yes" {User_MiscShowPageRenderStats_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_ENABLEGZIP}</b></td>
<td align="right" class="line2" ><input type="checkbox" name="MiscEnableGzipCompression" value="yes" {MiscEnableGzipCompression_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_ENABLEGZIP}</b></td>
<td align="right" class="line2" ><input type="checkbox" name="MiscEnableGzipCompression" value="yes" {MiscEnableGzipCompression_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line2" ><input type="checkbox" name="User_iscEnableGzipCompression" value="yes" {User_MiscEnableGzipCompression_checked}></td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="left" class="cellmenu1" nowrap><b>{LN_GEN_DEBUGUSERLOGIN}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="DebugUserLogin" value="yes" {DebugUserLogin_checked}></td>
<td align="left" class="cellmenu2" nowrap><b>{LN_GEN_DEBUGUSERLOGIN}</b></td>
<td align="right" class="line1" ><input type="checkbox" name="DebugUserLogin" value="yes" {DebugUserLogin_checked} {DISABLE_GLOBALEDIT_FORMCONTROL}></td>
<!-- IF ENABLEUSEROPTIONS="true" -->
<td align="right" class="line1" >&nbsp;</td>
<!-- ENDIF ENABLEUSEROPTIONS="true" -->
</tr>
<tr>
<td align="center" colspan="2">
<!-- IF EditAllowed="true" -->
<td align="center" colspan="3">
<input type="submit" value="{LN_ADMIN_SEND}">
<input type="hidden" name="op" value="edit">
<!-- ENDIF EditAllowed="true" -->
<!-- IF EditAllowed!="true" -->
<input type="submit" value="{LN_GEN_ACCESSDENIED}" disabled>
<!-- ENDIF EditAllowed!="true" -->
</td>
</tr>
</table>