Example #1
0
 protected function getRequestToken($oConsumer = null)
 {
     if (empty($oConsumer)) {
         $oConsumer = $this->getServiceObject();
     }
     $aRequestToken = $oConsumer->getRequestToken(BX_DOL_OAUTH_URL_REQUEST_TOKEN);
     if (empty($aRequestToken)) {
         return _t('_adm_err_oauth_cannot_get_token');
     }
     if ($this->isServerError($aRequestToken)) {
         throw new OAuthException();
     }
     $this->oSession->setValue('sys_oauth_secret', $aRequestToken['oauth_token_secret']);
     return _t('_adm_msg_oauth_need_authorize', bx_append_url_params(BX_DOL_OAUTH_URL_AUTHORIZE, array('oauth_token' => $aRequestToken['oauth_token'], 'sid' => bx_site_hash())));
 }
Example #2
0
 protected function authorize($sKey, $sSecret)
 {
     if ($this->isAuthorized()) {
         return true;
     }
     try {
         $oConsumer = new OAuth($sKey, $sSecret);
         $oConsumer->setAuthType(OAUTH_AUTH_TYPE_URI);
         $oConsumer->enableDebug();
         $bToken = bx_get('oauth_token') !== false;
         $mixedSecret = $this->oSession->getValue('sys_oauth_secret');
         if (!$bToken && $mixedSecret !== false) {
             $this->oSession->unsetValue('sys_oauth_secret');
             $mixedSecret = false;
         }
         //--- Get request token and redirect to authorize.
         if (!$bToken && $mixedSecret === false) {
             $aRequestToken = $oConsumer->getRequestToken(BX_DOL_OAUTH_URL_REQUEST_TOKEN);
             if (empty($aRequestToken)) {
                 return _t('_adm_err_oauth_cannot_get_token');
             }
             if ($this->isServerError($aRequestToken)) {
                 return $this->processServerError($aRequestToken);
             }
             $this->oSession->setValue('sys_oauth_secret', $aRequestToken['oauth_token_secret']);
             return _t('_adm_msg_oauth_need_authorize', bx_append_url_params(BX_DOL_OAUTH_URL_AUTHORIZE, array('oauth_token' => $aRequestToken['oauth_token'], 'sid' => bx_site_hash())));
         }
         //--- Get access token.
         if ($bToken && $mixedSecret !== false) {
             $oConsumer->setToken(bx_get('oauth_token'), $mixedSecret);
             $aAccessToken = $oConsumer->getAccessToken(bx_append_url_params(BX_DOL_OAUTH_URL_ACCESS_TOKEN, array('oauth_verifier' => bx_get('oauth_verifier'))));
             if (empty($aAccessToken)) {
                 return _t('_adm_err_oauth_cannot_get_token');
             }
             if ($this->isServerError($aAccessToken)) {
                 return $this->processServerError($aAccessToken);
             }
             $this->oSession->setValue('sys_oauth_token', $aAccessToken['oauth_token']);
             $this->oSession->setValue('sys_oauth_secret', $aAccessToken['oauth_token_secret']);
             $this->oSession->setValue('sys_oauth_authorized', 1);
             $this->oSession->setValue('sys_oauth_authorized_user', (int) bx_get('oauth_user'));
             return true;
         }
     } catch (OAuthException $e) {
         return _t('_adm_err_oauth_cannot_get_token');
     }
 }
 protected function authorize($sKey, $sSecret)
 {
     if ($this->isAuthorized()) {
         return true;
     }
     try {
         $oService = $this->getServiceObject();
         $bToken = bx_get('oauth_token') !== false;
         $mixedSecret = $this->oSession->getValue('sys_oauth_secret');
         if (!$bToken && $mixedSecret !== false) {
             $this->oSession->unsetValue('sys_oauth_secret');
             $mixedSecret = false;
         }
         //--- Get request token and redirect to authorize.
         if (!$bToken && $mixedSecret === false) {
             $oToken = $oService->requestRequestToken();
             if (empty($oToken)) {
                 return _t('_adm_err_oauth_cannot_get_token');
             }
             $this->oSession->setValue('sys_oauth_secret', $oToken->getRequestTokenSecret());
             $oUrl = $oService->getAuthorizationUri(array('oauth_token' => $oToken->getRequestToken()));
             return _t('_adm_msg_oauth_need_authorize', bx_append_url_params($oUrl, array('sid' => bx_site_hash())));
         }
         //--- Get access token.
         if ($bToken && $mixedSecret !== false) {
             $oToken = $this->oStorage->retrieveAccessToken($this->sService);
             $oAccessToken = $oService->requestAccessToken(bx_get('oauth_token'), bx_get('oauth_verifier'), $oToken->getRequestTokenSecret());
             if (empty($oAccessToken)) {
                 return _t('_adm_err_oauth_cannot_get_token');
             }
             $this->oSession->setValue('sys_oauth_token', $oAccessToken->getAccessToken());
             $this->oSession->setValue('sys_oauth_secret', $oAccessToken->getAccessTokenSecret());
             $this->oSession->setValue('sys_oauth_authorized', 1);
             $this->oSession->setValue('sys_oauth_authorized_user', (int) bx_get('oauth_user'));
             return true;
         }
     } catch (TokenResponseException $e) {
         return _t('_adm_err_oauth_cannot_get_token');
     } catch (TokenNotFoundException $e) {
         return _t('_adm_err_oauth_cannot_get_token');
     }
 }
Example #4
0
 /**
  * Get file name where the template would be cached.
  *
  * @param  string $sAbsolutePath template's real path.
  * @return string the result of operation.
  */
 function _getCacheFileName($sType, $sAbsolutePath)
 {
     $sResult = bx_site_hash($sAbsolutePath);
     switch ($sType) {
         case 'html':
             $sResult = $this->_sCacheFilePrefix . bx_lang_name() . '_' . $this->_sCode . '_' . $sResult;
             break;
         case 'css':
             $sResult = $this->_sCssCachePrefix . $sResult;
             break;
         case 'js':
             $sResult = $this->_sJsCachePrefix . $sResult;
             break;
     }
     return $sResult;
 }
Example #5
0
 function genDbCacheKey($sName)
 {
     return 'db_' . $sName . '_' . bx_site_hash() . '.php';
 }
Example #6
0
 /**
  * Get page cache key.
  * @param $isPrefixOnly return key prefix only.
  * @return string
  */
 protected function _getPageCacheKey($isPrefixOnly = false)
 {
     $s = 'page_' . $this->_aObject['object'] . '_';
     if ($isPrefixOnly) {
         return $s;
     }
     $s .= $this->_getPageCacheParams();
     $s .= bx_site_hash() . '.php';
     return $s;
 }
Example #7
0
 private function checkoutCart($sVendor)
 {
     bx_import('BxDolStudioCart');
     $oCart = BxDolStudioCart::getInstance();
     $aItems = $oCart->getByVendor($sVendor);
     if (empty($aItems) || !is_array($aItems)) {
         return false;
     }
     $aIds = array();
     foreach ($aItems as $aItem) {
         $aIds[] = $aItem['item_id'];
     }
     $sSid = bx_site_hash();
     return BX_DOL_UNITY_URL_MARKET . 'purchase/' . $sVendor . '?sid=' . $sSid . '&products=' . base64_encode(implode(',', $aIds));
 }
 protected function getRequestToken($oService = null)
 {
     if (empty($oService)) {
         $oService = $this->getServiceObject();
     }
     $oToken = $oService->requestRequestToken();
     if (empty($oToken)) {
         return _t('_adm_err_oauth_cannot_get_token');
     }
     $this->oSession->setValue('sys_oauth_secret', $oToken->getRequestTokenSecret());
     $oUrl = $oService->getAuthorizationUri(array('oauth_token' => $oToken->getRequestToken()));
     return _t('_adm_msg_oauth_need_authorize', bx_append_url_params($oUrl, array('sid' => bx_site_hash())));
 }
 protected function getRequestToken($oService = null)
 {
     if (empty($oService)) {
         $oService = $this->getServiceObject();
     }
     $sError = _t('_adm_err_oauth_cannot_get_token');
     try {
         $oToken = $oService->requestRequestToken();
     } catch (TokenResponseException $e) {
         if (!$this->isAuthorized()) {
             return $sError;
         }
         $this->unsetAuthorizedUser();
         return $this->getRequestToken($oService);
     }
     if (empty($oToken)) {
         return $sError;
     }
     $this->oSession->setValue('sys_oauth_secret', $oToken->getRequestTokenSecret());
     $oUrl = $oService->getAuthorizationUri(array('oauth_token' => $oToken->getRequestToken()));
     return _t('_adm_msg_oauth_need_authorize', bx_append_url_params($oUrl, array('sid' => bx_site_hash())));
 }