| | |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | require_once('../../lib/config.inc.php'); |
| | | require_once('../../lib/app.inc.php'); |
| | | require_once '../../lib/config.inc.php'; |
| | | require_once '../../lib/app.inc.php'; |
| | | |
| | | //* Check permissions for module |
| | | $app->auth->check_module_permissions('sites'); |
| | | |
| | | $app->uses('getconf'); |
| | | $app->uses('getconf,tform'); |
| | | |
| | | $server_id = $app->functions->intval($_GET["server_id"]); |
| | | $web_id = $app->functions->intval($_GET["web_id"]); |
| | | $php_type = $_GET["php_type"]; |
| | | $client_group_id = $app->functions->intval($_GET['client_group_id']); |
| | | $type = $_GET["type"]; |
| | | |
| | | //if($_SESSION["s"]["user"]["typ"] == 'admin') { |
| | | |
| | | if($type == 'getservertype'){ |
| | | $json = '{"servertype":"'; |
| | | $server_type = 'apache'; |
| | | $web_config = $app->getconf->get_server_config($server_id, 'web'); |
| | | if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; |
| | | $json .= $server_type; |
| | | unset($webconfig); |
| | | $json .= '"}'; |
| | | if($type == 'getservertype'){ |
| | | $json = '{"servertype":"'; |
| | | $server_type = 'apache'; |
| | | $web_config = $app->getconf->get_server_config($server_id, 'web'); |
| | | if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; |
| | | $json .= $server_type; |
| | | unset($webconfig); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'getserverid'){ |
| | | $json = '{"serverid":"'; |
| | | $sql = "SELECT server_id FROM web_domain WHERE domain_id = ? AND ".$app->tform->getAuthSQL('r'); |
| | | $server = $app->db->queryOneRecord($sql, $web_id); |
| | | $json .= $server['server_id']; |
| | | unset($server); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'getphpfastcgi'){ |
| | | $json = '{'; |
| | | |
| | | $server_type = 'apache'; |
| | | $web_config = $app->getconf->get_server_config($server_id, 'web'); |
| | | if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; |
| | | if($server_type == 'nginx' && $php_type == 'fast-cgi') $php_type = 'php-fpm'; |
| | | $sql_where = ''; |
| | | |
| | | //* Client: If the logged in user is not admin and has no sub clients (no reseller) |
| | | if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) { |
| | | $sql_where = " AND (client_id = 0 OR client_id = ".$app->functions->intval($_SESSION["s"]["user"]["client_id"]) . ")"; |
| | | //* Reseller: If the logged in user is not admin and has sub clients (is a reseller) |
| | | } elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { |
| | | $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = ?", $client_group_id); |
| | | //$sql_where = " AND (client_id = 0 OR client_id = ".$_SESSION["s"]["user"]["client_id"]; |
| | | $sql_where = " AND (client_id = 0"; |
| | | if($app->functions->intval($client['client_id']) > 0) $sql_where .= " OR client_id = ".$app->functions->intval($client['client_id']); |
| | | $sql_where .= ")"; |
| | | //* Admin: If the logged in user is admin |
| | | } else { |
| | | //$sql_where = ''; |
| | | $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = ?", $client_group_id); |
| | | //$sql_where = " AND (client_id = 0 OR client_id = ".$_SESSION["s"]["user"]["client_id"]; |
| | | $sql_where = " AND (client_id = 0"; |
| | | if($app->functions->intval($client['client_id']) > 0) $sql_where .= " OR client_id = ".$app->functions->intval($client['client_id']); |
| | | $sql_where .= ")"; |
| | | } |
| | | |
| | | if($type == 'getserverid'){ |
| | | $json = '{"serverid":"'; |
| | | $sql = "SELECT server_id FROM web_domain WHERE domain_id = $web_id"; |
| | | $server = $app->db->queryOneRecord($sql); |
| | | $json .= $server['server_id']; |
| | | unset($server); |
| | | $json .= '"}'; |
| | | |
| | | if($php_type == 'php-fpm'){ |
| | | $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ?".$sql_where, $server_id); |
| | | } elseif($php_type == 'fast-cgi'){ |
| | | $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ?".$sql_where, $server_id); |
| | | } |
| | | |
| | | if($type == 'getphpfastcgi'){ |
| | | $json = '{'; |
| | | $php_select = ""; |
| | | if(is_array($php_records) && !empty($php_records)) { |
| | | foreach( $php_records as $php_record) { |
| | | if($php_type == 'php-fpm'){ |
| | | $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; |
| | | } else { |
| | | $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; |
| | | } |
| | | $json .= '"'.$php_version.'": "'.$php_record['name'].'",'; |
| | | } |
| | | } |
| | | unset($php_records); |
| | | if(substr($json, -1) == ',') $json = substr($json, 0, -1); |
| | | $json .= '}'; |
| | | } |
| | | |
| | | if($type == 'getphptype'){ |
| | | $json = '{"phptype":"'; |
| | | $sql = "SELECT php FROM web_domain WHERE domain_id = ? AND ".$app->tform->getAuthSQL('r'); |
| | | $php = $app->db->queryOneRecord($sql, $web_id); |
| | | $json .= $php['php']; |
| | | unset($php); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'getredirecttype'){ |
| | | $json = '{"redirecttype":"'; |
| | | $sql = "SELECT redirect_type FROM web_domain WHERE domain_id = ? AND ".$app->tform->getAuthSQL('r'); |
| | | $redirect = $app->db->queryOneRecord($sql, $web_id); |
| | | $json .= $redirect['redirect_type']; |
| | | unset($redirect); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'get_ipv4'){ |
| | | $result = array(); |
| | | |
| | | // ipv4 |
| | | //$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")"); |
| | | $result[] = $app->functions->suggest_ips('IPv4'); |
| | | |
| | | $json = $app->functions->json_encode($result); |
| | | } |
| | | |
| | | if($type == 'get_ipv6'){ |
| | | $result = array(); |
| | | |
| | | // ipv6 |
| | | //$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")"); |
| | | $result[] = $app->functions->suggest_ips('IPv6'); |
| | | |
| | | $json = $app->functions->json_encode($result); |
| | | } |
| | | |
| | | if($type == 'getdatabaseusers') { |
| | | $json = '{}'; |
| | | |
| | | $sql = "SELECT sys_groupid FROM web_domain WHERE domain_id = ? AND ".$app->tform->getAuthSQL('r'); |
| | | $group = $app->db->queryOneRecord($sql, $web_id); |
| | | if($group) { |
| | | $sql = "SELECT database_user_id, database_user FROM web_database_user WHERE sys_groupid = ?"; |
| | | $records = $app->db->queryAllRecords($sql, $group['sys_groupid']); |
| | | |
| | | $tmp_array = array(); |
| | | foreach($records as $record) { |
| | | $tmp_array[$record['database_user_id']] = $record['database_user']; |
| | | } |
| | | $json = $app->functions->json_encode($tmp_array); |
| | | unset($records, $group, $tmp_array); |
| | | } |
| | | } |
| | | |
| | | if($type == 'get_use_combobox'){ |
| | | $json = '{"usecombobox":"'; |
| | | $use_combobox = 'y'; |
| | | $server_config_array = $app->getconf->get_global_config(); |
| | | if($server_config_array['misc']['use_combobox'] != 'y') $use_combobox = 'n'; |
| | | $json .= $use_combobox; |
| | | unset($server_config_array); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'get_use_loadindicator'){ |
| | | $json = '{"useloadindicator":"'; |
| | | $use_loadindicator = 'y'; |
| | | $server_config_array = $app->getconf->get_global_config(); |
| | | if($server_config_array['misc']['use_loadindicator'] != 'y') $use_loadindicator = 'n'; |
| | | $json .= $use_loadindicator; |
| | | unset($server_config_array); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if ($type == 'getdirectivesnippet') { |
| | | $server_type = 'apache'; |
| | | $web_config = $app->getconf->get_server_config($server_id, 'web'); |
| | | if (!empty($web_config['server_type'])) |
| | | $server_type = $web_config['server_type']; |
| | | |
| | | $snippets = $app->db->queryAllRecords("SELECT directive_snippets_id, name FROM directive_snippets WHERE customer_viewable = 'y' AND type = ? ORDER BY name ASC", $server_type); |
| | | |
| | | $json = json_encode($snippets); |
| | | } |
| | | |
| | | if($type == 'getclientssldata'){ |
| | | $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ?", $web_id); |
| | | $sys_group = $app->db->queryOneRecord("SELECT * FROM sys_group WHERE groupid = ?", $web['sys_groupid']); |
| | | $client = $app->db->queryOneRecord("SELECT * FROM client WHERE client_id = ?", $sys_group['client_id']); |
| | | if(is_array($client) && !empty($client)){ |
| | | if($client['telephone'] == '' && $client['mobile'] != '') $client['telephone'] = $client['mobile']; |
| | | |
| | | $server_type = 'apache'; |
| | | $web_config = $app->getconf->get_server_config($server_id, 'web'); |
| | | if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; |
| | | if($server_type == 'nginx' && $php_type == 'fast-cgi') $php_type = 'php-fpm'; |
| | | if($php_type == 'php-fpm'){ |
| | | $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = $server_id"); |
| | | $fname = ''; |
| | | $lname = ''; |
| | | $parts = preg_split("/\s+/", $client['contact_name']); |
| | | if(sizeof($parts) == 2){ |
| | | $fname = $parts[0]; |
| | | $lname = $parts[1]; |
| | | } |
| | | if($php_type == 'fast-cgi'){ |
| | | $php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = $server_id"); |
| | | } |
| | | $php_select = ""; |
| | | if(is_array($php_records) && !empty($php_records)) { |
| | | foreach( $php_records as $php_record) { |
| | | if($php_type == 'php-fpm'){ |
| | | $php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir']; |
| | | if(sizeof($parts) > 2){ |
| | | $fname = $parts[0].' '; |
| | | for($i=1;$i<sizeof($parts);$i++){ |
| | | if($i == (sizeof($parts) - 1)){ |
| | | $lname .= $parts[$i]; |
| | | } else { |
| | | $php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir']; |
| | | if(preg_match('@^(von|van|ten|ter|zur|zu|auf|sieber)$@i', $parts[$i])){ |
| | | $lname .= implode(' ', array_slice($parts, $i)); |
| | | break; |
| | | } else { |
| | | $fname .= $parts[$i].' '; |
| | | } |
| | | } |
| | | $json .= '"'.$php_version.'": "'.$php_record['name'].'",'; |
| | | } |
| | | } |
| | | unset($php_records); |
| | | if(substr($json,-1) == ',') $json = substr($json,0,-1); |
| | | $json .= '}'; |
| | | $fname = trim($fname); |
| | | $lname = trim($lname); |
| | | $client['fname'] = $fname; |
| | | $client['lname'] = $lname; |
| | | if(trim($client['company_name']) == '') $client['company_name'] = $fname.' '.$lname; |
| | | } |
| | | |
| | | if($type == 'getphptype'){ |
| | | $json = '{"phptype":"'; |
| | | $sql = "SELECT php FROM web_domain WHERE domain_id = $web_id"; |
| | | $php = $app->db->queryOneRecord($sql); |
| | | $json .= $php['php']; |
| | | unset($php); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'getredirecttype'){ |
| | | $json = '{"redirecttype":"'; |
| | | $sql = "SELECT redirect_type FROM web_domain WHERE domain_id = $web_id"; |
| | | $redirect = $app->db->queryOneRecord($sql); |
| | | $json .= $redirect['redirect_type']; |
| | | unset($redirect); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'get_ipv4'){ |
| | | $result = array(); |
| | | |
| | | // ipv4 |
| | | //$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv4' AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")"); |
| | | $result[] = $app->functions->suggest_ips('IPv4'); |
| | | |
| | | $json = $app->functions->json_encode($result); |
| | | } |
| | | |
| | | if($type == 'get_ipv6'){ |
| | | $result = array(); |
| | | |
| | | // ipv6 |
| | | //$result[] = _search('admin', 'server_ip', "AND ip_type = 'IPv6' AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")"); |
| | | $result[] = $app->functions->suggest_ips('IPv6'); |
| | | |
| | | $json = $app->functions->json_encode($result); |
| | | } |
| | | |
| | | if($type == 'getdatabaseusers') { |
| | | $json = '{}'; |
| | | |
| | | $sql = "SELECT sys_groupid FROM web_domain WHERE domain_id = $web_id"; |
| | | $group = $app->db->queryOneRecord($sql); |
| | | if($group) { |
| | | $sql = "SELECT database_user_id, database_user FROM web_database_user WHERE sys_groupid = '" . $group['sys_groupid'] . "'"; |
| | | $records = $app->db->queryAllRecords($sql); |
| | | |
| | | $tmp_array = array(); |
| | | foreach($records as $record) { |
| | | $tmp_array[$record['database_user_id']] = $record['database_user']; |
| | | } |
| | | $json = $app->functions->json_encode($tmp_array); |
| | | unset($records, $group, $tmp_array); |
| | | } |
| | | } |
| | | |
| | | if($type == 'get_use_combobox'){ |
| | | $json = '{"usecombobox":"'; |
| | | $use_combobox = 'y'; |
| | | $server_config_array = $app->getconf->get_global_config(); |
| | | if($server_config_array['misc']['use_combobox'] != 'y') $use_combobox = 'n'; |
| | | $json .= $use_combobox; |
| | | unset($server_config_array); |
| | | $json .= '"}'; |
| | | } |
| | | |
| | | if($type == 'get_use_loadindicator'){ |
| | | $json = '{"useloadindicator":"'; |
| | | $use_loadindicator = 'y'; |
| | | $server_config_array = $app->getconf->get_global_config(); |
| | | if($server_config_array['misc']['use_loadindicator'] != 'y') $use_loadindicator = 'n'; |
| | | $json .= $use_loadindicator; |
| | | unset($server_config_array); |
| | | $json .= '"}'; |
| | | } |
| | | $json = $app->functions->json_encode($client); |
| | | } |
| | | |
| | | //} |
| | | |
| | | header('Content-type: application/json'); |
| | | echo $json; |
| | | ?> |
| | | ?> |