]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-13766
authordongsheng <dongsheng>
Wed, 13 Aug 2008 08:35:18 +0000 (08:35 +0000)
committerdongsheng <dongsheng>
Wed, 13 Aug 2008 08:35:18 +0000 (08:35 +0000)
1. worked with muliti-instance of same plugins
2. get API KEY from database

repository/boxnet/repository.class.php
repository/flickr/repository.class.php

index 75119795110f6422c11b0d420430b60279d1203e..1f9f2e858f3fe61f676cca4c6a83b46e2106284e 100755 (executable)
@@ -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(){
index 0207fc05c9c3433a25aa4db3ce3065642510fdbb..ce9ea6d95f059881651a687d5f42db3f1542e627 100755 (executable)
@@ -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 =<<<EOD
 <form id="moodle-repo-login">
 <label for="account">Account (Email)</label><br/>
@@ -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)) {