Changeset 2070
- Timestamp:
- 06/20/06 12:27:07 (7 years ago)
- Files:
-
- freepbx/trunk/amp_conf/htdocs/admin/modules/core/XML_Parser.php (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/core/XML_Unserializer.php (added)
- freepbx/trunk/amp_conf/htdocs/admin/modules/core/page.routing.php (modified) (1 diff)
- freepbx/trunk/amp_conf/htdocs/admin/modules/core/page.trunks.php (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
freepbx/trunk/amp_conf/htdocs/admin/modules/core/page.routing.php
r1962 r2070 131 131 $ch = curl_init(); 132 132 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 133 curl_setopt($ch, CURLOPT_URL, "http:// members.dandy.net/~czg/lca_prefix.php?npa=".$matches[1]."&nxx=".$matches[2]."&ocn=&pastdays=0&nextdays=0");134 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; AmportalLocal Trunks Configuration)");133 curl_setopt($ch, CURLOPT_URL, "http://www.localcallingguide.com/xmllocalprefix.php?npa=".$matches[1]."&nxx=".$matches[2]); 134 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; FreePBX Local Trunks Configuration)"); 135 135 $str = curl_exec($ch); 136 136 curl_close($ch); 137 138 if (preg_match("/exch=(\d+)/",$str, $matches)) { 139 $ch = curl_init(); 140 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 141 curl_setopt($ch, CURLOPT_URL, "http://members.dandy.net/~czg/lprefix.php?exch=".$matches[1]); 142 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; Amportal Local Trunks Configuration)"); 143 $str = curl_exec($ch); 144 curl_close($ch); 145 146 foreach (explode("\n", $str) as $line) { 147 if (preg_match("/^(\d{3});(\d{3})/", $line, $matches)) { 148 $dialpattern[] = "1".$matches[1].$matches[2]."XXXX"; 149 //$localprefixes[] = "1".$matches[1].$matches[2]; 150 } 137 138 // quick 'n dirty - nabbed from PEAR 139 require_once($amp_conf['AMPWEBROOT'] . '/admin/modules/core/XML_Parser.php'); 140 require_once($amp_conf['AMPWEBROOT'] . '/admin/modules/core/XML_Unserializer.php'); 141 142 $xml = new xml_unserializer; 143 $xml->unserialize($str); 144 $xmldata = $xml->getUnserializedData(); 145 146 if (isset($xmldata['lca-data']['prefix'])) { 147 foreach ($xmldata['lca-data']['prefix'] as $prefix) { 148 $dialpattern[] = $prefix['npa'].$prefix['nxx'].'XXXX'; 151 149 } 152 150 153 151 // check for duplicates, and re-sequence 154 152 $dialpattern = array_values(array_unique($dialpattern)); freepbx/trunk/amp_conf/htdocs/admin/modules/core/page.trunks.php
r2056 r2070 90 90 $extdisplay = ''; // resets back to main screen 91 91 break; 92 case "populatenpanxx": 92 case "populatenpanxx7": 93 case "populatenpanxx10": 93 94 if (preg_match("/^([2-9]\d\d)-?([2-9]\d\d)$/", $_REQUEST["npanxx"], $matches)) { 94 95 // first thing we do is grab the exch: 95 96 $ch = curl_init(); 96 97 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 97 curl_setopt($ch, CURLOPT_URL, "http:// members.dandy.net/~czg/lca_prefix.php?npa=".$matches[1]."&nxx=".$matches[2]."&ocn=&pastdays=0&nextdays=0");98 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; AmportalLocal Trunks Configuration)");98 curl_setopt($ch, CURLOPT_URL, "http://www.localcallingguide.com/xmllocalprefix.php?npa=".$matches[1]."&nxx=".$matches[2]); 99 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; FreePBX Local Trunks Configuration)"); 99 100 $str = curl_exec($ch); 100 101 curl_close($ch); 101 102 if (preg_match("/exch=(\d+)/",$str, $matches)) { 103 $ch = curl_init(); 104 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 105 curl_setopt($ch, CURLOPT_URL, "http://members.dandy.net/~czg/lprefix.php?exch=".$matches[1]); 106 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; Amportal Local Trunks Configuration)"); 107 $str = curl_exec($ch); 108 curl_close($ch); 109 110 foreach (explode("\n", $str) as $line) { 111 if (preg_match("/^(\d{3});(\d{3})/", $line, $matches)) { 112 $dialrules[] = "1".$matches[1]."|".$matches[2]."XXXX"; 113 //$localprefixes[] = "1".$matches[1].$matches[2]; 102 103 // quick 'n dirty - nabbed from PEAR 104 require_once($amp_conf['AMPWEBROOT'] . '/admin/modules/core/XML_Parser.php'); 105 require_once($amp_conf['AMPWEBROOT'] . '/admin/modules/core/XML_Unserializer.php'); 106 107 $xml = new xml_unserializer; 108 $xml->unserialize($str); 109 $xmldata = $xml->getUnserializedData(); 110 111 if (isset($xmldata['lca-data']['prefix'])) { 112 foreach ($xmldata['lca-data']['prefix'] as $prefix) { 113 if ($action == 'populatenpanxx10') { 114 // 10 digit dialing 115 $dialrules[] = '1|'.$prefix['npa'].$prefix['nxx'].'XXXX'; 116 } else { 117 $dialrules[] = '1'.$prefix['npa'].'|'.$prefix['nxx'].'XXXX'; 114 118 } 115 119 } 116 120 117 121 // check for duplicates, and re-sequence 118 122 $dialrules = array_values(array_unique($dialrules)); … … 120 124 $errormsg = _("Error fetching prefix list for: "). $_REQUEST["npanxx"]; 121 125 } 122 126 123 127 } else { 124 128 // what a horrible error message... :p … … 336 340 <option value="always"><?php echo _("Always add prefix to local numbers")?></option> 337 341 <option value="remove"><?php echo _("Remove prefix from local numbers")?></option> 338 <option value="lookup"><?php echo _("Lookup and remove local prefixes")?></option> 342 <option value="lookup7"><?php echo _("Lookup and remove local prefixes (7-digit dialing)")?></option> 343 <option value="lookup10"><?php echo _("Lookup and remove local prefixes (10-digit dialing)")?></option> 339 344 </select> 340 345 </td> … … 343 348 <script language="javascript"> 344 349 345 function populateLookup( ) {350 function populateLookup(digits) { 346 351 <?php 347 352 if (function_exists("curl_init")) { // curl is installed … … 354 359 355 360 document.getElementById('npanxx').value = npanxx; 356 trunkEdit.action.value = "populatenpanxx"; 357 trunkEdit.submit(); 361 if (digits == 10) { 362 document.trunkEdit.action.value = "populatenpanxx10"; 363 } else { 364 document.trunkEdit.action.value = "populatenpanxx7"; 365 } 366 document.trunkEdit.submit(); 358 367 <?php 359 368 } else { // curl is not installed … … 409 418 populateRemove(); 410 419 break; 411 case "lookup": 412 populateLookup(); 420 case "lookup7": 421 populateLookup(7); 422 break; 423 case "lookup10": 424 populateLookup(10); 413 425 break; 414 426 } … … 634 646 var msgInvalidOutboundDialPrefix = "<?php echo _('Invalid Outbound Dial Prefix'); ?>"; 635 647 var msgInvalidTrunkName = "<?php echo _('Invalid Trunk Name entered'); ?>"; 636 var msgInvalidChannelName = "<?php echo _('Invalid Custom Dial String entered'); ?>";637 648 var msgInvalidTrunkAndUserSame = "<?php echo _('Trunk Name and User Context cannot be set to the same value'); ?>"; 638 649 … … 644 655 return warnInvalid(theForm.maxchans, msgInvalidMaxChans); 645 656 646 if (!isDial rule(theForm.dialrules.value))657 if (!isDialpattern(theForm.dialrules.value)) 647 658 return warnInvalid(theForm.dialrules, msgInvalidDialRules); 648 659 … … 650 661 return warnInvalid(theForm.dialoutprefix, msgInvalidOutboundDialPrefix); 651 662 652 <?php if ($tech != "enum" && $tech != "custom") { ?>663 <?php if ($tech != "enum") { ?> 653 664 defaultEmptyOK = true; 654 665 if (isEmpty(theForm.channelid.value) || isWhitespace(theForm.channelid.value)) … … 657 668 if (theForm.channelid.value == theForm.usercontext.value) 658 669 return warnInvalid(theForm.usercontext, msgInvalidTrunkAndUserSame); 659 <?php } else if ($tech == "custom") { ?>660 if (isEmpty(theForm.channelid.value) || isWhitespace(theForm.channelid.value))661 return warnInvalid(theForm.channelid, msgInvalidChannelName);662 663 if (theForm.channelid.value == theForm.usercontext.value)664 return warnInvalid(theForm.usercontext, msgInvalidTrunkAndUserSame);665 670 <?php } ?> 666 671
