當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Gdn::InstallationSecret方法代碼示例

本文整理匯總了PHP中Gdn::InstallationSecret方法的典型用法代碼示例。如果您正苦於以下問題:PHP Gdn::InstallationSecret方法的具體用法?PHP Gdn::InstallationSecret怎麽用?PHP Gdn::InstallationSecret使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Gdn的用法示例。


在下文中一共展示了Gdn::InstallationSecret方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: Index

 public function Index() {
    $this->Permission('Garden.Settings.Manage');
    $this->AddSideMenu('dashboard/statistics');
    //$this->AddJsFile('statistics.js');
    $this->Title(T('Vanilla Statistics'));
    $this->EnableSlicing($this);
    
    if ($this->Form->IsPostBack()) {
       
       $Flow = TRUE;
       
       if ($Flow && $this->Form->GetFormValue('ClearCredentials')) {
          Gdn::InstallationID(FALSE);
          Gdn::InstallationSecret(FALSE);
          Gdn::Statistics()->Tick();
          $Flow = FALSE;
       }
       
       if ($Flow && $this->Form->GetFormValue('SaveIdentity')) {
          Gdn::InstallationID($this->Form->GetFormValue('InstallationID'));
          Gdn::InstallationSecret($this->Form->GetFormValue('InstallationSecret'));
          $this->InformMessage(T("Your settings have been saved."));
       }
       
       if ($Flow && $this->Form->GetFormValue('AllowLocal')) {
          SaveToConfig('Garden.Analytics.AllowLocal', TRUE);
       }
       
       if ($Flow && $this->Form->GetFormValue('Allow')) {
          SaveToConfig('Garden.Analytics.Enabled', TRUE);
       }
       
    }
    
    $AnalyticsEnabled = Gdn_Statistics::CheckIsEnabled();
    if ($AnalyticsEnabled) {
       $ConfFile = PATH_LOCAL_CONF.DS.'config.php';
       $this->SetData('ConfWritable', $ConfWritable = is_writable($ConfFile));
       if (!$ConfWritable)
          $AnalyticsEnabled = FALSE;
    }
    
    $this->SetData('AnalyticsEnabled', $AnalyticsEnabled);
    
    $NotifyMessage = Gdn::Get('Garden.Analytics.Notify', FALSE);
    $this->SetData('NotifyMessage', $NotifyMessage);
    if ($NotifyMessage !== FALSE)
       Gdn::Set('Garden.Analytics.Notify', NULL);
    
    $this->Form->SetFormValue('InstallationID', Gdn::InstallationID());
    $this->Form->SetFormValue('InstallationSecret', Gdn::InstallationSecret());
    
    $this->Render();
 }
開發者ID:nerdgirl,項目名稱:Forums-ILoveBadTV,代碼行數:54,代碼來源:class.statisticscontroller.php

示例2: VerifySignature

 /**
  * Signature check
  * 
  * This method checks the supplied signature of a request against a hash of
  * the request arguments augmented with the local secret from the config file.
  * 
  *****
  * THIS METHOD USES ALL SUPPLIED ARGUMENTS IN ITS SIGNATURE HASH ALGORITHM
  *****
  * 
  * @param type $Request Array of request parameters
  * @return boolean Status of verification check, or null if no VanillaID
  */
 protected function VerifySignature($Request)
 {
     // If this response has no ID, return NULL (could not verify)
     $VanillaID = GetValue('VanillaID', $Request, NULL);
     if (is_null($VanillaID)) {
         return NULL;
     }
     // Response is bogus - wrong InstallationID
     if (!is_null(Gdn::InstallationID()) && $VanillaID != Gdn::InstallationID()) {
         return FALSE;
     }
     // If we don't have a secret, we cannot verify anyway
     $VanillaSecret = Gdn::InstallationSecret();
     if (is_null($VanillaSecret)) {
         return NULL;
     }
     // Calculate clock desync
     $CurrentGmTime = Gdn_Statistics::Time();
     $RequestTime = GetValue('RequestTime', $Request, 0);
     $TimeDiff = abs($CurrentGmTime - $RequestTime);
     $AllowedTimeDiff = C('Garden.Analytics.RequestTimeout', 1440);
     // Allow 24* minutes of clock desync, otherwise signature is invalid
     if ($TimeDiff > $AllowedTimeDiff) {
         return FALSE;
     }
     $SecurityHash = GetValue('SecurityHash', $Request);
     // Remove the existing SecuritHash before calculating the signature
     unset($Request['SecurityHash']);
     // Add the real secret
     $Request['Secret'] = $VanillaSecret;
     $SignData = array_intersect_key($Request, array_fill_keys(array('VanillaID', 'Secret', 'RequestTime', 'TimeSlot'), NULL));
     // ksort the array to preserve a known order
     $SignData = array_change_key_case($SignData, CASE_LOWER);
     ksort($SignData);
     // Calculate the hash
     $RealHash = sha1(http_build_query($SignData));
     if ($RealHash == $SecurityHash) {
         return TRUE;
     }
     return FALSE;
 }
開發者ID:Raz0r,項目名稱:Garden,代碼行數:54,代碼來源:class.statistics.php

示例3: doneRegister

 /**
  *
  *
  * @param $Response
  * @param $Raw
  */
 protected function doneRegister($Response, $Raw)
 {
     $VanillaID = val('VanillaID', $Response, false);
     $Secret = val('Secret', $Response, false);
     if (($Secret && $VanillaID) !== false) {
         Gdn::InstallationID($VanillaID);
         Gdn::InstallationSecret($Secret);
         Gdn::Set('Garden.Analytics.Registering', null);
         Gdn::Set('Garden.Analytics.LastSentDate', null);
     }
 }
開發者ID:karanjitsingh,項目名稱:iecse-forum,代碼行數:17,代碼來源:class.statistics.php


注:本文中的Gdn::InstallationSecret方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。