/** * Constructor; create a new object with an optional array|Zend_Config * instance containing initialising options. * * @param array|Zend_Config $options * @return void */ public function __construct($options = null) { $this->_config = new Zend_Oauth_Config(); if ($options !== null) { if ($options instanceof Zend_Config) { $options = $options->toArray(); } $this->_config->setOptions($options); } }
/** * Constructor; creates a new HTTP Client instance which itself is * just a typical Zend_Http_Client subclass with some OAuth icing to * assist in automating OAuth parameter generation, addition and * cryptographioc signing of requests. * * @param array $oauthOptions * @param string $uri * @param array|Zend_Config $config * @return void */ public function __construct(array $oauthOptions, $uri = null, $config = null) { parent::__construct($uri, $config); $this->_config = new Zend_Oauth_Config(); if (!is_null($oauthOptions)) { if ($oauthOptions instanceof Zend_Config) { $oauthOptions = $oauthOptions->toArray(); } $this->_config->setOptions($oauthOptions); } }
/** * Constructor; creates a new HTTP Client instance which itself is * just a typical Zend_Http_Client subclass with some OAuth icing to * assist in automating OAuth parameter generation, addition and * cryptographioc signing of requests. * * @param array $oauthOptions * @param string $uri * @param array|Zend_Config $config * @return void */ public function __construct($oauthOptions, $uri = null, $config = null) { if (!isset($config['rfc3986_strict'])) { $config['rfc3986_strict'] = true; } parent::__construct($uri, $config); $this->_config = new Zend_Oauth_Config(); if ($oauthOptions !== null) { if ($oauthOptions instanceof Zend_Config) { $oauthOptions = $oauthOptions->toArray(); } $this->_config->setOptions($oauthOptions); } }
/** * Constructor; creates a new HTTP Client instance which itself is * just a typical Zend_Http_Client subclass with some OAuth icing to * assist in automating OAuth parameter generation, addition and * cryptographioc signing of requests. * * @param array|Zend_Config $oauthOptions * @param string $uri * @param array|Zend_Config $config * @return void */ public function __construct($oauthOptions, $uri = null, $config = null) { if ($config instanceof Zend_Config && !isset($config->rfc3986_strict)) { $config = $config->toArray(); $config['rfc3986_strict'] = true; } else if (null === $config || (is_array($config) && !isset($config['rfc3986_strict']))) { $config['rfc3986_strict'] = true; } parent::__construct($uri, $config); $this->_config = new Zend_Oauth_Config; if ($oauthOptions !== null) { if ($oauthOptions instanceof Zend_Config) { $oauthOptions = $oauthOptions->toArray(); } $this->_config->setOptions($oauthOptions); } }
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ require_once 'common.php'; require_once 'Zend/Oauth.php'; require_once 'Zend/Oauth/Config.php'; require_once 'Zend/Oauth/Token/Access.php'; require_once 'Zend/Mail/Protocol/Imap.php'; require_once 'Zend/Mail/Storage/Imap.php'; /** * Setup OAuth */ $options = array('requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER, 'version' => '1.0', 'signatureMethod' => 'HMAC-SHA1', 'consumerKey' => $TWO_LEGGED_CONSUMER_KEY, 'consumerSecret' => $TWO_LEGGED_CONSUMER_SECRET_HMAC); $config = new Zend_Oauth_Config(); $config->setOptions($options); $config->setToken(new Zend_Oauth_Token_Access()); $config->setRequestMethod('GET'); $url = 'https://mail.google.com/mail/b/' . $TWO_LEGGED_EMAIL_ADDRESS . '/imap/'; $urlWithXoauth = $url . '?xoauth_requestor_id=' . urlencode($TWO_LEGGED_EMAIL_ADDRESS); $httpUtility = new Zend_Oauth_Http_Utility(); /** * Get an unsorted array of oauth params, * including the signature based off those params. */ $params = $httpUtility->assembleParams($url, $config, array('xoauth_requestor_id' => $TWO_LEGGED_EMAIL_ADDRESS)); /** * Sort parameters based on their names, as required * by OAuth. */ ksort($params);
/** * Parse option array or Zend_Config instance and setup options using their * relevant mutators. * * @param array|Zend_Config $options * @return Zend_Oauth_Config */ public function setOptions(array $options) { parent::setOptions($options); foreach ($options as $key => $value) { switch ($key) { case 'realm': $this->setRealm($value); break; } } return $this; }