BcSite::findById PHP Method

findById() public static method

public static findById ( $id )
    public static function findById($id)
    {
        $sites = self::findAll();
        foreach ($sites as $site) {
            if ($id == $site->id) {
                return $site;
            }
        }
        return null;
    }

Usage Example

Beispiel #1
0
 /**
  * URLを取得する
  *
  * @param $url
  * @param bool $useSubDomain
  * @return string
  */
 public function getUrl($url, $full = false, $useSubDomain = false)
 {
     if ($useSubDomain && !is_array($url)) {
         $subDomain = '';
         $site = BcSite::findByUrl($url);
         $originUrl = $url;
         if ($site) {
             $subDomain = $site->alias;
             $originUrl = preg_replace('/^\\/' . preg_quote($site->alias, '/') . '\\//', '/', $url);
         }
         if ($originUrl == '/') {
             $urlArray = [];
         } else {
             $urlArray = explode('/', preg_replace('/(^\\/|\\/$)/', '', $originUrl));
         }
         if (preg_match('/\\/$/', $url) && count($urlArray) > 0) {
             $originUrl .= '/';
         }
         if ($full) {
             $fullUrl = fullUrl($originUrl);
             if (BcUtil::isAdminSystem()) {
                 if ($site->domainType == 1) {
                     $fullUrlArray = explode('//', $fullUrl);
                     return $fullUrlArray[0] . '//' . $subDomain . '.' . $fullUrlArray[1];
                 } elseif ($site->domainType == 2) {
                     $fullUrlArray = explode('//', $fullUrl);
                     $urlArray = explode('/', $fullUrlArray[1]);
                     unset($urlArray[0]);
                     if ($site->sameMainUrl) {
                         $mainSite = BcSite::findById($site->mainSiteId);
                         $subDomain = $mainSite->alias;
                     }
                     return $fullUrlArray[0] . '//' . $subDomain . '/' . implode('/', $urlArray);
                 }
             } else {
                 return $fullUrl;
             }
         } else {
             return Router::url($originUrl);
         }
     } else {
         if (BC_INSTALLED) {
             if (!is_array($url)) {
                 $site = BcSite::findByUrl($url);
                 if ($site && $site->sameMainUrl) {
                     $mainSite = BcSite::findById($site->mainSiteId);
                     $alias = $mainSite->alias;
                     if ($alias) {
                         $alias = '/' . $alias;
                     }
                     $url = $alias . $site->getPureUrl($url);
                 }
             }
         }
         if ($full) {
             return fullUrl($url);
         } else {
             return Router::url($url);
         }
     }
 }
All Usage Examples Of BcSite::findById