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'); + +*/ +} +?> +
