コード例 #1
0
ファイル: fireeagle.php プロジェクト: habari-extras/fireeagle
 public static function from_fireeaglerc($fn, $token = null, $secret = null)
 {
     $text = @file_get_contents($fn);
     if ($text === false) {
         throw new FireEagleException("Could not read {$fn}", FireEagleException::CONFIG_READ_ERROR);
     }
     $info = array();
     foreach (preg_split("/\n/", $text) as $line) {
         $line = trim(preg_replace("/#.*/", "", $line));
         if (empty($line)) {
             continue;
         }
         if (!preg_match("/^([^\\s=]+)\\s*\\=\\s*(.*)\$/", $line, $m)) {
             throw new FireEagleException("Failed to parse line '{$line}' in {$fn}", FireEagleException::CONFIG_READ_ERROR);
         }
         list(, $k, $v) = $m;
         $info[$k] = $v;
     }
     if (empty($info['consumer_key'])) {
         throw new FireEagleException("Missing consumer_key in {$fn}", FireEagleException::CONFIG_READ_ERROR);
     }
     if (empty($info['consumer_secret'])) {
         throw new FireEagleException("Missing consumer_secret in {$fn}", FireEagleException::CONFIG_READ_ERROR);
     }
     if (isset($info['api_server'])) {
         self::$FE_API_ROOT = self::build_server_url($info, 'api');
     }
     if (isset($info['auth_server'])) {
         self::$FE_ROOT = self::build_server_url($info, 'auth');
     }
     return new FireEagle($info['consumer_key'], $info['consumer_secret'], $token, $secret);
 }
コード例 #2
0
 /**
  * refresh location
  *
  * @access private
  * @param mixed $who user ID, username, or e-mail address
  * @return boolean
  */
 private function update($who)
 {
     $user = User::get($who);
     if (!$user) {
         return false;
     }
     $access_token = Options::get('fireeagle__access_token_' . $user->id);
     $access_token_secret = Options::get('fireeagle__access_token_secret_' . $user->id);
     if (empty($access_token) || empty($access_token_secret)) {
         return;
     }
     $fireeagle = new FireEagleAPI($this->consumer_key, $this->consumer_secret, $access_token, $access_token_secret);
     try {
         $result = $fireeagle->user();
     } catch (FireEagleException $e) {
         return false;
     }
     if (!isset($result->user->best_guess)) {
         return false;
     }
     $location = $result->user->best_guess;
     $user->info->fireeagle_longitude = $location->longitude;
     $user->info->fireeagle_latitude = $location->latitude;
     $user->info->fireeagle_level = $location->level;
     if (isset($location->name)) {
         $user->info->fireeagle_location = $location->name;
     } else {
         $user->info->fireeagle_location = '';
     }
     $user->info->commit();
     Plugins::act('fireeagle_after_update', $user);
     return true;
 }