forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			201 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			201 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | ||
| 
 | ||
| require_once 'OAuth.php';
 | ||
| 
 | ||
| /**
 | ||
|  * Data access interface
 | ||
|  *
 | ||
|  * This interface specifies data access methods libomb needs. It should be
 | ||
|  * implemented by libomb users. OMB_Datastore is libomb’s main interface to the
 | ||
|  * application’s data. Objects corresponding to this interface are used in
 | ||
|  * OMB_Service_Provider and OMB_Service_Consumer.
 | ||
|  *
 | ||
|  * Note that it’s implemented as a class since OAuthDataStore is as well a
 | ||
|  * class, though only declaring methods.
 | ||
|  *
 | ||
|  * OMB_Datastore extends OAuthDataStore with two OAuth-related methods for token
 | ||
|  * revoking and authorizing and all OMB-related methods.
 | ||
|  * Refer to OAuth.php for a complete specification of OAuth-related methods.
 | ||
|  *
 | ||
|  * It is the user’s duty to signal and handle errors. libomb does not check
 | ||
|  * return values nor handle exceptions. It is suggested to use exceptions.
 | ||
|  * Note that lookup_token and getProfile return null if the requested object
 | ||
|  * is not available. This is NOT an error and should not raise an exception.
 | ||
|  * Same applies for lookup_nonce which returns a boolean value. These methods
 | ||
|  * may nevertheless throw an exception, for example in case of a storage errors.
 | ||
|  *
 | ||
|  * Most of the parameters passed to these methods are unescaped and unverified
 | ||
|  * user input. Therefore they should be handled with extra care to avoid
 | ||
|  * security problems like SQL injections.
 | ||
|  *
 | ||
|  * PHP version 5
 | ||
|  *
 | ||
|  * LICENSE: This program is free software: you can redistribute it and/or modify
 | ||
|  * it under the terms of the GNU Affero General Public License as published by
 | ||
|  * the Free Software Foundation, either version 3 of the License, or
 | ||
|  * (at your option) any later version.
 | ||
|  *
 | ||
|  * This program is distributed in the hope that it will be useful,
 | ||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||
|  * GNU Affero General Public License for more details.
 | ||
|  *
 | ||
|  * You should have received a copy of the GNU Affero General Public License
 | ||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||
|  *
 | ||
|  * @package   OMB
 | ||
|  * @author    Adrian Lang <mail@adrianlang.de>
 | ||
|  * @copyright 2009 Adrian Lang
 | ||
|  * @license   http://www.gnu.org/licenses/agpl.html GNU AGPL 3.0
 | ||
|  **/
 | ||
| 
 | ||
| class OMB_Datastore extends OAuthDataStore {
 | ||
| 
 | ||
|   /*********
 | ||
|    * OAUTH *
 | ||
|    *********/
 | ||
| 
 | ||
|   /**
 | ||
|    * Revoke specified OAuth token
 | ||
|    *
 | ||
|    * Revokes the authorization token specified by $token_key.
 | ||
|    * Throws exceptions in case of error.
 | ||
|    *
 | ||
|    * @param string $token_key The key of the token to be revoked
 | ||
|    *
 | ||
|    * @access public
 | ||
|    **/
 | ||
|   public function revoke_token($token_key) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| 
 | ||
|   /**
 | ||
|    * Authorize specified OAuth token
 | ||
|    *
 | ||
|    * Authorizes the authorization token specified by $token_key.
 | ||
|    * Throws exceptions in case of error.
 | ||
|    *
 | ||
|    * @param string $token_key The key of the token to be authorized
 | ||
|    *
 | ||
|    * @access public
 | ||
|    **/
 | ||
|   public function authorize_token($token_key) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| 
 | ||
|   /*********
 | ||
|    *  OMB  *
 | ||
|    *********/
 | ||
| 
 | ||
|   /**
 | ||
|    * Get profile by identifying URI
 | ||
|    *
 | ||
|    * Returns an OMB_Profile object representing the OMB profile identified by
 | ||
|    * $identifier_uri.
 | ||
|    * Returns null if there is no such OMB profile.
 | ||
|    * Throws exceptions in case of other error.
 | ||
|    *
 | ||
|    * @param string $identifier_uri The OMB identifier URI specifying the
 | ||
|    *                               requested profile
 | ||
|    *
 | ||
|    * @access public
 | ||
|    *
 | ||
|    * @return OMB_Profile The corresponding profile
 | ||
|    **/
 | ||
|   public function getProfile($identifier_uri) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| 
 | ||
|   /**
 | ||
|    * Save passed profile
 | ||
|    *
 | ||
|    * Stores the OMB profile $profile. Overwrites an existing entry.
 | ||
|    * Throws exceptions in case of error.
 | ||
|    *
 | ||
|    * @param OMB_Profile $profile   The OMB profile which should be saved
 | ||
|    *
 | ||
|    * @access public
 | ||
|    **/
 | ||
|   public function saveProfile($profile) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| 
 | ||
|   /**
 | ||
|    * Save passed notice
 | ||
|    *
 | ||
|    * Stores the OMB notice $notice. The datastore may change the passed notice.
 | ||
|    * This might by neccessary for URIs depending on a database key. Note that
 | ||
|    * it is the user’s duty to present a mechanism for his OMB_Datastore to
 | ||
|    * appropriately change his OMB_Notice. TODO: Ugly.
 | ||
|    * Throws exceptions in case of error.
 | ||
|    *
 | ||
|    * @param OMB_Notice $notice The OMB notice which should be saved
 | ||
|    *
 | ||
|    * @access public
 | ||
|    **/
 | ||
|   public function saveNotice(&$notice) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| 
 | ||
|   /**
 | ||
|    * Get subscriptions of a given profile
 | ||
|    *
 | ||
|    * Returns an array containing subscription informations for the specified
 | ||
|    * profile. Every array entry should in turn be an array with keys
 | ||
|    *   'uri´: The identifier URI of the subscriber
 | ||
|    *   'token´: The subscribe token
 | ||
|    *   'secret´: The secret token
 | ||
|    * Throws exceptions in case of error.
 | ||
|    *
 | ||
|    * @param string $subscribed_user_uri The OMB identifier URI specifying the
 | ||
|    *                                    subscribed profile
 | ||
|    *
 | ||
|    * @access public
 | ||
|    *
 | ||
|    * @return mixed An array containing the subscriptions or 0 if no
 | ||
|    *               subscription has been found.
 | ||
|    **/
 | ||
|   public function getSubscriptions($subscribed_user_uri) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| 
 | ||
|   /**
 | ||
|    * Delete a subscription
 | ||
|    *
 | ||
|    * Deletes the subscription from $subscriber_uri to $subscribed_user_uri.
 | ||
|    * Throws exceptions in case of error.
 | ||
|    *
 | ||
|    * @param string $subscriber_uri      The OMB identifier URI specifying the
 | ||
|    *                                    subscribing profile
 | ||
|    *
 | ||
|    * @param string $subscribed_user_uri The OMB identifier URI specifying the
 | ||
|    *                                    subscribed profile
 | ||
|    *
 | ||
|    * @access public
 | ||
|    **/
 | ||
|   public function deleteSubscription($subscriber_uri, $subscribed_user_uri) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| 
 | ||
|   /**
 | ||
|    * Save a subscription
 | ||
|    *
 | ||
|    * Saves the subscription from $subscriber_uri to $subscribed_user_uri.
 | ||
|    * Throws exceptions in case of error.
 | ||
|    *
 | ||
|    * @param string     $subscriber_uri      The OMB identifier URI specifying
 | ||
|    *                                        the subscribing profile
 | ||
|    *
 | ||
|    * @param string     $subscribed_user_uri The OMB identifier URI specifying
 | ||
|    *                                        the subscribed profile
 | ||
|    * @param OAuthToken $token               The access token
 | ||
|    *
 | ||
|    * @access public
 | ||
|    **/
 | ||
|   public function saveSubscription($subscriber_uri, $subscribed_user_uri,
 | ||
|                                                                        $token) {
 | ||
|     throw new Exception();
 | ||
|   }
 | ||
| }
 | ||
| ?>
 |