device_extensions.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. /*
  3. FusionPBX
  4. Version: MPL 1.1
  5. The contents of this file are subject to the Mozilla Public License Version
  6. 1.1 (the "License"); you may not use this file except in compliance with
  7. the License. You may obtain a copy of the License at
  8. http://www.mozilla.org/MPL/
  9. Software distributed under the License is distributed on an "AS IS" basis,
  10. WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11. for the specific language governing rights and limitations under the
  12. License.
  13. The Original Code is FusionPBX
  14. The Initial Developer of the Original Code is
  15. Mark J Crane <[email protected]>
  16. Portions created by the Initial Developer are Copyright (C) 2008-2012
  17. the Initial Developer. All Rights Reserved.
  18. Contributor(s):
  19. Mark J Crane <[email protected]>
  20. */
  21. include "root.php";
  22. require "resources/require.php";
  23. require_once "resources/check_auth.php";
  24. // FusionPBX Upgrade script used to upgrade from 3.4 to 3.6 for those using provisioning in FusionPBX.
  25. // Purpose of this script is to move provisioning assignments from device extensions to device lines
  26. // Use this script only one time.
  27. //set default values
  28. $sip_port = '5060';
  29. $sip_transport = 'TCP';
  30. $register_expires = '120';
  31. //get the assigned extensions from the device extensions
  32. $sql = "select * from v_device_extensions ";
  33. $prep_statement = $db->prepare(check_sql($sql));
  34. $prep_statement->execute();
  35. $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
  36. $result_count = count($result);
  37. unset ($prep_statement, $sql);
  38. if ($result_count > 0) {
  39. foreach($result as $row) {
  40. //set the variables from value in the database
  41. $domain_uuid = $row['domain_uuid'];
  42. $device_extension_uuid = $row['device_extension_uuid'];
  43. $device_uuid = $row['device_uuid'];
  44. $extension_uuid = $row['extension_uuid'];
  45. $line_number = $row['device_line'];
  46. //get the registration information for device lines
  47. $sql = "select * from v_extensions ";
  48. $sql .= "where extension_uuid = '".$extension_uuid."' ";
  49. $prep_statement = $db->prepare(check_sql($sql));
  50. $prep_statement->execute();
  51. $sub_result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
  52. foreach ($sub_result as &$field) {
  53. $user_id = $field["extension"];
  54. $auth_id = $field["extension"];
  55. $display_name = $field["extension"];
  56. $password = $field["password"];
  57. }
  58. //set a new uuid
  59. $device_line_uuid = uuid();
  60. //get the server address from the domains array using the domain_uuid
  61. $server_address = $_SESSION[domains][$domain_uuid]["domain_name"];
  62. //insert into device lines
  63. $sql = "insert into v_device_lines ";
  64. $sql .= "(";
  65. $sql .= "domain_uuid, ";
  66. $sql .= "device_line_uuid, ";
  67. $sql .= "device_uuid, ";
  68. $sql .= "line_number, ";
  69. $sql .= "server_address, ";
  70. //$sql .= "outbound_proxy, ";
  71. $sql .= "display_name, ";
  72. $sql .= "user_id, ";
  73. $sql .= "auth_id, ";
  74. $sql .= "password, ";
  75. $sql .= "sip_port, ";
  76. $sql .= "sip_transport, ";
  77. $sql .= "register_expires ";
  78. $sql .= ") ";
  79. $sql .= "values ";
  80. $sql .= "(";
  81. $sql .= "'$domain_uuid', ";
  82. $sql .= "'$device_line_uuid', ";
  83. $sql .= "'$device_uuid', ";
  84. $sql .= "'$line_number', ";
  85. $sql .= "'$server_address', ";
  86. //$sql .= "'$outbound_proxy', ";
  87. $sql .= "'$display_name', ";
  88. $sql .= "'$user_id', ";
  89. $sql .= "'$auth_id', ";
  90. $sql .= "'$password', ";
  91. $sql .= "'$sip_port', ";
  92. $sql .= "'$sip_transport', ";
  93. $sql .= "'$register_expires' ";
  94. $sql .= ");\n";
  95. echo $sql;
  96. //$db->exec(check_sql($sql));
  97. unset($sql);
  98. }
  99. }
  100. ?>