? bbb.patch
Index: includes/api.bbb.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/bbb/includes/Attic/api.bbb.inc,v
retrieving revision 1.1.2.2
diff -u -p -r1.1.2.2 api.bbb.inc
--- includes/api.bbb.inc	15 Mar 2010 19:19:00 -0000	1.1.2.2
+++ includes/api.bbb.inc	30 Aug 2010 12:47:29 -0000
@@ -56,7 +56,7 @@
  * @see http://code.google.com/p/bigbluebutton/wiki/API#Create_Meeting_(create)
  */
 function bbb_api_create($params = array()) {
-  $query_string = bbb_api_generate_querystring($params);
+  $query_string = bbb_api_generate_querystring($params,'create');
   $request = BIGBLUEBUTTON_BASE_URL . BIGBLUEBUTTON_CREATE_URL . '?' . $query_string;
   $xml = @simplexml_load_file($request);
   $response = bbb_api_parse_response($xml);
@@ -100,7 +100,7 @@ function bbb_api_create($params = array(
  *   into the conference.
  */
 function bbb_api_join($params) {
-  $query_string = bbb_api_generate_querystring($params);
+  $query_string = bbb_api_generate_querystring($params, 'join');
   return BIGBLUEBUTTON_BASE_URL . BIGBLUEBUTTON_JOIN_URL . '?' . $query_string;
 }
 
@@ -122,7 +122,7 @@ function bbb_api_join($params) {
  *   this ID or token is currently running.
  */
 function bbb_api_isMeetingRunning($params) {
-  $query_string = bbb_api_generate_querystring($params);
+  $query_string = bbb_api_generate_querystring($params, 'isMeetingRunning');
   $request = BIGBLUEBUTTON_BASE_URL . BIGBLUEBUTTON_IS_MEETING_RUNNING_URL . '?' . $query_string;
   $xml = @simplexml_load_file($request);
   $response = bbb_api_parse_response($xml);
@@ -159,7 +159,7 @@ function bbb_api_isMeetingRunning($param
  */
 // TODO: this call is not yet implemented.
 function bbb_api_endMeeting($params) {
-  $query_string = bbb_api_generate_querystring($params);
+  $query_string = bbb_api_generate_querystring($params, 'endMeeting');
   $request = BIGBLUEBUTTON_BASE_URL . BIGBLUEBUTTON_END_MEETING_URL . '?' . $query_string;
   $xml = @simplexml_load_file($request);
   $response = bbb_api_parse_response($xml);
@@ -215,7 +215,7 @@ function bbb_api_getMeetingInfo($params)
 /**
  * Generate a signed query string
  */
-function bbb_api_generate_querystring($params = array()) {
+function bbb_api_generate_querystring($params = array(), $call = '') {
   $query = array();
   // URL encoding the parameters
   foreach ($params as $key => $value) {
@@ -224,10 +224,11 @@ function bbb_api_generate_querystring($p
   // Putting it together
   $query_string = implode('&', $query);
   // Adding the checksum to query string and return
-  $query_string = $query_string . '&checksum=' . sha1($query_string . BIGBLUEBUTTON_SECURITY_SALT);
+  $query_string = $query_string . '&checksum=' . sha1($call . $query_string . BIGBLUEBUTTON_SECURITY_SALT);
   return $query_string;
 }
 
+
 /**
  * Parse xml response
  *
