function output_onpost_form_zone()
 {
     global $construct, $main, $db, $vars;
     if (substr($_POST['dns_zones__name'], -strlen($vars['dns']['root_zone']) - 1) == "." . $vars['dns']['root_zone']) {
         $_POST['dns_zones__name'] = substr($_POST['dns_zones__name'], 0, -strlen($vars['dns']['root_zone']) - 1);
     }
     $_POST['dns_zones__name'] = validate_zone($_POST['dns_zones__name']);
     $form_zone = $this->form_zone();
     $ret = TRUE;
     $f = array();
     if (get('zone') == 'add') {
         if ($_POST['dns_zones__name'] == '') {
             if (is_null($_POST['dns_zones__name'])) {
                 $main->message->set_fromlang('error', 'zone_invalid_name');
             } else {
                 $db->output_error_fields_required(array('dns_zones__name'));
             }
             return;
         }
         switch (get('type')) {
             case 'forward':
                 if ($_POST['dns_zones__name'] . '.' . $vars['dns']['root_zone'] == $vars['dns']['ns_zone']) {
                     $main->message->set_fromlang('error', 'zone_reserved_name');
                     return;
                 }
                 break;
             case 'reverse':
                 $iprange = $db->get("ip_start, ip_end", "ip_ranges", "node_id = " . intval(get('node')));
                 foreach ((array) $iprange as $value) {
                     if (reverse_zone_from_ip(long2ip($value['ip_start'])) == $_POST['dns_zones__name']) {
                         $valid = TRUE;
                         break;
                     }
                 }
                 if (!$valid) {
                     $main->message->set_fromlang('error', 'zone_out_of_range');
                     return;
                 }
                 break;
             default:
                 $main->message->set_fromlang('error', 'generic');
                 return;
         }
         $f = array('dns_zones.status' => 'waiting', 'dns_zones.type' => get('type'), "dns_zones.node_id" => intval(get('node')));
         $ret = $form_zone->db_set($f, "dns_zones", "id", get('zone'));
     }
     $ins_id = get('zone') == 'add' ? $db->insert_id : get('zone');
     $ret = $ret && $form_zone->db_set_multi(array(), "dns_zones_nameservers", "zone_id", $ins_id);
     if ($ret) {
         $main->message->set_fromlang('info', get('zone') == 'add' ? 'request_dnszone_success' : 'edit_success', make_ref('/node_editor', array("node" => intval(get('node')))));
     } else {
         $main->message->set_fromlang('error', 'generic');
     }
 }
Example #2
0
 $test = $vbulletin->GPC['test'];
 $verbose = $vbulletin->GPC['verbose'];
 $zone = $vbulletin->GPC['zone'];
 //check for valid zone
 switch ($zone) {
     case 'post':
     case 'blog':
     case 'vm':
     case 'group':
     case 'sig':
         break;
     default:
         print_stop_message('automediaembed_invalid_zone_specified');
 }
 //quick validation check
 validate_zone($zone);
 if ($start < 2 && !$cont) {
     $settings = unserialize($vbulletin->AME_settings);
     $start = 0;
     $limitstart = "0";
     build_datastore('AME_settings', serialize(array('length' => $length, 'perpage' => $perpage, 'seconds' => $seconds, 'verbose' => $verbose, 'test' => $test, 'codes' => $settings['codes'], 'conversions' => $settings['conversions'])));
 } else {
     $limitstart = $start * $perpage;
 }
 $return = false;
 $x = 0;
 require_once DIR . "/includes/ame_bbcode.php";
 if ($length) {
     switch ($zone) {
         case 'post':
             $and .= " AND p.dateline >= {$length} ";