Changeset 209
- Timestamp:
- 03/21/05 20:25:05 (7 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/AMP/amp_conf/htdocs/admin/functions.php
r202 r209 690 690 die($result->getMessage()."<br><br>".$sql); 691 691 } 692 setDefaultTrunk("1"); 692 693 $unique_trunks[] = array('OUT_1','ZAP/g0'); 693 694 addOutTrunk("1"); … … 1276 1277 } 1277 1278 1279 1280 $routepriority = getroutenames(); 1281 $order=setroutepriorityvalue(count($routepriority)); 1282 $name = sprintf ("%s-%s",$order,$name); 1278 1283 $trunks = array_values($trunks); // probably already done, but it's important for our dialplan 1284 1279 1285 1280 1286 foreach ($patterns as $pattern) { … … 1387 1393 function renameRoute($oldname, $newname) { 1388 1394 global $db; 1395 1396 $route_prefix=substr($oldname,0,4); 1397 $newname=$route_prefix.$newname; 1389 1398 $sql = "SELECT context FROM extensions WHERE context = 'outrt-".$newname."'"; 1390 1399 $results = $db->getAll($sql); … … 1399 1408 die($result->getMessage()); 1400 1409 } 1401 1402 $sql = "UPDATE extensions SET application = 'outrt-".$newname."' WHERE context = 'outbound-allroutes' AND application = 'outrt-".$oldname."' ";1410 $mypriority=sprintf("%d",$route_prefix); 1411 $sql = "UPDATE extensions SET application = 'outrt-".$newname."', priority = '$mypriority' WHERE context = 'outbound-allroutes' AND application = 'outrt-".$oldname."' "; 1403 1412 $result = $db->query($sql); 1404 1413 if(DB::IsError($result)) { … … 1413 1422 addroute($name, $patterns, $trunks); 1414 1423 } 1424 1425 function getroute($route) { 1426 global $db; 1427 $sql = "SELECT DISTINCT args FROM extensions WHERE context = 'outrt-".$route."' AND args LIKE 'dialout-trunk,%' ORDER BY priority "; 1428 $results = $db->getAll($sql); 1429 if(DB::IsError($results)) { 1430 die($results->getMessage()); 1431 } 1432 1433 $trunks = array(); 1434 foreach ($results as $row) { 1435 if (preg_match('/^dialout-trunk,(\d+)/', $row[0], $matches)) { 1436 // check in_array -- even though we did distinct 1437 // we still might get ${EXTEN} and ${EXTEN:1} if they used | to split a pattern 1438 if (!in_array("OUT_".$matches[1], $trunks)) { 1439 $trunks[] = "OUT_".$matches[1]; 1440 } 1441 } 1442 } 1443 return $trunks; 1444 } 1445 function setroutepriorityvalue2($key) 1446 { 1447 $my_lookup=array(); 1448 $x=0; 1449 for ($j=97;$j<100;$j++) 1450 { 1451 for ($i=97;$i<123;$i++) 1452 { 1453 $my_lookup[$x++] = sprintf("%c%c",$j,$i); 1454 } 1455 } 1456 echo "my key is $key $my_lookup[$key]"; 1457 return ($my_lookup[$key]); 1458 } 1459 function setroutepriorityvalue($key) 1460 { 1461 $key=$key+1; 1462 if ($key<10) 1463 $prefix = sprintf("00%d",$key); 1464 else if ((9<$key)&&($key<100)) 1465 $prefix = sprintf("0%d",$key); 1466 else if ($key>100) 1467 $prefix = sprintf("%d",$key); 1468 return ($prefix); 1469 } 1470 function setroutepriority($routepriority, $reporoutedirection, $reporoutekey) 1471 { 1472 global $db; 1473 $counter=-1; 1474 foreach ($routepriority as $tresult) 1475 { 1476 $counter++; 1477 if (($counter==($reporoutekey-1)) && ($reporoutedirection=="up")) { 1478 // swap this one with the one before (move up) 1479 $temproute = $routepriority[$counter]; 1480 $routepriority[ $counter ] = $routepriority[ $counter+1 ]; 1481 $routepriority[ $counter+1 ] = $temproute; 1482 1483 } else if (($counter==($reporoutekey)) && ($reporoutedirection=="down")) { 1484 // swap this one with the one after (move down) 1485 $temproute = $routepriority[ $counter+1 ]; 1486 $routepriority[ $counter+1 ] = $routepriority[ $counter ]; 1487 $routepriority[ $counter ] = $temproute; 1488 } 1489 } 1490 unset($temptrunk); 1491 $routepriority = array_values($routepriority); // resequence our numbers 1492 $counter=0; 1493 foreach ($routepriority as $tresult) 1494 { 1495 $order=setroutepriorityvalue($counter++); 1496 $sql = sprintf("Update extensions set context='outrt-%s-%s' WHERE context='outrt-%s'",$order,substr($tresult[0],4), $tresult[0]); 1497 $result = $db->query($sql); 1498 if(DB::IsError($result)) { 1499 die($result->getMessage()); 1500 } 1501 } 1502 // Delete and readd the outbound-allroutes entries 1503 $sql = "delete from extensions WHERE context='outbound-allroutes'"; 1504 $result = $db->query($sql); 1505 if(DB::IsError($result)) { 1506 die($result->getMessage().$sql); 1507 } 1508 $sql = "SELECT DISTINCT context FROM extensions WHERE context like 'outrt-%' ORDER BY context"; 1509 $results = $db->getAll($sql); 1510 if(DB::IsError($results)) { 1511 die($results->getMessage()); 1512 } 1513 1514 $priority_loops=1; 1515 foreach ($results as $row) { 1516 $sql = "INSERT INTO extensions (context, extension, priority, application, args, descr, flags) VALUES "; 1517 $sql .= "('outbound-allroutes', "; 1518 $sql .= "'include', "; 1519 $sql .= "'".$priority_loops++."', "; 1520 $sql .= "'".$row[0]."', "; 1521 $sql .= "'', "; 1522 $sql .= "'', "; 1523 $sql .= "'2')"; 1524 1525 //$sql = sprintf("Update extensions set application='outrt-%s-%s' WHERE context='outbound-allroutes' and application='outrt-%s'",$order,substr($tresult[0],4), $tresult[0]); 1526 $result = $db->query($sql); 1527 if(DB::IsError($result)) { 1528 die($result->getMessage(). $sql); 1529 } 1530 } 1531 $routepriority = getroutenames(); 1532 return ($routepriority); 1533 } 1534 1535 1415 1536 1416 1537 trunk/AMP2-UseAmportal/amp_conf/var/www/html/admin/functions.php
r202 r209 690 690 die($result->getMessage()."<br><br>".$sql); 691 691 } 692 setDefaultTrunk("1"); 692 693 $unique_trunks[] = array('OUT_1','ZAP/g0'); 693 694 addOutTrunk("1"); … … 1276 1277 } 1277 1278 1279 1280 $routepriority = getroutenames(); 1281 $order=setroutepriorityvalue(count($routepriority)); 1282 $name = sprintf ("%s-%s",$order,$name); 1278 1283 $trunks = array_values($trunks); // probably already done, but it's important for our dialplan 1284 1279 1285 1280 1286 foreach ($patterns as $pattern) { … … 1387 1393 function renameRoute($oldname, $newname) { 1388 1394 global $db; 1395 1396 $route_prefix=substr($oldname,0,4); 1397 $newname=$route_prefix.$newname; 1389 1398 $sql = "SELECT context FROM extensions WHERE context = 'outrt-".$newname."'"; 1390 1399 $results = $db->getAll($sql); … … 1399 1408 die($result->getMessage()); 1400 1409 } 1401 1402 $sql = "UPDATE extensions SET application = 'outrt-".$newname."' WHERE context = 'outbound-allroutes' AND application = 'outrt-".$oldname."' ";1410 $mypriority=sprintf("%d",$route_prefix); 1411 $sql = "UPDATE extensions SET application = 'outrt-".$newname."', priority = '$mypriority' WHERE context = 'outbound-allroutes' AND application = 'outrt-".$oldname."' "; 1403 1412 $result = $db->query($sql); 1404 1413 if(DB::IsError($result)) { … … 1413 1422 addroute($name, $patterns, $trunks); 1414 1423 } 1424 1425 function getroute($route) { 1426 global $db; 1427 $sql = "SELECT DISTINCT args FROM extensions WHERE context = 'outrt-".$route."' AND args LIKE 'dialout-trunk,%' ORDER BY priority "; 1428 $results = $db->getAll($sql); 1429 if(DB::IsError($results)) { 1430 die($results->getMessage()); 1431 } 1432 1433 $trunks = array(); 1434 foreach ($results as $row) { 1435 if (preg_match('/^dialout-trunk,(\d+)/', $row[0], $matches)) { 1436 // check in_array -- even though we did distinct 1437 // we still might get ${EXTEN} and ${EXTEN:1} if they used | to split a pattern 1438 if (!in_array("OUT_".$matches[1], $trunks)) { 1439 $trunks[] = "OUT_".$matches[1]; 1440 } 1441 } 1442 } 1443 return $trunks; 1444 } 1445 function setroutepriorityvalue2($key) 1446 { 1447 $my_lookup=array(); 1448 $x=0; 1449 for ($j=97;$j<100;$j++) 1450 { 1451 for ($i=97;$i<123;$i++) 1452 { 1453 $my_lookup[$x++] = sprintf("%c%c",$j,$i); 1454 } 1455 } 1456 echo "my key is $key $my_lookup[$key]"; 1457 return ($my_lookup[$key]); 1458 } 1459 function setroutepriorityvalue($key) 1460 { 1461 $key=$key+1; 1462 if ($key<10) 1463 $prefix = sprintf("00%d",$key); 1464 else if ((9<$key)&&($key<100)) 1465 $prefix = sprintf("0%d",$key); 1466 else if ($key>100) 1467 $prefix = sprintf("%d",$key); 1468 return ($prefix); 1469 } 1470 function setroutepriority($routepriority, $reporoutedirection, $reporoutekey) 1471 { 1472 global $db; 1473 $counter=-1; 1474 foreach ($routepriority as $tresult) 1475 { 1476 $counter++; 1477 if (($counter==($reporoutekey-1)) && ($reporoutedirection=="up")) { 1478 // swap this one with the one before (move up) 1479 $temproute = $routepriority[$counter]; 1480 $routepriority[ $counter ] = $routepriority[ $counter+1 ]; 1481 $routepriority[ $counter+1 ] = $temproute; 1482 1483 } else if (($counter==($reporoutekey)) && ($reporoutedirection=="down")) { 1484 // swap this one with the one after (move down) 1485 $temproute = $routepriority[ $counter+1 ]; 1486 $routepriority[ $counter+1 ] = $routepriority[ $counter ]; 1487 $routepriority[ $counter ] = $temproute; 1488 } 1489 } 1490 unset($temptrunk); 1491 $routepriority = array_values($routepriority); // resequence our numbers 1492 $counter=0; 1493 foreach ($routepriority as $tresult) 1494 { 1495 $order=setroutepriorityvalue($counter++); 1496 $sql = sprintf("Update extensions set context='outrt-%s-%s' WHERE context='outrt-%s'",$order,substr($tresult[0],4), $tresult[0]); 1497 $result = $db->query($sql); 1498 if(DB::IsError($result)) { 1499 die($result->getMessage()); 1500 } 1501 } 1502 // Delete and readd the outbound-allroutes entries 1503 $sql = "delete from extensions WHERE context='outbound-allroutes'"; 1504 $result = $db->query($sql); 1505 if(DB::IsError($result)) { 1506 die($result->getMessage().$sql); 1507 } 1508 $sql = "SELECT DISTINCT context FROM extensions WHERE context like 'outrt-%' ORDER BY context"; 1509 $results = $db->getAll($sql); 1510 if(DB::IsError($results)) { 1511 die($results->getMessage()); 1512 } 1513 1514 $priority_loops=1; 1515 foreach ($results as $row) { 1516 $sql = "INSERT INTO extensions (context, extension, priority, application, args, descr, flags) VALUES "; 1517 $sql .= "('outbound-allroutes', "; 1518 $sql .= "'include', "; 1519 $sql .= "'".$priority_loops++."', "; 1520 $sql .= "'".$row[0]."', "; 1521 $sql .= "'', "; 1522 $sql .= "'', "; 1523 $sql .= "'2')"; 1524 1525 //$sql = sprintf("Update extensions set application='outrt-%s-%s' WHERE context='outbound-allroutes' and application='outrt-%s'",$order,substr($tresult[0],4), $tresult[0]); 1526 $result = $db->query($sql); 1527 if(DB::IsError($result)) { 1528 die($result->getMessage(). $sql); 1529 } 1530 } 1531 $routepriority = getroutenames(); 1532 return ($routepriority); 1533 } 1534 1535 1415 1536 1416 1537
