[Freeswitch-svn] [commit] r12615 - in freeswitch/trunk/scripts/contrib/swk: flex/amf-test1/src php/amfphp
FreeSWITCH SVN
silik0n at freeswitch.org
Sun Mar 15 18:12:05 PDT 2009
Author: silik0n
Date: Sun Mar 15 20:12:05 2009
New Revision: 12615
Log:
Looks like we have most of the data retrival done... still needs some work on pushing data updates
Modified:
freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml
freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php
Modified: freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml
==============================================================================
--- freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml (original)
+++ freeswitch/trunk/scripts/contrib/swk/flex/amf-test1/src/main.mxml Sun Mar 15 20:12:05 2009
@@ -217,14 +217,14 @@
<mx:DataGrid left="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirDomain.lastResult.params}"
itemEditEnd="dgChangeDomainParam();" editable="true" id="dgDomainParam">
<mx:columns>
- <mx:DataGridColumn headerText="Parameter" dataField="name" width="120"/>
+ <mx:DataGridColumn headerText="Parameter" dataField="name" width="120" editable="false" />
<mx:DataGridColumn headerText="Value" dataField="value"/>
</mx:columns>
</mx:DataGrid>
<mx:DataGrid right="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirDomain.lastResult.variables}"
itemEditEnd="dgChangeDomainVars();" editable="true" id="dgDomainVars">
<mx:columns>
- <mx:DataGridColumn headerText="Variable" dataField="name" width="120"/>
+ <mx:DataGridColumn headerText="Variable" dataField="name" width="120" editable="false"/>
<mx:DataGridColumn headerText="Data" dataField="value"/>
</mx:columns>
</mx:DataGrid>
@@ -265,14 +265,14 @@
<mx:DataGrid left="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirUser.lastResult.params}"
change="dgChangeDomainUserParam();" editable="true" id="dgDomainUserParam">
<mx:columns>
- <mx:DataGridColumn headerText="Parameter" dataField="name" width="120"/>
+ <mx:DataGridColumn headerText="Parameter" dataField="name" width="120" editable="false"/>
<mx:DataGridColumn headerText="Value" dataField="value"/>
</mx:columns>
</mx:DataGrid>
<mx:DataGrid right="10" top="40" bottom="116" width="45%" dataProvider="{freeswitch.getDirUser.lastResult.variables}"
change="dgChangeDomainVars();" editable="true" id="dgDomainUserVars">
<mx:columns>
- <mx:DataGridColumn headerText="Variable" dataField="name" width="120"/>
+ <mx:DataGridColumn headerText="Variable" dataField="name" width="120" editable="false"/>
<mx:DataGridColumn headerText="Data" dataField="value"/>
</mx:columns>
</mx:DataGrid>
@@ -294,27 +294,30 @@
<mx:Canvas label="Groups" width="100%" height="100%">
<mx:HDividedBox x="0" y="0" width="100%" height="100%">
<mx:Canvas width="20%" height="100%">
- <mx:ComboBox top="10" horizontalCenter="0"></mx:ComboBox>
- <mx:DataGrid width="100%" horizontalCenter="0" top="40" bottom="70">
+ <mx:ComboBox top="10" horizontalCenter="0" id="groupsDomain" dataProvider="{freeswitch.getDirDomains.lastResult}" labelField="name"></mx:ComboBox>
+ <mx:DataGrid id="dgDirGroups" width="100%" horizontalCenter="0" top="40" bottom="70" dataProvider="{freeswitch.getDirGroups.lastResult}"
+ click="freeswitch.getDirGroup(dgDirGroups.selectedItem.uid)">
<mx:columns>
- <mx:DataGridColumn headerText="Group" dataField="user_id"/>
+ <mx:DataGridColumn headerText="Group" dataField="name"/>
</mx:columns>
</mx:DataGrid>
- <mx:Button label="Refresh Groups" horizontalCenter="0" bottom="10"/>
- <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="40"/>
+ <mx:Button label="Refresh Groups" horizontalCenter="0" bottom="10" click="freeswitch.getDirGroups(groupsDomain.selectedItem.uid)"/>
+ <mx:Button label="Refresh Domains" horizontalCenter="0" bottom="40" click="freeswitch.getDirDomains()"/>
</mx:Canvas>
<mx:Canvas width="80%" height="100%">
- <mx:DataGrid width="45%" left="10" top="0" bottom="70">
+ <mx:DataGrid width="45%" left="10" top="0" bottom="70" dataProvider="{freeswitch.getDirGroup.lastResult.members}"
+ dragEnabled="true" dragMoveEnabled="true" dropEnabled="true">
<mx:columns>
- <mx:DataGridColumn headerText="Member" dataField="col1"/>
+ <mx:DataGridColumn headerText="Member" dataField="usersUsername"/>
</mx:columns>
</mx:DataGrid>
- <mx:DataGrid width="45%" right="10" top="0" bottom="70">
+ <mx:DataGrid width="45%" right="10" top="0" bottom="70" dataProvider="{freeswitch.getDirGroup.lastResult.nonmembers}"
+ dragEnabled="true" dragMoveEnabled="true" dropEnabled="true">
<mx:columns>
- <mx:DataGridColumn headerText="Available to Join" dataField="col1"/>
+ <mx:DataGridColumn headerText="Available to Join" dataField="usersUsername"/>
</mx:columns>
</mx:DataGrid>
- <mx:Button label="Refresh" left="10" bottom="40"/>
+ <mx:Button label="Refresh" left="10" bottom="40" click="freeswitch.getDirGroup(dgDirGroups.selectedItem.uid)"/>
</mx:Canvas>
</mx:HDividedBox>
</mx:Canvas>
Modified: freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php
==============================================================================
--- freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php (original)
+++ freeswitch/trunk/scripts/contrib/swk/php/amfphp/freeswitch.php Sun Mar 15 20:12:05 2009
@@ -47,18 +47,17 @@
$db_username = 'root'; /* Database Server username */
$db_password = 'password'; /* Database Server password */
$db_database = 'shipment'; /* DataBase Name */
-
- $dbh = new PDO("$dbtype:host=$db_hostname;dbname=$db_database", $db_username, $db_password, array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,));
-
+ if ($dbtype == 'mysql') {
+ $pdo_flags = array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,);
+ }
+ $dbh = new PDO("$dbtype:host=$db_hostname;dbname=$db_database", $db_username, $db_password, $pdo_flags);
return $dbh;
}
public function __construct() {
-
$esl_server = "127.0.0.1"; /* ESL Server */
$esl_port = "8021"; /* ESL Port */
$esl_secret = "ClueCon"; /* ESL Secret */
-
$this->esl = new eslConnection($esl_server, $esl_port, $esl_secret);
}
@@ -67,14 +66,12 @@
public function getStatus() {
$e = $this->esl->sendRecv("api status");
$body = $e->getBody();
-
return $body;
}
public function getChannels() {
$e = $this->esl->sendRecv("api show channels");
$body = $e->getBody();
-
$temp = explode ("\n", $body);
$total_count = sizeof($temp);
$i = -1;
@@ -100,7 +97,6 @@
public function getCalls() {
$e = $this->esl->sendRecv("api show calls");
$body = $e->getBody();
-
$temp = explode ("\n", $body);
$total_count = sizeof($temp);
$i = -1;
@@ -129,7 +125,6 @@
$dialstring = "api originate $call_url $exten $dialplan $context $cid_name $cid_number $timeout";
$e = $this->esl->sendRecv($dialstring);
$body = $e->getBody();
-
return $body;
}
@@ -150,7 +145,6 @@
public function getConferenceList() {
$e = $this->esl->sendRecv("api conference list");
$body = $e->getBody();
-
$data=explode("\n", $body);
$y=0;
foreach($data as $row){
@@ -166,7 +160,6 @@
public function getConferenceUsers($conference_name) {
$e = $this->esl->sendRecv("api conference $conference_name list");
$body = $e->getBody();
-
$data=explode("\n", $body);
$y=0;
foreach($data as $row){
@@ -206,7 +199,6 @@
} else {
$templist = glob("/usr/local/freeswitch/sounds/en/us/callie/*/*/*");
}
-
$x=0;
foreach($templist as $file){
$temp_file = explode("/", $file);
@@ -215,7 +207,6 @@
// $filelist[$x] = $file;
$x++;
}
-
return $filelist;
}
@@ -255,67 +246,27 @@
}
/*** Directory Methods ***/
-
+
+ /* Directory Domain Methods */
public function getDirDomains(){
$dbh = $this->getDbh();
-
$query = sprintf("select * from domains");
$stmt = $dbh->query($query);
$results = $stmt->fetchAll();
-
return $results;
}
public function getDirDomain($domain_uid){
-
$dbh = $this->getDbh();
-
$query = sprintf("select * from domain_params where domains_uid = $domain_uid");
$stmt = $dbh->query($query);
$results['params'] = $stmt->fetchAll();
-
$query = sprintf("select * from domain_variables where domains_uid = $domain_uid");
$stmt = $dbh->query($query);
$results['variables'] = $stmt->fetchAll();
-
return $results;
}
- public function getDirUser($user_uid){
-
- $dbh = $this->getDbh();
-
- $query = sprintf("select * from user_params where users_uid = $user_uid");
- $stmt = $dbh->query($query);
- $results['params'] = $stmt->fetchAll();
-
- $query = sprintf("select * from user_variables where users_uid = $user_uid");
- $stmt = $dbh->query($query);
- $results['variables'] = $stmt->fetchAll();
-
- return $results;
- }
-
- public function getDirUsers($domain_uid){
- $dbh = $this->getDbh();
-
- $query = sprintf("select * from users where domain_uid = $domain_uid");
- $stmt = $dbh->query($query);
- $results = $stmt->fetchAll();
-
- return $results;
- }
-
- public function getDirGroups($domain_uid){
- $dbh = $this->getDbh();
-
- $query = sprintf("select * from groups where domain_uid = $domain_uid");
- $stmt = $dbh->query($query);
- $results = $stmt->fetchAll();
-
- return $results;
- }
-
public function addDirDomain($domain_name){
$dbh = $this->getDbh();
$query = sprintf('insert into domains (name) values ("%s")', $domain_name);
@@ -346,6 +297,47 @@
return $dbh->exec($query);
}
+
+ /* Directory User Methods */
+ public function getDirUser($user_uid){
+ $dbh = $this->getDbh();
+ $query = sprintf("select * from user_params where users_uid = $user_uid");
+ $stmt = $dbh->query($query);
+ $results['params'] = $stmt->fetchAll();
+ $query = sprintf("select * from user_variables where users_uid = $user_uid");
+ $stmt = $dbh->query($query);
+ $results['variables'] = $stmt->fetchAll();
+ return $results;
+ }
+
+ public function getDirUsers($domain_uid){
+ $dbh = $this->getDbh();
+ $query = sprintf("select * from users where domain_uid = $domain_uid");
+ $stmt = $dbh->query($query);
+ $results = $stmt->fetchAll();
+ return $results;
+ }
+
+ /* Directory Group Methods */
+ public function getDirGroups($domain_uid){
+ $dbh = $this->getDbh();
+ $query = sprintf("select * from groups where domains_uid = $domain_uid");
+ $stmt = $dbh->query($query);
+ $results = $stmt->fetchAll();
+ return $results;
+ }
+
+ public function getDirGroup($groups_uid){
+ $dbh = $this->getDbh();
+ $query = sprintf("select a.uid as groupMemberUid, a.users_uid as usersUid, b.username as usersUsername from group_members as a, users as b where a.groups_uid = $groups_uid and a.users_uid = b.uid") ;
+ $stmt = $dbh->query($query);
+ $results['members'] = $stmt->fetchAll();
+ $query = sprintf("select uid as usersUid, username as usersUsername from users where uid not in (select users_uid from group_members where groups_uid = $groups_uid) and domain_uid = (select domains_uid from groups where uid = $groups_uid)");
+ $stmt = $dbh->query($query);
+ $results['nonmembers'] = $stmt->fetchAll();
+ return $results;
+ }
+
}
/* For Emacs:
* Local Variables:
More information about the Freeswitch-svn
mailing list