Added: 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetingsRoomManagament.php
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetingsRoomManagament.php?rev=1221963&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetingsRoomManagament.php
 (added)
+++ 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetingsRoomManagament.php
 Thu Dec 22 00:16:25 2011
@@ -0,0 +1,305 @@
+<?php
+
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+require_once("openmeetings_gateway.php");
+
+global $current_user;
+global $system_config;
+
+
+class openmeetingsRoomManagament {
+
+
+       function getRoomHash(&$focus, $event) {
+               
+               global $current_user;
+               $becomemoderator = 1;   
+       
+               $openmeetings_gateway = new openmeetings_gateway();
+               
+       
+               if ($openmeetings_gateway->openmeetings_loginuser()) {
+               
+                               $roomid = 
$openmeetings_gateway->openmeetings_createroomwithmod($test);
+               
+                               $roomhash = 
$openmeetings_gateway->openmeetings_setUserObjectAndGenerateRoomHash($current_user->user_name,$current_user->first_name,
+                                               
$current_user->last_name,$current_user->picture,$current_user->email1,/*$current_user->id,*/100
 ,"openmeetings", $focus->openmeetings_roomid_c, 1, 1);
+                               echo   "room id: $roomid";
+                               echo "room hash:  $roomhash ";
+
+               }
+       }
+               
+       function createRoomWithMod(&$focus, $event) {
+               global $sugar_config;
+                               
+               if ($focus->is_openmeetings_c == false){
+                       $focus->openmeetings_roomname_c = "";
+               }
+               
+               
+               if ($focus->openmeetings_roomname_c == "" && 
$focus->is_openmeetings_c == true){
+
+                       $openmeetings_gateway = new openmeetings_gateway();
+                       if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+                               $openmeetings->name = 
"SUGARCRM_MEETINGROOM_".$focus->id;
+                               $openmeetings->roomtypes_id = 1;
+                               $openmeetings->comment = 'Created by 
SOAP-Gateway for SUGARCM Platform';
+                               $openmeetings->numberOfPartizipants = 100;
+                               $openmeetings->ispublic = false;
+                               $openmeetings->appointment = false;
+                               $openmeetings->isDemoRoom = false;
+                               $openmeetings->demoTime = 0;
+                               $openmeetings->isModeratedRoom = true;
+               
+                               $roomid = 
$openmeetings_gateway->openmeetings_createroomwithmod($openmeetings); 
+                               $focus->openmeetings_roomid_c = $roomid;
+                               
+                               $focus->openmeetings_roomname_c = "";           
+                               $focus->openmeetings_roomname_c = 
$sugar_config[site_url]."/index.php?module=Openmeetings&action=room_entrance&roomid=".$focus->openmeetings_roomid_c;
+                                               
+                       } else {
+                               echo "Could not login User to OpenMeetings, 
check your OpenMeetings Module Configuration";
+                               //exit();
+                       }
+               }
+       }
+
+/*
+       function createMyRoomWithMod(&$focus, $event) {
+               global $sugar_config;
+                               
+               
+               
+               if ($sugar_config->openmeetings_username == "" & 
$focus->openmeetings_my_roomid_c == ""){
+
+                       $openmeetings_gateway = new openmeetings_gateway();
+                       if ($openmeetings_gateway->openmeetings_loginuser()) {
+               
+                               $roomid = 
$openmeetings_gateway->openmeetings_createroomwithmod($test); 
+                               //$focus->openmeetings_roomid_c = $roomid;
+                               
+                               //$focus->openmeetings_roomname_c = "";         
        
+                               //$focus->openmeetings_my_room_c = 
$sugar_config[site_url]."/index.php?module=Openmeetings&action=room_entrance&roomid=".$roomid;
+                               
+                               $focus->openmeetings_my_roomid_c = $roomid;
+                               $focus->save(false);
+                                               
+                       } else {
+                               echo "Could not login User to OpenMeetings, 
check your OpenMeetings Module Configuration";
+                               exit();
+                       }
+               }
+       }
+
+*/
+
+       function createMyRoomWithMod() {
+               global $sugar_config;
+               global $current_user;
+
+               $openmeetings_gateway = new openmeetings_gateway();
+               if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+               /*      'name' => 'SUGARCM_ROOM',
+                       'roomtypes_id' => 1,
+                       'comment' => 'Created by SOAP-Gateway for SUGARCM 
Platform',
+                       'numberOfPartizipants' => 100,
+                       'ispublic' => false,
+                       'appointment' => false, 
+                       'isDemoRoom' => false, 
+                       'demoTime' => 0, 
+                       'isModeratedRoom' => $isModeratedRoom
+               */
+
+                       $openmeetings->name = 
"SUGARCRM_MY_ROOM_".$current_user->id;
+                       $openmeetings->roomtypes_id = 1;
+                       $openmeetings->comment = 'Created by SOAP-Gateway for 
SUGARCM Platform';
+                       $openmeetings->numberOfPartizipants = 100;
+                       $openmeetings->ispublic = false;
+                       $openmeetings->appointment = false;
+                       $openmeetings->isDemoRoom = false;
+                       $openmeetings->demoTime = 0;
+                       $openmeetings->isModeratedRoom = true;
+               
+                       $roomid = 
$openmeetings_gateway->openmeetings_createroomwithmod($openmeetings); 
+                               
+                       return $roomid;
+                                               
+               } else {
+                       echo "Could not login User to OpenMeetings, check your 
OpenMeetings Module Configuration";
+                       //exit();
+               }
+       }
+
+
+       function getInvitationHash(&$focus, $event) {
+
+               global $sugar_config;
+               global $system_config;
+               global $timedate;
+
+
+               
$date_start_in_db_fmt=$timedate->swap_formats($focus->date_start, 
$timedate->get_date_time_format(true, $current_user),  
$timedate->get_db_date_time_format());
+
+               $date_start_array=split(" ",trim($date_start_in_db_fmt));
+               $date_time_start 
=DateTimeUtil::get_time_start($date_start_array[0],$date_start_array[1]);
+
+               
$date_start_timestamp=mktime($date_time_start->hour,$date_time_start->min,$date_time_start->sec,$date_time_start->month,$date_time_start->day);
+
+               $startDateString = date("d.m.Y", $date_start_timestamp); 
//dd.mm.yyyy
+               $startTimeString = date("H:i", $date_start_timestamp);
+
+
+               $date_end_timestamp = $date_start_timestamp + (( 
$focus->duration_hours * 3600 )+ ($focus->duration_minutes * 60));
+
+               $endDateString = date("d.m.Y", $date_end_timestamp); 
//dd.mm.yyyy
+               $endTimeString = date("H:i", $date_end_timestamp);
+
+
+/*
+
+echo '<pre>'; 
+
+echo $startDateString;
+echo "\n";
+
+echo $startTimeString;
+echo "\n";
+
+
+echo $date_start_in_db_fmt;
+echo "\n";
+
+echo "endDateString ". $endDateString;
+echo "\n";
+echo "endTimeString ". $endTimeString;
+echo "\n";
+exit();
+
+echo '</pre>';
+*/     
+               
+               if ($focus->online_meeting_url_c  == "" && 
$focus->is_openmeetings_c == true && $_REQUEST['send_invites']=="1"){
+                       $_REQUEST['send_invites'] = '0';
+                       
+                       $openmeetings_gateway = new openmeetings_gateway();
+                       if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+                               $admin = new Administration();
+                               $admin->retrieveSettings();
+                       
+                               //$notify_user = 
$focus->get_notification_recipients();
+
+
+                               foreach($focus->users_arr as $user_id) {
+                                       $notify_user = new User();
+                                       $notify_user->retrieve($user_id);
+                                       $notify_user->new_assigned_user_name = 
$notify_user->full_name;
+                                       $GLOBALS['log']->info("Notifications: 
recipient is $notify_user->new_assigned_user_name");
+                       
+                                       $invitation_hash = 
$openmeetings_gateway->getInvitationHash($notify_user->name, 
$focus->openmeetings_roomid_c, false, "123", 2, $startDateString, 
$startTimeString, $endDateString, $endTimeString);
+                                               
+                                       $notify_user->online_meeting_url_temp = 
"http://".$system_config->settings[info_openmeetings_url].":".
+                                                       
$system_config->settings[info_openmeetings_http_port].
+                                                       "/openmeetings/?" .
+                                                       "invitationHash=" 
.$invitation_hash;
+                       
+
+                                       //$admin = new Administration();
+                                       //$admin->retrieveSettings();
+
+                                       
$focus->send_assignment_notifications($notify_user, $admin);
+                               }
+
+                       
+                               foreach($focus->contacts_arr as $contact_id) {
+                                       $notify_user = new Contact();
+                                       $notify_user->retrieve($contact_id);
+                                       $notify_user->new_assigned_user_name = 
$notify_user->name;
+                                       $GLOBALS['log']->info("Notifications: 
recipient is $notify_user->new_assigned_user_name");
+                       
+                                       $invitation_hash = 
$openmeetings_gateway->getInvitationHash($notify_user->name, 
$focus->openmeetings_roomid_c, false, "123", 2, $startDateString, 
$startTimeString, $endDateString, $endTimeString);
+                                               
+                                       $notify_user->online_meeting_url_temp = 
"http://".$system_config->settings[info_openmeetings_url].":".
+                                                       
$system_config->settings[info_openmeetings_http_port].
+                                                       "/openmeetings/?" .
+                                                       "invitationHash=" 
.$invitation_hash;
+                       
+
+                                       //$admin = new Administration();
+                                       //$admin->retrieveSettings();
+
+                                       
$focus->send_assignment_notifications($notify_user, $admin);
+                       
+                               }
+
+                                       foreach($focus->leads_arr as $lead_id) {
+                                       $notify_user = new Lead();
+                                       $notify_user->retrieve($lead_id);
+                                       $notify_user->new_assigned_user_name = 
$notify_user->full_name;
+                                       $GLOBALS['log']->info("Notifications: 
recipient is $notify_user->new_assigned_user_name");
+
+                                       $invitation_hash = 
$openmeetings_gateway->getInvitationHash($notify_user->name, 
$focus->openmeetings_roomid_c, false, "123", 2, $startDateString, 
$startTimeString, $endDateString, $endTimeString);
+                                               
+                                       $notify_user->online_meeting_url_temp = 
"http://".$system_config->settings[info_openmeetings_url].":".
+                                                       
$system_config->settings[info_openmeetings_http_port].
+                                                       "/openmeetings/?" .
+                                                       "invitationHash=" 
.$invitation_hash;
+                       
+
+                                       //$admin = new Administration();
+                                       //$admin->retrieveSettings();
+
+                                       
$focus->send_assignment_notifications($notify_user, $admin);
+                       
+                               }
+                       
+                       } else {
+                               echo "Could not login User to OpenMeetings, 
check your OpenMeetings Module Configuration";
+                               //exit();
+                       }
+               }
+       }
+
+
+
+
+function sendInvitationHash(&$focus, $event) {
+               global $sugar_config;
+               global $system_config;
+               global $current_user;
+               
+                               
+               if ($focus->online_meeting_url_c == "" & 
$focus->is_openmeetings_c == true){
+
+                       $openmeetings_gateway = new openmeetings_gateway();
+                       if ($openmeetings_gateway->openmeetings_loginuser()) {
+
+                       
+                               foreach($focus->contacts_arr as $contact_id) {
+                                       $notify_user = new Contact();
+                                       $notify_user->retrieve($contact_id);
+
+                                       $result = 
$openmeetings_gateway->openmeetings_sendInvitationHash($current_user->name, 
"message", 
"http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/",
 $notify_user->email1, "Openmeeting Invetation: ".$focus->name, 
$focus->openmeetings_roomid_c, "", false, "123", 1, "$focus->date_start", 
"$focus->time_start", "$focus->date_end", "$focus->time_end", 
$system_config->settings[info_openmeetings_language], true);
+               
+                                               
+                               }
+
+                       
+                       } else {
+                               echo "Could not login User to OpenMeetings, 
check your OpenMeetings Module Configuration";
+                               //exit();
+                       }
+               }
+       }
+
+
+
+
+}
+
+
+?>

Added: 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetings_gateway.php
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetings_gateway.php?rev=1221963&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetings_gateway.php
 (added)
+++ 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/openmeetings_gateway.php
 Thu Dec 22 00:16:25 2011
@@ -0,0 +1,461 @@
+<?php
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+require_once('lib/nusoap.php');
+
+
+class openmeetings_gateway {
+       
+       var $session_id = "";
+
+       /**
+        * TODO: Get Error Service and show detailed Error Message
+        */
+       function openmeetings_loginuser() {
+               global $current_user;
+               global $system_config;
+
+               $client_userService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/UserService?wsdl",
 "wsdl");
+               $client_userService->setUseCurl(true);
+               //echo "Client inited"."<br/>";
+               $err = $client_userService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+       
+               $result = $client_userService->call('getSession');
+               if ($client_userService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_userService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result); echo '</pre>';
+                               $this->session_id = 
$result["return"]["session_id"];
+                               //echo '<h2>Result</h2><pre>'; printf(); echo 
'</pre>';
+                               $params = array(
+                               'SID' => $this->session_id,
+                               'username' => 
$system_config->settings[info_openmeetings_username],
+                               'userpass' => 
$system_config->settings[info_openmeetings_password]
+                               );
+                                                       
+                               $result = 
$client_userService->call('loginUser',$params);
+                               //echo '<h2>Params</h2><pre>'; 
print_r($params); echo '</pre>';
+                               if ($client_userService->fault) {
+                                       echo '<h2>Fault (Expect - The request 
contains an invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+                               } else {
+                                       $err = $client_userService->getError();
+                                       if ($err) {
+                                               echo '<h2>Error</h2><pre>' . 
$err . '</pre>';
+                                       } else {
+                                               //echo '<h2>Result</h2><pre>'; 
print_r($result); echo '</pre>';
+                                               $returnValue = 
$result["return"];       
+                                               //echo 
'<h2>returnValue</h2><pre>'; printf($returnValue); echo '</pre>';               
 
+                                       }
+                               }
+                       }
+               }   
+               if ($returnValue>0){
+               return true;
+               } else {
+                       return false;
+               }
+       }
+
+       /**
+        * TODO: Check Error handling
+        * 
+        * @deprecated this method is deprecated
+        * 
+        */
+       function openmeetings_createroom($openmeetings,$roomtypes_id) {
+               global $current_user;
+               global $system_config;
+
+       
+               //              echo $CFG->openmeetings_red5host."<br/>";
+               //              echo $CFG->openmeetings_red5port."<br/>";       
+               //              foreach ($CFG as $key => $value){
+               //              echo "KEY: ".$key." Value: ".$value."<br/>";
+               //      }
+       $course_name = 
'MOODLE_COURSE_ID_'.$openmeetings->course.'_NAME_'.$openmeetings->name;
+       //echo "CourseName: ".$course_name."<br/>";     
+               
+               //echo $client_userService."<br/>";
+           
+               $client_roomService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/UserService?wsdl",
 true);
+               
+               $err = $client_roomService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               $params = array(
+                       'SID' => $this->session_id,
+                       'name' => $course_name,
+                       'roomtypes_id' => $roomtypes_id,
+                       'comment' => 'Created by SOAP-Gateway for Moodle 
Platform',
+                       'numberOfPartizipants' => 4,
+                       'ispublic' => true,
+                       'videoPodWidth' => 270, 
+                       'videoPodHeight' => 280,
+                       'videoPodXPosition' => 2, 
+                       'videoPodYPosition' => 2, 
+                       'moderationPanelXPosition' => 400, 
+                       'showWhiteBoard' => true, 
+                       'whiteBoardPanelXPosition' => 276, 
+                       'whiteBoardPanelYPosition' => 2, 
+                       'whiteBoardPanelHeight' => 592, 
+                       'whiteBoardPanelWidth' => 660, 
+                       'showFilesPanel' => true, 
+                       'filesPanelXPosition' => 2, 
+                       'filesPanelYPosition' => 284, 
+                       'filesPanelHeight' => 310, 
+                       'filesPanelWidth' => 270
+               );
+               $result = $client_roomService->call('addRoom',$params);
+               if ($client_roomService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_roomService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+       
+       function openmeetings_createroomwithmod($openmeetings) {
+               global $current_user;
+               global $system_config;
+               
+               
+               $client_roomService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/RoomService?wsdl",
 true);
+               echo $client_userService."<br/>";
+               $err = $client_roomService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               
+               //$isModeratedRoom = true;
+               #if ($openmeetings->is_moderated_room == 1) {
+               #       $isModeratedRoom = true;
+               #}
+               /*
+               $params = array(
+                       'SID' => $this->session_id,
+                       'name' => 'SUGARCM_ROOM',
+                       'roomtypes_id' => 1,
+                       'comment' => 'Created by SOAP-Gateway for SUGARCM 
Platform',
+                       'numberOfPartizipants' => 100,
+                       'ispublic' => false,
+                       'appointment' => false, 
+                       'isDemoRoom' => false, 
+                       'demoTime' => 0, 
+                       'isModeratedRoom' => $isModeratedRoom
+               );
+               */
+               $params = array(
+                       'SID' => $this->session_id,
+                       'name' => $openmeetings->name,
+                       'roomtypes_id' => $openmeetings->roomtypes_id,
+                       'comment' => $openmeetings->comment,
+                       'numberOfPartizipants' => 
$openmeetings->numberOfPartizipants,
+                       'ispublic' => $openmeetings->ispublic,
+                       'appointment' => $openmeetings->appointment, 
+                       'isDemoRoom' => $openmeetings->isDemoRoom, 
+                       'demoTime' => $openmeetings->demoTime, 
+                       'isModeratedRoom' => $openmeetings->isModeratedRoom
+               );
+
+               $result = 
$client_roomService->call('addRoomWithModeration',$params);
+               if ($client_roomService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_roomService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+       
+       /*
+        * Usage if this Method will work if you have no need to simulate 
always the same user in 
+        * OpenMeetings, if you want to do this check the next method that also 
remembers the 
+        * ID of the external User
+        * 
+        * 
+        */
+       function openmeetings_setUserObject($username, $firstname, $lastname, 
$profilePictureUrl, $email) {
+               global $current_user;
+               global $system_config;
+
+               $client_userService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/UserService?wsdl",
 true);
+               
+               $err = $client_userService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               $params = array(
+                       'SID' => $this->session_id,
+                       'username' => $username,
+                       'firstname' => $firstname,
+                       'lastname' => $lastname,
+                       'profilePictureUrl' => $profilePictureUrl,
+                       'email' => $email
+               );
+               $result = $client_userService->call('setUserObject',$params);
+               if ($client_roomService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_userService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+       
+       /**
+        * Sets the User Id and remembers the User, 
+        * the value for $systemType is any Flag but usually should always be 
the same, 
+        * it only has a reason if you have more then one external Systems, so 
the $userId will not 
+        * be unique, then you can use the $systemType to give each system its 
own scope
+        * 
+        * so a unique external user is always the pair of: $userId + 
$systemType
+        * 
+        * in this case the $systemType is 'moodle'
+        * 
+        */
+       function openmeetings_setUserObjectWithExternalUser($username, 
$firstname, $lastname, $profilePictureUrl, $email, $userId, $systemType) {
+               global $current_user;
+               global $system_config;
+
+               $client_userService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/UserService?wsdl",
 true);
+               
+               $err = $client_userService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               $params = array(
+                       'SID' => $this->session_id,
+                       'username' => $username,
+                       'firstname' => $firstname,
+                       'lastname' => $lastname,
+                       'profilePictureUrl' => $profilePictureUrl,
+                       'email' => $email,
+                       'externalUserId' => $userId,
+                       'externalUserType' => $systemType
+               );
+               $result = 
$client_userService->call('setUserObjectWithExternalUser',$params);
+               if ($client_roomService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_userService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+
+       function openmeetings_setUserObjectAndGenerateRoomHash($username, 
$firstname, $lastname, 
+                       $profilePictureUrl, $email, $externalUserId, 
$externalUserType, $room_id, $becomeModeratorAsInt, $showAudioVideoTestAsInt) {
+               global $current_user;
+               global $system_config;
+
+               $client_userService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/UserService?wsdl",
 true);
+               
+               $err = $client_userService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               $params = array(
+                       'SID' => $this->session_id,
+                       'username' => $username,
+                       'firstname' => $firstname,
+                       'lastname' => $lastname,
+                       'profilePictureUrl' => $profilePictureUrl,
+                       'email' => $email,
+                       'externalUserId' => $externalUserId,
+                       'externalUserType' => $systemType,
+                       'room_id' => $room_id,
+                       'becomeModeratorAsInt' => $becomeModeratorAsInt,
+                       'showAudioVideoTestAsInt'=> $showAudioVideoTestAsInt
+                       
+               );
+               $result = 
$client_userService->call('setUserObjectAndGenerateRoomHashByURL',$params);
+               if ($client_userService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_userService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+
+       function openmeetings_sendInvitationHash($username, $message, $baseurl, 
$email, $subject, $room_id, $conferencedomain, $isPasswordProtected, 
$invitationpass, $valid, $validFromDate, $validFromTime, $validToDate, 
$validToTime, $language_id, $sendMail) {
+               global $current_user;
+               global $system_config;
+
+               $client_userService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/RoomService?wsdl",
 true);
+               
+               $err = $client_userService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               $params = array(
+                       'SID' => $this->session_id,
+                       'username' => $username,
+                       'message' => $message,
+                       'baseurl' => $baseurl,
+                       'email' => $email,
+                       'subject' => $subject,
+                       'room_id' => $room_id,
+                       'conferencedomain' => $conferencedomain,
+                       'isPasswordProtected' => $isPasswordProtected,
+                       'invitationpass' => $invitationpass,
+                       'valid'=> $valid,
+                       'validFromDate' => $validFromDate,
+                       'validFromTime' => $validFromTime,
+                       'validToDate' => $validToDate,
+                       'validToTime' => $validToTime,
+                       'language_id' => $language_id,
+                       'sendMail' => $sendMail                 
+               );
+               $result = $client_userService->call('sendInvitationHash', 
$params);
+               if ($client_userService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_userService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+
+       function sendInvitationHashWithDateObject($username, $message, 
$baseurl, $email, $subject, $room_id, $conferencedomain, $isPasswordProtected, 
$invitationpass, $valid, $fromDate, $toDate, $language_id, $sendMail) {
+               global $current_user;
+               global $system_config;
+
+               $client_userService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/RoomService?wsdl",
 true);
+               
+               $err = $client_userService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               $params = array(
+                       'SID' => $this->session_id,
+                       'username' => $username,
+                       'message' => $message,
+                       'baseurl' => $baseurl,
+                       'email' => $email,
+                       'subject' => $subject,
+                       'room_id' => $room_id,
+                       'conferencedomain' => $conferencedomain,
+                       'isPasswordProtected' => $isPasswordProtected,
+                       'invitationpass' => $invitationpass,
+                       'valid'=> $valid,
+                       'fromDate' => $fromDate,
+                       'toDate' => $toDate,                    
+                       'language_id' => $language_id,
+                       'sendMail' => $sendMail                         
+               );
+               $result = $client_userService->call('sendInvitationHash', 
$params);
+               if ($client_userService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_userService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+
+function getInvitationHash($username, $room_id, $isPasswordProtected, 
$invitationpass, $valid, $validFromDate, $validFromTime, $validToDate, 
$validToTime) {
+               global $current_user;
+               global $system_config;
+
+               //echo "room_id";
+               $client_userService = new 
nusoap_client_om("http://".$system_config->settings[info_openmeetings_url].":".$system_config->settings[info_openmeetings_http_port]."/openmeetings/services/RoomService?wsdl",
 true);
+               
+               $err = $client_userService->getError();
+               if ($err) {
+                       echo '<h2>Constructor error</h2><pre>' . $err . 
'</pre>';
+                       echo '<h2>Debug</h2><pre>' . 
htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
+                       exit();
+               }  
+               $params = array(
+                       'SID' => $this->session_id,
+                       'username' => $username,                        
+                       'room_id' => $room_id,                  
+                       'isPasswordProtected' => $isPasswordProtected,
+                       'invitationpass' => $invitationpass,
+                       'valid'=> $valid,
+                       'validFromDate' => $validFromDate,
+                       'validFromTime' => $validFromTime,
+                       'validToDate' => $validToDate,
+                       'validToTime' => $validToTime           
+               );
+               $result = $client_userService->call('getInvitationHash', 
$params);
+               if ($client_userService->fault) {
+                       echo '<h2>Fault (Expect - The request contains an 
invalid SOAP body)</h2><pre>'; print_r($result); echo '</pre>';
+               } else {
+                       $err = $client_userService->getError();
+                       if ($err) {
+                               echo '<h2>Error</h2><pre>' . $err . '</pre>';
+                       } else {
+                               //echo '<h2>Result</h2><pre>'; 
print_r($result["return"]); echo '</pre>';
+                               return $result["return"];
+                       }
+               }   
+               return -1;
+       }
+
+
+
+}
+
+?>

Added: 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/room_entrance.php
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/room_entrance.php?rev=1221963&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/room_entrance.php
 (added)
+++ 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/room_entrance.php
 Thu Dec 22 00:16:25 2011
@@ -0,0 +1,88 @@
+<?php
+
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+require_once("openmeetings_gateway.php");
+require_once("modules/Meetings/Meeting.php");
+
+global $current_user;
+global $system_config;
+
+
+//echo '<pre>';
+//print_r($current_user);
+//echo '</pre>';
+
+//echo '<pre>';
+//print_r($GLOBALS);
+//print_r($system_config);
+//echo "info: $system_config->settings->info_openmeetings_username";
+//echo "info username from 
system_config:".$system_config->settings[info_openmeetings_username];
+//echo '</pre>';
+
+       
+$openmeetings_gateway = new openmeetings_gateway();
+       
+       
+       
+if ($openmeetings_gateway->openmeetings_loginuser()) {
+               
+                               
+       $roomhash = 
$openmeetings_gateway->openmeetings_setUserObjectAndGenerateRoomHash($current_user->user_name,$current_user->first_name,
+                                               
$current_user->last_name,$current_user->picture,$current_user->email1,/*$current_user->id,*/100
 ,"openmeetings", $_REQUEST['roomid'], 1, 1);
+
+
+               //set User-Object to Session ... is deprecated
+               //$returnVal = 
$openmeetings_gateway->openmeetings_setUserObject($USER->username,$USER->firstname,
+               //                              
$USER->lastname,$USER->picture,$USER->email);
+                                                                               
+               if (!empty($roomhash)) {
+
+                       $iframe_d = 
"http://".$system_config->settings[info_openmeetings_url].":".
+                                       
$system_config->settings[info_openmeetings_http_port].
+                                       "/openmeetings/?" .
+                                       "scopeRoomId=" . $_REQUEST['roomid'] .
+                                       "&secureHash=" .$roomhash.              
                                                
+                                       
"&language=".$system_config->settings[info_openmeetings_language].
+                                       "&lzproxied=solo";                      
                
+                                       
+
+                                       //echo "iframe:  $iframe_d";
+/*
+                       printf("<iframe src='%s' width='%s' height='600px' 
/>",$iframe_d,
+                                       "100%");
+
+*/
+                       //echo "\n<p>\n";
+                       //echo 
get_module_title($mod_strings['LBL_MODULE_NAME'], 
$mod_strings['LBL_MODULE_NAME']."Openmeetings", true);
+                       //echo "\n</p>\n";
+
+                       
+                       global $theme;
+                       global $app_list_strings;
+                       $theme_path="themes/".$theme."/";
+                       $image_path=$theme_path."images/";
+                       require_once($theme_path.'layout_utils.php');
+
+       
+                       $xtpl=new XTemplate 
('modules/Openmeetings/DetailView.html');
+                       $xtpl->assign("MOD", $mod_strings);
+                       $xtpl->assign("APP", $app_strings);
+
+                       $xtpl->assign("THEME", $theme);
+                       $xtpl->assign("GRIDLINE", $gridline);
+                       $xtpl->assign("IMAGE_PATH", 
$image_path);$xtpl->assign("PRINT_URL", 
"index.php?".$GLOBALS['request_string']);
+                       $xtpl->assign("ID", $focus->id);
+                       $xtpl->assign("USER_NAME", $focus->user_name);
+                       $xtpl->assign("FULL_NAME", $focus->full_name);
+                       $xtpl->assign("IFRAME", $iframe_d);
+
+                       $xtpl->parse('main');
+                               $xtpl->out('main');
+                                               
+               }
+       } else {
+               echo "Could not login User to OpenMeetings, check your 
OpenMeetings Module Configuration";
+               exit();
+       }
+?>

Added: 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/view.php
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/view.php?rev=1221963&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/view.php
 (added)
+++ 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/openmeetings_gateway/view.php
 Thu Dec 22 00:16:25 2011
@@ -0,0 +1,131 @@
+<?php
+
+if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
+
+require_once("openmeetings_gateway.php");
+
+global $current_user;
+global $system_config;
+
+/*
+echo '<pre>';
+print_r($current_user);
+echo '</pre>';
+*/
+
+
+//echo '<pre>';
+//print_r($GLOBALS);
+//print_r($system_config);
+//echo "info: $system_config->settings->info_openmeetings_username";
+//echo "info username from 
system_config:".$system_config->settings[info_openmeetings_username];
+//echo '</pre>';
+
+
+$becomemoderator = 1;  
+       
+       $openmeetings_gateway = new openmeetings_gateway();
+       if ($openmeetings_gateway->openmeetings_loginuser()) {
+               
+               //set User-Object to Session ... is deprecated
+               //$returnVal = 
$openmeetings_gateway->openmeetings_setUserObject($USER->username,$USER->firstname,
+               //                              
$USER->lastname,$USER->picture,$USER->email);
+               
+               // Simulate the User automatically
+               //echo "openmeetings_setUserObjectWithExternalUser<br/>";
+       /*      $returnVal = 
$openmeetings_gateway->openmeetings_setUserObjectWithExternalUser($current_user->user_name,$current_user->first_name,
+                                               
$current_user->last_name,$current_user->picture,$current_user->email1,100 
,"openmeetings");
+                                               
+               if ($returnVal>0) {
+
+                       $iframe_d = 
"http://".$system_config->settings[info_openmeetings_url].":".
+                                       
$system_config->settings[info_openmeetings_http_port].
+                                       
"/openmeetings/main.swf8.swf?lzproxied=solo" .
+                                       "&roomid=1" .                           
        
+                                       
"&sid=".$openmeetings_gateway->session_id .                                     
+                                       
"&language=".$system_config->settings[info_openmeetings_language].              
                        
+                                       "&picture=1".
+                                       "&user_id=1".
+                                       "&wwwroot="."openmeetings" .
+                                       "&moodleRoom=1" .
+                                       "&becomemoderator=".$becomemoderator;
+
+                                       //echo "iframe:  $iframe_d";
+*/
+
+
+
+$roomhash = 
$openmeetings_gateway->openmeetings_setUserObjectAndGenerateRoomHash($current_user->user_name,$current_user->first_name,
+                                               
$current_user->last_name,$current_user->picture,$current_user->email1,/*$current_user->id,*/100
 ,"openmeetings", $current_user->openmeetings_my_roomid_c, 1, 1);
+
+
+               //set User-Object to Session ... is deprecated
+               //$returnVal = 
$openmeetings_gateway->openmeetings_setUserObject($USER->username,$USER->firstname,
+               //                              
$USER->lastname,$USER->picture,$USER->email);
+                                                                               
+               if (!empty($roomhash)) {
+
+                       $iframe_d = 
"http://".$system_config->settings[info_openmeetings_url].":".
+                                       
$system_config->settings[info_openmeetings_http_port].
+                                       "/openmeetings/?" .
+                                       "scopeRoomId=" . 
$current_user->openmeetings_my_roomid_c .
+                                       "&secureHash=" .$roomhash.      
+                                       "&lzproxied=solo" .                     
                                        
+                                       
"&language=".$system_config->settings[info_openmeetings_language];              
                        
+                       /*      
+                       printf("<iframe src='%s' width='%s' height='600px' 
/>",$iframe_d,
+                                       "1000px");
+                       */
+                       /* with videoconference.php
+
+                                       $iframe_d = "videoconference.php?" .
+                                                       
"sid=".$openmeetings_gateway->session_id .
+                                                       "&roomid=1" .
+                                                       
"&language=".$system_config->settings[info_openmeetings_language].
+                                                       
"&red5host=".$system_config->settings[info_openmeetings_url].
+                                                       
"&red5httpPort=".$system_config->settings[info_openmeetings_http_port].
+                                                       "&picture=1".
+                                                       "&user_id=1".
+                                                       
"&wwwroot="."openmeetings" .
+                                                       
"&becomemoderator=".$becomemoderator;
+
+                                       printf("<iframe src='%s' width='%s' 
height='%s' />",$iframe_d,
+                                                       "100%",
+                                                       "100%");        
+                                                       
+               */
+
+
+                       //echo "\n<p>\n";
+                       //echo 
get_module_title($mod_strings['LBL_MODULE_NAME'], 
$mod_strings['LBL_MODULE_NAME'].": ".$focus->full_name." 
(".$focus->user_name.")", true);
+                       //echo "\n</p>\n";
+                       global $theme;
+                       global $app_list_strings;
+                       $theme_path="themes/".$theme."/";
+                       $image_path=$theme_path."images/";
+                       require_once($theme_path.'layout_utils.php');
+
+
+                       $xtpl=new XTemplate 
('modules/Openmeetings/DetailView.html');
+                       $xtpl->assign("MOD", $mod_strings);
+                       $xtpl->assign("APP", $app_strings);
+
+                       $xtpl->assign("THEME", $theme);
+                       $xtpl->assign("GRIDLINE", $gridline);
+                       $xtpl->assign("IMAGE_PATH", 
$image_path);$xtpl->assign("PRINT_URL", 
"index.php?".$GLOBALS['request_string']);
+                       $xtpl->assign("ID", $focus->id);
+                       $xtpl->assign("USER_NAME", $focus->user_name);
+                       $xtpl->assign("FULL_NAME", $focus->full_name);
+                       $xtpl->assign("IFRAME", $iframe_d);
+
+                       $xtpl->parse('main');
+                       $xtpl->out('main');
+
+                       
+                                       
+               }
+       } else {
+               echo "Could not login User to OpenMeetings, check your 
OpenMeetings Module Configuration";
+               exit();
+       }
+?>

Added: 
incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/scripts/pre_install.php
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/scripts/pre_install.php?rev=1221963&view=auto
==============================================================================
--- incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/scripts/pre_install.php 
(added)
+++ incubator/openmeetings/trunk/plugins/sugarcrm/5.x.x/scripts/pre_install.php 
Thu Dec 22 00:16:25 2011
@@ -0,0 +1,33 @@
+<?php
+if(!defined('sugarEntry'))define('sugarEntry', true);
+function pre_install() {
+   require_once('include/utils.php');
+   check_logic_hook_file("Meetings", "before_save", array(1, "Openmeetings",
+   "modules/Openmeetings/openmeetingsRoomManagament.php", 
"openmeetingsRoomManagament",
+   "createRoomWithMod"));
+
+       check_logic_hook_file("Meetings", "before_save", array(2, 
"Openmeetings",
+   "modules/Openmeetings/openmeetingsRoomManagament.php", 
"openmeetingsRoomManagament",
+   "getInvitationHash"));
+       
+       check_logic_hook_file("Meetings", "before_save", array(2, 
"Openmeetings",
+   "modules/Openmeetings/openmeetingsRoomManagament.php", 
"openmeetingsRoomManagament",
+   "sendInvitationHash"));
+       
+       
+
+/*
+$hook_array['after_login'][] = Array(1, 'OpenMeetings', 
'modules/Openmeetings/openmeetingsRoomManagament.php','openmeetingsRoomManagament',
 'createMyRoomWithMod');
+
+
+
+$hook_array['before_save'][] = Array(1, 'OpenMeetings', 
'modules/Openmeetings/openmeetingsRoomManagament.php','openmeetingsRoomManagament',
 'createRoomWithMod');
+
+//$hook_array['before_save'][] = Array(2, 'OpenMeetings', 
'modules/Openmeetings/openmeetingsRoomManagament.php','openmeetingsRoomManagament',
 'getInvitationHash');
+
+$hook_array['before_save'][] = Array(2, 'OpenMeetings', 
'modules/Openmeetings/openmeetingsRoomManagament.php','openmeetingsRoomManagament',
 'sendInvitationHash');  
+
+*/
+}
+?>
+


Reply via email to