2012-09-13 06:45:57 +02:00
< ? php
2012-10-05 07:50:20 +02:00
/*
FusionPBX
Version : MPL 1.1
The contents of this file are subject to the Mozilla Public License Version
1.1 ( the " License " ); you may not use this file except in compliance with
the License . You may obtain a copy of the License at
http :// www . mozilla . org / MPL /
Software distributed under the License is distributed on an " AS IS " basis ,
WITHOUT WARRANTY OF ANY KIND , either express or implied . See the License
for the specific language governing rights and limitations under the
License .
The Original Code is FusionPBX
The Initial Developer of the Original Code is
Mark J Crane < markjcrane @ fusionpbx . com >
Portions created by the Initial Developer are Copyright ( C ) 2008 - 2012
the Initial Developer . All Rights Reserved .
Contributor ( s ) :
Mark J Crane < markjcrane @ fusionpbx . com >
*/
2012-09-13 06:45:57 +02:00
require_once " root.php " ;
require_once " includes/require.php " ;
require_once " includes/checkauth.php " ;
2012-10-05 01:04:39 +02:00
if ( permission_exists ( 'conference_room_view' )) {
2012-09-13 06:45:57 +02:00
//access granted
}
else {
echo " access denied " ;
exit ;
}
2012-11-07 10:41:43 +01:00
//add multi-lingual support
require_once " app_languages.php " ;
foreach ( $text as $key => $value ) {
$text [ $key ] = $value [ $_SESSION [ 'domain' ][ 'language' ][ 'code' ]];
}
//additional includes
require_once " includes/header.php " ;
require_once " includes/paging.php " ;
2012-09-13 06:45:57 +02:00
2013-02-28 19:55:36 +01:00
//get the meeting_uuid using the pin number
$search = check_str ( $_GET [ " search " ]);
if ( strlen ( $search ) > 0 ) {
$sql = " select * from v_meeting_pins " ;
$sql .= " where domain_uuid = ' " . $_SESSION [ 'domain_uuid' ] . " ' " ;
$sql .= " and member_pin = ' " . $search . " ' " ;
$prep_statement = $db -> prepare ( check_sql ( $sql ));
if ( $prep_statement ) {
$prep_statement -> execute ();
$row = $prep_statement -> fetch ( PDO :: FETCH_ASSOC );
$meeting_uuid = $row [ 'meeting_uuid' ];
}
}
2012-11-07 09:51:36 +01:00
//if the $_GET array exists then process it
2013-02-28 19:55:36 +01:00
if ( count ( $_GET ) > 0 && strlen ( $_GET [ " search " ]) == 0 ) {
2012-11-07 09:51:36 +01:00
//get http GET variables and set them as php variables
$conference_room_uuid = check_str ( $_GET [ " conference_room_uuid " ]);
$record = check_str ( $_GET [ " record " ]);
$wait_mod = check_str ( $_GET [ " wait_mod " ]);
$announce = check_str ( $_GET [ " announce " ]);
$mute = check_str ( $_GET [ " mute " ]);
2013-02-01 13:23:39 +01:00
$sounds = check_str ( $_GET [ " sounds " ]);
2012-11-07 09:51:36 +01:00
$enabled = check_str ( $_GET [ " enabled " ]);
2013-02-27 12:06:44 +01:00
$meeting_uuid = check_str ( $_GET [ " meeting_uuid " ]);
2013-02-28 19:55:36 +01:00
//record announcement
2013-02-27 12:06:44 +01:00
if ( $record == " true " ) {
//prepare the values
$default_language = 'en' ;
$default_dialect = 'us' ;
$default_voice = 'callie' ;
$switch_cmd = " conference " . $meeting_uuid . " - " . $_SESSION [ 'domain_name' ] . " play " . $_SESSION [ 'switch' ][ 'sounds' ][ 'dir' ] . " / " . $default_language . " / " . $default_dialect . " / " . $default_voice . " /ivr/ivr-recording_started.wav " ;
//connect to event socket
$fp = event_socket_create ( $_SESSION [ 'event_socket_ip_address' ], $_SESSION [ 'event_socket_port' ], $_SESSION [ 'event_socket_password' ]);
if ( $fp ) {
$switch_result = event_socket_request ( $fp , 'api ' . $switch_cmd );
}
}
2012-11-07 09:51:36 +01:00
//update the conference room
$sql = " update v_conference_rooms set " ;
if ( strlen ( $record ) > 0 ) {
$sql .= " record = ' $record ' " ;
}
if ( strlen ( $wait_mod ) > 0 ) {
$sql .= " wait_mod = ' $wait_mod ' " ;
}
if ( strlen ( $announce ) > 0 ) {
$sql .= " announce = ' $announce ' " ;
}
if ( strlen ( $mute ) > 0 ) {
$sql .= " mute = ' $mute ' " ;
}
2013-02-01 13:23:39 +01:00
if ( strlen ( $sounds ) > 0 ) {
$sql .= " sounds = ' $sounds ' " ;
}
2012-11-07 09:51:36 +01:00
if ( strlen ( $enabled ) > 0 ) {
$sql .= " enabled = ' $enabled ' " ;
}
$sql .= " where domain_uuid = ' $domain_uuid ' " ;
$sql .= " and conference_room_uuid = ' $conference_room_uuid ' " ;
//echo $sql; //exit;
$db -> exec ( check_sql ( $sql ));
unset ( $sql );
}
2012-10-27 08:47:47 +02:00
//get conference array
$switch_cmd = " conference xml_list " ;
$fp = event_socket_create ( $_SESSION [ 'event_socket_ip_address' ], $_SESSION [ 'event_socket_port' ], $_SESSION [ 'event_socket_password' ]);
if ( ! $fp ) {
2012-11-06 20:31:58 +01:00
//connection to even socket failed
2012-10-27 08:47:47 +02:00
}
else {
$xml_str = trim ( event_socket_request ( $fp , 'api ' . $switch_cmd ));
try {
$xml = new SimpleXMLElement ( $xml_str , true );
}
catch ( Exception $e ) {
//echo $e->getMessage();
}
foreach ( $xml -> conference as $row ) {
//convert the xml object to an array
$json = json_encode ( $row );
$row = json_decode ( $json , true );
//set the variables
$conference_name = $row [ '@attributes' ][ 'name' ];
$session_uuid = $row [ '@attributes' ][ 'uuid' ];
$member_count = $row [ '@attributes' ][ 'member-count' ];
//show the conferences that have a matching domain
$tmp_domain = substr ( $conference_name , - strlen ( $_SESSION [ 'domain_name' ]));
if ( $tmp_domain == $_SESSION [ 'domain_name' ]) {
$meeting_uuid = substr ( $conference_name , 0 , strlen ( $conference_name ) - strlen ( '-' . $_SESSION [ 'domain_name' ]));
$conference [ $meeting_uuid ][ " conference_name " ] = $conference_name ;
$conference [ $meeting_uuid ][ " session_uuid " ] = $session_uuid ;
$conference [ $meeting_uuid ][ " member_count " ] = $member_count ;
}
}
}
2012-09-13 06:45:57 +02:00
//get variables used to control the order
$order_by = $_GET [ " order_by " ];
$order = $_GET [ " order " ];
//show the content
echo " <div align='center'> " ;
echo " <table width='100%' border='0' cellpadding='0' cellspacing='2'> \n " ;
echo " <tr class='border'> \n " ;
echo " <td align= \" center \" > \n " ;
echo " <br /> " ;
echo " <table width='100%' border='0'> \n " ;
echo " <tr> \n " ;
2013-02-28 19:55:36 +01:00
echo " <form method='get' action=''> \n " ;
echo " <td width='50%' align='left' nowrap='nowrap'><b> " . $text [ 'title-conference-rooms' ] . " </b></td> \n " ;
echo " <td width='50%' align='right'> \n " ;
echo " <input type='text' class='txt' style='width: 150px' name='search' value=' $search '> " ;
echo " <input type='submit' class='btn' name='submit' value=' " . $text [ 'button-search' ] . " '> " ;
echo " </td> \n " ;
echo " </form> \n " ;
2012-09-13 06:45:57 +02:00
echo " </tr> \n " ;
echo " </table> \n " ;
2013-01-25 10:02:15 +01:00
//get the conference room count
require_once " app/conference_centers/resources/classes/conference_center.php " ;
$conference_center = new conference_center ;
$conference_center -> db = $db ;
$conference_center -> domain_uuid = $_SESSION [ 'domain_uuid' ];
$conference_center -> voicemail_uuid = $voicemail_uuid ;
$conference_center -> voicemail_id = $voicemail_id ;
2013-02-28 19:55:36 +01:00
if ( strlen ( $meeting_uuid ) > 0 ) {
$conference_center -> meeting_uuid = $meeting_uuid ;
}
if ( strlen ( $search ) > 0 ) {
$conference_center -> search = $search ;
}
2013-01-25 10:02:15 +01:00
$row_count = $conference_center -> room_count () * 2 ;
2012-09-13 06:45:57 +02:00
//prepare to page the results
2013-01-25 10:02:15 +01:00
$rows_per_page = 150 ;
2012-09-13 06:45:57 +02:00
$param = " " ;
2013-01-25 10:02:15 +01:00
$page = check_str ( $_GET [ 'page' ]);
if ( strlen ( $page ) == 0 ) { $page = 0 ; $_GET [ 'page' ] = 0 ; }
$rows_per_page = $rows_per_page * 2 ;
list ( $paging_controls , $rows_per_page , $var3 ) = paging ( $row_count , $param , $rows_per_page );
2012-09-13 06:45:57 +02:00
$offset = $rows_per_page * $page ;
2013-01-25 10:02:15 +01:00
//get the conference rooms
$conference_center -> rows_per_page = $rows_per_page ;
$conference_center -> offset = $offset ;
$conference_center -> order_by = $order_by ;
$conference_center -> order = $order ;
2013-02-28 19:55:36 +01:00
if ( strlen ( $meeting_uuid ) > 0 ) {
$conference_center -> meeting_uuid = $meeting_uuid ;
}
if ( strlen ( $search ) > 0 ) {
$conference_center -> search = $search ;
}
2013-01-25 10:02:15 +01:00
$result = $conference_center -> rooms ();
$result_count = $conference_center -> count ;
2012-09-13 06:45:57 +02:00
2013-01-25 10:02:15 +01:00
//prepare to alternate the row styles
$c = 0 ;
$row_style [ " 0 " ] = " row_style0 " ;
$row_style [ " 1 " ] = " row_style1 " ;
2012-10-27 08:47:47 +02:00
2013-01-25 10:02:15 +01:00
//table header
echo " <div align='center'> \n " ;
echo " <table width='100%' border='0' cellpadding='0' cellspacing='0'> \n " ;
echo " <tr> \n " ;
//echo th_order_by('conference_center_uuid', 'Conference UUID', $order_by, $order);
//echo th_order_by('meeting_uuid', 'Meeting UUID', $order_by, $order);
2013-02-01 13:23:39 +01:00
echo " <th> " . $text [ 'label-moderator-pin' ] . " </th> \n " ;
echo " <th> " . $text [ 'label-participant-pin' ] . " </th> \n " ;
//echo th_order_by('profile', $text['label-profile'], $order_by, $order);
2013-01-25 10:02:15 +01:00
echo th_order_by ( 'record' , $text [ 'label-record' ], $order_by , $order );
//echo th_order_by('max_members', 'Max', $order_by, $order);
echo th_order_by ( 'wait_mod' , $text [ 'label-wait-moderator' ], $order_by , $order );
echo th_order_by ( 'announce' , $text [ 'label-announce' ], $order_by , $order );
//echo th_order_by('enter_sound', 'Enter Sound', $order_by, $order);
echo th_order_by ( 'mute' , $text [ 'label-mute' ], $order_by , $order );
//echo th_order_by('created', 'Created', $order_by, $order);
//echo th_order_by('created_by', 'Created By', $order_by, $order);
2013-02-01 13:23:39 +01:00
echo th_order_by ( 'sounds' , $text [ 'label-sounds' ], $order_by , $order );
echo " <th> " . $text [ 'label-members' ] . " </th> \n " ;
2013-01-25 10:02:15 +01:00
echo " <th> " . $text [ 'label-tools' ] . " </th> \n " ;
2013-02-27 11:10:24 +01:00
if ( permission_exists ( 'conference_room_enabled' )) {
echo th_order_by ( 'enabled' , $text [ 'label-enabled' ], $order_by , $order );
}
2013-01-25 10:02:15 +01:00
echo th_order_by ( 'description' , $text [ 'label-description' ], $order_by , $order );
echo " <td align='right' width='42' nowrap='nowrap'> \n " ;
if ( permission_exists ( 'conference_room_add' )) {
echo " <a href='conference_room_edit.php' alt='add'> $v_link_label_add </a> \n " ;
}
else {
echo " \n " ;
}
echo " </td> \n " ;
echo " <tr> \n " ;
2012-09-13 06:45:57 +02:00
2013-01-25 10:02:15 +01:00
//table data
if ( $result_count > 0 ) {
foreach ( $result as $row ) {
$meeting_uuid = $row [ 'meeting_uuid' ];
2013-02-01 13:23:39 +01:00
$moderator_pin = $row [ 'moderator_pin' ];
$participant_pin = $row [ 'participant_pin' ];
if ( strlen ( $moderator_pin ) == 9 ) {
$moderator_pin = substr ( $moderator_pin , 0 , 3 ) . " - " . substr ( $moderator_pin , 3 , 3 ) . " - " . substr ( $moderator_pin , - 3 ) . " \n " ;
}
if ( strlen ( $participant_pin ) == 9 ) {
$participant_pin = substr ( $participant_pin , 0 , 3 ) . " - " . substr ( $participant_pin , 3 , 3 ) . " - " . substr ( $participant_pin , - 3 ) . " \n " ;
}
2013-01-25 10:02:15 +01:00
echo " <tr > \n " ;
2013-02-01 13:23:39 +01:00
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " . $moderator_pin . " </td> \n " ;
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " . $participant_pin . " </td> \n " ;
2013-01-25 10:02:15 +01:00
//echo " <td valign='top' class='".$row_style[$c]."'>".$row['conference_center_uuid']." </td>\n";
//echo " <td valign='top' class='".$row_style[$c]."'>".$row['meeting_uuid']." </td>\n";
2013-02-01 13:23:39 +01:00
//echo " <td valign='middle' class='".$row_style[$c]."'>".$row['profile']." </td>\n";
2013-01-25 10:02:15 +01:00
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " ;
if ( $row [ 'record' ] == " true " ) {
2013-02-27 12:06:44 +01:00
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &record=false&meeting_uuid= " . $meeting_uuid . " \" > " . $text [ 'label-true' ] . " </a> " ;
2013-01-25 10:02:15 +01:00
}
else {
2013-02-27 12:06:44 +01:00
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &record=true&meeting_uuid= " . $meeting_uuid . " \" > " . $text [ 'label-false' ] . " </a> " ;
2013-01-25 10:02:15 +01:00
}
echo " \n " ;
echo " </td> \n " ;
//echo " <td valign='middle' class='".$row_style[$c]."'>".$row['max_members']." </td>\n";
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " ;
if ( $row [ 'wait_mod' ] == " true " ) {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &wait_mod=false \" > " . $text [ 'label-true' ] . " </a> " ;
}
else {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &wait_mod=true \" > " . $text [ 'label-false' ] . " </a> " ;
}
echo " \n " ;
echo " </td> \n " ;
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " ;
if ( $row [ 'announce' ] == " true " ) {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &announce=false \" > " . $text [ 'label-true' ] . " </a> " ;
}
else {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &announce=true \" > " . $text [ 'label-false' ] . " </a> " ;
}
echo " \n " ;
echo " </td> \n " ;
2012-11-07 09:51:36 +01:00
2013-01-25 10:02:15 +01:00
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " ;
if ( $row [ 'mute' ] == " true " ) {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &mute=false \" > " . $text [ 'label-true' ] . " </a> " ;
}
else {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &mute=true \" > " . $text [ 'label-false' ] . " </a> " ;
}
echo " \n " ;
echo " </td> \n " ;
2013-02-01 13:23:39 +01:00
2013-01-25 10:02:15 +01:00
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " ;
2013-02-01 13:23:39 +01:00
if ( $row [ 'sounds' ] == " true " ) {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &sounds=false \" > " . $text [ 'label-true' ] . " </a> " ;
2013-01-25 10:02:15 +01:00
}
else {
2013-02-01 13:23:39 +01:00
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &sounds=true \" > " . $text [ 'label-false' ] . " </a> " ;
2013-01-25 10:02:15 +01:00
}
echo " \n " ;
echo " </td> \n " ;
2013-02-01 13:23:39 +01:00
2013-01-25 10:02:15 +01:00
if ( strlen ( $conference [ $meeting_uuid ][ " session_uuid " ])) {
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " . $conference [ $meeting_uuid ][ " member_count " ] . " </td> \n " ;
}
else {
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '>0</td> \n " ;
}
echo " <td valign='middle' class=' " . $row_style [ $c ] . " ' nowrap='nowrap'> \n " ;
echo " <a href=' " . PROJECT_PATH . " /app/conferences_active/conference_interactive.php?c= " . $row [ 'meeting_uuid' ] . " '> " . $text [ 'label-view' ] . " </a> \n " ;
echo " <a href='conference_sessions.php?id= " . $row [ 'meeting_uuid' ] . " '> " . $text [ 'label-sessions' ] . " </a> \n " ;
echo " </td> \n " ;
2013-02-01 13:23:39 +01:00
2013-02-27 11:10:24 +01:00
if ( permission_exists ( 'conference_room_enabled' )) {
echo " <td valign='middle' class=' " . $row_style [ $c ] . " '> " ;
if ( $row [ 'enabled' ] == " true " ) {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &enabled=false \" > " . $text [ 'label-true' ] . " </a> " ;
}
else {
echo " <a href= \" ?conference_room_uuid= " . $row [ 'conference_room_uuid' ] . " &enabled=true \" > " . $text [ 'label-false' ] . " </a> " ;
}
echo " \n " ;
echo " </td> \n " ;
2013-02-01 13:23:39 +01:00
}
2013-02-02 10:54:20 +01:00
echo " <td valign='middle' class='row_stylebg' width='20%'> " ;
2013-02-01 13:23:39 +01:00
echo " " . $row [ 'description' ] . " \n " ;
echo " \n " ;
echo " </td> \n " ;
2013-02-02 10:54:20 +01:00
echo " <td valign='top' align='right' nowrap='nowrap'> \n " ;
2013-02-27 11:10:24 +01:00
echo " \n " ;
2013-01-25 10:02:15 +01:00
if ( permission_exists ( 'conference_room_edit' )) {
echo " <a href='conference_room_edit.php?id= " . $row [ 'conference_room_uuid' ] . " ' alt='edit'> $v_link_label_edit </a> \n " ;
}
if ( permission_exists ( 'conference_room_delete' )) {
echo " <a href='conference_room_delete.php?id= " . $row [ 'conference_room_uuid' ] . " ' alt='delete' onclick= \" return confirm('Do you really want to delete this?') \" > $v_link_label_delete </a> \n " ;
}
echo " </td> \n " ;
2013-02-01 13:23:39 +01:00
2013-01-25 10:02:15 +01:00
echo " </tr> \n " ;
if ( $c == 0 ) { $c = 1 ; } else { $c = 0 ; }
} //end foreach
unset ( $sql , $result , $row_count );
} //end if results
2012-09-13 06:45:57 +02:00
2013-01-25 10:02:15 +01:00
//show paging
echo " <tr> \n " ;
echo " <td colspan='12' align='left'> \n " ;
echo " <table width='100%' cellpadding='0' cellspacing='0'> \n " ;
echo " <tr> \n " ;
echo " <td width='33.3%' nowrap> </td> \n " ;
echo " <td width='33.3%' align='center' nowrap> $paging_controls </td> \n " ;
echo " <td width='33.3%' align='right'> \n " ;
if ( permission_exists ( 'conference_room_add' )) {
echo " <a href='conference_room_edit.php' alt='add'> $v_link_label_add </a> \n " ;
}
else {
echo " \n " ;
}
echo " </td> \n " ;
echo " </tr> \n " ;
echo " </table> \n " ;
echo " </td> \n " ;
echo " </tr> \n " ;
2012-09-13 06:45:57 +02:00
2013-01-25 10:02:15 +01:00
//close the tables
2012-09-13 06:45:57 +02:00
echo " </table> " ;
echo " </div> " ;
echo " <br /><br /> " ;
echo " <br /><br /> " ;
echo " </td> " ;
echo " </tr> " ;
echo " </table> " ;
echo " </div> " ;
echo " <br /><br /> " ;
//include the footer
require_once " includes/footer.php " ;
?>