From eb9aa683701c00e9360617cff3a52413c8950f62 Mon Sep 17 00:00:00 2001 From: dongsheng Date: Wed, 13 Aug 2008 08:35:18 +0000 Subject: [PATCH] MDL-13766 1. worked with muliti-instance of same plugins 2. get API KEY from database --- repository/boxnet/repository.class.php | 24 +++++++++----------- repository/flickr/repository.class.php | 31 ++++++++++++++------------ 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/repository/boxnet/repository.class.php b/repository/boxnet/repository.class.php index 7511979511..1f9f2e858f 100755 --- a/repository/boxnet/repository.class.php +++ b/repository/boxnet/repository.class.php @@ -18,44 +18,42 @@ class repository_boxnet extends repository{ $options['username'] = optional_param('boxusername', '', PARAM_RAW); $options['password'] = optional_param('boxpassword', '', PARAM_RAW); $options['ticket'] = optional_param('ticket', '', PARAM_RAW); - $options['api_key'] = 'dmls97d8j3i9tn7av8y71m9eb55vrtj4'; + $reset = optional_param('reset', 0, PARAM_INT); + parent::__construct($repositoryid, $context, $options); + $this->api_key = $this->get_option('api_key'); + $sess_name = 'box_token'.$this->id; // reset session - $reset = optional_param('reset', 0, PARAM_INT); if(!empty($reset)) { - // TODO - // think about muliti-instance - // must improve! - unset($SESSION->box_token); + unset($SESSION->$sess_name); } // do login if(!empty($options['username']) && !empty($options['password']) && !empty($options['ticket']) ) { - $this->box = new boxclient($options['api_key']); + $this->box = new boxclient($this->api_key); try{ - $SESSION->box_token = $this->box->getAuthToken($options['ticket'], + $SESSION->$sess_name = $this->box->getAuthToken($options['ticket'], $options['username'], $options['password']); } catch (repository_exception $e) { throw $e; } } // already logged - if(!empty($SESSION->box_token)) { + if(!empty($SESSION->$sess_name)) { if(empty($this->box)) { - $this->box = new boxclient($options['api_key'], $SESSION->box_token); + $this->box = new boxclient($this->api_key, $SESSION->$sess_name); } - $options['auth_token'] = $SESSION->box_token; + $this->auth_token = $SESSION->$sess_name; if(empty($action)) { $action = 'list'; } } else { - $this->box = new boxclient($options['api_key']); + $this->box = new boxclient($this->api_key); if(!empty($action)) { $action = ''; } } - parent::__construct($repositoryid, $context, $options); } public function get_login(){ diff --git a/repository/flickr/repository.class.php b/repository/flickr/repository.class.php index 0207fc05c9..ce9ea6d95f 100755 --- a/repository/flickr/repository.class.php +++ b/repository/flickr/repository.class.php @@ -17,33 +17,34 @@ class repository_flickr extends repository{ public function __construct($repositoryid, $context = SITEID, $options = array()){ global $SESSION, $action, $CFG; $options['page'] = optional_param('p', 1, PARAM_INT); - $options['api_key'] = 'bf85ae2b5b105a2c645f32a32cd6ad59'; $options['secret'] = '7cb2f9d7cf70aebe'; parent::__construct($repositoryid, $context, $options); - $this->flickr = new phpFlickr($this->options['api_key'], $this->options['secret']); + $this->api_key = $this->get_option('api_key'); + $this->flickr = new phpFlickr($this->api_key, $this->options['secret']); $reset = optional_param('reset', 0, PARAM_INT); + $sess_name = 'flickrmail'.$this->id; if(!empty($reset)) { // logout from flickr - unset($SESSION->flickrmail); - set_user_preference('flickrmail', ''); + unset($SESSION->$sess_name); + set_user_preference('flickrmail'.$this->id, ''); } - if(!empty($SESSION->flickrmail)) { + if(!empty($SESSION->$sess_name)) { if(empty($action)) { $action = 'list'; } } else { // get flickr account - $options['flickrmail'] = optional_param('flickrmail', '', PARAM_RAW); - if(!empty($options['flickrmail'])) { - $people = $this->flickr->people_findByEmail($options['flickrmail']); + $account = optional_param('flickrmail', '', PARAM_RAW); + if(!empty($account)) { + $people = $this->flickr->people_findByEmail($account); if(!empty($people)) { $remember = optional_param('remember', '', PARAM_RAW); if(!empty($remember)) { - set_user_preference('flickrmail', $options['flickrmail']); + set_user_preference('flickrmail'.$this->id, $account); } - $SESSION->flickrmail = $options['flickrmail']; + $SESSION->$sess_name = $account; if(empty($action)) { $action = 'list'; } @@ -51,8 +52,8 @@ class repository_flickr extends repository{ throw new repository_exception('invalidemail', 'repository_flickr'); } } else { - if($account = get_user_preferences('flickrmail', '')){ - $SESSION->flickrmail = $account; + if($account = get_user_preferences('flickrmail'.$this->id, '')){ + $SESSION->$sess_name = $account; if(empty($action)) { $action = 'list'; } @@ -62,7 +63,8 @@ class repository_flickr extends repository{ } public function print_login($ajax = true){ global $SESSION; - if(empty($SESSION->flickrmail)) { + $sess_name = 'flickrmail'.$this->id; + if(empty($SESSION->$sess_name)) { $str =<<
@@ -98,7 +100,8 @@ EOD; } public function get_listing($path = '1', $search = ''){ global $SESSION; - $people = $this->flickr->people_findByEmail($SESSION->flickrmail); + $sess_name = 'flickrmail'.$this->id; + $people = $this->flickr->people_findByEmail($SESSION->$sess_name); $photos_url = $this->flickr->urls_getUserPhotos($people['nsid']); if(!empty($search)) { -- 2.39.5