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']; } }
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']; } }