gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

後で推敲する用memo:編集 -> 確認( -> 完了)

edit

//処理
public function execute_auth() {
  // もし「confから来たわけではない」場合、DBからの情報を設定する
  if (false === $this->is_bag('edit_from_cgi')) {
    $cobj = new hogehoge_clump();
    $cobj->set_db($this->get_db());
    $cobj->set_value('pk', $this->get_cgi_request()->find('pk'));
    if (true === $cobj->get()) {
      // データ一式ぶち込む
      $cobj->set_all_to_conv($this->get_conv());
    } else {
      // XXX どこにエラーすっ飛ばしてやろうかねぇ?
      $this->recursive_on();
      $this->set_recursive_command('purgatorium');
      return ;
    }
  }

  //
  return ;
}

conf

//処理
public function execute_auth() {
  // cgiリクエストが詰まったオブジェクト取ってくる
  $req = $this->get_cgi_request();
  // convインスタンス取ってくる
  $conv = $this->get_conv();
  // DBインスタンス取ってくる
  $dbh = $this->get_db();

  // clump作る
  $cobj = new hogehoge_clump();

  // まずはDBから情報を
  $cobj->set_db($this->get_db());
  $cobj->set_value('pk', $this->get_cgi_request()->find('pk'));
  if (false === $cobj->get()) {
    // XXX どこにエラーすっ飛ばしてやろうかねぇ?
    $this->recursive_on();
    $this->set_recursive_command('purgatorium');
    return ;
  }

  // 情報を上書くように取得
  $cobj->set_from_cgi($req); // この一行でformの所定のデータを一式ゲトる

  // vlidate
  if (false === $cobj->is_valid($conv)) { // validate & エラーならエラー出力用の設定を一式
    // editコマンドに流す
    $this->set_bag('edit_from_cgi', true); // YYY
    $this->recursive_on();
    $this->set_recursive_command('edit'); // YYY
    //
    return;
  }

  // うまくいったっぽなので…

  // 「今の日付」を入れてみる
  $cobj->set_value_nowdate('update_date', false);

  // セッションにデータをいったんぶち込む
  $cobj->set_db($dbh);
  $cobj->set_to_tmp($this->get_session_obj());

  // 確認画面用の表示を設定する
  $cobj->set_all_to_conv($conv);

  //
  return ;
}