getFullDomain() public static method

public static getFullDomain ( )
示例#1
0
 /**
  * リファラチェックを行う
  *
  * @return bool
  */
 protected function _checkReferer()
 {
     $siteDomain = BcUtil::getFullDomain();
     if (empty($_SERVER['HTTP_REFERER'])) {
         return;
     }
     $refererDomain = BcUtil::getDomain($_SERVER['HTTP_REFERER']);
     if (!preg_match('/^' . preg_quote($siteDomain, '/') . '/', $refererDomain)) {
         throw new NotFoundException();
     }
 }
示例#2
0
 /**
  * URLからサブサイトを取得する
  *
  * @param bool $direct
  * @return BcSite|null
  */
 public static function findCurrent($direct = true)
 {
     $request = Router::getRequest(true);
     if (!$request) {
         $request = new CakeRequest();
     }
     $url = $request->url;
     $sites = self::findAll();
     if (!$sites) {
         return null;
     }
     $url = preg_replace('/^\\//', '', $url);
     $currentSite = null;
     foreach ($sites as $site) {
         if ($site->alias) {
             $domainKey = '';
             if ($site->useSubDomain) {
                 if ($site->domainType == 1) {
                     $domainKey = BcUtil::getSubDomain() . '/';
                 } elseif ($site->domainType == 2) {
                     $domainKey = BcUtil::getFullDomain() . '/';
                 }
             }
             $regex = '/^' . preg_quote($site->alias, '/') . '\\//';
             if (preg_match($regex, $domainKey . $url)) {
                 $currentSite = $site;
                 break;
             }
         }
     }
     if (!$currentSite) {
         $currentSite = $sites[0];
     }
     if (!$direct) {
         $subSite = self::findCurrentSub(true);
         if ($subSite) {
             $currentSite = $subSite;
         }
     }
     return $currentSite;
 }