OAuthFetcherFactoryCreate($oauthCrypter, $tokenStore); } elseif (isset($fetcher)) { return $this->OAuthFetcherFactoryInit($fetcher); } else { throw new Exception('Wrong number of parameters in the OAuthFetcherFactory constuct'); } } /** * Initialize the OAuth factory with a default implementation of * BlobCrypter and consumer keys/secrets read from oauth.js */ public function OAuthFetcherFactoryInit($fetcher) { try { $BBC = new BasicBlobCrypter(); $this->oauthCrypter = new BasicBlobCrypter(srand($BBC->MASTER_KEY_MIN_LEN)); $specFactory = new BasicGadgetSpecFactory($fetcher); $basicStore = new BasicGadgetOAuthTokenStore(new BasicOAuthStore(), $specFactory); $basicStore->initFromConfigFile($fetcher); $this->tokenStore = $basicStore; } catch (Exeption $e) {} } /** * Creates an OAuthFetcherFactory based on prepared crypter and token store. * * @param oauthCrypter used to wrap client side state * @param tokenStore used as interface to persistent token store. */ protected function OAuthFetcherFactoryCreate($oauthCrypter, $tokenStore) { $this->oauthCrypter = $oauthCrypter; $this->tokenStore = $tokenStore; } /** * Produces an OAuthFetcher that will sign requests and delegate actual * network retrieval to the {@code nextFetcher} * * @param nextFetcher The fetcher that will fetch real content * @param token The gadget token used to identity the user and gadget * @param params The parsed parameters the gadget requested * @return The oauth fetcher. * @throws GadgetException */ public function getOAuthFetcher($nextFetcher, $token, $params) { $fetcher = new OAuthFetcher($this->tokenStore, $this->oauthCrypter, $nextFetcher, $token, $params); return $fetcher; } }