khanat-code-old/code/web/public_php/admin/functions_tool_administration.php
Laszlo Kis-Adam 0876456a22 Merged in dfighter1985/ryzomcore/dfighter-tools (pull request #93)
Further GUI Editor improvements
2014-10-13 20:17:57 +02:00

1878 lines
No EOL
49 KiB
PHP

<?php
$tool_admin_menu = array(array('title' => 'Main',
'key' => 'help',
'uri' => 'tool_administration.php?toolmode=help',
'tpl' => 'tool_administration.tpl',
'access' => '', // ALWAYS LEAVE EMPTY !
),
array('title' => 'Users',
'key' => 'users',
'uri' => 'tool_administration.php?toolmode=users',
'tpl' => 'tool_administration_users.tpl',
'access' => 'tool_admin_user',
),
array('title' => 'Groups',
'key' => 'groups',
'uri' => 'tool_administration.php?toolmode=groups',
'tpl' => 'tool_administration_groups.tpl',
'access' => 'tool_admin_group',
),
array('title' => 'Restarts',
'key' => 'restarts',
'uri' => 'tool_administration.php?toolmode=restarts',
'tpl' => 'tool_administration_restarts.tpl',
'access' => 'tool_admin_restart',
),
array('title' => 'Applications',
'key' => 'applications',
'uri' => 'tool_administration.php?toolmode=applications',
'tpl' => 'tool_administration_applications.tpl',
'access' => 'tool_admin_application',
),
array('title' => 'Domains',
'key' => 'domains',
'uri' => 'tool_administration.php?toolmode=domains',
'tpl' => 'tool_administration_domains.tpl',
'access' => 'tool_admin_domain',
),
array('title' => 'Shards',
'key' => 'shards',
'uri' => 'tool_administration.php?toolmode=shards',
'tpl' => 'tool_administration_shards.tpl',
'access' => 'tool_admin_shard',
),
array('title' => 'Logs',
'key' => 'logs',
'uri' => 'tool_administration.php?toolmode=logs',
'tpl' => 'tool_administration_logs.tpl',
'access' => 'tool_admin_logs',
),
);
$tool_language_list = array(array('lang_id' => 'en',
'lang_name' => 'English',
),
array('lang_id' => 'fr',
'lang_name' => 'French',
),
array('lang_id' => 'de',
'lang_name' => 'German',
),
);
function tool_admin_menu_get_item_from_key($key)
{
global $tool_admin_menu;
reset($tool_admin_menu);
foreach($tool_admin_menu as $tool_menu)
{
if ($tool_menu['key'] == $key) return $tool_menu;
}
return null;
}
function tool_admin_users_get_list($group_list)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_USER_TABLE ." ORDER BY user_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = array();
while ($row = $db->sql_fetchrow($result))
{
$row['user_group_name'] = tool_admin_groups_get_name_from_id($group_list, $row['user_group_id']);
$data[] = $row;
}
}
}
return $data;
}
function tool_admin_groups_get_user_list($group_id)
{
global $db;
$data = array();
$sql = "SELECT * FROM ". NELDB_USER_TABLE ." WHERE user_group_id=". $group_id ." ORDER BY user_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_groups_get_list()
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_GROUP_TABLE ." ORDER BY group_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
while ($row = $db->sql_fetchrow($result))
{
$row['group_level_name'] = tool_admin_groups_get_level_name_from_id($row['group_level']);
$data[] = $row;
}
}
}
return $data;
}
function tool_admin_groups_get_level_name_from_id($group_level)
{
global $nel_user_group_levels;
reset($nel_user_group_levels);
foreach($nel_user_group_levels as $level_data)
{
if ($group_level == $level_data['level_id'])
{
return $level_data['level_name'];
}
}
return tool_admin_groups_get_level_name_from_id(0);
}
function tool_admin_groups_get_name_from_id($group_list, $group_id)
{
$data = 'unknown';
reset($group_list);
foreach($group_list as $group_data)
{
if ($group_data['group_id'] == $group_id)
{
$data = $group_data['group_name'];
}
}
return $data;
}
function tool_admin_users_get_id($user_id)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_USER_TABLE ." WHERE user_id=". $user_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrow($result);
}
}
return $data;
}
function tool_admin_users_add($user_name, $user_password, $user_group, $user_active)
{
global $db;
$user_name = trim($user_name);
$user_password = trim($user_password);
if ($user_name == '') return "/!\ Error: user name is empty!";
if ($user_password == '') return "/!\ Error: password is empty!";
$user_exists = tool_admin_users_name_exist($user_name);
if (!$user_exists)
{
$sql = "INSERT INTO ". NELDB_USER_TABLE;
$sql .= " (`user_name`,`user_password`,`user_group_id`,`user_created`,`user_active`)";
$sql .= " VALUES ";
$sql .= " ('". $user_name ."','". md5($user_password) ."','". $user_group ."','". time() ."','". $user_active ."')";
$db->sql_query($sql);
return "";
}
return "/!\ Error: user name already exists in the database!";
}
function tool_admin_users_name_exist($user_name)
{
global $db;
$exists = false;
$sql = "SELECT user_id, user_name FROM ". NELDB_USER_TABLE ." WHERE user_name='". $user_name ."'";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$exists = true;
}
}
return $exists;
}
function tool_admin_users_del($user_id)
{
global $db;
$sql = "DELETE FROM ". NELDB_USER_TABLE ." WHERE user_id=". $user_id;
$db->sql_query($sql);
}
function tool_admin_users_update($user_id, $user_name, $user_password, $user_group, $user_active)
{
global $db;
$user_name = trim($user_name);
$user_password = trim($user_password);
if ($user_name == "") return "/!\ Error: user name is empty!";
if (!ereg("^([[:alnum:]]+)$",$user_name)) return "/!\ Error: invalid user name, only alpha numerical characters allowed!";
$sql = "SELECT * FROM ". NELDB_USER_TABLE ." WHERE user_name='". $user_name ."' AND user_id<>". $user_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
return "/!\ Error: user name already exists in database!";
}
}
$sql_ext = "";
if ($user_password != '') $sql_ext = ",user_password='". md5($user_password) ."'";
$sql = "UPDATE ". NELDB_USER_TABLE ." SET user_name='". $user_name ."',user_group_id='". $user_group ."',user_active='". $user_active ."'". $sql_ext ." WHERE user_id=". $user_id;
$db->sql_query($sql);
return "";
}
function tool_admin_groups_get_id($group_id)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_GROUP_TABLE ." WHERE group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrow($result);
}
}
return $data;
}
function tool_admin_groups_add($group_name, $group_level, $group_default, $group_active)
{
global $db;
$group_name = trim($group_name);
if ($group_name == '') return "/!\ Error: group name is empty!";
$group_exists = tool_admin_groups_name_exist($group_name);
if (!$group_exists)
{
if ($group_default == 1)
{
$sql = "UPDATE ". NELDB_GROUP_TABLE ." SET group_default=0";
$db->sql_query($sql);
}
$sql = "INSERT INTO ". NELDB_GROUP_TABLE;
$sql .= " (`group_name`,`group_level`,`group_default`,`group_active`) ";
$sql .= " VALUES ";
$sql .= " ('". $group_name ."',". $group_level .",". $group_default .",". $group_active .")";
$db->sql_query($sql);
return "";
}
return "/!\ Error: group name already exists in the database!";
}
function tool_admin_groups_name_exist($group_name)
{
global $db;
$exists = false;
$sql = "SELECT group_id, group_name FROM ". NELDB_GROUP_TABLE ." WHERE group_name='". $group_name ."'";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$exists = true;
}
}
return $exists;
}
function tool_admin_groups_del($group_id)
{
global $db;
$sql = "DELETE FROM ". NELDB_GROUP_TABLE ." WHERE group_id=". $group_id;
$db->sql_query($sql);
}
function tool_admin_groups_update($group_id, $group_name, $group_level, $group_default, $group_active)
{
global $db;
$group_name = trim($group_name);
if ($group_name == "") return "/!\ Error: group name is empty!";
if (!ereg("^([[:alnum:]]+)$",$group_name)) return "/!\ Error: invalid group name, only alpha numerical characters allowed!";
$sql = "SELECT * FROM ". NELDB_GROUP_TABLE ." WHERE group_name='". $group_name ."' AND group_id<>". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
return "/!\ Error: group name already exists in database!";
}
}
if ($group_default == 1)
{
$sql = "UPDATE ". NELDB_GROUP_TABLE ." SET group_default=0";
$db->sql_query($sql);
}
$sql = "UPDATE ". NELDB_GROUP_TABLE ." SET group_name='". $group_name ."',group_level='". $group_level ."',group_default='". $group_default ."',group_active='". $group_active ."' WHERE group_id=". $group_id;
$db->sql_query($sql);
return "";
}
function tool_admin_groups_update_default_domain($group_id, $domain_id)
{
global $db;
$sql = "SELECT * FROM ". NELDB_GROUP_TABLE ." WHERE group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$row = $db->sql_fetchrow($result);
if ($row['group_default_domain_id'] != $domain_id)
{
$sql = "UPDATE ". NELDB_GROUP_TABLE ." SET group_default_domain_id=". $domain_id .",group_default_shard_id=0 WHERE group_id=". $group_id;
$db->sql_query($sql);
}
}
else
{
return "/!\ Error: invalid group id!";
}
}
return "";
}
function tool_admin_groups_update_default_shard($group_id, $shard_id)
{
global $db;
$sql = "SELECT * FROM ". NELDB_GROUP_TABLE ." WHERE group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$sql = "UPDATE ". NELDB_GROUP_TABLE ." SET group_default_shard_id=". $shard_id ." WHERE group_id=". $group_id;
$db->sql_query($sql);
}
else
{
return "/!\ Error: invalid group id!";
}
}
return "";
}
function tool_admin_groups_update_default_application($group_id, $application_id)
{
global $db;
$sql = "SELECT * FROM ". NELDB_GROUP_TABLE ." WHERE group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$sql = "UPDATE ". NELDB_GROUP_TABLE ." SET group_default_application_id=". $application_id ." WHERE group_id=". $group_id;
$db->sql_query($sql);
}
else
{
return "/!\ Error: invalid group id!";
}
}
return "";
}
function tool_admin_applications_get_list()
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_APPLICATION_TABLE ." ORDER BY application_order ASC, application_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_applications_get_id($application_id)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_APPLICATION_TABLE ." WHERE application_id=". $application_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrow($result);
}
}
return $data;
}
function tool_admin_applications_add($application_name, $application_uri, $application_restriction, $application_icon, $application_order, $application_visible)
{
global $db;
$application_name = trim($application_name);
if ($application_name == '') return "/!\ Error: application name is empty!";
$application_exists = tool_admin_applications_name_exist($application_name);
if (!$application_exists)
{
$sql = "INSERT INTO ". NELDB_APPLICATION_TABLE;
$sql .= " (`application_name`,`application_uri`,`application_restriction`,`application_order`,`application_visible`,`application_icon`) ";
$sql .= " VALUES ";
$sql .= " ('". $application_name ."','". $application_uri ."','". $application_restriction ."','". $application_order ."','". $application_visible ."','". $application_icon ."')";
$db->sql_query($sql);
return "";
}
return "/!\ Error: application name already exists in the database!";
}
function tool_admin_applications_name_exist($application_name)
{
global $db;
$exists = false;
$sql = "SELECT application_id, application_name FROM ". NELDB_APPLICATION_TABLE ." WHERE application_name='". $application_name ."'";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$exists = true;
}
}
return $exists;
}
function tool_admin_applications_del($application_id)
{
global $db;
$sql = "DELETE FROM ". NELDB_USER_APPLICATION_TABLE ." WHERE user_application_application_id=". $application_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_GROUP_APPLICATION_TABLE ." WHERE group_application_application_id=". $application_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_APPLICATION_TABLE ." WHERE application_id=". $application_id;
$db->sql_query($sql);
}
function tool_admin_applications_update($application_id, $application_name, $application_uri, $application_restriction, $application_icon, $application_order, $application_visible)
{
global $db;
$application_name = trim($application_name);
if ($application_name == "") return "/!\ Error: application name is empty!";
$sql = "SELECT * FROM ". NELDB_APPLICATION_TABLE ." WHERE application_name='". $application_name ."' AND application_id<>". $application_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
return "/!\ Error: application name already exists in database!";
}
}
$sql = "UPDATE ". NELDB_APPLICATION_TABLE ." SET application_name='". $application_name ."',application_uri='". $application_uri ."',application_restriction='". $application_restriction ."',application_icon='". $application_icon ."',application_order='". $application_order ."',application_visible='". $application_visible ."' WHERE application_id=". $application_id;
$db->sql_query($sql);
return "";
}
function tool_admin_domains_get_list()
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_DOMAIN_TABLE ." ORDER BY domain_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_domains_add($domain_name, $domain_application, $domain_as_host, $domain_as_port, $domain_rrd_path, $domain_las_admin_path, $domain_las_local_path, $domain_sql_string, $domain_cs_sql_string, $domain_hd_check, $domain_mfs_web)
{
global $db;
$domain_name = trim($domain_name);
if ($domain_name == '') return "/!\ Error: domain name is empty!";
$domain_exists = tool_admin_domains_name_exist($domain_name);
if (!$domain_exists)
{
$sql = "INSERT INTO ". NELDB_DOMAIN_TABLE;
$sql .= " (`domain_name`,`domain_application`,`domain_as_host`,`domain_as_port`,`domain_rrd_path`,`domain_las_admin_path`,`domain_las_local_path`,`domain_sql_string`,`domain_hd_check`,`domain_mfs_web`,`domain_cs_sql_string`) ";
$sql .= " VALUES ";
$sql .= " ('". $domain_name ."','". $domain_application ."','". $domain_as_host ."','". $domain_as_port ."','". $domain_rrd_path ."','". $domain_las_admin_path ."','". $domain_las_local_path ."','". $domain_sql_string ."',". $domain_hd_check .",'". $domain_mfs_web ."','". $domain_cs_sql_string ."') ";
$db->sql_query($sql);
return "";
}
return "/!\ Error: domain name already exists in the database!";
}
function tool_admin_domains_name_exist($domain_name)
{
global $db;
$exists = false;
$sql = "SELECT domain_id, domain_name FROM ". NELDB_DOMAIN_TABLE ." WHERE domain_name='". $domain_name ."'";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$exists = true;
}
}
return $exists;
}
function tool_admin_domains_get_id($domain_id)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_DOMAIN_TABLE ." WHERE domain_id=". $domain_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrow($result);
}
}
return $data;
}
function tool_admin_domains_del($domain_id)
{
global $db;
$sql = "DELETE FROM ". NELDB_USER_SHARD_TABLE ." WHERE user_shard_domain_id=". $domain_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_USER_DOMAIN_TABLE ." WHERE user_domain_domain_id=". $domain_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_GROUP_SHARD_TABLE ." WHERE group_shard_domain_id=". $domain_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_GROUP_DOMAIN_TABLE ." WHERE group_domain_domain_id=". $domain_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_SHARD_TABLE ." WHERE shard_domain_id=". $domain_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_DOMAIN_TABLE ." WHERE domain_id=". $domain_id;
$db->sql_query($sql);
}
function tool_admin_domains_update($domain_id, $domain_name, $domain_application, $domain_as_host, $domain_as_port, $domain_rrd_path, $domain_las_admin_path, $domain_las_local_path, $domain_sql_string, $domain_cs_sql_string, $domain_hd_check, $domain_mfs_web)
{
global $db;
$domain_name = trim($domain_name);
if ($domain_name == "") return "/!\ Error: domain name is empty!";
$sql = "SELECT * FROM ". NELDB_DOMAIN_TABLE ." WHERE domain_name='". $domain_name ."' AND domain_id<>". $domain_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
return "/!\ Error: domain name already exists in database!";
}
}
$sql = "UPDATE ". NELDB_DOMAIN_TABLE ." SET domain_name='". $domain_name."',domain_application='". $domain_application ."',domain_as_host='". $domain_as_host ."',domain_as_port='". $domain_as_port ."',domain_rrd_path='". $domain_rrd_path ."',domain_las_admin_path='". $domain_las_admin_path ."',domain_las_local_path='". $domain_las_local_path ."',domain_sql_string='". $domain_sql_string ."',domain_hd_check=". $domain_hd_check .",domain_mfs_web='". $domain_mfs_web ."',domain_cs_sql_string='". $domain_cs_sql_string ."' WHERE domain_id=". $domain_id;
$db->sql_query($sql);
return "";
}
function tool_admin_shards_get_list()
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_SHARD_TABLE ." LEFT JOIN ". NELDB_DOMAIN_TABLE ." ON (shard_domain_id=domain_id) ORDER BY domain_name ASC, shard_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_shards_add($shard_name, $shard_as_id, $shard_domain_id, $shard_language)
{
global $db;
$shard_name = trim($shard_name);
if ($shard_name == '') return "/!\ Error: shard name is empty!";
$shard_as_id = trim($shard_as_id);
//if (!is_numeric($shard_as_id)) return "/!\ Error: shard AS Id is invalid!";
//$shard_exists = tool_admin_shards_name_exist($shard_as_id);
//if (!$shard_exists)
//{
$sql = "INSERT INTO ". NELDB_SHARD_TABLE;
$sql .= " (`shard_name`,`shard_as_id`,`shard_domain_id`,`shard_lang`) ";
$sql .= " VALUES ";
$sql .= " ('". $shard_name ."','". $shard_as_id ."','". $shard_domain_id ."','". $shard_language ."') ";
$db->sql_query($sql);
return "";
//}
//
//return "/!\ Error: shard AS Id already exists in the database!";
}
function tool_admin_shards_name_exist($shard_as_id, $except_id=false)
{
global $db;
if ($shard_as_id == '*' || $shard_as_id == '?') return false;
$exists = false;
$sql = "SELECT * FROM ". NELDB_SHARD_TABLE ." WHERE shard_as_id='". $shard_as_id ."'";
if ($except_id !== false) $sql .= " AND shard_id<>". $except_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$exists = true;
}
}
return $exists;
}
function tool_admin_shards_get_id($shard_id)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_SHARD_TABLE ." WHERE shard_id=". $shard_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrow($result);
}
}
return $data;
}
function tool_admin_shards_del($shard_id)
{
global $db;
$sql = "DELETE FROM ". NELDB_USER_SHARD_TABLE ." WHERE user_shard_shard_id=". $shard_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_GROUP_SHARD_TABLE ." WHERE group_shard_shard_id=". $shard_id;
$db->sql_query($sql);
$sql = "DELETE FROM ". NELDB_SHARD_TABLE ." WHERE shard_id=". $shard_id;
$db->sql_query($sql);
}
function tool_admin_shards_update($shard_id, $shard_name, $shard_as_id, $shard_domain_id, $shard_language)
{
global $db;
$shard_name = trim($shard_name);
if ($shard_name == '') return "/!\ Error: shard name is empty!";
$shard_as_id = trim($shard_as_id);
//if (!is_numeric($shard_as_id)) return "/!\ Error: shard AS Id is invalid!";
//$shard_exists = tool_admin_shards_name_exist($shard_as_id, $shard_id);
//if (!$shard_exists)
//{
$sql = "UPDATE ". NELDB_SHARD_TABLE ." SET shard_name='". $shard_name ."',shard_as_id='". $shard_as_id ."',shard_domain_id='". $shard_domain_id ."',shard_lang='". $shard_language ."' WHERE shard_id=". $shard_id;
$db->sql_query($sql);
return "";
//}
//
//return "/!\ Error: shard AS Id already exists in the database!";
}
function tool_admin_users_domains_update($user_id, $group_id, $domain_ids)
{
global $db;
$user_domains = tool_admin_users_domains_get_list($user_id, true);
$group_domains = tool_admin_groups_domains_get_list($group_id, true);
$sql = "DELETE FROM ". NELDB_USER_DOMAIN_TABLE ." WHERE user_domain_user_id=". $user_id;
$db->sql_query($sql);
if (is_array($domain_ids) and sizeof($domain_ids))
{
reset($domain_ids);
foreach($domain_ids as $domain_id)
{
if (is_numeric($domain_id) && $domain_id > 0)
{
$sql = "INSERT INTO ". NELDB_USER_DOMAIN_TABLE ." (`user_domain_user_id`,`user_domain_domain_id`) VALUES ('". $user_id ."','". $domain_id ."')";
$db->sql_query($sql);
}
}
}
// now we remove all shards except those that belong to the user AND group
$sql = "DELETE FROM ". NELDB_USER_SHARD_TABLE ." WHERE user_shard_user_id=". $user_id;
if (is_array($domain_ids) && sizeof($domain_ids)) $sql .= " AND user_shard_domain_id NOT IN (". implode(',',array_values($domain_ids)) .")";
if (is_array($group_domains) && sizeof($group_domains)) $sql .= " AND user_shard_domain_id NOT IN (". implode(',',array_values($group_domains)) .")";
$db->sql_query($sql);
}
function tool_admin_users_domains_get_list($user_id, $compact = false)
{
global $db;
$data = array();
$data1 = array();
$sql = "SELECT * FROM ". NELDB_USER_DOMAIN_TABLE ." LEFT JOIN ". NELDB_DOMAIN_TABLE ." ON (user_domain_domain_id=domain_id) WHERE user_domain_user_id=". $user_id ." ORDER BY domain_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data1 = $db->sql_fetchrowset($result);
}
}
if ($compact)
{
reset($data1);
foreach($data1 as $data_tmp)
{
$data[] = $data_tmp['user_domain_domain_id'];
}
}
else
{
$data = $data1;
}
return $data;
}
function tool_admin_groups_domains_get_list($group_id, $compact = false)
{
global $db;
$data = array();
$data1 = array();
$sql = "SELECT * FROM ". NELDB_GROUP_DOMAIN_TABLE ." LEFT JOIN ". NELDB_DOMAIN_TABLE ." ON (group_domain_domain_id=domain_id) WHERE group_domain_group_id=". $group_id ." ORDER BY domain_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data1 = $db->sql_fetchrowset($result);
}
}
if ($compact)
{
reset($data1);
foreach($data1 as $data_tmp)
{
$data[] = $data_tmp['group_domain_domain_id'];
}
}
else
{
$data = $data1;
}
//nt_common_add_debug($data);
return $data;
}
function tool_admin_users_domains_merge($domain_list, $user_list, $group_list)
{
$data = array();
if (is_array($domain_list) && sizeof($domain_list))
{
reset($domain_list);
foreach($domain_list as $domain)
{
if (in_array($domain['domain_id'], $group_list))
{
$domain['domain_disabled'] = true;
$domain['domain_visible'] = true;
}
elseif (in_array($domain['domain_id'], $user_list))
{
$domain['domain_selected'] = true;
$domain['domain_visible'] = true;
}
$data[] = $domain;
}
}
return $data;
}
function tool_admin_users_shards_get_list($user_id, $compact = false)
{
global $db;
$data = array();
$data1 = array();
$sql = "SELECT * FROM ". NELDB_USER_SHARD_TABLE ." LEFT JOIN ". NELDB_SHARD_TABLE ." ON (user_shard_shard_id=shard_id) WHERE user_shard_user_id=". $user_id ." ORDER BY shard_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data1 = $db->sql_fetchrowset($result);
}
}
if ($compact)
{
reset($data1);
foreach($data1 as $data_tmp)
{
$data[] = $data_tmp['user_shard_shard_id'];
}
}
else
{
$data = $data1;
}
return $data;
}
function tool_admin_groups_shards_get_list($group_id, $compact = false)
{
global $db;
$data = array();
$data1 = array();
$sql = "SELECT * FROM ". NELDB_GROUP_SHARD_TABLE ." LEFT JOIN ". NELDB_SHARD_TABLE ." ON (group_shard_shard_id=shard_id) WHERE group_shard_group_id=". $group_id ." ORDER BY shard_name ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data1 = $db->sql_fetchrowset($result);
}
}
if ($compact)
{
reset($data1);
foreach($data1 as $data_tmp)
{
$data[] = $data_tmp['group_shard_shard_id'];
}
}
else
{
$data = $data1;
}
return $data;
}
function tool_admin_users_shards_merge($domain_list, $shard_list, $user_list, $group_list)
{
$data1 = array();
if (is_array($shard_list) && sizeof($shard_list))
{
reset($shard_list);
foreach($shard_list as $shard)
{
if (in_array($shard['shard_id'], $group_list))
{
$shard['shard_disabled'] = true;
}
elseif (in_array($shard['shard_id'], $user_list))
{
$shard['shard_selected'] = true;
}
$data1[] = $shard;
}
$shard_list = $data1;
}
$data2 = array();
// now we sort the shards by their domain
if (is_array($domain_list) && sizeof($domain_list))
{
reset($domain_list);
foreach($domain_list as $domain)
{
// looks for the shards that belong to this domain
reset($shard_list);
foreach($shard_list as $shard)
{
if ($domain['domain_id'] == $shard['shard_domain_id'])
{
$domain['shard_list'][] = $shard;
}
}
$data2[] = $domain;
}
$domain_list = $data2;
}
return $domain_list;
}
function tool_admin_users_shards_update($user_id, $group_id, $shard_ids)
{
global $db;
$sql = "DELETE FROM ". NELDB_USER_SHARD_TABLE ." WHERE user_shard_user_id=". $user_id;
$db->sql_query($sql);
if (is_array($shard_ids) && sizeof($shard_ids))
{
reset($shard_ids);
foreach($shard_ids as $shard_tmp)
{
$tmp = explode('_', $shard_tmp);
$domain_id = $tmp[0];
$shard_id = $tmp[1];
if (is_numeric($domain_id) && is_numeric($shard_id) && $domain_id > 0 && $shard_id > 0)
{
$sql = "INSERT INTO ". NELDB_USER_SHARD_TABLE ." (`user_shard_user_id`,`user_shard_shard_id`,`user_shard_domain_id`) VALUES ('". $user_id ."','". $shard_id ."','". $domain_id ."')";
$db->sql_query($sql);
}
}
}
}
function tool_admin_groups_domains_update($group_id, $domain_ids)
{
global $db;
$sql = "DELETE FROM ". NELDB_GROUP_DOMAIN_TABLE ." WHERE group_domain_group_id=". $group_id;
$db->sql_query($sql);
if (is_array($domain_ids) and sizeof($domain_ids))
{
reset($domain_ids);
foreach($domain_ids as $domain_id)
{
if (is_numeric($domain_id) && $domain_id > 0)
{
$sql = "INSERT INTO ". NELDB_GROUP_DOMAIN_TABLE ." (`group_domain_group_id`,`group_domain_domain_id`) VALUES ('". $group_id ."','". $domain_id ."')";
$db->sql_query($sql);
}
}
}
$sql = "DELETE FROM ". NELDB_GROUP_SHARD_TABLE ." WHERE group_shard_group_id=". $group_id;
if (is_array($domain_ids) && sizeof($domain_ids)) $sql .= " AND group_shard_domain_id NOT IN (". implode(',',array_values($domain_ids)) .")";
$db->sql_query($sql);
// we need to check some stuff for each user in this group
// first we get the list of users that belong to his group
$sql = "SELECT * FROM ". NELDB_USER_TABLE ." WHERE user_group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
while ($row = $db->sql_fetchrow($result))
{
// get a user
$user_id = $row['user_id'];
// get the domains specific to the user
$user_domain_list = tool_admin_users_domains_get_list($user_id, true);
// then we delete the shard that don't belong to the group nor user
$sql = "DELETE FROM ". NELDB_USER_SHARD_TABLE ." WHERE user_shard_user_id=". $user_id;
if (is_array($domain_ids) && sizeof($domain_ids)) $sql .= " AND user_shard_domain_id NOT IN (". implode(',', array_values($domain_ids)) .")";
if (is_array($user_domain_list) && sizeof($user_domain_list)) $sql .= " AND user_shard_domain_id NOT IN (". implode(',', array_values($user_domain_list)) .")";
$db->sql_query($sql);
// make sure users don't have a domain that already belongs to a group
$sql = "DELETE FROM ". NELDB_USER_DOMAIN_TABLE ." WHERE user_domain_user_id=". $user_id;
if (is_array($domain_ids) && sizeof($domain_ids)) $sql .= " AND user_domain_domain_id IN (". implode(',', array_values($domain_ids)) .")";
$db->sql_query($sql);
}
}
}
}
function tool_admin_groups_domains_merge($domain_list, $group_list)
{
$data = array();
if (is_array($domain_list) && sizeof($domain_list))
{
reset($domain_list);
foreach($domain_list as $domain)
{
if (in_array($domain['domain_id'], $group_list))
{
$domain['domain_visible'] = true;
$domain['domain_selected'] = true;
}
$data[] = $domain;
}
}
return $data;
}
function tool_admin_groups_shards_merge($domain_list, $shard_list, $group_list)
{
$data1 = array();
if (is_array($shard_list) && sizeof($shard_list))
{
reset($shard_list);
foreach($shard_list as $shard)
{
if (in_array($shard['shard_id'], $group_list))
{
$shard['shard_selected'] = true;
}
$data1[] = $shard;
}
$shard_list = $data1;
}
$data2 = array();
// now we sort the shards by their domain
if (is_array($domain_list) && sizeof($domain_list) && is_array($shard_list) && sizeof($shard_list))
{
reset($domain_list);
foreach($domain_list as $domain)
{
// looks for the shards that belong to this domain
reset($shard_list);
foreach($shard_list as $shard)
{
if ($domain['domain_id'] == $shard['shard_domain_id'])
{
$domain['shard_list'][] = $shard;
}
}
$data2[] = $domain;
}
$domain_list = $data2;
}
return $domain_list;
}
function tool_admin_groups_shards_update($group_id, $shard_ids)
{
global $db;
$sql = "DELETE FROM ". NELDB_GROUP_SHARD_TABLE ." WHERE group_shard_group_id=". $group_id;
$db->sql_query($sql);
if (is_array($shard_ids) && sizeof($shard_ids))
{
$user_shard_ids = array();
reset($shard_ids);
foreach($shard_ids as $shard_tmp)
{
$tmp = explode('_', $shard_tmp);
$domain_id = $tmp[0];
$shard_id = $tmp[1];
$group_shard_ids[] = $shard_id;
if (is_numeric($domain_id) && is_numeric($shard_id) && $domain_id > 0 && $shard_id > 0)
{
$sql = "INSERT INTO ". NELDB_GROUP_SHARD_TABLE ." (`group_shard_group_id`,`group_shard_shard_id`,`group_shard_domain_id`) VALUES ('". $group_id ."','". $shard_id ."','". $domain_id ."')";
$db->sql_query($sql);
}
}
// we need to check some stuff for each user in this group
// first we get the list of users that belong to his group
$sql = "SELECT * FROM ". NELDB_USER_TABLE ." WHERE user_group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
while ($row = $db->sql_fetchrow($result))
{
// get a user
$user_ids[] = $row['user_id'];
}
$sql = "DELETE FROM ". NELDB_USER_SHARD_TABLE ." WHERE user_shard_user_id IN (". implode(',',array_values($user_ids)) .") AND user_shard_shard_id IN (". implode(',', array_values($group_shard_ids)) .")";
$db->sql_query($sql);
}
}
}
}
function tool_admin_groups_applications_update($group_id, $application_ids)
{
global $db;
$sql = "DELETE FROM ". NELDB_GROUP_APPLICATION_TABLE ." WHERE group_application_group_id=". $group_id;
$db->sql_query($sql);
if (is_array($application_ids) && sizeof($application_ids))
{
reset($application_ids);
foreach($application_ids as $application_id)
{
$sql = "INSERT INTO ". NELDB_GROUP_APPLICATION_TABLE ." (`group_application_group_id`,`group_application_application_id`) VALUES ('". $group_id ."','". $application_id ."')";
$db->sql_query($sql);
}
// we need to make sure no user in this group has this application
$sql = "SELECT * FROM ". NELDB_USER_TABLE ." WHERE user_group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
while ($row = $db->sql_fetchrow($result))
{
// get a user
$user_ids[] = $row['user_id'];
}
$sql = "DELETE FROM ". NELDB_USER_APPLICATION_TABLE ." WHERE user_application_user_id IN (". implode(',',array_values($user_ids)) .") AND user_application_application_id IN (". implode(',', array_values($application_ids)) .")";
$db->sql_query($sql);
}
}
}
}
function tool_admin_groups_applications_get_list($group_id, $compact = false)
{
global $db;
$data = array();
$data1 = array();
$sql = "SELECT * FROM ". NELDB_GROUP_APPLICATION_TABLE ." LEFT JOIN ". NELDB_APPLICATION_TABLE ." ON (group_application_application_id=application_id) WHERE group_application_group_id=". $group_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data1 = $db->sql_fetchrowset($result);
}
}
if ($compact)
{
reset($data1);
foreach($data1 as $data_tmp)
{
$data[] = $data_tmp['group_application_application_id'];
}
}
else
{
$data = $data1;
}
return $data;
}
function tool_admin_groups_applications_merge($appl_list, $group_list)
{
$data1 = array();
if (is_array($appl_list) && sizeof($appl_list))
{
reset($appl_list);
foreach($appl_list as $appl)
{
if (in_array($appl['application_id'], $group_list))
{
$appl['application_selected'] = true;
}
$data1[] = $appl;
}
$appl_list = $data1;
}
return $appl_list;
}
function tool_admin_users_applications_get_list($user_id, $compact = false)
{
global $db;
$data = array();
$data1 = array();
$sql = "SELECT * FROM ". NELDB_USER_APPLICATION_TABLE ." LEFT JOIN ". NELDB_APPLICATION_TABLE ." ON (user_application_application_id=application_id) WHERE user_application_user_id=". $user_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data1 = $db->sql_fetchrowset($result);
}
}
if ($compact)
{
reset($data1);
foreach($data1 as $data_tmp)
{
$data[] = $data_tmp['user_application_application_id'];
}
}
else
{
$data = $data1;
}
return $data;
}
function tool_admin_users_applications_merge($appl_list, $user_list, $group_list)
{
$data1 = array();
if (is_array($appl_list) && sizeof($appl_list))
{
reset($appl_list);
foreach($appl_list as $appl)
{
if (in_array($appl['application_id'], $group_list))
{
$appl['application_disabled'] = true;
}
elseif (in_array($appl['application_id'], $user_list))
{
$appl['application_selected'] = true;
}
$data1[] = $appl;
}
$appl_list = $data1;
}
return $appl_list;
}
function tool_admin_users_applications_update($user_id, $application_ids)
{
global $db;
$sql = "DELETE FROM ". NELDB_USER_APPLICATION_TABLE ." WHERE user_application_user_id=". $user_id;
$db->sql_query($sql);
if (is_array($application_ids) && sizeof($application_ids))
{
reset($application_ids);
foreach($application_ids as $application_id)
{
if (is_numeric($application_id) && $application_id > 0)
{
$sql = "INSERT INTO ". NELDB_USER_APPLICATION_TABLE ." (`user_application_user_id`,`user_application_application_id`) VALUES ('". $user_id ."','". $application_id ."')";
$db->sql_query($sql);
}
}
}
}
function tool_admin_applications_build_menu_list($user_access)
{
$menu = array();
// return $user_access['applications'];
if (is_array($user_access['applications']) && sizeof($user_access['applications']))
{
reset($user_access['applications']);
foreach($user_access['applications'] as $appl_data)
{
if ($appl_data['application_visible'] == 1)
{
$user_check = tool_admin_applications_build_menu_check($appl_data['application_id'], $user_access['user_applications'], 'user_application_application_id');
$group_check = tool_admin_applications_build_menu_check($appl_data['application_id'], $user_access['group_applications'], 'group_application_application_id');
if ($appl_data['application_restriction'] == '')
{
$menu[] = $appl_data;
}
elseif ($user_check || $group_check)
{
$menu[] = $appl_data;
}
}
}
}
return $menu;
}
function tool_admin_applications_get_default($data, $application_id)
{
if (is_array($data) && sizeof($data))
{
reset($data);
foreach($data as $dt)
{
if ($dt['application_id'] == $application_id)
{
return $dt;
}
}
}
return false;
}
function tool_admin_applications_build_menu_check($appl_id, $data, $data_name)
{
if (is_array($data) && sizeof($data))
{
reset($data);
foreach($data as $dt)
{
if ($dt[$data_name] == $appl_id)
{
return true;
}
}
}
return false;
}
function tool_admin_applications_check($appl)
{
global $nel_user;
$ua = $nel_user['access']['user_applications'];
$ga = $nel_user['access']['group_applications'];
if (is_array($ua) && sizeof($ua))
{
reset($ua);
foreach($ua as $a)
{
if ($a['application_restriction'] == $appl)
{
return true;
}
}
}
if (is_array($ga) && sizeof($ga))
{
reset($ga);
foreach($ga as $a)
{
if ($a['application_restriction'] == $appl)
{
return true;
}
}
}
return false;
}
function tool_admin_menu_get_list($ie)
{
global $tool_admin_menu;
global $nel_user;
$new_menu = array();
reset($tool_admin_menu);
foreach($tool_admin_menu as $menu_item)
{
if (($menu_item['access'] == '') || tool_admin_applications_check($menu_item['access']))
{
if ($ie === false)
{
$new_menu[] = $menu_item;
}
}
}
return $new_menu;
}
function tool_admin_users_groups_domains_merge()
{
global $nel_user;
$user_domains = array();
$ud = $nel_user['access']['user_domains'];
$gd = $nel_user['access']['group_domains'];
$dd = tool_admin_domains_get_list();
if (is_array($dd) && sizeof($dd))
{
reset($dd);
foreach($dd as $domain_item)
{
if (is_array($ud))
{
reset($ud);
foreach($ud as $udomain)
{
if ($domain_item['domain_id'] == $udomain['domain_id'])
{
$user_domains[] = $domain_item;
}
}
}
if (is_array($gd))
{
reset($gd);
foreach($gd as $gdomain)
{
if ($domain_item['domain_id'] == $gdomain['domain_id'])
{
$user_domains[] = $domain_item;
}
}
}
}
}
return $user_domains;
}
function tool_admin_users_groups_shards_merge()
{
global $nel_user;
$user_shards = array();
$us = $nel_user['access']['user_shards'];
$gs = $nel_user['access']['group_shards'];
$ss = tool_admin_shards_get_list();
if (is_array($ss) && sizeof($ss))
{
reset($ss);
foreach($ss as $shard_item)
{
if (is_array($us))
{
reset($us);
foreach($us as $ushard)
{
if ($shard_item['shard_id'] == $ushard['shard_id'])
{
$user_shards[] = $shard_item;
}
}
}
if (is_array($gs))
{
reset($gs);
foreach($gs as $gshard)
{
if ($shard_item['shard_id'] == $gshard['shard_id'])
{
$user_shards[] = $shard_item;
}
}
}
}
}
return $user_shards;
}
function tool_admin_logs_get_count()
{
global $db;
$total = 0;
$sql = "SELECT * FROM ". NELDB_LOG_TABLE;
if ($result = $db->sql_query($sql))
{
$total = $db->sql_numrows($result);
}
return $total;
}
function tool_admin_logs_get_list($start=0,$limit=25)
{
global $db;
$data = array();
$sql = "SELECT * FROM ". NELDB_LOG_TABLE ." ORDER BY logs_id DESC LIMIT ". $start .",". $limit;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_domains_get_nel($application)
{
global $db;
$domain_data = null;
if ($db->sql_select_db('nel'))
{
$sql = "SELECT * FROM domain WHERE domain_name='". $application ."'";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$domain_data = $db->sql_fetchrow($result);
}
}
$db->sql_reselect_db();
}
return $domain_data;
}
//function tool_admin_domains_update_nel($domain_id, $domain_name, $domain_version, $domain_status)
function tool_admin_domains_update_nel($domain_id, $domain_name, $domain_status)
{
global $db;
if ($db->sql_select_db('nel'))
{
//$sql = "UPDATE domain SET status='". $domain_status ."',patch_version=". $domain_version ." WHERE domain_id=". $domain_id ." AND domain_name='". $domain_name ."'";
$sql = "UPDATE domain SET status='". $domain_status ."' WHERE domain_id=". $domain_id ." AND domain_name='". $domain_name ."'";
$db->sql_query($sql);
$db->sql_reselect_db();
}
}
function tool_admin_restarts_get_list($order='ASC')
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_RESTART_GROUP_TABLE ." ORDER BY restart_group_order ". $order .", restart_group_name ". $order;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_restarts_add($restart_name, $restart_list, $restart_order)
{
global $db;
$restart_name = trim($restart_name);
if ($restart_name == '') return "/!\ Error: restart group name is empty!";
$restart_list = trim($restart_list);
if ($restart_list == '') return "/!\ Error: restart group list is empty!";
$restart_order = trim($restart_order);
if (!is_numeric($restart_order)) return "/!\ Error: restart group order is not numeric!";
$sql = "INSERT INTO ". NELDB_RESTART_GROUP_TABLE;
$sql .= " (`restart_group_id`,`restart_group_name`,`restart_group_list`,`restart_group_order`) ";
$sql .= " VALUES ";
$sql .= " (0,'". $restart_name ."','". $restart_list ."','". $restart_order ."') ";
$db->sql_query($sql);
return "";
}
function tool_admin_restarts_get_id($restart_id)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_RESTART_GROUP_TABLE ." WHERE restart_group_id=". $restart_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrow($result);
}
}
return $data;
}
function tool_admin_restarts_del($restart_id)
{
global $db;
$sql = "DELETE FROM ". NELDB_RESTART_GROUP_TABLE ." WHERE restart_group_id=". $restart_id;
$db->sql_query($sql);
}
function tool_admin_restarts_update($restart_id, $restart_name, $restart_list, $restart_order)
{
global $db;
$restart_name = trim($restart_name);
if ($restart_name == '') return "/!\ Error: restart group name is empty!";
$restart_list = trim($restart_list);
if ($restart_list == '') return "/!\ Error: restart group list is empty!";
$restart_order = trim($restart_order);
if (!is_numeric($restart_order)) return "/!\ Error: restart group order is not numeric!";
$sql = "UPDATE ". NELDB_RESTART_GROUP_TABLE ." SET restart_group_name='". $restart_name ."',restart_group_list='". $restart_list ."',restart_group_order='". $restart_order ."' WHERE restart_group_id=". $restart_id;
$db->sql_query($sql);
return "";
}
function tool_admin_restart_messages_add($message_name, $message_value, $message_lang)
{
global $db;
$message_name = trim($message_name);
if ($message_name == '') return "/!\ Error: restart message name is empty!";
$message_value = trim($message_value);
if ($message_value == '') return "/!\ Error: restart message value is empty!";
$sql = "INSERT INTO ". NELDB_RESTART_MESSAGE_TABLE;
$sql .= " (`restart_message_id`,`restart_message_name`,`restart_message_value`,`restart_message_lang`) ";
$sql .= " VALUES ";
$sql .= " (0,'". $message_name ."','". $message_value ."','". $message_lang ."') ";
$db->sql_query($sql);
return "";
}
function tool_admin_restart_messages_get_list()
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_RESTART_MESSAGE_TABLE ." ORDER BY restart_message_name ASC, restart_message_lang ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_restart_messages_get_id($message_id)
{
global $db;
$data = null;
$sql = "SELECT * FROM ". NELDB_RESTART_MESSAGE_TABLE ." WHERE restart_message_id=". $message_id;
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrow($result);
}
}
return $data;
}
function tool_admin_restart_messages_get_list_from_name($message_name,$lang=null)
{
global $db;
$data = null;
$sql_ext = '';
if ($lang !== null)
{
$sql_ext = " AND restart_message_lang='". $lang ."'";
}
$sql = "SELECT * FROM ". NELDB_RESTART_MESSAGE_TABLE ." WHERE restart_message_name='". $message_name ."' ". $sql_ext ." ORDER BY restart_message_lang ASC";
if ($result = $db->sql_query($sql))
{
if ($db->sql_numrows($result))
{
$data = $db->sql_fetchrowset($result);
}
}
return $data;
}
function tool_admin_restart_messages_del($message_id)
{
global $db;
$sql = "DELETE FROM ". NELDB_RESTART_MESSAGE_TABLE ." WHERE restart_message_id=". $message_id;
$db->sql_query($sql);
}
function tool_admin_restart_messages_update($message_id, $message_name, $message_value, $message_lang)
{
global $db;
$message_name = trim($message_name);
if ($message_name == '') return "/!\ Error: restart message name is empty!";
$message_value = trim($message_value);
if ($message_value == '') return "/!\ Error: restart message value is empty!";
$sql = "UPDATE ". NELDB_RESTART_MESSAGE_TABLE ." SET restart_message_name='". $message_name ."',restart_message_value='". $message_value ."',restart_message_lang='". $message_lang ."' WHERE restart_message_id=". $message_id;
$db->sql_query($sql);
return "";
}
?>