Changeset 1386
- Timestamp:
- 11/30/08 07:28:57 (6 weeks ago)
- Files:
-
- 1 modified
-
plugins/dropiosilo/trunk/dropiosilo.plugin.php (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
plugins/dropiosilo/trunk/dropiosilo.plugin.php
r1384 r1386 47 47 Options::set('dropiosilo__api_key', ''); 48 48 Options::set('dropiosilo__drop_name', ''); 49 Options::set('dropiosilo__password', ''); 49 50 } 50 51 … … 87 88 $form->append('label', 'api_key_get_label', '<a href="http://api.drop.io/" target="_blank">doesn\'t have API Key?</a>'); 88 89 $form->append('text', 'drop_name', 'dropiosilo__drop_name', _t('Drop Name: ', 'dropiosilo')); 90 $form->append('password', 'password', 'dropiosilo__password', _t('Guest Password (optional): ', 'dropiosilo')); 89 91 $form->append('submit', 'save', _t('Save')); 90 92 $form->out(); … … 135 137 public function silo_info() 136 138 { 137 $dropio = new DropioAPI(Options::get('dropiosilo__api_key'), Options::get('dropiosilo__drop_name')); 138 if ($dropio->check()) { 139 $dropio = new DropioAPI(Options::get('dropiosilo__api_key'), Options::get('dropiosilo__drop_name'), Options::get('dropiosilo__password')); 140 try { 141 $dropio->check(); 139 142 return array( 140 143 'name' => self::SILO_NAME, 141 144 'icon' => $this->get_url() . '/img/icon.png' 142 145 ); 143 } else{144 Session::error( _t('drop.io Silo: Invalid API Key or Drop Name', 'dropiosilo'));146 } catch (Exception $e) { 147 Session::error(sprintf(_t('drop.io Silo: %s', 'dropiosilo'), $e->getMessage())); 145 148 return array(); 146 149 } … … 158 161 $results = array(); 159 162 160 $dropio = new DropioAPI(Options::get('dropiosilo__api_key'), Options::get('dropiosilo__drop_name')); 161 $assets = $dropio->get_assets(); 163 $dropio = new DropioAPI(Options::get('dropiosilo__api_key'), Options::get('dropiosilo__drop_name'), Options::get('dropiosilo__password')); 164 try { 165 $assets = $dropio->get_assets(); 166 } catch (Exception $e) { 167 return array(); 168 } 162 169 163 170 for ($i = 0; $i < count($assets); $i++) { … … 247 254 private $api_key; 248 255 private $drop_name; 256 private $token; 249 257 private $base_url = 'http://api.drop.io/drops/'; 250 258 … … 256 264 * @param string $drop_name 257 265 */ 258 public function __construct($api_key, $drop_name )266 public function __construct($api_key, $drop_name, $token = '') 259 267 { 260 268 $this->api_key = $api_key; 261 269 $this->drop_name = $drop_name; 270 $this->token = $token; 262 271 } 263 272 … … 269 278 public function check() 270 279 { 271 $request = new RemoteRequest($this->base_url . $this->drop_name . '?api_key=' . $this->api_key . '& version=1.0&format=json', 'GET');280 $request = new RemoteRequest($this->base_url . $this->drop_name . '?api_key=' . $this->api_key . '&token=' . $this->token . '&version=1.0&format=json', 'GET'); 272 281 $result = $request->execute(); 273 if ($result !== true) return false; 274 $drop = json_decode($request->get_response_body()); 275 if (isset($drop->name) && $drop->name == $this->drop_name) return true; 276 return false; 282 if ($result !== true) throw new Exception('Invalid API Key, Drop Name or Password.'); 283 $respose = json_decode($request->get_response_body()); 284 if (isset($response->result) && $response->result == 'Failure') { 285 throw new Exception($response->message); 286 } 287 return true; 277 288 } 278 289 … … 284 295 public function get_assets() 285 296 { 286 $request = new RemoteRequest($this->base_url . $this->drop_name . '/assets?api_key=' . $this->api_key . '& version=1.0&format=json', 'GET');297 $request = new RemoteRequest($this->base_url . $this->drop_name . '/assets?api_key=' . $this->api_key . '&token=' . $this->token . '&version=1.0&format=json', 'GET'); 287 298 $result = $request->execute(); 288 if ($result !== true) return false; 289 $assets = json_decode($request->get_response_body()); 290 return $assets; 299 if ($result !== true) throw new Exception('Invalid API Key, Drop Name or Password.'); 300 $response = json_decode($request->get_response_body()); 301 if (isset($response->result) && $response->result == 'Failure') { 302 throw new Exception($response->message); 303 } 304 return $response; 291 305 } 292 306 }
