root/contributed_modules/modules/isymphony/page.isymphony.php

Revision 7772, 23.9 kB (checked in by seanmh, 10 months ago)

1.0.0 Added backward compatibility support for 2.0 rev 1104.

Fixed bug in which a flawed context would prevent orphaned parked calls from ringing back to the parking extension if parked via the panel.
Made debug menu always visible.
Added server debug menu.
Debug logs now show on main module page.
Multiple debug options can now be set at once.
Added database column checks in installation script to handle module upgrades.
Added default FreePBX page context to configuration.
Added admin username and password fields to the main module page.
Added originate timeout field to main module page.
Added auto reload and enable page status checkboxes to main module page.
Added global Jabber connection configuration fields on main module page.
Added email and cell phone fields to extension page.
Added Jabber connection configuration override fields to extension page.
Added Jabber username and password fields to extension page.
Added auto answer checkbox to extension page.
Modified database debug tables to account for new tables and columns.

Line 
1 <?php
2 /*
3  *Name         : page.isymphony.php
4  *Author       : Michael Yara
5  *Created      : July 2, 2008
6  *Last Updated : May 27, 2009
7  *History      : 0.6
8  *Purpose      : Information page for iSymphony module
9  *Copyright    : 2008 HEHE Enterprises, LLC
10  */
11
12        
13 //Check to see if the server is running
14 $psOutput = array();
15 $serverRunning = false;
16 $serverRunningDisplay = "";
17 exec("ps -auxww | grep java", $psOutput);
18
19 foreach($psOutput as $line) {
20         if(strstr($line, "iSymphonyServer.jar") !== false) {
21                 $serverRunning = true;
22                 break;
23         }
24 }
25
26 $serverRunningDisplay = $serverRunning ? "<span style=\"color: #00FF00\">Up</span>" : "<span style=\"color: #FF0000\">Down</span>";
27
28 //Check for a reload action
29 if($serverRunning && iSymphonyConnect() && isset($_REQUEST["isymphony_reload"])) {
30        
31         //Reload server and block for 5 secs so server can repopulate
32         reloadISymphonyServer();
33         sleep(5);
34 }
35
36 //Check for a license activation action
37 $licenseActivationError = "";
38 if($serverRunning && iSymphonyConnect() && isset($_REQUEST["isymphony_activate_license"]) && isset($_REQUEST["isymphony_license_key"]) && (trim($_REQUEST["isymphony_license_key"]) != "")) {
39        
40         if(activateISymphonyLicense("default", "default", trim($_REQUEST["isymphony_license_key"])) === false) {
41                 $licenseActivationError = $ISERROR;
42         }
43        
44         //Block for 5 secs to let location reload
45         sleep(5);
46        
47         //Close iSymphony connection
48         iSymphonyDisconnect();
49 }
50
51 //Check for a location settings update action
52 if(isset($_REQUEST["isymphony_update_location_settings"])) {
53
54         //Update data base
55         isymphony_location_update(      trim($_REQUEST["isymphony_admin_user_name"]),
56                                                                 trim($_REQUEST["isymphony_admin_password"]),
57                                                                 trim($_REQUEST["isymphony_originate_timeout"]),
58                                                                 isset($_REQUEST["isymphony_auto_reload"]) ? "1" : "0",
59                                                                 isset($_REQUEST["isymphony_page_status_enabled"]) ? "1" : "0", 
60                                                                 trim($_REQUEST["isymphony_jabber_host"]),
61                                                                 trim($_REQUEST["isymphony_jabber_domain"]),
62                                                                 trim($_REQUEST["isymphony_jabber_resource"]),
63                                                                 trim($_REQUEST["isymphony_jabber_port"]));
64         //Flag FreePBX for reload                                                       
65         needreload();                                                   
66 }
67
68 //Grab location information
69 $locationInformation = isymphony_location_get();
70
71 //Debug url additions
72 $debugUrlAdditions = "";
73
74 //Check if a request to show the database was made
75 $databaseDisplay = "";
76 if(isset($_REQUEST["showmoduledb"])) {
77        
78         $debugUrlAdditions .= "&showmoduledb=yes";
79        
80         //Build location information table
81         $databaseDisplay .= "   <table>
82                                                                 <tr>
83                                                                         <tr><td colspan = \"9\"><h5>Location</h5></td></tr>
84                                                                 </tr>
85                                                                 <tr>
86                                                                         <td>Admin User Name&nbsp&nbsp&nbsp</td>
87                                                                         <td>Admin Password&nbsp&nbsp&nbsp</td>
88                                                                         <td>Originate Timeout&nbsp&nbsp&nbsp</td>
89                                                                         <td>Auto Reload&nbsp&nbsp&nbsp</td>
90                                                                         <td>Page Status Enabled&nbsp&nbsp&nbsp</td>
91                                                                         <td>Jabber Host&nbsp&nbsp&nbsp</td>
92                                                                         <td>Jabber Domain&nbsp&nbsp&nbsp</td>
93                                                                         <td>Jabber Resource&nbsp&nbsp&nbsp</td>
94                                                                         <td>Jabber Port&nbsp&nbsp&nbsp</td>
95                                                                 </tr>
96                                                                 <tr>
97                                                                         <td colspan = \"9\"><hr></td>
98                                                                 </tr>
99                                                                 <tr>
100                                                                         <td>{$locationInformation['admin_user_name']}</td>
101                                                                         <td>{$locationInformation['admin_password']}</td>
102                                                                         <td>{$locationInformation['originate_timeout']}</td>
103                                                                         <td>{$locationInformation['auto_reload']}</td>
104                                                                         <td>{$locationInformation['page_status_enabled']}</td>
105                                                                         <td>{$locationInformation['jabber_host']}</td>
106                                                                         <td>{$locationInformation['jabber_domain']}</td>
107                                                                         <td>{$locationInformation['jabber_resource']}</td>
108                                                                         <td>{$locationInformation['jabber_port']}</td>
109                                                                 </tr>
110                                                         </table>";
111        
112         //Build extensions table
113         $databaseDisplay .= "   <table>
114                                                                 <tr>
115                                                                         <tr><td colspan = \"15\"><h5>Extensions</h5></td></tr>
116                                                                 </tr>
117                                                                 <tr>
118                                                                         <td>User ID&nbsp&nbsp&nbsp</td>
119                                                                         <td>Add Extension&nbsp&nbsp&nbsp</td>
120                                                                         <td>Add Profile&nbsp&nbsp&nbsp</td>
121                                                                         <td>Password&nbsp&nbsp&nbsp</td>
122                                                                         <td>Display Name&nbsp&nbsp&nbsp</td>
123                                                                         <td>Peer&nbsp&nbsp&nbsp</td>
124                                                                         <td>Email&nbsp&nbsp&nbsp</td>
125                                                                         <td>Cell Phone&nbsp&nbsp&nbsp</td>
126                                                                         <td>Auto Answer&nbsp&nbsp&nbsp</td>
127                                                                         <td>Jabber Host&nbsp&nbsp&nbsp</td>
128                                                                         <td>Jabber Domain&nbsp&nbsp&nbsp</td>
129                                                                         <td>Jabber Resource&nbsp&nbsp&nbsp</td>
130                                                                         <td>Jabber Port&nbsp&nbsp&nbsp</td>
131                                                                         <td>Jabber User Name&nbsp&nbsp&nbsp</td>
132                                                                         <td>Jabber Password&nbsp&nbsp&nbsp</td>
133                                                                 <tr>
134                                                                 </tr>
135                                                                         <td colspan = \"15\"><hr></td>
136                                                                 </tr>";
137
138         foreach(isymphony_user_list() as $user) {
139                 $databaseDisplay .= "   <tr>
140                                                                         <td>{$user['user_id']}</td>
141                                                                         <td>{$user['add_extension']}</td>
142                                                                         <td>{$user['add_profile']}</td>
143                                                                         <td>{$user['password']}</td>
144                                                                         <td>{$user['display_name']}</td>
145                                                                         <td>{$user['peer']}</td>
146                                                                         <td>{$user['email']}</td>
147                                                                         <td>{$user['cell_phone']}</td>
148                                                                         <td>{$user['auto_answer']}</td>
149                                                                         <td>{$user['jabber_host']}</td>
150                                                                         <td>{$user['jabber_domain']}</td>
151                                                                         <td>{$user['jabber_resource']}</td>
152                                                                         <td>{$user['jabber_port']}</td>
153                                                                         <td>{$user['jabber_user_name']}</td>
154                                                                         <td>{$user['jabber_password']}</td>
155                                                                 </tr>";
156         }
157
158         $databaseDisplay .= "</table>";
159        
160         //Build queues table
161         $databaseDisplay .= "   <table>
162                                                                 <tr>
163                                                                         <tr><td colspan = \"3\"><h5>Queues</h5></td></tr>
164                                                                 </tr>
165                                                                 <tr>
166                                                                         <td>Queue ID&nbsp&nbsp&nbsp</td>
167                                                                         <td>Add Queue&nbsp&nbsp&nbsp</td>
168                                                                         <td>Display Name&nbsp&nbsp&nbsp</td>
169                                                                 <tr>
170                                                                 </tr>
171                                                                         <td colspan = \"3\"><hr></td>
172                                                                 </tr>";
173
174         foreach(isymphony_queue_list() as $queue) {
175                 $databaseDisplay .= "   <tr>
176                                                                         <td>{$queue['queue_id']}</td>
177                                                                         <td>{$queue['add_queue']}</td>
178                                                                         <td>{$queue['display_name']}</td>
179                                                                 </tr>";
180         }
181
182         $databaseDisplay .= "</table>";
183        
184         //Build conference room table
185         $databaseDisplay .= "   <table>
186                                                                 <tr>
187                                                                         <tr><td colspan = \"3\"><h5>Conference Rooms</h5></td></tr>
188                                                                 </tr>
189                                                                 <tr>
190                                                                         <td>Conference Room ID&nbsp&nbsp&nbsp</td>
191                                                                         <td>Add Conference Room&nbsp&nbsp&nbsp</td>
192                                                                         <td>Display Name&nbsp&nbsp&nbsp</td>
193                                                                 <tr>
194                                                                 </tr>
195                                                                         <td colspan = \"3\"><hr></td>
196                                                                 </tr>";
197
198         foreach(isymphony_conference_room_list() as $conferenceRoom) {
199                 $databaseDisplay .= "   <tr>
200                                                                         <td>{$conferenceRoom['conference_room_id']}</td>
201                                                                         <td>{$conferenceRoom['add_conference_room']}</td>
202                                                                         <td>{$conferenceRoom['display_name']}</td>
203                                                                 </tr>";
204         }
205
206         $databaseDisplay .= "</table>";
207 }
208
209 //Check if a request to show module debug log was made
210 $debugLogDisplay = "";
211 if(isset($_REQUEST["showmoduledebuglog"])) {
212        
213         $debugUrlAdditions .= "&showmoduledebuglog=yes";
214        
215         $debugLogDisplay .= "   <tr><td colspan=\"2\"><h5>Module Debug Log<hr></h5></td></tr>
216                                                         <tr><td colspan=\"2\"><p>";
217        
218         //Open debug log
219         if(($debugLogFile = fopen("/var/www/html/admin/modules/isymphony/debug.txt", 'r')) !== false) {
220                 while (!feof($debugLogFile)) {
221                 $line = fgets($debugLogFile, 4096);
222                 $debugLogDisplay .= htmlspecialchars($line) . "<br>";
223         }
224         fclose($debugLogFile);
225         }
226
227         $debugLogDisplay .= "</p></td></tr>";
228 }
229
230 //Check if a request to show module error log was made
231 if(isset($_REQUEST["showmoduleerrorlog"])) {
232        
233         $debugUrlAdditions .= "&showmoduleerrorlog=yes";
234        
235         $debugLogDisplay .= "   <tr><td colspan=\"2\"><h5>Module Error Log<hr></h5></td></tr>
236                                                         <tr><td colspan=\"2\"><p>";
237
238         //Open error log
239         if(($errorLogFile = fopen("/var/www/html/admin/modules/isymphony/error.txt", 'r')) !== false) {
240                 while (!feof($errorLogFile)) {
241                 $line = fgets($errorLogFile, 4096);
242                 $debugLogDisplay .= htmlspecialchars($line) . "<br>";
243         }
244         fclose($errorLogFile);
245         }
246        
247         $debugLogDisplay .= "</p></td></tr>";
248 }
249
250 //Check if a request to show server error log was made
251 if(isset($_REQUEST["showservererrorlog"])) {
252        
253         $debugUrlAdditions .= "&showservererrorlog=yes";
254        
255         $debugLogDisplay .= "   <tr><td colspan=\"2\"><h5>Server Error Log<hr></h5></td></tr>
256                                                         <tr><td colspan=\"2\"><p>";
257
258         //Open error log
259         if(($errorLogFile = fopen("/opt/isymphony/server/logs/error.txt", 'r')) !== false) {
260                 while (!feof($errorLogFile)) {
261                 $line = fgets($errorLogFile, 4096);
262                 $debugLogDisplay .= htmlspecialchars($line) . "<br>";
263         }
264         fclose($errorLogFile);
265         }
266        
267         $debugLogDisplay .= "</p></td></tr>";
268 }
269
270 //Check if a request to show server core log was made
271 if(isset($_REQUEST["showservercorelog"])) {
272        
273         $debugUrlAdditions .= "&showservercorelog=yes";
274        
275         $debugLogDisplay .= "   <tr><td colspan=\"2\"><h5>Server Core Log<hr></h5></td></tr>
276                                                         <tr><td colspan=\"2\"><p>";
277
278         //Open error log
279         if(($errorLogFile = fopen("/opt/isymphony/server/logs/core-events.txt", 'r')) !== false) {
280                 while (!feof($errorLogFile)) {
281                 $line = fgets($errorLogFile, 4096);
282                 $debugLogDisplay .= htmlspecialchars($line) . "<br>";
283         }
284         fclose($errorLogFile);
285         }
286        
287         $debugLogDisplay .= "</p></td></tr>";
288 }
289
290 //Check if a request to show server communication log was made
291 if(isset($_REQUEST["showservercommunicationlog"])) {
292        
293         $debugUrlAdditions .= "&showservercommunicationlog=yes";
294        
295         $debugLogDisplay .= "   <tr><td colspan=\"2\"><h5>Server Communication Log<hr></h5></td></tr>
296                                                         <tr><td colspan=\"2\"><p>";
297
298         //Open error log
299         if(($errorLogFile = fopen("/opt/isymphony/server/logs/communication.txt", 'r')) !== false) {
300                 while (!feof($errorLogFile)) {
301                 $line = fgets($errorLogFile, 4096);
302                 $debugLogDisplay .= htmlspecialchars($line) . "<br>";
303         }
304         fclose($errorLogFile);
305         }
306        
307         $debugLogDisplay .= "</p></td></tr>";
308 }
309
310 //Check if a request to show server aj external log was made
311 if(isset($_REQUEST["showserverajexternallog"])) {
312        
313         $debugUrlAdditions .= "&showserverajexternallog=yes";
314        
315         $debugLogDisplay .= "   <tr><td colspan=\"2\"><h5>Server AJ External Log<hr></h5></td></tr>
316                                                         <tr><td colspan=\"2\"><p>";
317
318         //Open error log
319         if(($errorLogFile = fopen("/opt/isymphony/server/logs/asterisk-java-external.txt", 'r')) !== false) {
320                 while (!feof($errorLogFile)) {
321                 $line = fgets($errorLogFile, 4096);
322                 $debugLogDisplay .= htmlspecialchars($line) . "<br>";
323         }
324         fclose($errorLogFile);
325         }
326        
327         $debugLogDisplay .= "</p></td></tr>";
328 }
329
330 //Check if a request to show server aj internal log was made
331 if(isset($_REQUEST["showserverajinternallog"])) {
332        
333         $debugUrlAdditions .= "&showserverajinternallog=yes";
334        
335         $debugLogDisplay .= "   <tr><td colspan=\"2\"><h5>Server AJ Internal Log<hr></h5></td></tr>
336                                                         <tr><td colspan=\"2\"><p>";
337
338         //Open error log
339         if(($errorLogFile = fopen("/opt/isymphony/server/logs/asterisk-java-internal.txt", 'r')) !== false) {
340                 while (!feof($errorLogFile)) {
341                 $line = fgets($errorLogFile, 4096);
342                 $debugLogDisplay .= htmlspecialchars($line) . "<br>";
343         }
344         fclose($errorLogFile);
345         }
346        
347         $debugLogDisplay .= "</p></td></tr>";
348 }
349
350 //Connect to iSymphony server to query information
351 if($serverRunning && iSymphonyConnect()) {
352                                
353         //Get server version
354         if(($versionDisplay = getiSymphonyServerVersion()) === false) {
355                 $versionDisplay = "";
356         }
357
358         //Get licensed to name
359         if(($licensedToDisplay = getISymphonyLicenseName("default", "default")) === false) {
360                 $licensedToDisplay = "";
361         }
362        
363         //Get license days
364         if(($licenseTrialDaysDisplay = getISymphonyLicenseTrialDays("default", "default")) === false) {
365                 $licenseTrialDaysDisplay = "";
366         }
367        
368         //Get license clients
369         if(($licenseClientsDisplay = getISymphonyLicenseClients("default", "default")) === false) {
370                 $licenseClientsDisplay = "";
371         }
372        
373         //Get license queues
374         if(($licenseQueuesDisplay = getISymphonyLicenseQueues("default", "default")) === false) {
375                 $licenseQueuesDisplay = "";
376         }
377
378         //Build action buttons
379         $reloadServerButton = " <form name=\"isymphony_reload_form\" action=\"config.php?type=setup&display=isymphony$debugUrlAdditions\" method=\"post\">
380                                                                 <input type=\"Submit\" name=\"isymphony_reload\" value=\"Reload\">
381                                                         </form>";
382         $activateLicenseButton = "      <form name=\"isymphony_activate_license_form\" action=\"config.php?type=setup&display=isymphony$debugUrlAdditions\" method=\"post\">
383                                                                         <input type=\"text\" name=\"isymphony_license_key\">
384                                                                         <input type=\"Submit\" name=\"isymphony_activate_license\" value=\"Activate\">
385                                                                 </form>";
386
387         //Close iSymphony connection
388         iSymphonyDisconnect();
389
390 } else {
391         $versionDisplay = "";
392         $licensedToDisplay = "";
393         $licenseTrialDaysDisplay = "";
394         $licenseClientsDisplay = "";
395         $licenseQueuesDisplay = "";
396         $reloadServerButton = "";
397         $activateLicenseButton = "";
398 }
399
400 //Display license activation error if any
401 if($licenseActivationError != "") {
402         $licenseActivationError = "     <span style=\"color: #FF0000\">
403                                                                         An error occurred while activating your license:<br>
404                                                                         $licenseActivationError
405                                                                 </span>";
406 }
407
408 $display = "<script language=\"javascript\">
409                         <!--
410                                 
411                                 function checkForm() {
412                                         
413                                         var settingsForm = document.getElementById('isymphony_settings_form');                         
414
415                                         if(settingsForm.elements['isymphony_admin_user_name'].value.length == 0) {
416                                                 alert('Admin User Name cannot be blank.');
417                                                 return false;
418                                         }
419
420                                         if(settingsForm.elements['isymphony_admin_password'].value.length == 0) {
421                                                 alert('Admin Password cannot be blank.');
422                                                 return false;
423                                         }
424
425                                         if(settingsForm.elements['isymphony_originate_timeout'].value.length == 0) {
426                                                 alert('Originate Timeout cannot be blank.');
427                                                 return false;
428                                         }
429
430                                         if(settingsForm.elements['isymphony_originate_timeout'].value != parseInt(settingsForm.elements['isymphony_originate_timeout'].value)) {
431                                                 alert('Originate Timeout must be numeric.');
432                                                 return false;
433                                         }
434
435                                         if(settingsForm.elements['isymphony_jabber_port'].value.length == 0) {
436                                                 alert('Jabber Port cannot be blank.');
437                                                 return false;
438                                         }
439
440                                         if(settingsForm.elements['isymphony_jabber_port'].value != parseInt(settingsForm.elements['isymphony_jabber_port'].value)) {
441                                                 alert('Jabber Port must be numeric.');
442                                                 return false;
443                                         }
444
445                                         return true;
446                                 }
447                         //-->
448                         </script>
449                         
450                         <div class=\"content\">
451                                 $licenseActivationError
452                                 <table>
453                                         <tr><td colspan=\"2\"><h2 id=\"title\">iSymphony</h2></td></tr>
454                                         <tr><td colspan=\"2\"><h5>Server<hr></h5></td></tr>
455                                         <tr>
456                                                 <td><a href=\"#\" class=\"info\">Status:<span>Displays if the iSymphony server is running.</span></a></td>
457                                                 <td>$serverRunningDisplay</td>                                         
458                                         </tr>
459                                         <tr>
460                                                 <td><a href=\"#\" class=\"info\">Version:<span>Displays the version of the iSymphony server.</span></a></td>
461                                                 <td>$versionDisplay</td>                                               
462                                         </tr>
463                                         <tr>
464                                                 <td><a href=\"#\" class=\"info\">Reload Server:<span>Reloads the iSymphony server.</span></a>&nbsp&nbsp</td>
465                                                 <td>$reloadServerButton</td>                                           
466                                         </tr>
467
468                                         <tr><td colspan=\"2\"><h5>License<hr></h5></td></tr>
469                                         <tr>
470                                                 <td><a href=\"#\" class=\"info\">Licensed To:<span>Displays the name of the person or company this server is licensed to.</span></a></td>
471                                                 <td>$licensedToDisplay</td>                                             
472                                         </tr>
473                                         <tr>
474                                                 <td><a href=\"#\" class=\"info\">Trial Days:<span>Displays the number of remaining license trial days.</span></a></td>
475                                                 <td>$licenseTrialDaysDisplay</td>                                               
476                                         </tr>
477                                         <tr>
478                                                 <td><a href=\"#\" class=\"info\">Clients:<span>Displays the number of licensed clients.</span></a></td>
479                                                 <td>$licenseClientsDisplay</td>                                         
480                                         </tr>
481                                         <tr>
482                                                 <td><a href=\"#\" class=\"info\">Queues:<span>Displays the number of licensed queues.</span></a></td>
483                                                 <td>$licenseQueuesDisplay</td>                                         
484                                         </tr>
485                                         <tr>
486                                                 <td><a href=\"#\" class=\"info\">Activate:<span>Activates a license with a given serial key.</span></a></td>
487                                                 <td>$activateLicenseButton</td>                                         
488                                         </tr>
489
490                                         <form name=\"isymphony_settings_form\" id=\"isymphony_settings_form\" action=\"config.php?type=setup&display=isymphony$debugUrlAdditions\" method=\"post\" onsubmit=\"return checkForm();\">
491                                         <tr><td colspan=\"2\"><h5>Server Settings<hr></h5></td></tr>
492                                         <tr>
493                                                 <td><a href=\"#\" class=\"info\">Admin User Name:<span>User name used to login to the administration section in the panel.</span></a></td>
494                                                 <td><input size=\"20\" type=\"text\" name=\"isymphony_admin_user_name\" value=\"" . htmlspecialchars($locationInformation['admin_user_name']) . "\"></td>
495                                         </tr>
496                                         <tr>
497                                                 <td><a href=\"#\" class=\"info\">Admin Password:<span>Password used to login to the administration section in the panel.</span></a></td>
498                                                 <td><input size=\"20\" type=\"text\" name=\"isymphony_admin_password\" value=\"" . htmlspecialchars($locationInformation['admin_password']) . "\"></td>
499                                         </tr>
500                                         <tr>
501                                                 <td><a href=\"#\" class=\"info\">Originate Timeout:<span>Number of milliseconds that the originating extension will be rung when placing a call via the panel before timing out.</span></a></td>
502                                                 <td><input size=\"20\" type=\"text\" name=\"isymphony_originate_timeout\" value=\"" . htmlspecialchars($locationInformation['originate_timeout']) . "\"></td>
503                                         </tr>
504                                         <tr>
505                                                 <td><a href=\"#\" class=\"info\">Auto Reload:<span>Tells the server to automatically reload the location when the dial plan is reloaded.</span></a></td>
506                                                 <td><input type=\"checkbox\" name=\"isymphony_auto_reload\"" . (($locationInformation['auto_reload'] == "1") ? " checked" : "") . "></td>
507                                         </tr>
508                                         <tr>
509                                                 <td><a href=\"#\" class=\"info\">Enable Page Status:<span>If checked allows you to see paging status on extensions in the panel.</span></a></td>
510                                                 <td><input type=\"checkbox\" name=\"isymphony_page_status_enabled\"" . (($locationInformation['page_status_enabled'] == "1") ? " checked" : "") . "></td>
511                                         </tr>
512
513                                         <tr><td colspan=\"2\"><h5>Global Jabber Settings<hr></h5></td></tr>
514                                         <tr>
515                                                 <td><a href=\"#\" class=\"info\">Host:<span>Jabber host to be used unless otherwise overridden by the extension settings.</span></a></td>
516                                                 <td><input size=\"20\" type=\"text\" name=\"isymphony_jabber_host\" value=\"" . htmlspecialchars($locationInformation['jabber_host']) . "\"></td>
517                                         </tr>
518                                         <tr>
519                                                 <td><a href=\"#\" class=\"info\">Domain:<span>Jabber domain to be used unless otherwise overridden by the extension settings.</span></a></td>
520                                                 <td><input size=\"20\" type=\"text\" name=\"isymphony_jabber_domain\" value=\"" . htmlspecialchars($locationInformation['jabber_domain']) . "\"></td>
521                                         </tr>
522                                         <tr>
523                                                 <td><a href=\"#\" class=\"info\">Resource:<span>Jabber resource to be used unless otherwise overridden by the extension settings.</span></a></td>
524                                                 <td><input size=\"20\" type=\"text\" name=\"isymphony_jabber_resource\" value=\"" . htmlspecialchars($locationInformation['jabber_resource']) . "\"></td>
525                                         </tr>
526                                         <tr>
527                                                 <td><a href=\"#\" class=\"info\">Port:<span>Jabber port to be used unless otherwise overridden by the extension settings.</span></a></td>
528                                                 <td><input size=\"20\" type=\"text\" name=\"isymphony_jabber_port\" value=\"" . htmlspecialchars($locationInformation['jabber_port']) . "\"></td>
529                                         </tr>
530                                         <tr>
531                                                 <td colspan=\"2\"><input type=\"Submit\" name=\"isymphony_update_location_settings\" value=\"Submit Changes\"></td>
532                                         </tr>
533                                         </form>
534                                         <tr><td colspan=\"2\"><h5>Module Debug<hr></h5></td></tr>
535                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showmoduledebuglog=yes$debugUrlAdditions\">View Debug Log</a></td></tr>
536                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showmoduleerrorlog=yes$debugUrlAdditions\">View Error Log</a></td></tr>
537                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showmoduledb=yes$debugUrlAdditions\">View Database</a></td></tr>
538                                         <tr><td colspan=\"2\"><h5>Server Debug<hr></h5></td></tr>
539                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showservererrorlog=yes$debugUrlAdditions\">View Error Log</a></td></tr>
540                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showservercorelog=yes$debugUrlAdditions\">View Core Log</a></td></tr>
541                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showservercommunicationlog=yes$debugUrlAdditions\">View Communication Log</a></td></tr>
542                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showserverajexternallog=yes$debugUrlAdditions\">View AMI External Log</a></td></tr>
543                                         <tr><td><a href=\"config.php?type=setup&display=isymphony&showserverajinternallog=yes$debugUrlAdditions\">View AMI Internal Log</a></td></tr>
544                                         $debugLogDisplay
545                                 </table>
546                                 $databaseDisplay
547                         <table>
548                                 <tr>
549                                         <td><h5>Description<hr></h5></td>
550                                 </tr>
551                                 <tr>
552                                         <td>
553                                         <p>This module will automatically sync the iSymphony Configuration with the current FreePBX configuration so that you will not have
554                                                 to manually configure Extension, Profiles, Queues, and Conference Rooms in iSymphony. Any time you add, remove, edit an Extension,
555                                                 Queue, or Conference Room in FreePBX the changes will automatically be applied to iSymphony. You can control what elements will be
556                                                 available in iSymphony by using the check boxes in the iSymphony section of the User/Extension, Queue, and Conference Room pages.
557                                                 By default the profile passwords will be set to \"secret\" but they can be modified on the User/Extension page.
558                                         </p>
559                                         <p>
560                                                 Dont forget to register at <a href=\"http://www.i9technologies.com/isymphony\">http://www.i9technologies.com/isymphony</a> to get your free Conductor Edition
561                                                 trial license to experience the full features of iSymphony. You will also get a Free Registered Edition license with 5 clients that is yours for life. If you have a license key you can enter it above.
562                                         </p>
563                                                 <strong>Note: Queues and Conferences are only available in Conductor Edition.</strong>
564                                         </td>
565                                 </tr>
566                                 <tr>
567                                         <td><br><h5>Getting Started<hr></h5></td>
568                                 </tr>
569                                 <tr>
570                                         <td>1. Make sure that the FreePBX \"Asterisk API\" module is installed and activated.</td>
571                                 </tr>
572                                 <tr>
573                                         <td>2. Go <a href=\"http://www.i9technologies.com/isymphony\">here</a> and download the iSymphony Server, Client, and User Manual.</td>
574                                 </tr>
575                                 <tr>
576                                         <td>3. If you are using iSymphony 2.1 or higher skip steps 4, 5, and 6.</td>
577                                 </tr>
578                                 <tr>
579                                         <td>4. Open <strong>/etc/amportal.conf</strong></td>
580                                 </tr>
581                                 <tr>
582                                         <td>5. Look for the line <strong>#POST_RELOAD=</strong></td>
583                                 </tr>
584                                 <tr>
585                                         <td>6. Modify it to read <strong>POST_RELOAD=bash /var/www/html/admin/modules/isymphony/post_reload.sh</strong></td>
586                                 </tr>
587                                 <tr>
588                                         <td>7. Follow the Server Installation instruction in the User Manual. Skip steps 3 and 5 as this module will add the appropriate contexts<br>
589                                                 automatically. Also Skip the Administration section in the manual, since this module will automatically configure iSymphony for you, and<br>
590                                                 move on to the Client Installation portion when instructed to do so.
591                                         </td>
592                                 </tr>
593                                 <tr>
594                                         <td>8. Reload your FreePBX configuration so it can sync the iSymphony configuration with FreePBX.</td>
595                                 </tr>
596                                 <tr>
597                                         <td>9. Move on to the iSymphony Client Installation portion of the manual to start using iSymphony.</td>
598                                 </tr>
599                                 <tr>
600                                         <td>10. If you would like further modification of the iSymphony Server than this module provides see the the Server Configuration section under<br>
601                                                 Administration in the manual on how to connect to the iSymphony Administrator.</td>
602                                 </tr>
603                         </table>
604                         <br>
605                         <br>
606                         For more information please visit <a href=\"http://www.i9technologies.com/isymphony\">http://www.i9technologies.com/isymphony</a>
607                         </div>";
608
609 echo $display;
610 echo "<br>";
611 ?>
Note: See TracBrowser for help on using the browser.