示例#1
0
 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");
 }
示例#2
0
 /**
  * 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);
     }
 }
示例#3
0
 /**	 
  * 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');
     }
 }