public function step2() { EStructure::view("header"); if ($this->arg_key('save')) { $ocsserver_path = ELoader::$prev_path . '/config/ocsserver.conf.php'; $cf = new EConfigFile(); $cf->set_abs_file($ocsserver_path); $name = $cf->get('name'); $host = $cf->get('host'); $website = $cf->get('website'); $contact = $cf->get('contact'); $location = $cf->get('location'); $ssl = $cf->get('ssl'); $format = $cf->get('format'); $termsofuse = $cf->get('termsofuse'); $register = $cf->get('register'); $version = $cf->get('version'); $serverid = $cf->get('serverid'); $provider = OCSXML::generate_providers($serverid, $name, $location, $termsofuse, $register, $ssl = false); $provider_path = ELoader::$prev_path . '/providers.xml'; $stream = fopen($provider_path, 'w'); fwrite($stream, $provider); fclose($stream); EStructure::view('wizard/step2save'); } $serverid = EHeaderDataParser::post('serverid'); $name = EHeaderDataParser::post('name'); $host = EHeaderDataParser::post('host'); $website = EHeaderDataParser::post('website'); $location = EHeaderDataParser::post('location'); $termsofuse = EHeaderDataParser::post('termsofuse'); $register = EHeaderDataParser::post('register'); $contact = EHeaderDataParser::post('contact'); $ssl = EHeaderDataParser::post('ssl'); $format = EHeaderDataParser::post('format'); $version = OCSUser::version(); //try to guess correct values if (empty($host)) { $host = $_SERVER["SERVER_NAME"]; } if (empty($website)) { $website = EUtility::get_domain($host); } if (empty($name)) { $name = ucfirst(EUtility::get_clear_domain($host)) . ' OCS Server'; } if (empty($serverid)) { $serverid = 'ocs_' . EUtility::get_clear_domain($host); } if (empty($location)) { $location = 'http://' . ELoader::$root_path . '/v1/'; } if ($ssl == 'yes') { $location = str_replace('http://', 'https://', $location); } else { $location = str_replace('https://', 'http://', $location); } //initialize everything to empty string $ssly = ''; $ssln = ''; $jsony = ''; $jsonn = ''; //set the correct value for each menu if ($ssl == 'yes') { $ssly = 'selected'; } else { $ssln = 'selected'; } if ($format == 'json') { $jsony = 'selected'; } else { $jsonn = 'selected'; } $ocsserver_path = ELoader::$prev_path . '/config/ocsserver.conf.php'; $cf = new EConfigFile(); $cf->set_abs_file($ocsserver_path); $cf->set('name', $name); $cf->set('host', $host); $cf->set('website', $host); $cf->set('contact', $contact); $cf->set('location', $location); $cf->set('ssl', $ssl); $cf->set('format', $format); $cf->set('termsofuse', $termsofuse); $cf->set('register', $register); $cf->set('version', $version); $cf->set('serverid', $serverid); $cf->save(); $data = array(); $data['serverid'] = $serverid; $data['name'] = $name; $data['website'] = $website; $data['host'] = $host; $data['location'] = $location; $data['termsofuse'] = $termsofuse; $data['register'] = $register; $data['contact'] = $contact; $data['ssln'] = $ssln; $data['ssly'] = $ssly; $data['jsonn'] = $jsonn; $data['jsony'] = $jsony; $data['exampleprovider'] = htmlspecialchars(OCSXML::generate_providers($serverid, $name, $location, $termsofuse, $register, $ssl = false), ENT_QUOTES); //performing /v1/config get request $s = new ENetworkSocket($location); EUtility::hide_output(); $c = $s->get('config'); if (empty(EUtility::show_output())) { $data['configcall'] = htmlspecialchars($c); } else { $data['configcall'] = 'We couldn\'t connect to OCS server. Check SSL settings and server location entries.'; } EStructure::view('wizard/step2', $data); EStructure::view("footer"); }
/** * Take an array of any size, and make it into xml * @param xmlwriter An xmlwriter instance * @param array The array which is to be transformed * @param mixed Either a string, or an array of elements defining element names for each level in the XML hierarchy * In the case of multiple lists of differently titled items at the same level, adding an array inside the array will allow for this to be constructed. * @param int Internal use (the index of the child item in question - corresponds to the index in the second level array above) */ public static function toxml($writer, $data, $node, $childindex = 0) { $nodename = $node; if (is_array($node)) { $nodename = array_shift($node); } $childcount = -1; foreach ($data as $key => $value) { $childcount++; if (is_numeric($key)) { if (is_array($nodename)) { $key = $nodename[$childindex]; } else { $key = $nodename; } } if (is_array($value)) { xmlwriter_start_element($writer, $key); OCSXML::toxml($writer, $value, $node, $childcount); xmlwriter_end_element($writer); } else { xmlwriter_write_element($writer, $key, $value); } } if (is_array($node)) { array_unshift($node, $nodename); } }
/** * cancel a friendsship invitation * @param string $format * @param string $inviteuser * @return string xml/json */ private function friendcancelrequest($format, $inviteuser) { $user = $this->_checkpassword(); //$this->checktrafficlimit($user); $inviteuser = strip_tags(addslashes($inviteuser)); if ($user != '' and $inviteuser != '') { H01_RELATION::deleterelationrequest(1, $user, $inviteuser, CONFIG_USERDB); echo OCSXML::generatexml($format, 'ok', 100, ''); } else { echo OCSXML::generatexml($format, 'failed', 101, 'user not found'); } }