Changeset 245


Ignore:
Timestamp:
06/22/2011 08:18:46 PM (11 months ago)
Author:
sque
Message:

Merge branches/awmn 221:235
[awmn] Allow users to delete zones and nameservers without making a request to hostmaster
[awmn] Untaint sprintf
[awmn] Don't change to php script dir
[awmn] Add support to dump list of stealth nameservers
[awmn] Add active peers search fields to hostmaster's ranges page
[awmn] Redirect errors to stderr
[awmn] Don't explicitly set owner to 'N' (#146)
[awmn] Restrict ip ranges to valid b-classes (0-255)
[awmn] Escape HTML special characters
[awmn] Use appropriate entities for < and > HTML special characters
[awmn] Add missing 'alt' attribute for 'img' element
[awmn] Close 'td' and 'tr' elements properly
[awmn] Escape HTML special characters in services URLs
[awmn] Remove end of line carriage returns

Location:
trunk
Files:
31 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/globals/common.php

    r244 r245  
    2020 */ 
    2121if (file_exists(ROOT_PATH."/install")) { 
    22 //      die("WiND error: Please delete \"install/\" folder if you have completed installation ..."); 
     22        die("WiND error: Please delete \"install/\" folder if you have completed installation ..."); 
    2323} 
    2424if (!file_exists(ROOT_PATH."config/config.php")) { 
  • trunk/globals/functions.php

    r243 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
    6  * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
     6 * Copyright (C) 2009-2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    77 *  
    88 * This program is free software; you can redistribute it and/or modify 
     
    3939} 
    4040 
    41 function get_qs() { 
     41function get_qs($htmlspecialchars=TRUE) { 
     42        $ret = ""; 
    4243        if ($_SERVER['REQUEST_METHOD'] == 'GET') { 
    43                 return $_SERVER['QUERY_STRING']; 
    44         } else { 
    45                 return $_POST['query_string']; 
    46         } 
     44                $ret = $_SERVER['QUERY_STRING']; 
     45        } else { 
     46                $ret = $_POST['query_string']; 
     47        } 
     48        return ($htmlspecialchars?htmlspecialchars($ret):$ret); 
    4749} 
    4850 
     
    105107        if(get('show_map') == "no") $o = array_merge($o,array("show_map" => "no")); 
    106108        if ($cur_qs == TRUE) { 
    107                 parse_str(get_qs(), $qs); 
     109                parse_str(get_qs(FALSE), $qs); 
    108110                $o = array_merge($o, $qs); 
    109111        } 
     
    253255                for ($i=1;$i<=$d;$i++) { 
    254256                        $t1[$p] = $t[$p] * pow(10,$i); 
     257                        if ($t1[$p] > 255) continue; 
    255258                        $t2[$p] = $t1[$p] + pow(10,$i) - 1; 
    256259                        if ($t2[$p] > 255) $t2[$p] = 255; 
     
    337340        if ($gmap_key == '') return FALSE; 
    338341         
    339         $main->html->head->add_script("text/javascript", "http://".$vars['gmap']['server']."/maps?file=api&v=".$vars['gmap']['api']."&key=".$gmap_key."&hl=".$lang["iso639"]); 
     342        $main->html->head->add_script("text/javascript", htmlspecialchars("http://".$vars['gmap']['server']."/maps?file=api&v=".$vars['gmap']['api']."&key=".$gmap_key."&hl=".$lang["iso639"])); 
    340343        $main->html->head->add_script("text/javascript", $javascript); 
    341344        $main->html->head->add_extra( 
  • trunk/globals/language/english.php

    r243 r245  
    105105        'ap' => "Access Point", 
    106106        'aps' => "Access Points", 
     107        'aps_abbr' => "APs", 
    107108        'aps_search' => "Search for Access Points", 
    108109        'aps_found' => "Access Points found", 
     
    164165        'no' => "No", 
    165166        'backbone' => "Backbone", 
     167        'backbones_abbr' => "BBs", 
    166168        'unlinked' => "Not linked", 
    167169        'find_coordinates' => "Find coordinates", 
     
    255257                'dns_zones__status-invalid' => 'Invalid', 
    256258                'dns_zones__info' => 'Info', 
    257                 'dns_zones__delete_req' => 'Delete Request', 
    258                 'dns_zones__delete_req-Y' => 'YES', 
    259                 'dns_zones__delete_req-N' => 'NO', 
    260259 
    261260                'schema' => "Schema", 
     
    265264                'dns_nameservers__date_in' => 'Date', 
    266265                'dns_nameservers__name' => 'Nameserver name', 
    267                 'dns_nameservers__delete_req' => 'Delete request', 
    268                 'dns_nameservers__delete_req-Y' => 'YES', 
    269                 'dns_nameservers__delete_req-N' => 'NO', 
    270266                'dns_nameservers__ip' => 'IP address', 
    271267                'dns_nameservers__status' => 'Status', 
     
    294290                'peer' => 'Peer', 
    295291                'total_active_peers' => 'Active peers', 
     292                'total_active_p2p' => 'Active backbone links', 
     293                'total_active_aps' => 'Active access points', 
    296294                'total_active_clients' => 'Active clients', 
    297295                'has_ap' => 'Has Access Point', 
  • trunk/globals/language/greek.php

    r243 r245  
    131131        'ap' => "Access Point", 
    132132        'aps' => "Access Points", 
     133        'aps_abbr' => "APs", 
    133134        'aps_search' => "ΑΜαζήτηση Access Points", 
    134135        'aps_found' => "Access Points ποϠ
     
    219220        'no' => "Όχι", 
    220221        'backbone' => "Backbone", 
     222        'backbones_abbr' => "BBs", 
    221223        'unlinked' => "ΑσύΜΎετοι", 
    222224        'find_coordinates' => "Βρείτε τις σϠ
     
    326328ρο', 
    327329                'dns_zones__info' => 'Πληροφορίες', 
    328                 'dns_zones__delete_req' => 'Αίτηση Ύιαγραφής', 
    329                 'dns_zones__delete_req-Y' => 'ΝΑΙ', 
    330                 'dns_zones__delete_req-N' => 'ΟΧΙ', 
    331330 
    332331                'schema' => "Schema", 
     
    337336                'dns_nameservers__date_in' => 'ΗΌεροΌηΜία', 
    338337                'dns_nameservers__name' => 'ΌΜοΌα Nameserver', 
    339                 'dns_nameservers__delete_req' => 'Αίτηση Ύιαγραφής', 
    340                 'dns_nameservers__delete_req-Y' => 'ΝΑΙ', 
    341                 'dns_nameservers__delete_req-N' => 'ΟΧΙ', 
    342338                'dns_nameservers__ip' => 'ΔιεύΞϠ
    343339Μση IP', 
     
    370366                'total_active_peers' => 'ΕΜεργές ΎιασϠ
    371367ΜΎέσεις', 
     368                'total_active_p2p' => 'ΕΜεργές ΎιασϠ
     369ΜΎέσεις backbone', 
     370                'total_active_aps' => 'ΕΜεργά Access Point', 
    372371                'total_active_clients' => 'ΕΜεργοί πελάτες', 
    373372                'has_ap' => 'ΔιαΞέτει Access Point', 
  • trunk/includes/main_menu.php

    r192 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    151152 
    152153                                $this->tpl['link_dnsnameservers'] = makelink(array("page" => "hostmaster", "subpage" => "dnsnameservers")); 
    153                                 $this->tpl['link_dnsnameservers_waiting'] = makelink(array("page" => "hostmaster", "subpage" => "dnsnameservers", "form_search_nameservers_search" => serialize(array("dns_nameservers__status" => "waiting", "dns_nameservers__delete_req" => "N")))); 
    154                                 $this->tpl['dnsnameservers_waiting'] = $db->cnt('', "dns_nameservers", "status = 'waiting' AND delete_req = 'N'"); 
    155                                 $this->tpl['link_dnsnameservers_req_del'] = makelink(array("page" => "hostmaster", "subpage" => "dnsnameservers", "form_search_nameservers_search" => serialize(array("dns_nameservers__delete_req" => "Y")))); 
    156                                 $this->tpl['dnsnameservers_req_del'] = $db->cnt('', "dns_nameservers", "delete_req = 'Y'"); 
     154                                $this->tpl['link_dnsnameservers_waiting'] = makelink(array("page" => "hostmaster", "subpage" => "dnsnameservers", "form_search_nameservers_search" => serialize(array("dns_nameservers__status" => "waiting")))); 
     155                                $this->tpl['dnsnameservers_waiting'] = $db->cnt('', "dns_nameservers", "status = 'waiting'"); 
    157156 
    158157                                $this->tpl['link_dnszones'] = makelink(array("page" => "hostmaster", "subpage" => "dnszones")); 
    159                                 $this->tpl['link_dnszones_waiting'] = makelink(array("page" => "hostmaster", "subpage" => "dnszones", "form_search_dns_search" => serialize(array("dns_zones__status" => "waiting", "dns_zones__delete_req" => "N")))); 
    160                                 $this->tpl['dnszones_waiting'] = $db->cnt('', "dns_zones", "status = 'waiting' AND delete_req = 'N'"); 
    161                                 $this->tpl['link_dnszones_req_del'] = makelink(array("page" => "hostmaster", "subpage" => "dnszones", "form_search_dns_search" => serialize(array("dns_zones__delete_req" => "Y")))); 
    162                                 $this->tpl['dnszones_req_del'] = $db->cnt('', "dns_zones", "delete_req = 'Y'"); 
     158                                $this->tpl['link_dnszones_waiting'] = makelink(array("page" => "hostmaster", "subpage" => "dnszones", "form_search_dns_search" => serialize(array("dns_zones__status" => "waiting")))); 
     159                                $this->tpl['dnszones_waiting'] = $db->cnt('', "dns_zones", "status = 'waiting'"); 
    163160 
    164161                                $this->tpl['link_ranges'] = makelink(array("page" => "hostmaster", "subpage" => "ranges")); 
  • trunk/includes/pages/gmap/gmap_fullmap.php

    r79 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    3132                global $main, $vars; 
    3233                $main->menu->hide = true; 
    33                 $this->tpl['gmap_key_ok'] = include_gmap("?page=gmap&subpage=js&node=".get('node')); 
     34                $this->tpl['gmap_key_ok'] = include_gmap(htmlspecialchars("?page=gmap&subpage=js&node=".get('node'))); 
    3435                return template($this->tpl, __FILE__); 
    3536        } 
  • trunk/includes/pages/hostmaster/hostmaster_dnsnameserver.php

    r243 r245  
    117117                $table_dns = new table(array('TABLE_NAME' => 'table_dns', 'FORM_NAME' => 'table_dns')); 
    118118                $table_dns->db_data( 
    119                         'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.delete_req, dns_zones.type', 
     119                        'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.type', 
    120120                        'dns_zones ' . 
    121121                        'INNER JOIN dns_zones_nameservers ON dns_zones_nameservers.zone_id = dns_zones.id', 
     
    131131                $table_dns->info['EDIT_COLUMN'] = 'name'; 
    132132                $table_dns->db_data_remove('id', 'type'); 
    133                 $table_dns->db_data_translate('dns_zones__delete_req', 'dns_zones__status'); 
     133                $table_dns->db_data_translate('dns_zones__status'); 
    134134                return $table_dns; 
    135135        } 
  • trunk/includes/pages/hostmaster/hostmaster_dnsnameservers.php

    r243 r245  
    3333                $form_search_nameservers = new form(array('FORM_NAME' => 'form_search_nameservers')); 
    3434                $form_search_nameservers->data = array("0" => array("Field" => "ip", "fullField" => "dns_nameservers__ip")); 
    35                 $form_search_nameservers->db_data('dns_nameservers.status, dns_nameservers.delete_req, nodes.id, nodes.name'); 
     35                $form_search_nameservers->db_data('dns_nameservers.status, nodes.id, nodes.name'); 
    3636                $form_search_nameservers->db_data_search(); 
    3737                return $form_search_nameservers; 
     
    5252 
    5353                $table_nameservers->db_data( 
    54                         'dns_nameservers.id, dns_nameservers.name, nodes.name_ns, dns_nameservers.ip, dns_nameservers.date_in, dns_nameservers.status, dns_nameservers.delete_req', 
     54                        'dns_nameservers.id, dns_nameservers.name, nodes.name_ns, dns_nameservers.ip, dns_nameservers.date_in, dns_nameservers.status', 
    5555                        'dns_nameservers 
    5656                        LEFT JOIN nodes ON dns_nameservers.node_id = nodes.id', 
     
    7676                $table_nameservers->info['MULTICHOICE_LABEL'] = 'delete'; 
    7777                $table_nameservers->db_data_remove('id', 'name_ns'); 
    78                 $table_nameservers->db_data_translate('dns_nameservers__status', 'dns_nameservers__delete_req'); 
     78                $table_nameservers->db_data_translate('dns_nameservers__status'); 
    7979                return $table_nameservers; 
    8080        } 
  • trunk/includes/pages/hostmaster/hostmaster_dnszone.php

    r243 r245  
    158158                $table_dns = new table(array('TABLE_NAME' => 'table_dns', 'FORM_NAME' => 'table_dns')); 
    159159                $table_dns->db_data( 
    160                         'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.delete_req, dns_zones.type', 
     160                        'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.type', 
    161161                        'dns_zones ' . 
    162162                        'LEFT JOIN dns_zones AS t_dns_zones ON t_dns_zones.node_id = dns_zones.node_id', 
     
    171171                } 
    172172                $table_dns->info['EDIT_COLUMN'] = 'name'; 
    173                 $table_dns->db_data_remove('id', 'delete_req', 'type'); 
     173                $table_dns->db_data_remove('id', 'type'); 
    174174                $table_dns->db_data_translate('dns_zones__status'); 
    175175                return $table_dns; 
  • trunk/includes/pages/hostmaster/hostmaster_dnszones.php

    r243 r245  
    3131        function form_search_dns() { 
    3232                $form_search_dns = new form(array('FORM_NAME' => 'form_search_dns')); 
    33                 $form_search_dns->db_data('dns_zones.type, dns_zones.name, dns_zones.status, dns_zones.delete_req, nodes.id, nodes.name'); 
     33                $form_search_dns->db_data('dns_zones.type, dns_zones.name, dns_zones.status, nodes.id, nodes.name'); 
    3434                $form_search_dns->db_data_search(); 
    3535                return $form_search_dns; 
     
    4343 
    4444                $table_dns->db_data( 
    45                         'dns_zones.id, dns_zones.name, dns_zones.type, dns_zones.date_in, dns_zones.status, dns_zones.delete_req', 
     45                        'dns_zones.id, dns_zones.name, dns_zones.type, dns_zones.date_in, dns_zones.status', 
    4646                        'dns_zones ' . 
    4747                        'LEFT JOIN nodes ON dns_zones.node_id = nodes.id', 
     
    6060                $table_dns->info['MULTICHOICE_LABEL'] = 'delete'; 
    6161                $table_dns->db_data_remove('id', 'type'); 
    62                 $table_dns->db_data_translate('dns_zones__status', 'dns_zones__delete_req'); 
     62                $table_dns->db_data_translate('dns_zones__status'); 
    6363                return $table_dns; 
    6464        } 
  • trunk/includes/pages/hostmaster/hostmaster_ranges.php

    r243 r245  
    3434                $form_search_ranges->data = array("0" => array("Field" => "ip", "fullField" => "ip")); 
    3535                $form_search_ranges->db_data('ip_ranges.status, ip_ranges.delete_req, nodes.id, nodes.name'); 
     36                array_push($form_search_ranges->data, array('Compare' => 'numeric', 'Field' => 'total_active_p2p', 'fullField' => 'total_active_p2p')); 
     37                array_push($form_search_ranges->data, array('Compare' => 'numeric', 'Field' => 'total_active_aps', 'fullField' => 'total_active_aps')); 
    3638                $form_search_ranges->db_data_search(); 
    3739                return $form_search_ranges; 
     
    3941 
    4042        function table_ip_ranges() { 
    41                 global $construct, $db; 
     43                global $construct, $db, $lang; 
    4244                $form_search_ranges = $this->form_search_ranges(); 
    43                 $where = $form_search_ranges->db_data_where(array('ip' => 'exclude', 'nodes__name' => 'starts_with')); 
     45                $where = $form_search_ranges->db_data_where(array('ip' => 'exclude', 'nodes__name' => 'starts_with', "total_active_p2p" => 'exclude', "total_active_aps" => 'exclude')); 
    4446                $table_ip_ranges = new table(array('TABLE_NAME' => 'table_ip_ranges', 'FORM_NAME' => 'table_ip_ranges')); 
    4547                $where = ($where !=''?"(".$where.") AND ":""); 
     
    5355                } 
    5456                if ($where!='') $where = substr($where, 0, -5); 
     57                $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')); 
    5558                $table_ip_ranges->db_data( 
    56                         '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', 
     59                        'ip_ranges.id,  
     60                                "" AS ip_range,  
     61                                ip_ranges.ip_start,  
     62                                ip_ranges.ip_end,  
     63                                ip_ranges.date_in,  
     64                                ip_ranges.status,  
     65                                ip_ranges.delete_req,  
     66                                COUNT(DISTINCT p2p.id) AS total_active_p2p,  
     67                                COUNT(DISTINCT aps.id) AS total_active_aps,  
     68                                "" AS total_active_peers', 
    5769                        'ip_ranges ' . 
    58                         'LEFT JOIN nodes ON ip_ranges.node_id = nodes.id', 
     70                        'LEFT JOIN nodes ON ip_ranges.node_id = nodes.id  
     71                                LEFT JOIN links ON ip_ranges.node_id = links.node_id AND links.status = "active"  
     72                                LEFT JOIN links AS p2p ON links.type = "p2p"  
     73                                        AND links.peer_node_id = p2p.node_id  
     74                                        AND p2p.type = "p2p"  
     75                                        AND p2p.peer_node_id = links.node_id  
     76                                        AND p2p.status = "active"  
     77                                LEFT JOIN links as aps ON links.type = "ap"  
     78                                        AND links.id = aps.id', 
    5979                        $where, 
    60                         "", 
     80                        "ip_ranges.id". 
     81                        ($having!=''?' HAVING ('.$having.')':""), 
    6182                        "ip_ranges.date_in DESC, ip_ranges.status ASC"); 
    6283                $table_ip_ranges->db_data_search($form_search_ranges); 
     
    7192                for($i=1;$i<count($table_ip_ranges->data);$i++) { 
    7293                        if (isset($table_ip_ranges->data[$i])) { 
     94                                $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']:""); 
    7395                                $table_ip_ranges->info['EDIT'][$i] = makelink(array("page" => "hostmaster", "subpage" => "range", "iprange" => $table_ip_ranges->data[$i]['id'])); 
    7496                        } 
     
    7698                $table_ip_ranges->info['EDIT_COLUMN'] = 'ip_range'; 
    7799                $table_ip_ranges->info['MULTICHOICE_LABEL'] = 'delete'; 
    78                 $table_ip_ranges->db_data_remove('id', 'ip_start', 'ip_end'); 
     100                $table_ip_ranges->db_data_remove('id', 'ip_start', 'ip_end', 'total_active_p2p', 'total_active_aps'); 
    79101                $table_ip_ranges->db_data_translate('ip_ranges__status', 'ip_ranges__delete_req'); 
    80102                return $table_ip_ranges; 
  • trunk/includes/pages/mynodes/mynodes.php

    r243 r245  
    9595                $table_dns = new table(array('TABLE_NAME' => 'table_dns', 'FORM_NAME' => 'table_dns')); 
    9696                $table_dns->db_data( 
    97                         'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.delete_req, dns_zones.type', 
     97                        'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.type', 
    9898                        'dns_zones', 
    9999                        'dns_zones.node_id = '.intval(get('node')), 
     
    101101                        "dns_zones.type ASC, dns_zones.date_in ASC"); 
    102102                $table_dns->db_data_multichoice('dns_zones', 'id'); 
    103                 $table_dns->db_data_multichoice_checked('delete_req', 'Y'); 
    104103                for($i=1;$i<count($table_dns->data);$i++) { 
    105104                        if (isset($table_dns->data[$i])) { 
     
    109108                } 
    110109                $table_dns->info['EDIT_COLUMN'] = 'name'; 
    111                 $table_dns->info['MULTICHOICE_LABEL'] = 'delete_request'; 
    112                 $table_dns->db_data_remove('id', 'delete_req', 'type'); 
     110                $table_dns->info['MULTICHOICE_LABEL'] = 'delete'; 
     111                $table_dns->db_data_remove('id', 'type'); 
    113112                $table_dns->db_data_translate('dns_zones__status'); 
    114113                return $table_dns; 
     
    119118                $table_nameservers = new table(array('TABLE_NAME' => 'table_nameservers', 'FORM_NAME' => 'table_nameservers')); 
    120119                $table_nameservers->db_data( 
    121                         'dns_nameservers.id, dns_nameservers.name, dns_nameservers.ip, dns_nameservers.date_in, dns_nameservers.status, nodes.name_ns AS nodes_name_ns, dns_nameservers.delete_req', 
     120                        'dns_nameservers.id, dns_nameservers.name, dns_nameservers.ip, dns_nameservers.date_in, dns_nameservers.status, nodes.name_ns AS nodes_name_ns', 
    122121                        'dns_nameservers, nodes', 
    123122                        "nodes.id = ".intval(get('node'))." AND dns_nameservers.node_id = nodes.id", 
     
    131130                } 
    132131                $table_nameservers->db_data_multichoice('dns_nameservers', 'id'); 
    133                 $table_nameservers->db_data_multichoice_checked('delete_req', 'Y'); 
    134132                for($i=1;$i<count($table_nameservers->data);$i++) { 
    135133                        if (isset($table_nameservers->data[$i])) { 
     
    138136                } 
    139137                $table_nameservers->info['EDIT_COLUMN'] = 'name'; 
    140                 $table_nameservers->info['MULTICHOICE_LABEL'] = 'delete_request'; 
    141                 $table_nameservers->db_data_remove('id', 'nodes_name_ns', 'delete_req'); 
     138                $table_nameservers->info['MULTICHOICE_LABEL'] = 'delete'; 
     139                $table_nameservers->db_data_remove('id', 'nodes_name_ns'); 
    142140                $table_nameservers->db_data_translate('dns_nameservers__status'); 
    143141                return $table_nameservers; 
     
    467465                global $db, $main; 
    468466                $ret = TRUE; 
    469                 $ret = $ret && $db->set("dns_zones", array('delete_req' => 'N'), "node_id = ".intval(get('node'))); 
    470                 foreach( (array) $_POST['id'] as $key => $value) { 
    471                         $ret = $ret && $db->set("dns_zones", array('delete_req' => 'Y'), "id = '".intval($value)."' AND node_id =  ".intval(get('node'))); 
    472                 } 
    473                 if ($ret) { 
    474                         $main->message->set_fromlang('info', 'update_success', makelink("",TRUE)); 
     467                foreach( (array) $_POST['id'] as $key => $value) { 
     468                        $ret = $ret && $db->del("dns_zones, dns_zones_nameservers",  
     469                                                'dns_zones  
     470                                                        LEFT JOIN dns_zones_nameservers ON dns_zones.id = dns_zones_nameservers.zone_id',  
     471                                                "dns_zones.id = '".intval($value)."' AND dns_zones.node_id =  ".intval(get('node'))); 
     472                } 
     473                if ($ret) { 
     474                        $main->message->set_fromlang('info', 'delete_success', makelink("",TRUE)); 
    475475                } else { 
    476476                        $main->message->set_fromlang('error', 'generic');                
     
    481481                global $db, $main; 
    482482                $ret = TRUE; 
    483                 $ret = $ret && $db->set("dns_nameservers", array('delete_req' => 'N'), "node_id = ".intval(get('node'))); 
    484                 foreach( (array) $_POST['id'] as $key => $value) { 
    485                         $ret = $ret && $db->set("dns_nameservers", array('delete_req' => 'Y'), "id = '".intval($value)."' AND node_id =  ".intval(get('node'))); 
    486                 } 
    487                 if ($ret) { 
    488                         $main->message->set_fromlang('info', 'update_success', makelink("",TRUE)); 
     483                foreach( (array) $_POST['id'] as $key => $value) { 
     484                        $ret = $ret && $db->del("dns_nameservers, dns_zones_nameservers",  
     485                                                'dns_nameservers  
     486                                                        LEFT JOIN dns_zones_nameservers ON dns_nameservers.id = dns_zones_nameservers.nameserver_id',  
     487                                                "dns_nameservers.id = '".intval($value)."' AND dns_nameservers.node_id =  ".intval(get('node'))); 
     488                } 
     489                if ($ret) { 
     490                        $main->message->set_fromlang('info', 'delete_success', makelink("",TRUE)); 
    489491                } else { 
    490492                        $main->message->set_fromlang('error', 'generic');                
  • trunk/includes/pages/nodes/nodes_search.php

    r154 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    106107                $this->tpl['link_gearth'] = makelink(array("page" => "gearth", "subpage" => "download", "node" => get('node'), "show_p2p" => "1", "show_aps" => "1", "show_clients" => "1", "show_unlinked" => "1", "show_links_p2p" => "1", "show_links_client" => "1")); 
    107108                if(get('show_map') == "no") $this->tpl['gmap_key_ok'] = "nomap"; 
    108                 else $this->tpl['gmap_key_ok'] = include_gmap("?page=gmap&subpage=js&node=".get('node')); 
     109                else $this->tpl['gmap_key_ok'] = include_gmap(htmlspecialchars("?page=gmap&subpage=js&node=".get('node'))); 
    109110 
    110111                return template($this->tpl, __FILE__); 
  • trunk/includes/pages/nodes/nodes_view.php

    r190 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2009-2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    8788                $table_dns = new table(array('TABLE_NAME' => 'table_dns', 'FORM_NAME' => 'table_dns')); 
    8889                $table_dns->db_data( 
    89                         'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.delete_req, dns_zones.type', 
     90                        'dns_zones.id, dns_zones.name, dns_zones.date_in, dns_zones.status, dns_zones.type', 
    9091                        'dns_zones', 
    9192                        'dns_zones.node_id = '.intval(get('node')), 
     
    9394                        "dns_zones.type ASC, dns_zones.date_in ASC"); 
    9495                $table_dns->db_data_multichoice('dns_zones', 'id'); 
    95                 $table_dns->db_data_multichoice_checked('delete_req', 'Y'); 
    9696                for($i=1;$i<count($table_dns->data);$i++) { 
    9797                        if (isset($table_dns->data[$i])) { 
     
    101101                } 
    102102                $table_dns->info['EDIT_COLUMN'] = 'name'; 
    103                 $table_dns->info['MULTICHOICE_LABEL'] = 'delete_request'; 
    104                 $table_dns->db_data_remove('id', 'delete_req', 'type'); 
     103                $table_dns->db_data_remove('id', 'type'); 
    105104                $table_dns->db_data_translate('dns_zones__status'); 
    106105                return $table_dns; 
     
    111110                $table_nameservers = new table(array('TABLE_NAME' => 'table_nameservers', 'FORM_NAME' => 'table_nameservers')); 
    112111                $table_nameservers->db_data( 
    113                         'dns_nameservers.id, dns_nameservers.name, dns_nameservers.ip, dns_nameservers.date_in, dns_nameservers.status, nodes.name_ns AS nodes_name_ns, dns_nameservers.delete_req', 
     112                        'dns_nameservers.id, dns_nameservers.name, dns_nameservers.ip, dns_nameservers.date_in, dns_nameservers.status, nodes.name_ns AS nodes_name_ns', 
    114113                        'dns_nameservers, nodes', 
    115114                        "nodes.id = ".intval(get('node'))." AND dns_nameservers.node_id = nodes.id", 
     
    123122                } 
    124123                $table_nameservers->db_data_multichoice('dns_nameservers', 'id'); 
    125                 $table_nameservers->db_data_multichoice_checked('delete_req', 'Y'); 
    126124                for($i=1;$i<count($table_nameservers->data);$i++) { 
    127125                        if (isset($table_nameservers->data[$i])) { 
     
    130128                } 
    131129                $table_nameservers->info['EDIT_COLUMN'] = 'name'; 
    132                 $table_nameservers->info['MULTICHOICE_LABEL'] = 'delete_request'; 
    133                 $table_nameservers->db_data_remove('id', 'nodes_name_ns', 'delete_req'); 
     130                $table_nameservers->db_data_remove('id', 'nodes_name_ns'); 
    134131                $table_nameservers->db_data_translate('dns_nameservers__status'); 
    135132                return $table_nameservers; 
     
    263260                                        } 
    264261                                } 
    265                                 $table_services->info['LINK']['services__title'][$key] = $table_services->data[$key]['url']; 
     262                                $table_services->info['LINK']['services__title'][$key] = htmlspecialchars($table_services->data[$key]['url']); 
    266263                        } 
    267264                } 
     
    321318                $this->tpl['link_gearth'] = makelink(array("page" => "gearth", "subpage" => "download", "node" => get('node'), "show_p2p" => "1", "show_aps" => "1", "show_clients" => "1", "show_unlinked" => "1", "show_links_p2p" => "1", "show_links_client" => "1")); 
    322319                if(get('show_map') == "no") $this->tpl['gmap_key_ok'] = "nomap"; 
    323                 else $this->tpl['gmap_key_ok'] = include_gmap("?page=gmap&subpage=js&node=".get('node')); 
     320                else $this->tpl['gmap_key_ok'] = include_gmap(htmlspecialchars("?page=gmap&subpage=js&node=".get('node'))); 
    324321                return template($this->tpl, __FILE__); 
    325322        } 
  • trunk/includes/pages/pickup/pickup_gmap.php

    r89 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    3435                $main->menu->hide = TRUE; 
    3536                $main->footer->hide = TRUE; 
    36                 $this->tpl['gmap_key_ok'] = include_gmap("?page=gmap&subpage=pickup_js&object_lat=".stripslashes(get('object_lat'))."&object_lon=".stripslashes(get('object_lon'))); 
     37                $this->tpl['gmap_key_ok'] = include_gmap(htmlspecialchars("?page=gmap&subpage=pickup_js&object_lat=".stripslashes(get('object_lat'))."&object_lon=".stripslashes(get('object_lon')))); 
    3738                return template($this->tpl, __FILE__); 
    3839        } 
  • trunk/includes/pages/services/services.php

    r152 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    6263                                $table_services->data[$key]['nodes__name'] .= " (#".$table_services->data[$key]['nodes__id'].")"; 
    6364                                $table_services->info['LINK']['nodes__name'][$key] = makelink(array("page" => "nodes", "node" => $table_services->data[$key]['nodes__id'])); 
    64                                 $table_services->info['LINK']['services__title'][$key] = $table_services->data[$key]['url']; 
     65                                $table_services->info['LINK']['services__title'][$key] = htmlspecialchars($table_services->data[$key]['url']); 
    6566                        } 
    6667                } 
  • trunk/includes/pages/users/users.php

    r243 r245  
    145145                if ($ret && $main->userdata->privileges['admin'] === TRUE) { 
    146146                        $ret = $form_user->db_set_multi(array(), "rights", "user_id", get('user')); 
    147                         $ret = $ret && $form_user->db_set_multi(array('owner' => 'N'), "users_nodes", "user_id", $ins_id); 
     147                        $ret = $ret && $form_user->db_set_multi(array(), "users_nodes", "user_id", $ins_id); 
    148148                        $ret = $ret && $db->del('users_nodes', '', "user_id = '".$ins_id."' AND owner = 'Y'"); 
    149149                        if (isset($_POST['node_id_owner'])) { 
  • trunk/install/schema.sql

    r242 r245  
    2121  `ip` int(10) NOT NULL default '0', 
    2222  `status` enum('waiting','active','pending','rejected','invalid') NOT NULL default 'waiting', 
    23   `delete_req` enum('Y','N') NOT NULL default 'N', 
    2423  PRIMARY KEY  (`id`), 
    2524  UNIQUE KEY `unique_keys` (`name`,`node_id`), 
     
    2726  KEY `node_id` (`node_id`), 
    2827  KEY `ip` (`ip`), 
    29   KEY `status` (`status`), 
    30   KEY `delete_req` (`delete_req`) 
     28  KEY `status` (`status`) 
    3129) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
    3230 
     
    3937  `status` enum('waiting','active','pending','rejected','invalid') NOT NULL default 'waiting', 
    4038  `info` text, 
    41   `delete_req` enum('Y','N') NOT NULL default 'N', 
    4239  PRIMARY KEY  (`id`), 
    4340  UNIQUE KEY `unique_keys` (`name`,`type`), 
     
    4542  KEY `date_in` (`date_in`), 
    4643  KEY `node_id` (`node_id`), 
    47   KEY `status` (`status`), 
    48   KEY `delete_req` (`delete_req`) 
     44  KEY `status` (`status`) 
    4945) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
    5046 
  • trunk/templates/basic/css/styles.css

    r136 r245  
    556556font-size:9px; 
    557557vertical-align:top; 
    558 text-align:right; 
     558text-align:center; 
    559559padding:1px; 
    560560 
  • trunk/templates/basic/css/styles_packed.css

    r190 r245  
    1 html,body{margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;background-color:#F3F3F3;font-family:Verdana,Arial,Helvetica,sans-serif;height:100%;}form{margin:0;border:0;padding:0;}a:link,a:visited,a:active{text-decoration:none;color:#3315C1;}a:hover{text-decoration:underline;color:#475B7A;}a.menu-link:link,a.menu-link:visited,a.menu-link:active{text-decoration:none;color:#FFF;}a.menu-link:hover{text-decoration:underline;color:#E5E5E5;}img{border:0;}.table-main{width:100%;height:100%;}td.table-main-td-header{height:90px;}td.table-main-td-middle{height:100%;width:200px;vertical-align:top;border-right:4px solid #093668;}td.table-main-td-footer{height:20px;background-color:#000;}.table-header{width:100%;height:90px;background-image:url(../images/header-back.png);background-repeat:repeat-x;background-position:top;}td.table-header-td-left{height:100%;text-align:left;}td.table-header-td-right{height:100%;text-align:right;}.table-middle{width:100%;}td.table-middle-left-td{width:200px;height:100%;border-right:4px solid #093668;vertical-align:top;text-align:left;}td.table-middle-right-td{width:auto;height:100%;vertical-align:top;}.table-middle-right{width:100%;height:100%;}td.quick-login{height:auto;}td.main-title{height:71px;border-bottom:1px solid #093668;}td.main-page{height:100%;background-color:#FFF;background-image:url(../images/page-bg.gif);background-position:top;background-repeat:repeat-x;vertical-align:top;text-align:left;}td.footer{font-size:10px;background-color:#FFF;background-image:url(../images/page-bg.gif);background-position:top;background-repeat:repeat-x;border-top:1px solid #000;vertical-align:middle;}.table-quick-login{width:100%;height:100%;}td.quick-login-text{background-color:#8296B5;background-repeat:repeat-x;color:white;font-size:9px;font-style:italic;padding:1px 1px 1px 4px;white-space:nowrap;font-weight:bold;}td.quick-login-title{background-image:url(../images/title-login-back.png);background-repeat:repeat-x;color:orange;font-size:10px;font-weight:bold;padding:6px 4px 6px 4px;white-space:nowrap;}td.quick-login-field{background-image:url(../images/title-login-back.png);background-repeat:repeat-x;font-size:10px;font-weight:bold;color:#FFF;white-space:nowrap;text-align:left;padding:6px 3px 6px 3px;}td.quick-login-submit{width:100%;background-image:url(../images/title-login-back.png);background-repeat:repeat-x;text-align:left;padding-left:5px;}.fld-quick-login{border:1px solid #000;font-size:10px;width:100px;}.table-main-title{height:100%;width:100%;}td.table-main-title-left{background-image:url(../images/title-back.png);background-repeat:repeat-x;width:10px;border-bottom:1px solid #093668;}td.table-main-title-bullet{background-image:url(../images/title-bullet.png);background-repeat:no-repeat;width:25px;border-bottom:1px solid #093668;}td.table-main-title-text{background-image:url(../images/title-back.png);background-repeat:repeat-x;width:auto;font-size:20px;text-align:left;vertical-align:bottom;padding:0 0 9px 10px;border-bottom:1px solid #093668;}td.table-main-title-right{background-image:url(../images/title-back.png);background-repeat:repeat-x;width:auto;font-size:20px;text-align:right;vertical-align:bottom;padding:0 20px 9px 10px;border-bottom:1px solid #093668;}table.table-middle-left{width:100%;vertical-align:top;}td.table-middle-left-pad{background-color:#093668;height:2px;}td.small-menu{width:100%;}td.search-menu{width:100%;}td.table-middle-left-space{width:100%;height:100%;}.table-small-menu{width:100%;}td.table-small-menu-text{border-bottom:1px solid #FFF;background-image:url(../images/menu-top-bullet.png);background-position:5px 50%;background-color:#000;background-repeat:no-repeat;color:#FFF;font-weight:bold;font-size:10px;padding:2px 0 2px 20px;}.table-search-menu{width:100%;}td.table-search-menu-text{padding:4px;padding-top:8px;text-align:left;vertical-align:text-bottom;font-family:"Courier New",Courier,mono;font-size:14px;font-weight:bold;color:#000;background-image:url(../images/menu2-back.png);border-bottom:1px solid #000;}.table-mynodes{background-image:url(../images/menu2-back2.png);background-repeat:repeat-x;border-bottom:1px solid #000;}td.table-mynodes-title{width:100%;padding-top:10px;padding-left:15px;text-align:left;vertical-align:middle;font-family:Arial;font-size:14px;font-weight:bold;color:#000;}td.table-mynodes-image{padding-top:10px;padding-left:5px;padding-bottom:5px;text-align:left;vertical-align:middle;}td.table-mynodes-link{color:orange;text-align:right;vertical-align:bottom;padding:0 4px 4px 0;font-size:10px;font-weight:bold;}.table-d1{width:100%;}td.table-d1-side{height:10px;width:4px;background-image:url(../images/table-d1-side.gif);background-position:100% 0;background-repeat:no-repeat;}td.table-d1-side2{height:10px;width:4px;background-image:url(../images/table-d1-side.gif);background-position:0 0;background-repeat:no-repeat;}td.table-d1-title-text{background-image:url(../images/bullet-arrow2.png);background-position:10px 50%;background-repeat:no-repeat;font-weight:bold;font-size:12px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#6C7AA6;padding:5px;padding-left:25px;padding-right:10px;white-space:nowrap;width:100%;}td.table-d1-title-space{width:40px;}td.table-d1-title-down{width:100%;height:15px;background-image:url(../images/table-d1-footer.png);background-position:top;background-repeat:repeat-x;border-bottom:1px solid #6C7AA6;}td.table-d1-text{background-image:url(../images/table-d1-text-back.png);background-repeat:repeat-x;background-position:bottom;background-color:#FFF;width:100%;font-size:12px;font-weight:bold;font-family:Arial,Helvetica,sans-serif;padding:10px 5px 10px 5px;border-bottom:1px solid #3B4E89;}td.table-d1-text1{background-color:#FFF;width:100%;font-size:12px;font-weight:bold;font-family:Arial,Helvetica,sans-serif;padding:10px 5px 10px 5px;border-bottom:1px solid #6C7AA6;}td.table-d1-footer{height:20px;background-image:url(../images/table-d1-footer.png);background-repeat:repeat-x;border-bottom:1px solid #6C7AA6;}.table-page{width:100%;}td.table-page-pad{width:100%;padding:10px;padding-top:30px;text-align:left;vertical-align:top;}td.table-page-split{padding:10px;padding-top:30px;vertical-align:top;font-size:12px;}td.table-page-nopad{width:100%;text-align:left;vertical-align:top;}.table-list{width:100%;}td.table-list-title{padding-top:0;padding-left:10px;width:100%;height:30px;background-image:url(../images/table-list-title-bg2.png);background-repeat:repeat-x;background-position:top;color:#36455C;font-size:14px;font-weight:bold;border-top:1px solid #3B4E89;border-bottom:1px solid #3B4E89;}tr.table-list-top{width:100%;background-color:#000;}td.table-list-top-cell{height:10px;color:#36455C;font-size:12px;background-color:#ABBEEF;padding:4px;border-top:4px solid #fff;border-bottom:4px solid #fff;font-weight:bold;font-family:Arial,Helvetica,sans-serif;white-space:nowrap;}tr.table-list-list2{background-color:#fff;color:#000;font-size:12px;padding:4px;}tr.table-list-list1{background-color:#F0F0F0;color:#000;font-size:12px;}td.table-list-cell{padding:2px;border-bottom:2px solid #fff;border-right:2px solid #fff;}td.table-list-footer{padding:4px;color:#375688;font-size:10px;font-weight:bold;background-color:#ABBEEF;}.table-form{width:100%;}tr.table-form-row1{background-color:#fff;color:#000;font-size:11px;font-weight:bold;padding:4px;}tr.table-form-row2{background-color:#F0F0F0;color:#000;font-size:11px;font-weight:bold;}td.table-form-title{padding:5px;white-space:nowrap;}td.table-form-field{padding:5px;width:100%;}td.table-form-submit{text-align:right;vertical-align:middle;}.fld-form-input{font-size:14px;width:100%;border:1px solid #000;}.fld-form-input-pickup{font-size:14px;width:100%;border:1px dashed #000;background-color:white;}.fld-form-submit{border:1px solid #000;font-size:10px;font-weight:bold;width:100px;background-color:#8296B5;color:#FFF;}.fld-form-file{border:1px solid #000;font-size:10px;}td.menu-small-links{font-size:9px;vertical-align:top;text-align:right;padding:1px;}.table-node{width:100%;}td.table-node-title{background-image:url(../images/title-bg.png);width:100%;height:40px;font-size:14px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;padding-left:7px;border-top:10px solid #36455C;border-bottom:1px solid #36455C;}td.table-node-key{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;background-color:#FFA448;border-bottom:2px solid #fff;border-right:2px solid #fff;white-space:nowrap;padding:5px;text-align:right;}td.table-node-key2{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;background-color:#DBE0D7;border-bottom:2px solid #fff;padding:5px;white-space:nowrap;}td.table-node-value{width:100%;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;padding-left:3px;background-color:#EEF0EC;border-bottom:2px solid #fff;padding:5px;}td.table-node-value2,td.link-up,td.link-down{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;background-color:#EEF0EC;border-bottom:2px solid #fff;padding:5px;}td.link-up{background-color:green;color:white;font-weight:bold;}td.link-down{background-color:red;color:white;font-weight:bold;}td.table-node-info{width:100%;border-bottom:3px solid;border-color:#36455C;}td.table-node-subinfo-title{font-weight:bold;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#6C7AA6;padding:2px;padding-top:10px;padding-left:15px;padding-right:10px;white-space:nowrap;border-bottom:2px solid #36455C;}td.table-node-link{width:100%;padding:10px 0 10px 0;}td.table-node-link-info{vertical-align:top;}td.table-comments-title{width:100%;padding-top:10px;font-weight:bold;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#6C7AA6;padding-left:7px;text-align:left;}td.table-comments-text{width:100%;height:100%;padding:5px;padding-top:3px;font-family:Arial,Helvetica,sans-serif;font-size:10px;border-left:1px solid #36455C;border-right:1px solid #36455C;vertical-align:top;}table.plot-link-table{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold;background-color:#63C8F8;height:100%;width:100%;}table.plot-table{border:1px solid #000;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold;background-color:#63C8F8;}td.plot-title{font-size:11px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;background-color:#DBE0D7;border-bottom:1px solid #000;padding:5px;white-space:nowrap;text-align:center;}td.node-view-left-top{border-right:3px solid #36455C;border-bottom:3px solid #36455C;padding:5px;}td.node-view-left-mid{border-right:3px solid #36455C;padding:5px;}td.node-view-right-top{border-bottom:3px solid #36455C;padding:5px;}td.node-view-left-bottom{border-right:3px solid #36455C;border-top:3px solid #36455C;padding:5px;}td.node-view-right-bottom{border-top:3px solid #36455C;padding:5px;}textarea{height:200px;} 
     1html,body{margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;background-color:#F3F3F3;font-family:Verdana,Arial,Helvetica,sans-serif;height:100%;}form{margin:0;border:0;padding:0;}a:link,a:visited,a:active{text-decoration:none;color:#3315C1;}a:hover{text-decoration:underline;color:#475B7A;}a.menu-link:link,a.menu-link:visited,a.menu-link:active{text-decoration:none;color:#FFF;}a.menu-link:hover{text-decoration:underline;color:#E5E5E5;}img{border:0;}.table-main{width:100%;height:100%;}td.table-main-td-header{height:90px;}td.table-main-td-middle{height:100%;width:200px;vertical-align:top;border-right:4px solid #093668;}td.table-main-td-footer{height:20px;background-color:#000;}.table-header{width:100%;height:90px;background-image:url(../images/header-back.png);background-repeat:repeat-x;background-position:top;}td.table-header-td-left{height:100%;text-align:left;}td.table-header-td-right{height:100%;text-align:right;}.table-middle{width:100%;}td.table-middle-left-td{width:200px;height:100%;border-right:4px solid #093668;vertical-align:top;text-align:left;}td.table-middle-right-td{width:auto;height:100%;vertical-align:top;}.table-middle-right{width:100%;height:100%;}td.quick-login{height:auto;}td.main-title{height:71px;border-bottom:1px solid #093668;}td.main-page{height:100%;background-color:#FFF;background-image:url(../images/page-bg.gif);background-position:top;background-repeat:repeat-x;vertical-align:top;text-align:left;}td.footer{font-size:10px;background-color:#FFF;background-image:url(../images/page-bg.gif);background-position:top;background-repeat:repeat-x;border-top:1px solid #000;vertical-align:middle;}.table-quick-login{width:100%;height:100%;}td.quick-login-text{background-color:#8296B5;background-repeat:repeat-x;color:white;font-size:9px;font-style:italic;padding:1px 1px 1px 4px;white-space:nowrap;font-weight:bold;}td.quick-login-title{background-image:url(../images/title-login-back.png);background-repeat:repeat-x;color:orange;font-size:10px;font-weight:bold;padding:6px 4px 6px 4px;white-space:nowrap;}td.quick-login-field{background-image:url(../images/title-login-back.png);background-repeat:repeat-x;font-size:10px;font-weight:bold;color:#FFF;white-space:nowrap;text-align:left;padding:6px 3px 6px 3px;}td.quick-login-submit{width:100%;background-image:url(../images/title-login-back.png);background-repeat:repeat-x;text-align:left;padding-left:5px;}.fld-quick-login{border:1px solid #000;font-size:10px;width:100px;}.table-main-title{height:100%;width:100%;}td.table-main-title-left{background-image:url(../images/title-back.png);background-repeat:repeat-x;width:10px;border-bottom:1px solid #093668;}td.table-main-title-bullet{background-image:url(../images/title-bullet.png);background-repeat:no-repeat;width:25px;border-bottom:1px solid #093668;}td.table-main-title-text{background-image:url(../images/title-back.png);background-repeat:repeat-x;width:auto;font-size:20px;text-align:left;vertical-align:bottom;padding:0 0 9px 10px;border-bottom:1px solid #093668;}td.table-main-title-right{background-image:url(../images/title-back.png);background-repeat:repeat-x;width:auto;font-size:20px;text-align:right;vertical-align:bottom;padding:0 20px 9px 10px;border-bottom:1px solid #093668;}table.table-middle-left{width:100%;vertical-align:top;}td.table-middle-left-pad{background-color:#093668;height:2px;}td.small-menu{width:100%;}td.search-menu{width:100%;}td.table-middle-left-space{width:100%;height:100%;}.table-small-menu{width:100%;}td.table-small-menu-text{border-bottom:1px solid #FFF;background-image:url(../images/menu-top-bullet.png);background-position:5px 50%;background-color:#000;background-repeat:no-repeat;color:#FFF;font-weight:bold;font-size:10px;padding:2px 0 2px 20px;}.table-search-menu{width:100%;}td.table-search-menu-text{padding:4px;padding-top:8px;text-align:left;vertical-align:text-bottom;font-family:"Courier New",Courier,mono;font-size:14px;font-weight:bold;color:#000;background-image:url(../images/menu2-back.png);border-bottom:1px solid #000;}.table-mynodes{background-image:url(../images/menu2-back2.png);background-repeat:repeat-x;border-bottom:1px solid #000;}td.table-mynodes-title{width:100%;padding-top:10px;padding-left:15px;text-align:left;vertical-align:middle;font-family:Arial;font-size:14px;font-weight:bold;color:#000;}td.table-mynodes-image{padding-top:10px;padding-left:5px;padding-bottom:5px;text-align:left;vertical-align:middle;}td.table-mynodes-link{color:orange;text-align:right;vertical-align:bottom;padding:0 4px 4px 0;font-size:10px;font-weight:bold;}.table-d1{width:100%;}td.table-d1-side{height:10px;width:4px;background-image:url(../images/table-d1-side.gif);background-position:100% 0;background-repeat:no-repeat;}td.table-d1-side2{height:10px;width:4px;background-image:url(../images/table-d1-side.gif);background-position:0 0;background-repeat:no-repeat;}td.table-d1-title-text{background-image:url(../images/bullet-arrow2.png);background-position:10px 50%;background-repeat:no-repeat;font-weight:bold;font-size:12px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#6C7AA6;padding:5px;padding-left:25px;padding-right:10px;white-space:nowrap;width:100%;}td.table-d1-title-space{width:40px;}td.table-d1-title-down{width:100%;height:15px;background-image:url(../images/table-d1-footer.png);background-position:top;background-repeat:repeat-x;border-bottom:1px solid #6C7AA6;}td.table-d1-text{background-image:url(../images/table-d1-text-back.png);background-repeat:repeat-x;background-position:bottom;background-color:#FFF;width:100%;font-size:12px;font-weight:bold;font-family:Arial,Helvetica,sans-serif;padding:10px 5px 10px 5px;border-bottom:1px solid #3B4E89;}td.table-d1-text1{background-color:#FFF;width:100%;font-size:12px;font-weight:bold;font-family:Arial,Helvetica,sans-serif;padding:10px 5px 10px 5px;border-bottom:1px solid #6C7AA6;}td.table-d1-footer{height:20px;background-image:url(../images/table-d1-footer.png);background-repeat:repeat-x;border-bottom:1px solid #6C7AA6;}.table-page{width:100%;}td.table-page-pad{width:100%;padding:10px;padding-top:30px;text-align:left;vertical-align:top;}td.table-page-split{padding:10px;padding-top:30px;vertical-align:top;font-size:12px;}td.table-page-nopad{width:100%;text-align:left;vertical-align:top;}.table-list{width:100%;}td.table-list-title{padding-top:0;padding-left:10px;width:100%;height:30px;background-image:url(../images/table-list-title-bg2.png);background-repeat:repeat-x;background-position:top;color:#36455C;font-size:14px;font-weight:bold;border-top:1px solid #3B4E89;border-bottom:1px solid #3B4E89;}tr.table-list-top{width:100%;background-color:#000;}td.table-list-top-cell{height:10px;color:#36455C;font-size:12px;background-color:#ABBEEF;padding:4px;border-top:4px solid #fff;border-bottom:4px solid #fff;font-weight:bold;font-family:Arial,Helvetica,sans-serif;white-space:nowrap;}tr.table-list-list2{background-color:#fff;color:#000;font-size:12px;padding:4px;}tr.table-list-list1{background-color:#F0F0F0;color:#000;font-size:12px;}td.table-list-cell{padding:2px;border-bottom:2px solid #fff;border-right:2px solid #fff;}td.table-list-footer{padding:4px;color:#375688;font-size:10px;font-weight:bold;background-color:#ABBEEF;}.table-form{width:100%;}tr.table-form-row1{background-color:#fff;color:#000;font-size:11px;font-weight:bold;padding:4px;}tr.table-form-row2{background-color:#F0F0F0;color:#000;font-size:11px;font-weight:bold;}td.table-form-title{padding:5px;white-space:nowrap;}td.table-form-field{padding:5px;width:100%;}td.table-form-submit{text-align:right;vertical-align:middle;}.fld-form-input{font-size:14px;width:100%;border:1px solid #000;}.fld-form-input-pickup{font-size:14px;width:100%;border:1px dashed #000;background-color:white;}.fld-form-submit{border:1px solid #000;font-size:10px;font-weight:bold;width:100px;background-color:#8296B5;color:#FFF;}.fld-form-file{border:1px solid #000;font-size:10px;}td.menu-small-links{font-size:9px;vertical-align:top;text-align:center;padding:1px;}.table-node{width:100%;}td.table-node-title{background-image:url(../images/title-bg.png);width:100%;height:40px;font-size:14px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;padding-left:7px;border-top:10px solid #36455C;border-bottom:1px solid #36455C;}td.table-node-key{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;background-color:#FFA448;border-bottom:2px solid #fff;border-right:2px solid #fff;white-space:nowrap;padding:5px;text-align:right;}td.table-node-key2{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;background-color:#DBE0D7;border-bottom:2px solid #fff;padding:5px;white-space:nowrap;}td.table-node-value{width:100%;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;padding-left:3px;background-color:#EEF0EC;border-bottom:2px solid #fff;padding:5px;}td.table-node-value2,td.link-up,td.link-down{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;background-color:#EEF0EC;border-bottom:2px solid #fff;padding:5px;}td.link-up{background-color:green;color:white;font-weight:bold;}td.link-down{background-color:red;color:white;font-weight:bold;}td.table-node-info{width:100%;border-bottom:3px solid;border-color:#36455C;}td.table-node-subinfo-title{font-weight:bold;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#6C7AA6;padding:2px;padding-top:10px;padding-left:15px;padding-right:10px;white-space:nowrap;border-bottom:2px solid #36455C;}td.table-node-link{width:100%;padding:10px 0 10px 0;}td.table-node-link-info{vertical-align:top;}td.table-comments-title{width:100%;padding-top:10px;font-weight:bold;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#6C7AA6;padding-left:7px;text-align:left;}td.table-comments-text{width:100%;height:100%;padding:5px;padding-top:3px;font-family:Arial,Helvetica,sans-serif;font-size:10px;border-left:1px solid #36455C;border-right:1px solid #36455C;vertical-align:top;}table.plot-link-table{font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold;background-color:#63C8F8;height:100%;width:100%;}table.plot-table{border:1px solid #000;font-size:10px;font-family:Verdana,Arial,Helvetica,sans-serif;font-weight:bold;background-color:#63C8F8;}td.plot-title{font-size:11px;font-family:Verdana,Arial,Helvetica,sans-serif;color:#36455C;font-weight:bold;background-color:#DBE0D7;border-bottom:1px solid #000;padding:5px;white-space:nowrap;text-align:center;}td.node-view-left-top{border-right:3px solid #36455C;border-bottom:3px solid #36455C;padding:5px;}td.node-view-left-mid{border-right:3px solid #36455C;padding:5px;}td.node-view-right-top{border-bottom:3px solid #36455C;padding:5px;}td.node-view-left-bottom{border-right:3px solid #36455C;border-top:3px solid #36455C;padding:5px;}td.node-view-right-bottom{border-top:3px solid #36455C;padding:5px;}textarea{height:200px;} 
  • trunk/templates/basic/generic/plot.tpl

    r129 r245  
    44 * 
    55 * Copyright (C) 2005 Konstantinos Papadimitriou <vinilios@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    2223<tr><td colspan="3" class="plot-title">{$lang.plot}</td></tr> 
    2324<tr><td width="33%" align="left">{$data[rowl].node_name|escape} (#{$data[rowl].node_id})</td><td width="33%" align="center">-- {$data[rowl].distance|round:3}km --</td><td align="right">{$data[rowl].peer_node_name|escape} (#{$data[rowl].links__peer_node_id})</td></tr> 
    24 <tr><td colspan="3" align="center"><a href="" onclick="javascript: t = window.open('?page=nodes&subpage=plot_link&a_node={$data[rowl].node_id}&b_node={$data[rowl].links__peer_node_id}', 'popup_plot_link', 'width=600,height=450,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;"><img src="?page=nodes&subpage=plot&a_node={$data[rowl].node_id}&b_node={$data[rowl].links__peer_node_id}&width=300&height=150" width="300" height="150" alt="{$lang.plot}" /></a></td></tr> 
     25<tr><td colspan="3" align="center"><a href="" onclick="javascript: t = window.open('?page=nodes&amp;subpage=plot_link&amp;a_node={$data[rowl].node_id}&amp;b_node={$data[rowl].links__peer_node_id}', 'popup_plot_link', 'width=600,height=450,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;"><img src="?page=nodes&amp;subpage=plot&amp;a_node={$data[rowl].node_id}&amp;b_node={$data[rowl].links__peer_node_id}&amp;width=300&amp;height=150" width="300" height="150" alt="{$lang.plot}" /></a></td></tr> 
    2526</table> 
  • trunk/templates/basic/includes/main_menu.tpl

    r159 r245  
    44 * 
    55 * Copyright (C) 2005 Konstantinos Papadimitriou <vinilios@cube.gr> 
     6 * Copyright (C) 2009 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    217218                                </tr> 
    218219                                <tr> 
    219                                         <td colspan="2" class="menu-small-links">{include file="generic/link.tpl" link=$link_dnszones_waiting content="$dnszones_waiting `$lang.waiting`"} {include file="generic/link.tpl" link=$link_dnszones_req_del content="$dnszones_req_del `$lang.for_deletion`"}</td> 
     220                                        <td colspan="2" class="menu-small-links">{include file="generic/link.tpl" link=$link_dnszones_waiting content="$dnszones_waiting `$lang.waiting`"}</td> 
    220221                                </tr> 
    221222                                {/if} 
     
    225226                                </tr> 
    226227                                <tr> 
    227                                         <td colspan="2" class="menu-small-links">{include file="generic/link.tpl" link=$link_dnsnameservers_waiting content="$dnsnameservers_waiting `$lang.waiting`"} {include file="generic/link.tpl" link=$link_dnsnameservers_req_del content="$dnsnameservers_req_del `$lang.for_deletion`"}</td> 
     228                                        <td colspan="2" class="menu-small-links">{include file="generic/link.tpl" link=$link_dnsnameservers_waiting content="$dnsnameservers_waiting `$lang.waiting`"}</td> 
    228229                                </tr> 
    229230                                {/if} 
  • trunk/templates/basic/includes/pages/gmap/gmap_js.tpl

    r193 r245  
    44 * 
    55 * Copyright (C) 2005 Nikolaos Nikalexis <winner@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    299300                        var this_node = selected[0].getAttribute("id"); 
    300301                                if(this_node != node_id) { 
    301                                         html = html + "<br /><a href=\"\" onclick=\"javascript: t = window.open('?page=nodes&subpage=plot_link&a_node="+ selected[0].getAttribute("id") +"&b_node="+ node_id +"', 'popup_plot_link', 'width=600,height=450,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;\">{/literal}{$lang.plot}{literal}</a></div>"; 
     302                                        html = html + "<br /><a href=\"\" onclick=\"javascript: t = window.open('?page=nodes&amp;subpage=plot_link&amp;a_node="+ selected[0].getAttribute("id") +"&amp;b_node="+ node_id +"', 'popup_plot_link', 'width=600,height=450,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;\">{/literal}{$lang.plot}{literal}</a></div>"; 
    302303                                } 
    303304                        } else { 
  • trunk/templates/basic/includes/pages/mynodes/mynodes_table_photosview.tpl

    r48 r245  
    44 * 
    55 * Copyright (C) 2005 Konstantinos Papadimitriou <vinilios@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    4142        <td class="{$cellclass}"> 
    4243        {if $key == 'photo' && $smarty.section.row.index>0} 
    43         {if $cell != ''}<img src="{$cell}" />{else}<input class="fld-form-file" type="file" name="{$data[row].view_point}" value="{$lang.search}" />{/if} 
     44        {if $cell != ''}<img src="{$cell}" />{else}<input class="fld-form-file" type="file" name="{$data[row].view_point}" value="{$lang.search}" alt="" />{/if} 
    4445        {elseif $key=='info' && $smarty.section.row.index>0} 
    4546        <textarea name="info-{$data[row].view_point}">{$cell|escape}</textarea> 
  • trunk/templates/basic/includes/pages/nodes/myview.tpl

    r1 r245  
    44 * 
    55 * Copyright (C) 2005 Konstantinos Papadimitriou <vinilios@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    3132        <tr> 
    3233        <td class="node-view-left-mid" >{include file="generic/photosview_image.tpl" image=$photosview.W}</td> 
    33         <td class="node-view-left-mid" ><img src="{$img_dir}compass.png" /></td> 
     34        <td class="node-view-left-mid" ><img src="{$img_dir}compass.png" alt="" /></td> 
    3435        <td class="node-view-right-mid" >{include file="generic/photosview_image.tpl" image=$photosview.E}</td> 
    3536        </tr> 
  • trunk/templates/basic/includes/pages/nodes/nodes_plot_link.tpl

    r146 r245  
    44 * 
    55 * Copyright (C) 2005 Konstantinos Papadimitriou <vinilios@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    3334                                <tr> 
    3435                                        <td width="25%" align="left"> 
    35                                                 {include file=generic/link.tpl content="`$lang.change`" onclick="javascript: t = window.open('?page=pickup&subpage=nodes&object=form_nodes_plot_link.a_node', 'popup_pickup', 'width=700,height=600,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;"} 
     36                                                {include file=generic/link.tpl content="`$lang.change`" onclick="javascript: t = window.open('?page=pickup&amp;subpage=nodes&amp;object=form_nodes_plot_link.a_node', 'popup_pickup', 'width=700,height=600,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;"} 
    3637                                                <br /> 
    3738                                                <input type="hidden" name="a_node" value="{$a_node}" /> 
     
    4243                                        </td> 
    4344                                        <td width="25%" align="right"> 
    44                                                 {include file=generic/link.tpl content="`$lang.change`" onclick="javascript: t = window.open('?page=pickup&subpage=nodes&object=form_nodes_plot_link.b_node', 'popup_pickup', 'width=700,height=600,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;"} 
     45                                                {include file=generic/link.tpl content="`$lang.change`" onclick="javascript: t = window.open('?page=pickup&amp;subpage=nodes&amp;object=form_nodes_plot_link.b_node', 'popup_pickup', 'width=700,height=600,toolbar=0,resizable=1,scrollbars=1'); t.focus(); return false;"} 
    4546                                                <br /> 
    4647                                                <input type="hidden" name="b_node" value="{$b_node}" /> 
     
    5657                                        </td> 
    5758                                        <td align="center"> 
    58                                                 <--- {$lang.distance}: {$distance|round:3} km ---><br /> 
     59                                                &lt;--- {$lang.distance}: {$distance|round:3} km ---&gt;<br /> 
    5960                                                <span style="color: brown;"> 
    6061                                                        {$lang.fsl}:<br /> 
     
    7475                                </tr> 
    7576                                <tr> 
    76                                         <td height="100%" colspan="3" align="center"><img src="{$plot_image}&amp;width=570&amp;height=250" width="570" height="250" /></td> 
     77                                        <td height="100%" colspan="3" align="center"><img src="{$plot_image}&amp;width=570&amp;height=250" width="570" height="250" alt="" /></td> 
    7778                                </tr> 
    7879                                <tr> 
  • trunk/templates/basic/includes/pages/nodes/nodes_view_table_ipaddr_subnets.tpl

    r48 r245  
    44 * 
    55 * Copyright (C) 2005 Konstantinos Papadimitriou <vinilios@cube.gr> 
     6 * Copyright (C) 2010 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr> 
    67 *  
    78 * This program is free software; you can redistribute it and/or modify 
     
    2526        {assign var=close1 value=""} 
    2627        {assign var=close2 value=""} 
    27         {assign var=close1 value="</table>"} 
     28        {assign var=close1 value="</table></td></tr>"} 
    2829        {assign var=cur value=$data[row].ip_start} 
    2930        <tr><td> 
  • trunk/tools/dnszones-poller/dnszones-poller.php

    r152 r245  
    3131         
    3232        ## NAMESERVERS 
    33         $query = "SELECT dns_nameservers.name AS ns_num, nodes.name_ns AS name_ns 
     33        $query = "SELECT dns_nameservers.name AS ns_num, dns_nameservers.ip AS ns_ip, nodes.name_ns AS name_ns 
    3434                          FROM dns_nameservers 
    3535                          INNER JOIN nodes ON nodes.id = dns_nameservers.node_id 
     
    3838        $q = mysql_query($query, $mysql_link); 
    3939        while ($ret = mysql_fetch_assoc($q)) { 
    40                 $replace['NAMESERVERS'] .= " NS ".$ret['ns_num'].".".$ret['name_ns'].$conf['ns_domain']."\n"; 
     40                $replace['NAMESERVERS'] .= $conf['notify']? 
     41                        long2ip($ret['ns_ip']).";\n": 
     42                        " NS ".$ret['ns_num'].".".$ret['name_ns'].$conf['ns_domain']."\n"; 
    4143        } 
    4244         
     
    9698        echo mysql_error(); 
    9799        while ($ret = mysql_fetch_assoc($q)) { 
    98                 $replace['ZONES'] .= $ret['zone_name']." NS ".$ret['ns_num'].".".$ret['name_ns'].$conf['ns_domain']."\n"; 
     100                $replace['ZONES'] .= $ret['zone_name'].". NS ".$ret['ns_num'].".".$ret['name_ns'].$conf['ns_domain']."\n"; 
    99101        } 
    100102 
  • trunk/tools/whoind/whoind

    r117 r245  
    444444                        ($date, $nodename, $owner, $id, $area, $region) = @row; 
    445445                        $network = formatipr(pop(@row), pop(@row)) if $isip; 
    446                         $webpage = sprintf($website, $id) if defined $website; 
     446                        if (defined $website) { 
     447                                $webpage = sprintf($website, $id); 
     448                        } 
    447449                } 
    448450                # ...except the secondary nameservers 
  • trunk/tools/zone_update/zone_update

    r174 r245  
    3838 
    3939if [ ! -e $ZONES_ROOT$CUR_ZONE ]; then 
    40    echo "file '$ZONES_ROOT$CUR_ZONE' does not exist" 
     40   echo "file '$ZONES_ROOT$CUR_ZONE' does not exist" 1>&2 
    4141   exit 
    4242fi 
     
    4444# Check the syntax of the current zone file and make sure it includes "; serial" line 
    4545if ! ( named-checkzone -q $CUR_ZONE $ZONES_ROOT$CUR_ZONE && grep -q "; serial" $ZONES_ROOT$CUR_ZONE ) ; then 
    46    echo "`date` - $ZONES_ROOT$CUR_ZONE has errors (wrong syntax or  missing '; serial' comment)." 
    47    echo "#### START of named-checkzone output (if OK then '; serial' comment is missing) ####" 
    48    echo "`named-checkzone $CUR_ZONE $ZONES_ROOT$CUR_ZONE`" 
    49    echo "#### END of named-checkzone output ####" 
     46   echo "`date` - $ZONES_ROOT$CUR_ZONE has errors (wrong syntax or  missing '; serial' comment)." 1>&2 
     47   echo "#### START of named-checkzone output (if OK then '; serial' comment is missing) ####" 1>&2 
     48   echo "`named-checkzone $CUR_ZONE $ZONES_ROOT$CUR_ZONE`" 1>&2 
     49   echo "#### END of named-checkzone output ####" 1>&2 
    5050   exit 
    5151fi 
     
    6161 
    6262# Make PHP_ZONE 
    63 cd `dirname $PHP_SCRIPT` 
     63#cd `dirname $PHP_SCRIPT` 
    6464php $PHP_SCRIPT $CUR_ZONE > $PHP_ZONE 
    6565 
     
    7171CUR_SERIAL_CHARS=`echo -n $CUR_SERIAL | wc -m` 
    7272if [ $CUR_SERIAL_CHARS -ne 10 ] || ! date -d `echo $CUR_SERIAL | cut -c 1-8` > /dev/null 2>&1 ; then 
    73     echo "`date` - Serial line in $ZONES_ROOT$CUR_ZONE is not valid." 
     73    echo "`date` - Serial line in $ZONES_ROOT$CUR_ZONE is not valid." 1>&2 
    7474    exit 
    7575fi 
     
    135135     mv -f /tmp/$CUR_ZONE $ZONES_ROOT 
    136136  else 
    137      echo "`date` - PHP-generated file has errors (possible database failure)" 
    138      echo "#### START of named-checkzone output ####" 
    139      echo "`named-checkzone $CUR_ZONE /tmp/$CUR_ZONE`" 
    140      echo "#### END of named-checkzone output ####" 
     137     echo "`date` - PHP-generated file has errors (possible database failure)" 1>&2 
     138     echo "#### START of named-checkzone output ####" 1>&2 
     139     echo "`named-checkzone $CUR_ZONE /tmp/$CUR_ZONE`" 1>&2 
     140     echo "#### END of named-checkzone output ####" 1>&2 
    141141     rm -f $PHP_ZONE $CUR_ZONE_S $PHP_ZONE_S /tmp/$CUR_ZONE 
    142142     exit 
Note: See TracChangeset for help on using the changeset viewer.