FeedDetailsController::admin_edit PHP Метод

admin_edit() публичный Метод

[ADMIN] 編集
public admin_edit ( integer $feedConfigId, integer $id ) : void
$feedConfigId integer
$id integer
Результат void
    public function admin_edit($feedConfigId, $id)
    {
        if (!$id && empty($this->request->data)) {
            $this->setMessage('無効なIDです。', true);
            $this->redirect(array('controller' => 'feed_configs', 'action' => 'index'));
        }
        if (empty($this->request->data)) {
            $this->request->data = $this->FeedDetail->read(null, $id);
        } else {
            if (!preg_match('/^http/is', $this->request->data['FeedDetail']['url']) && !preg_match('/^\\//is', $this->request->data['FeedDetail']['url'])) {
                $this->request->data['FeedDetail']['url'] = '/' . $this->request->data['FeedDetail']['url'];
            }
            $this->FeedDetail->set($this->request->data);
            // データを保存
            if ($this->FeedDetail->save()) {
                $this->requestAction(array('controller' => 'feed_configs', 'action' => 'clear_cache'), array('pass' => array($this->request->data['FeedDetail']['feed_config_id'], $this->request->data['FeedDetail']['url'])));
                $this->setMessage('フィード詳細「' . $this->request->data['FeedDetail']['name'] . '」を更新しました。', false, true);
                $this->redirect(array('controller' => 'feed_configs', 'action' => 'edit', $feedConfigId, $id, '#' => 'headFeedDetail'));
            } else {
                $this->setMessage('入力エラーです。内容を修正してください。', true);
            }
        }
        // 表示設定
        $this->pageTitle = 'フィード情報編集';
        $this->render('form');
    }