BcUtil::isAdminSystem PHP Метод

isAdminSystem() публичный статический Метод

《注意》by ryuring 処理の内容にCakeRequest や、Router::parse() を使おうとしたが、 Router::parse() を利用すると、Routing情報が書き換えられてしまうので利用できない。 Router::reload() や、Router::setRequestInfo() で調整しようとしたがうまくいかなかった。
public static isAdminSystem ( $url = null ) : boolean
Результат boolean
    public static function isAdminSystem($url = null)
    {
        if (!$url) {
            $request = Router::getRequest(true);
            if ($request) {
                $url = $request->url;
            } else {
                return false;
            }
        }
        $adminPrefix = Configure::read('Routing.prefixes.0');
        return (bool) (preg_match('/^(|\\/)' . $adminPrefix . '\\//', $url) || preg_match('/^(|\\/)' . $adminPrefix . '$/', $url));
    }

Usage Example

 /**
  * Form After Submit
  *
  * フォームの保存ボタンの前後に、一覧、プレビュー、削除ボタンを配置する
  * プレビューを配置する場合は、設定にて、preview を true にする
  *
  * @param CakeEvent $event
  * @return string
  */
 public function formAfterSubmit(CakeEvent $event)
 {
     if (!BcUtil::isAdminSystem()) {
         return;
     }
     $View = $event->subject();
     $data = $View->request->data;
     if (!preg_match('/(AdminEditForm|AdminEditAliasForm)$/', $event->data['id'])) {
         return;
     }
     $output = $View->BcHtml->link('一覧に戻る', array('plugin' => '', 'admin' => true, 'controller' => 'contents', 'action' => 'index'), array('class' => 'button'));
     $setting = Configure::read('BcContents.items.' . $data['Content']['plugin'] . '.' . $data['Content']['type']);
     if (!empty($setting['preview']) && $data['Content']['type'] != 'ContentFolder') {
         $output .= "\n" . $View->BcForm->button('プレビュー', array('class' => 'button', 'id' => 'BtnPreview'));
     }
     $output .= $event->data['out'];
     if (empty($data['Content']['site_root'])) {
         if ($data['Content']['alias_id']) {
             $deleteText = '削除';
         } else {
             $deleteText = 'ゴミ箱へ移動';
         }
         $output .= $View->BcForm->button($deleteText, array('class' => 'button', 'id' => 'BtnDelete'));
     }
     return $output;
 }
All Usage Examples Of BcUtil::isAdminSystem