Beispiel #1
0
    function table_services()
    {
        global $construct, $db, $lang;
        $form_search_services = $this->form_search_services();
        $where = $form_search_services->db_data_where();
        $table_services = new table(array('TABLE_NAME' => 'table_services', 'FORM_NAME' => 'table_services'));
        $table_services->db_data('services.title, nodes.name AS nodes__name, nodes.id AS nodes__id, ip_addresses.ip, nodes_services.url, nodes_services.info, nodes_services.date_in, nodes_services.status, IFNULL(nodes_services.protocol, services.protocol) AS protocol, IFNULL(nodes_services.port, services.port) AS port', 'nodes_services
			LEFT JOIN nodes on nodes_services.node_id = nodes.id
			LEFT JOIN services on nodes_services.service_id = services.id
			LEFT JOIN ip_addresses ON ip_addresses.id = nodes_services.ip_id', $where, '', "nodes_services.date_in DESC");
        $table_services->db_data_search($form_search_services);
        foreach ((array) $table_services->data as $key => $value) {
            if ($key != 0) {
                if ($table_services->data[$key]['ip']) {
                    $table_services->data[$key]['ip'] = long2ip($table_services->data[$key]['ip']);
                    if ($table_services->data[$key]['protocol'] && $table_services->data[$key]['port']) {
                        $table_services->data[$key]['ip'] .= ' (' . $lang['db']['nodes_services__protocol-' . $table_services->data[$key]['protocol']] . '/' . $table_services->data[$key]['port'] . ')';
                    }
                }
                $table_services->data[$key]['nodes__name'] .= " (#" . $table_services->data[$key]['nodes__id'] . ")";
                $table_services->info['LINK']['nodes__name'][$key] = make_ref('/nodes', array("node" => $table_services->data[$key]['nodes__id']));
                $table_services->info['LINK']['services__title'][$key] = htmlspecialchars($table_services->data[$key]['url']);
            }
        }
        $table_services->db_data_translate('nodes_services__status');
        $table_services->db_data_remove('nodes__id', 'nodes_services__id', 'url', 'protocol', 'port');
        return $table_services;
    }
    function table_services()
    {
        global $construct, $db, $main, $lang;
        $form_search_services_edit = $this->form_search_services_edit();
        $where = $form_search_services_edit->db_data_where();
        $table_services = new table(array('TABLE_NAME' => 'table_services', 'FORM_NAME' => 'table_services'));
        $table_services->db_data('services.title, nodes_services.id, nodes.name, nodes.id AS nodes__id, ip_addresses.ip, nodes_services.date_in, nodes_services.info, nodes_services.status, IFNULL(nodes_services.protocol, services.protocol) AS protocol, IFNULL(nodes_services.port, services.port) AS port', 'nodes_services
			LEFT JOIN nodes on nodes_services.node_id = nodes.id
			LEFT JOIN services on nodes_services.service_id = services.id
			LEFT JOIN ip_addresses ON ip_addresses.id = nodes_services.ip_id', $where, '', "nodes_services.date_in DESC");
        $table_services->db_data_search($form_search_services_edit);
        foreach ((array) $table_services->data as $key => $value) {
            if ($key != 0) {
                if ($table_services->data[$key]['ip']) {
                    $table_services->data[$key]['ip'] = long2ip($table_services->data[$key]['ip']);
                    if ($table_services->data[$key]['protocol'] && $table_services->data[$key]['port']) {
                        $table_services->data[$key]['ip'] .= ' (' . $lang['db']['nodes_services__protocol-' . $table_services->data[$key]['protocol']] . '/' . $table_services->data[$key]['port'] . ')';
                    }
                }
                $table_services->data[$key]['name'] .= " (#" . $table_services->data[$key]['nodes__id'] . ")";
                $table_services->info['EDIT'][$key] = make_ref('/node_editor/services', array("node" => $table_services->data[$key]['nodes__id'], "service" => $table_services->data[$key]['id']));
            }
        }
        $table_services->info['EDIT_COLUMN'] = 'title';
        $table_services->db_data_translate('nodes_services__status');
        $table_services->db_data_multichoice('nodes_services', 'id');
        $table_services->info['MULTICHOICE_LABEL'] = 'delete';
        $table_services->db_data_remove('id', 'nodes__id', 'protocol', 'port');
        return $table_services;
    }
 function output()
 {
     $this->tpl['suggest_url'] = make_ref('/search/suggest');
     header('Content-Type: text/javascript');
     echo template($this->tpl, __FILE__);
     exit;
 }
Beispiel #4
0
    function table_ip_ranges()
    {
        global $construct, $db;
        $form_search_ranges = $this->form_search_ranges();
        $where = $form_search_ranges->db_data_where(array('ip' => 'exclude'));
        $table_ip_ranges = new table(array('TABLE_NAME' => 'table_ip_ranges', 'FORM_NAME' => 'table_ip_ranges'));
        $where = $where != '' ? "(" . $where . ") AND " : "";
        if ($form_search_ranges->data[0]['value'] != '') {
            $where .= "(";
            $s_ranges = ip_to_ranges($form_search_ranges->data[0]['value']);
            foreach ($s_ranges as $s_range) {
                $where .= "(ip_ranges.ip_start BETWEEN " . ip2long($s_range['min']) . " AND " . ip2long($s_range['max']) . ") OR ";
            }
            $where = substr($where, 0, -4) . ") AND ";
        }
        if ($where != '') {
            $where = substr($where, 0, -5);
        }
        $table_ip_ranges->db_data('"" AS ip_range, ip_ranges.ip_start, ip_ranges.ip_end, ip_ranges.date_in, ip_ranges.status, nodes.name AS nodes__name, nodes.id AS nodes__id', 'ip_ranges
			LEFT JOIN nodes ON ip_ranges.node_id = nodes.id', $where != '' ? "(" . $where . ")" : "", "", "ip_ranges.status ASC, ip_ranges.ip_start ASC");
        $table_ip_ranges->db_data_search($form_search_ranges);
        foreach ((array) $table_ip_ranges->data as $key => $value) {
            if ($key != 0) {
                $table_ip_ranges->data[$key]['ip_start'] = long2ip($table_ip_ranges->data[$key]['ip_start']);
                $table_ip_ranges->data[$key]['ip_end'] = long2ip($table_ip_ranges->data[$key]['ip_end']);
                $table_ip_ranges->data[$key]['ip_range'] = $table_ip_ranges->data[$key]['ip_start'] . " - " . $table_ip_ranges->data[$key]['ip_end'];
                $table_ip_ranges->data[$key]['nodes__name'] .= " (#" . $table_ip_ranges->data[$key]['nodes__id'] . ")";
                $table_ip_ranges->info['EDIT'][$key] = make_ref('/nodes', array("node" => $table_ip_ranges->data[$key]['nodes__id']));
            }
        }
        $table_ip_ranges->info['EDIT_COLUMN'] = 'nodes__name';
        $table_ip_ranges->db_data_remove('ip_start', 'ip_end', 'nodes__id');
        $table_ip_ranges->db_data_translate('ip_ranges__status');
        return $table_ip_ranges;
    }
Beispiel #5
0
 function output()
 {
     global $main, $construct, $vars, $lang;
     if ($this->hide) {
         return;
     }
     if (file_exists(ROOT_PATH . 'config/mylogo.png')) {
         $this->tpl['mylogo'] = TRUE;
         $this->tpl['mylogo_dir'] = ROOT_PATH . 'config/';
     }
     $this->tpl['link_home'] = make_ref('/');
     $this->tpl['link_login_form'] = make_ref('/users/loginform');
     $this->tpl['link_logout'] = make_ref('/users', array('action' => 'logout'));
     $this->tpl['current_language'] = $vars['info']['current_language'];
     $this->tpl['search_url'] = make_ref('/search');
     foreach ($vars['language']['enabled'] as $key => $value) {
         if ($value) {
             $this->tpl['languages'][$key]['name'] = $lang['languages'][$key] == '' ? $key : $lang['languages'][$key];
             $this->tpl['languages'][$key]['link'] = self_ref(array("session_lang" => $key));
         }
     }
     if ($main->userdata->logged) {
         $this->tpl['logged'] = $main->userdata->logged;
         $this->tpl['logged_username'] = isset($main->userdata->info['username']) ? $main->userdata->info['username'] : "";
         $this->tpl['logged_title'] = get_user_title();
         $this->tpl['link_user_profile'] = make_ref('/users', array("user" => $main->userdata->user));
     } else {
         $this->tpl['link_register'] = make_ref('/users', array("user" => "add"));
         $this->tpl['link_restore_password'] = make_ref('/users', array("action" => "restore"));
         $this->tpl['link_register'] = make_ref('/users', array("user" => "add"));
     }
     return template($this->tpl, __FILE__);
 }
Beispiel #6
0
    function table_dns()
    {
        global $construct, $db, $vars;
        $form_search_dns = $this->form_search_dns();
        if (substr($form_search_dns->data[1]['value'], -strlen("." . $vars['dns']['root_zone'])) == "." . $vars['dns']['root_zone']) {
            $form_search_dns->data[1]['value'] = substr($form_search_dns->data[1]['value'], 0, -strlen("." . $vars['dns']['root_zone']));
        }
        $where = $form_search_dns->db_data_where(array("dns_zones__name" => "starts_with"));
        $table_dns = new table(array('TABLE_NAME' => 'table_dns', 'FORM_NAME' => 'table_dns'));
        $table_dns->db_data('dns_zones.id AS dns_zones__id, dns_zones.name AS dns_zones__name, dns_zones.type, dns_zones.date_in, dns_zones.status, nodes.name AS nodes__name, nodes.id AS nodes__id', 'dns_zones
			LEFT JOIN nodes ON dns_zones.node_id = nodes.id', $where, "", "dns_zones.status ASC, dns_zones.type ASC, dns_zones.name ASC");
        $table_dns->db_data_search($form_search_dns);
        for ($i = 1; $i < count($table_dns->data); $i++) {
            if (isset($table_dns->data[$i])) {
                $table_dns->data[$i]['nodes__name'] .= " (#" . $table_dns->data[$i]['nodes__id'] . ")";
                if ($table_dns->data[$i]['type'] == 'forward') {
                    $table_dns->data[$i]['dns_zones__name'] .= "." . $vars['dns']['root_zone'];
                }
                $table_dns->info['EDIT'][$i] = make_ref('/nodes', array("node" => $table_dns->data[$i]['nodes__id']));
            }
        }
        $table_dns->info['EDIT_COLUMN'] = 'nodes__name';
        $table_dns->db_data_remove('dns_zones__id', 'type', 'nodes__id');
        $table_dns->db_data_translate('dns_zones__status');
        return $table_dns;
    }
Beispiel #7
0
 function output()
 {
     global $db, $vars;
     $q = get('q');
     if (strrpos($q, "#") !== false && intval(substr(strrchr($q, '#'), 1)) != 0) {
         $q = intval(substr(strrchr($q, '#'), 1));
     }
     if (is_numeric($q) && strpos($q, ".") === FALSE) {
         $path = '/nodes';
         $qs = array('node' => $q);
     } elseif ($db->cnt('', 'nodes', "name = '" . $q . "'") == 1) {
         $node = $db->get('id', 'nodes', "name = '" . $q . "'");
         $path = '/nodes';
         $qs = array('node' => $node[0]['id']);
     } elseif (is_ip($q, FALSE)) {
         $path = '/ranges/search';
         $qs = array("form_search_ranges_search" => serialize(array("ip" => $q)));
     } elseif (substr($q, -strlen("." . $vars['dns']['root_zone'])) == "." . $vars['dns']['root_zone']) {
         $path = '/dnszones';
         $qs = array("form_search_dns_search" => serialize(array("dns_zones__name" => $q)));
     } else {
         $path = '/nodes';
         $qs = array("form_search_nodes_search" => serialize(array("nodes__name" => $q)));
     }
     redirect(make_ref($path, $qs));
 }
Beispiel #8
0
 function output()
 {
     global $main, $lang;
     $menu_addr = $main->menu->main_menu->getRootEntry()->getChild('addresses');
     $menu_addr->createLink($lang['ip_ranges_search'], make_ref('/ranges/search'));
     $menu_addr->createLink($lang['ip_ranges_allocation'], make_ref('/ranges/allocation'));
     return $this->page->output();
 }
    function table_ip_ranges()
    {
        global $construct, $db, $lang;
        $form_search_ranges = $this->form_search_ranges();
        $where = $form_search_ranges->db_data_where(array('ip' => 'exclude', 'nodes__name' => 'starts_with', "total_active_p2p" => 'exclude', "total_active_aps" => 'exclude'));
        $table_ip_ranges = new table(array('TABLE_NAME' => 'table_ip_ranges', 'FORM_NAME' => 'table_ip_ranges'));
        $where = $where != '' ? "(" . $where . ") AND " : "";
        if ($form_search_ranges->data[0]['value'] != '') {
            $where .= "(";
            $s_ranges = ip_to_ranges($form_search_ranges->data[0]['value']);
            foreach ($s_ranges as $s_range) {
                $where .= "(ip_ranges.ip_start BETWEEN " . ip2long($s_range['min']) . " AND " . ip2long($s_range['max']) . ") OR ";
            }
            $where = substr($where, 0, -4) . ") AND ";
        }
        if ($where != '') {
            $where = substr($where, 0, -5);
        }
        $having = $form_search_ranges->db_data_where(array('ip' => 'exclude', 'ip_ranges__status' => 'exclude', 'ip_ranges__delete_req' => 'exclude', 'nodes__id' => 'exclude', 'nodes__name' => 'exclude'));
        $table_ip_ranges->db_data('ip_ranges.id, 
				"" AS ip_range, 
				ip_ranges.ip_start, 
				ip_ranges.ip_end, 
				ip_ranges.date_in, 
				ip_ranges.status, 
				ip_ranges.delete_req, 
				COUNT(DISTINCT p2p.id) AS total_active_p2p, 
				COUNT(DISTINCT aps.id) AS total_active_aps, 
				"" AS total_active_peers', 'ip_ranges ' . 'LEFT JOIN nodes ON ip_ranges.node_id = nodes.id 
				LEFT JOIN links ON ip_ranges.node_id = links.node_id AND links.status = "active" 
				LEFT JOIN links AS p2p ON links.type = "p2p" 
					AND links.peer_node_id = p2p.node_id 
					AND p2p.type = "p2p" 
					AND p2p.peer_node_id = links.node_id 
					AND p2p.status = "active" 
				LEFT JOIN links as aps ON links.type = "ap" 
					AND links.id = aps.id', $where, "ip_ranges.id" . ($having != '' ? ' HAVING (' . $having . ')' : ""), "ip_ranges.date_in DESC, ip_ranges.status ASC");
        $table_ip_ranges->db_data_search($form_search_ranges);
        foreach ((array) $table_ip_ranges->data as $key => $value) {
            if ($key != 0) {
                $table_ip_ranges->data[$key]['ip_start'] = long2ip($table_ip_ranges->data[$key]['ip_start']);
                $table_ip_ranges->data[$key]['ip_end'] = long2ip($table_ip_ranges->data[$key]['ip_end']);
                $table_ip_ranges->data[$key]['ip_range'] = $table_ip_ranges->data[$key]['ip_start'] . " - " . $table_ip_ranges->data[$key]['ip_end'];
            }
        }
        $table_ip_ranges->db_data_multichoice('ip_ranges', 'id');
        for ($i = 1; $i < count($table_ip_ranges->data); $i++) {
            if (isset($table_ip_ranges->data[$i])) {
                $table_ip_ranges->data[$i]['total_active_peers'] = ($table_ip_ranges->data[$i]['total_active_p2p'] > 0 ? $table_ip_ranges->data[$i]['total_active_p2p'] . " " . $lang['backbones_abbr'] : "") . ($table_ip_ranges->data[$i]['total_active_aps'] > 0 ? " + " . $table_ip_ranges->data[$i]['total_active_aps'] . " " . $lang['aps_abbr'] : "");
                $table_ip_ranges->info['EDIT'][$i] = make_ref('/hostmaster/range', array("iprange" => $table_ip_ranges->data[$i]['id']));
            }
        }
        $table_ip_ranges->info['EDIT_COLUMN'] = 'ip_range';
        $table_ip_ranges->info['MULTICHOICE_LABEL'] = 'delete';
        $table_ip_ranges->db_data_remove('id', 'ip_start', 'ip_end', 'total_active_p2p', 'total_active_aps');
        $table_ip_ranges->db_data_translate('ip_ranges__status', 'ip_ranges__delete_req');
        return $table_ip_ranges;
    }
 function output()
 {
     if ($_SERVER['REQUEST_METHOD'] == 'POST' && method_exists($this, 'output_onpost_' . $_POST['form_name'])) {
         return call_user_func(array($this, 'output_onpost_' . $_POST['form_name']));
     }
     global $construct;
     $this->tpl['form_search_dns'] = $construct->form($this->form_search_dns(), __FILE__);
     $this->tpl['table_dns'] = $construct->table($this->table_dns(), __FILE__);
     $this->tpl['link_schema'] = make_ref('/hostmaster/dnszones_schema');
     return template($this->tpl, __FILE__);
 }
Beispiel #11
0
 function output()
 {
     global $main, $lang;
     $hostmaster_entry = $main->menu->main_menu->getRootEntry()->getChild('hostmaster');
     $hostmaster_entry->createLink($lang['ip_ranges'], make_ref('/hostmaster/ranges'));
     $hostmaster_entry->createLink($lang['ip_ranges_v6'], make_ref('/hostmaster/ranges_v6'));
     $hostmaster_entry->createLink($lang['dns_zones'], make_ref('/hostmaster/dnszones'));
     $hostmaster_entry->createLink($lang['db']['schema'], make_ref('/hostmaster/dnszones_schema'));
     $hostmaster_entry->createLink($lang['dns_nameservers'], make_ref('/hostmaster/dnsnameservers'));
     return $this->page->output();
 }
Beispiel #12
0
    function output()
    {
        global $db, $vars;
        $q = get('q');
        $widget = get('widget');
        if (isset($widget) && $widget == "true") {
            $this->tpl['widget'] = "1";
            $this->tpl['url'] = $vars['site']['url'];
            $this->limit = 5;
        } else {
            $this->tpl['widget'] = "0";
        }
        $i = 0;
        if (is_numeric($q) && strpos($q, ".") === FALSE) {
            $this->tpl['nodes_search'] = $db->get('nodes.id, nodes.name', 'nodes
										INNER JOIN users_nodes ON users_nodes.node_id = nodes.id
										INNER JOIN users ON users_nodes.user_id = users.id', 'users.status = "activated" AND nodes.id LIKE "' . replace_sql_wildcards($q) . '%"', 'nodes.id', 'nodes.id ASC', $this->limit);
            foreach ((array) $this->tpl['nodes_search'] as $key => $value) {
                $this->tpl['nodes_search'][$key]['href'] = make_ref("/nodes", array("node" => $this->tpl['nodes_search'][$key]['id']));
            }
        } elseif (is_ip($q, FALSE)) {
            $where = "(";
            $s_ranges = ip_to_ranges($q, FALSE);
            foreach ($s_ranges as $s_range) {
                $where .= "(ip_ranges.ip_start BETWEEN " . ip2long($s_range['min']) . " AND " . ip2long($s_range['max']) . ") OR ";
            }
            $where = substr($where, 0, -4) . ")";
            $this->tpl['ip_search'] = $db->get('ip_ranges.ip_start, nodes.id', 'ip_ranges
										LEFT JOIN nodes ON ip_ranges.node_id = nodes.id', $where, '', 'ip_ranges.status ASC, ip_ranges.ip_start ASC', $this->limit);
            foreach ((array) $this->tpl['ip_search'] as $key => $value) {
                $this->tpl['ip_search'][$key]['ip_start'] = long2ip($this->tpl['ip_search'][$key]['ip_start']);
                $this->tpl['ip_search'][$key]['href'] = make_ref("/nodes", array("node" => $this->tpl['ip_search'][$key]['id']));
            }
        } elseif (strpos($q, ".") !== FALSE && intval($q) == 0 || substr($q, -strlen("." . $vars['dns']['root_zone'])) == "." . $vars['dns']['root_zone']) {
            $this->tpl['dns_search'] = $db->get('dns_zones.name, dns_zones.type, nodes.id', 'dns_zones
										LEFT JOIN nodes ON dns_zones.node_id = nodes.id', 'dns_zones.name LIKE "' . replace_sql_wildcards(substr($q, 0, strrpos($q, "."))) . '"', '', 'dns_zones.status ASC, dns_zones.name ASC', $this->limit);
            foreach ((array) $this->tpl['dns_search'] as $key => $value) {
                if ($this->tpl['dns_search'][$key]['type'] == "forward") {
                    $this->tpl['dns_search'][$key]['name'] .= "." . $vars['dns']['root_zone'];
                }
                $this->tpl['dns_search'][$key]['href'] = make_ref('/nodes', array("node" => $this->tpl['dns_search'][$key]['id']));
            }
        } else {
            $this->tpl['nodes_search'] = $db->get('nodes.id, nodes.name', 'nodes
										INNER JOIN users_nodes ON users_nodes.node_id = nodes.id
										INNER JOIN users ON users_nodes.user_id = users.id', 'users.status = "activated" AND nodes.name LIKE "' . replace_sql_wildcards($q) . '%"', 'nodes.id', 'nodes.name ASC', $this->limit);
            foreach ((array) $this->tpl['nodes_search'] as $key => $value) {
                $this->tpl['nodes_search'][$key]['href'] = make_ref('/nodes', array("node" => $this->tpl['nodes_search'][$key]['id']));
            }
        }
        echo template($this->tpl, __FILE__);
        exit;
    }
Beispiel #13
0
 function output()
 {
     global $main, $lang;
     $admin_entry = $main->menu->main_menu->getRootEntry()->getChild('admin');
     $admin_entry->createLink($lang['nodes'], make_ref('/admin/nodes'));
     $admin_entry->createLink($lang['users'], make_ref('/admin/users'));
     $admin_entry->createLink($lang['services'], make_ref('/admin/nodes_services'));
     $admin_entry->createLink($lang['services_categories'], make_ref('/admin/services'));
     $admin_entry->createLink($lang['regions'], make_ref('/admin/regions'));
     $admin_entry->createLink($lang['areas'], make_ref('/admin/areas'));
     return $this->page->output();
 }
 function output_onpost_form_services()
 {
     global $construct, $main, $db;
     $form_services = $this->form_services();
     $service = get('service');
     $ret = TRUE;
     $ret = $form_services->db_set(array(), "services", "id", get('service'));
     if ($ret) {
         $main->message->set_fromlang('info', 'insert_success', make_ref('/admin/services'));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
Beispiel #15
0
 function output()
 {
     global $main, $construct, $db;
     if (get('action') === "delete" && $main->userdata->privileges['admin'] === true) {
         $ret = $db->del("users", '', "id = '" . get('user') . "'");
         if ($ret) {
             $main->message->set_fromlang('info', 'delete_success', make_ref('/admin/users'));
         } else {
             $main->message->set_fromlang('error', 'generic');
         }
         return;
     } else {
         if (get('action') == 'activate') {
             $t = $db->get('account_code', 'users', "id = '" . get('user') . "'");
             if ($t[0]['account_code'] != '' && $t[0]['account_code'] == get('account_code')) {
                 $db->set('users', array('status' => 'activated'), "id = '" . get('user') . "'");
                 $main->message->set_fromlang('info', 'activation_success');
             } else {
                 $main->message->set_fromlang('error', 'activation_failed');
             }
             return;
         } else {
             if (get('action') == 'logout') {
                 $main->userdata->logout();
                 $redirect = get('redirect');
                 $redirect = $redirect == "" ? self_ref() : $redirect;
                 $main->message->set_fromlang('info', 'logout_success', $redirect);
                 return;
             } else {
                 if (get('action') == 'restore') {
                     return $this->restore->output();
                 }
             }
         }
     }
     if (get('subpage') == 'loginform') {
         $sp = new loginform();
         return $sp->output();
     }
     if ($_SERVER['REQUEST_METHOD'] == 'POST' && method_exists($this, 'output_onpost_' . $_POST['form_name'])) {
         return call_user_func(array($this, 'output_onpost_' . $_POST['form_name']));
     }
     if (get('user') != '') {
         $this->tpl['user_method'] = get('user') == 'add' ? 'add' : 'edit';
         if (get('user') != 'add' && $main->userdata->privileges['admin'] === true) {
             $this->tpl['link_user_delete'] = self_ref(array("action" => "delete"));
         }
         $this->tpl['form_user'] = $construct->form($this->form_user(), __FILE__);
     }
     return template($this->tpl, __FILE__);
 }
Beispiel #16
0
 function output()
 {
     global $construct;
     if (get('service') != '') {
         return $this->page->output();
     } else {
         if ($_SERVER['REQUEST_METHOD'] == 'POST' && method_exists($this, 'output_onpost_' . $_POST['form_name'])) {
             return call_user_func(array($this, 'output_onpost_' . $_POST['form_name']));
         }
         $this->tpl['link_services_categories_add'] = make_ref('/admin/services', array('service' => 'add'));
         $this->tpl['table_services'] = $construct->table($this->table_services(), __FILE__);
         return template($this->tpl, __FILE__);
     }
 }
 function output_onpost_form_services()
 {
     global $construct, $main, $db;
     $form_services = $this->form_services();
     $service = get('service');
     $ret = TRUE;
     $_POST['nodes_services__url'] = url_fix($_POST['nodes_services__url']);
     $ret = $form_services->db_set(array(), "nodes_services", "id", $service);
     if ($ret) {
         $main->message->set_fromlang('info', 'insert_success', make_ref('/node_editor', array("node" => $_POST['nodes_services__node_id'])));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
Beispiel #18
0
 function output_onpost_form_ipaddr()
 {
     global $construct, $main, $db;
     $form_ipaddr = $this->form_ipaddr();
     $ipaddr = get('ipaddr');
     $ret = TRUE;
     $_POST['ip_addresses__ip'] = ip2long($_POST['ip_addresses__ip']);
     $ret = $form_ipaddr->db_set(array('node_id' => intval(get('node'))), "ip_addresses", "id", $ipaddr);
     if ($ret) {
         $main->message->set_fromlang('info', 'insert_success', make_ref('/node_editor', array("node" => get('node'))));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
 function output_onpost_form_cname()
 {
     global $construct, $main, $db;
     $form_cname = $this->form_cname();
     $cname = get('cname');
     $ret = TRUE;
     $_POST['ip_cname__cname'] = validate_hostname($_POST['ip_cname__cname']);
     $_POST['ip_cname__hostname'] = validate_hostname($_POST['ip_cname__hostname']);
     $ret = $form_cname->db_set(array('node_id' => intval(get('node'))), "ip_cname", "id", $cname);
     if ($ret) {
         $main->message->set_fromlang('info', 'insert_success', make_ref('/node_editor', array("node" => get('node'))));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
Beispiel #20
0
 function db_data_pickup($data_field, $subpage, $values, $multi = FALSE)
 {
     for ($i = 0; $i < count($this->data); $i++) {
         if ($data_field == str_replace("__", ".", $this->data[$i]['fullField'])) {
             $this->data[$i]['Type'] = 'pickup' . ($multi == FALSE ? '' : "_multi");
             $this->data[$i]['Pickup_url'] = make_ref("/pickup/{$subpage}", array("object" => $this->info['FORM_NAME'] . ".elements['" . str_replace(".", "__", $data_field) . ($multi == FALSE ? '' : "[]") . "']"));
             if ($multi == FALSE) {
                 $this->data[$i]['Type_Pickup'] = isset($values[0]) ? $values[0] : '';
             } else {
                 $this->data[$i]['Type_Pickup'] = $values;
             }
             break;
         }
     }
 }
 function output_onpost_form_region()
 {
     global $construct, $main, $db;
     $form_region = $this->form_region();
     $region = get('region');
     $ret = TRUE;
     $_POST['regions__ip_start'] = ip2long($_POST['regions__ip_start']);
     $_POST['regions__ip_end'] = ip2long($_POST['regions__ip_end']);
     $_POST['regions__v6net'] = inet_pton($_POST['regions__v6net']);
     $ret = $form_region->db_set(array(), "regions", "id", get('region'));
     if ($ret) {
         $main->message->set_fromlang('info', 'insert_success', make_ref('/admin/regions'));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
Beispiel #22
0
 function output()
 {
     global $lang;
     if ($_SERVER['REQUEST_METHOD'] == 'POST' && method_exists($this, 'output_onpost_' . $_POST['form_name'])) {
         return call_user_func(array($this, 'output_onpost_' . $_POST['form_name']));
     }
     $this->tpl['lang'] = $lang;
     $this->tpl['link_restore_password'] = make_ref('/users', array("action" => "restore"));
     $this->tpl['form_submit_url'] = make_ref('/users/loginform');
     $output = template($this->tpl, __FILE__);
     if (is_ajax_request()) {
         print $output;
         exit;
     } else {
         return $output;
     }
 }
 function output_onpost_form_nameserver()
 {
     global $construct, $main, $db;
     $form_nameserver = $this->form_nameserver();
     $nameserver = get('nameserver');
     if (get('nameserver') == 'add') {
         $_POST['dns_nameservers__ip'] = ip2long($_POST['dns_nameservers__ip']);
     }
     $f['node_id'] = intval(get('node'));
     $ret = TRUE;
     $ret = $form_nameserver->db_set($f, "dns_nameservers", "id", $nameserver);
     if ($ret) {
         $main->message->set_fromlang('info', get('zone') == 'add' ? 'request_dnsnameserver_success' : 'edit_success', make_ref("/node_editor", array("node" => intval(get('node')))));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
 function output_onpost_form_getrange()
 {
     global $main, $db;
     $t = $db->get('area_id', 'nodes', "id = " . intval(get('node')));
     if ($t[0]['area_id'] == '') {
         $main->message->set_fromlang('error', 'nodes_no_area_id');
         return;
     }
     $form_getrange = $this->form_getrange();
     $nextr = $this->new_range();
     $status = "waiting";
     $ret = TRUE;
     $ret = $form_getrange->db_set(array("node_id" => intval(get('node')), "ip_start" => $nextr['ip_start'], "ip_end" => $nextr['ip_end'], "status" => $status));
     if ($ret) {
         $main->message->set_fromlang('info', 'request_range_success', make_ref('/node_editor', array("node" => get('node'))));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
 function output_onpost_form_nodesettingschanges()
 {
     global $construct, $main, $db;
     $form_nodesettingschanges = $this->form_nodesettingschanges();
     #$nameserver = get('nameserver');
     #if (get('nameserver') == 'add') {
     #	$_POST['dns_nameservers__ip'] = ip2long($_POST['dns_nameservers__ip']);
     #}
     $f['node_id'] = intval(get('node'));
     $ret = TRUE;
     $ret = $form_nodesettingschanges->db_set(array(), "node_settings_changes", "id", $nodesettingschanges);
     #$ret = $form_nameserver->db_set($f,
     #						"dns_nameservers", "id", $nameserver);
     if ($ret) {
         $main->message->set_fromlang('info', 'insert_success', make_ref('/node_editor', array("node" => $_POST['node_settings_changes__node_id'])));
         #log_admin_action($nodes,"#nodesetttingschange#".get('node'),get('id'), "node_setttings_changes", "insert_success");#@#
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
Beispiel #26
0
 function table_users()
 {
     global $construct, $db, $main;
     $form_search_users = $this->form_search_users();
     $where = $form_search_users->db_data_where(array("users__username" => "starts_with", "users__surname" => "starts_with", "users__name" => "starts_with", "users__email" => "starts_with"));
     $table_users = new table(array('FORM_NAME' => 'table_users', 'TABLE_NAME' => 'table_users'));
     $table_users->db_data('users.id, users.username, "" AS fullname, users.surname, users.name, users.email, users.phone', 'users LEFT JOIN rights ON users.id = rights.user_id', $where, 'users.id', 'users.date_in DESC');
     $table_users->db_data_search($form_search_users);
     for ($i = 1; $i < count($table_users->data); $i++) {
         if (isset($table_users->data[$i])) {
             $table_users->data[$i]['fullname'] = $table_users->data[$i]['surname'] . " " . $table_users->data[$i]['name'];
             $table_users->info['EDIT'][$i] = make_ref('/users', array("user" => $table_users->data[$i]['id']));
         }
     }
     $table_users->info['EDIT_COLUMN'] = 'username';
     $table_users->db_data_multichoice('users', 'id');
     $table_users->info['MULTICHOICE_LABEL'] = 'delete';
     $table_users->db_data_remove('id', 'surname', 'name');
     return $table_users;
 }
Beispiel #27
0
 function table_nodes()
 {
     global $construct, $db, $main;
     $form_search_nodes = $this->form_search_nodes();
     $where = $form_search_nodes->db_data_where(array("nodes__name" => "starts_with"));
     $table_nodes = new table(array('FORM_NAME' => 'table_nodes', 'TABLE_NAME' => 'table_nodes'));
     $table_nodes->db_data('nodes.id, nodes.name AS nodes__name, areas.name AS areas__name', 'nodes ' . 'LEFT JOIN areas ON nodes.area_id = areas.id ' . 'LEFT JOIN regions ON areas.region_id = regions.id', $where, "", "nodes.id ASC");
     $table_nodes->db_data_search($form_search_nodes);
     for ($i = 1; $i < count($table_nodes->data); $i++) {
         if (isset($table_nodes->data[$i])) {
             $table_nodes->data[$i]['nodes__name'] .= " (#" . $table_nodes->data[$i]['id'] . ")";
             $table_nodes->info['EDIT'][$i] = make_ref('/node_editor', array("node" => $table_nodes->data[$i]['id']));
         }
     }
     $table_nodes->info['EDIT_COLUMN'] = 'nodes__name';
     $table_nodes->db_data_multichoice('node', 'id');
     $table_nodes->info['MULTICHOICE_LABEL'] = 'delete';
     $table_nodes->db_data_remove('id');
     return $table_nodes;
 }
 function output_onpost_form_subnet()
 {
     global $main, $db;
     $form_subnet = $this->form_subnet();
     $subnet = get('subnet');
     $ret = TRUE;
     $_POST['subnets__ip_start'] = ip2long($_POST['subnets__ip_start']);
     $_POST['subnets__ip_end'] = ip2long($_POST['subnets__ip_end']);
     if ($_POST['subnets__type'] == 'link') {
         if ($db->cnt('', 'ip_ranges', "node_id = " . intval(get('node')) . " AND ip_ranges.ip_start <= '" . $_POST['subnets__ip_start'] . "' AND ip_ranges.ip_end >= '" . $_POST['subnets__ip_start'] . "' " . "AND ip_ranges.ip_start <= '" . $_POST['subnets__ip_end'] . "' AND ip_ranges.ip_end >= '" . $_POST['subnets__ip_end'] . "'") == 0) {
             $main->message->set_fromlang('error', 'subnet_backbone_no_ip_range');
             return;
         }
     }
     $ret = $form_subnet->db_set(array('node_id' => intval(get('node'))), "subnets", "id", $subnet);
     if ($ret) {
         $main->message->set_fromlang('info', 'insert_success', make_ref('/node_editor', array("node" => get('node'))));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
    function table_nameservers()
    {
        global $construct, $db, $vars;
        if (isset($_POST['dns_nameservers__ip'])) {
            $_POST['dns_nameservers__ip'] = is_ip($_POST['dns_nameservers__ip']) ? ip2long($_POST['dns_nameservers__ip']) : '';
        }
        if (isset($_GET['form_search_nameservers_search'])) {
            $t = unserialize(stripslashes($_GET['form_search_nameservers_search']));
            if (isset($t['dns_nameservers__ip'])) {
                $t['dns_nameservers__ip'] = is_ip($t['dns_nameservers__ip']) ? ip2long($t['dns_nameservers__ip']) : '';
            }
            $_GET['form_search_nameservers_search'] = addslashes(serialize($t));
        }
        $form_search_nameservers = $this->form_search_nameservers();
        $where = $form_search_nameservers->db_data_where(array('nodes__name' => 'starts_with'));
        $table_nameservers = new table(array('TABLE_NAME' => 'table_nameservers', 'FORM_NAME' => 'table_nameservers'));
        $table_nameservers->db_data('dns_nameservers.id, dns_nameservers.name, nodes.name_ns, dns_nameservers.ip, dns_nameservers.date_in, dns_nameservers.status', 'dns_nameservers
			LEFT JOIN nodes ON dns_nameservers.node_id = nodes.id', $where, "", "dns_nameservers.date_in DESC, dns_nameservers.status ASC");
        $table_nameservers->db_data_search($form_search_nameservers);
        foreach ((array) $table_nameservers->data as $key => $value) {
            if ($key != 0) {
                $table_nameservers->data[$key]['ip'] = long2ip($table_nameservers->data[$key]['ip']);
                $table_nameservers->data[$key]['name'] = strtolower(($table_nameservers->data[$key]['name'] != '' ? $table_nameservers->data[$key]['name'] . "." : "") . $table_nameservers->data[$key]['name_ns'] . "." . $vars['dns']['ns_zone']);
            }
        }
        $table_nameservers->db_data_multichoice('dns_nameservers', 'id');
        for ($i = 1; $i < count($table_nameservers->data); $i++) {
            if (isset($table_nameservers->data[$i])) {
                $table_nameservers->info['EDIT'][$i] = make_ref('/hostmaster/dnsnameserver', array("nameserver" => $table_nameservers->data[$i]['id']));
            }
        }
        $table_nameservers->info['EDIT_COLUMN'] = 'name';
        $table_nameservers->info['MULTICHOICE_LABEL'] = 'delete';
        $table_nameservers->db_data_remove('id', 'name_ns');
        $table_nameservers->db_data_translate('dns_nameservers__status');
        return $table_nameservers;
    }
 function table_ip_ranges_v6()
 {
     global $construct, $db, $lang;
     $form_search_ranges_v6 = $this->form_search_ranges_v6();
     $table_ip_ranges_v6 = new table(array('TABLE_NAME' => 'table_ip_ranges_v6', 'FORM_NAME' => 'table_ip_ranges_v6'));
     $table_ip_ranges_v6->db_data('ipv6_node_repos.v6net AS v6net, ip_ranges_v6.id AS v6net_id, ip_ranges_v6.date_in, ip_ranges_v6.status, ip_ranges_v6.delete_req', 'ip_ranges_v6, ipv6_node_repos ', 'ipv6_node_repos.id = ip_ranges_v6.v6net_id', "ip_ranges_v6.id", "ip_ranges_v6.date_in DESC, ip_ranges_v6.status ASC");
     $table_ip_ranges_v6->db_data_search($form_search_ranges_v6);
     foreach ((array) $table_ip_ranges_v6->data as $key => $value) {
         if ($key != 0) {
             $table_ip_ranges_v6->data[$key]['v6net'] = inet_ntop($table_ip_ranges_v6->data[$key]['v6net']);
         }
     }
     $table_ip_ranges_v6->db_data_multichoice('ip_ranges_v6', 'v6net_id');
     for ($i = 1; $i < count($table_ip_ranges_v6->data); $i++) {
         if (isset($table_ip_ranges_v6->data[$i])) {
             $table_ip_ranges_v6->info['EDIT'][$i] = make_ref('/hostmaster/range_v6', array("v6net_id" => $table_ip_ranges_v6->data[$i]['v6net_id']));
         }
     }
     $table_ip_ranges_v6->info['EDIT_COLUMN'] = 'v6net';
     $table_ip_ranges_v6->info['MULTICHOICE_LABEL'] = 'delete';
     $table_ip_ranges_v6->db_data_remove('v6net_id');
     $table_ip_ranges_v6->db_data_translate('ip_ranges_v6__status', 'ip_ranges_v6__delete_req');
     return $table_ip_ranges_v6;
 }