Ejemplo n.º 1
0
 public function configureRoom($meetingName, $configuration)
 {
     global $prefs;
     if (empty($configuration) || !$this->isDynamicConfigurationSupported()) {
         return null;
     }
     $content = $this->performRequest('getDefaultConfigXML', array('random' => '1'), false);
     if (!$content) {
         return null;
     }
     $config = new Tiki\BigBlueButton\Configuration($content);
     if (isset($configuration['presentation']['active']) && !$configuration['presentation']['active']) {
         $config->removeModule('PresentModule');
     }
     $content = $config->getXml();
     $parameters = array('meetingID' => $meetingName, 'configXML' => rawurlencode($content));
     $tikilib = TikiLib::lib('tiki');
     $checksum = $this->generateChecksum('setConfigXML', $parameters);
     $client = $tikilib->get_http_client($this->getBaseUrl('/api/setConfigXML.xml') . '?');
     $client->setParameterPost(array('meetingID' => $meetingName, 'configXML' => rawurlencode($content), 'checksum' => $checksum));
     $response = $client->request('POST');
     $document = $response->getBody();
     $dom = new DOMDocument();
     $dom->loadXML($document);
     $values = $this->grabValues($dom->documentElement);
     if ($values['returncode'] == 'SUCCESS') {
         return $values['configToken'];
     }
 }
Ejemplo n.º 2
0
 public function configureRoom($meetingName, $configuration)
 {
     global $prefs;
     if (empty($configuration) || !$this->isDynamicConfigurationSupported()) {
         return null;
     }
     $baseUrl = $this->getBaseUrl('/client/conf/config.xml');
     $tikilib = TikiLib::lib('tiki');
     $content = $tikilib->httprequest($baseUrl);
     if (!$content) {
         return null;
     }
     $config = new Tiki\BigBlueButton\Configuration($content);
     if (isset($configuration['presentation']['active']) && !$configuration['presentation']['active']) {
         $config->removeModule('PresentModule');
     }
     $content = $config->getXml();
     $tikilib = TikiLib::lib('tiki');
     $client = $tikilib->get_http_client($this->getBaseUrl('/bigbluebutton/api/setConfigXML.xml'));
     $client->setParameterPost(array('meetingID' => $meetingName, 'checksum' => sha1($meetingName . rawurlencode($content) . $prefs['bigbluebutton_server_salt']), 'configXML' => rawurlencode($content)));
     $response = $client->request('POST');
     $document = $response->getBody();
     $dom = new DOMDocument();
     $dom->loadXML($document);
     $values = $this->grabValues($dom->documentElement);
     if ($values['returncode'] == 'SUCCESS') {
         return $values['configToken'];
     }
 }