Example #1
0
 /**
  * フォームレンダラ指定
  *
  * フォームのレンダラーを指定します。
  * <pre>
  * self::setRenderer(self::RENDERER_SMARTY_ARRAY); //デファオルト
  * self::setRenderer(self::RENDERER_DHTML_TABLELESS); //DHTML
  *
  * @param string $renderer フォームレンダラー
  *
  * @return void
  *
  * @see http://pear.php.net/manual/ja/package.html.html-quickform-renderer-tableless.intro.php
  */
 public static function setRenderer($renderer)
 {
     self::$_renderer = $renderer;
 }
Example #2
0
 /**
  * 表示
  *
  * ビューにセットされたバリューをテンプレートに適用して画面表示するHTTPボディとHTTPヘッダーを返します
  *
  * @param string $tplName テンプレート名
  * @param array  $options オプション
  *
  * @return BEAR_Ro
  */
 public function display($tplName = null, array $options = array())
 {
     // Pageバリューアサイン
     $this->_smarty->assign($this->_values);
     // フォームアサイン
     $forms = BEAR_Form::renderForms($this->_smarty, $this->_config['ua'], $this->_enableJs);
     $this->_smarty->assign($forms);
     // テンプレート
     $viewInfo = $this->_getViewInfo($tplName, $this->_role, 'tpl');
     $this->_smarty->assign('layout', $viewInfo['layout_value']);
     if (isset($options['layout'])) {
         $layoutfile = 'layouts/' . $options['layout'];
     } elseif (isset($viewInfo['layout_file'])) {
         $layoutfile = $viewInfo['layout_file'];
     } else {
         $layoutfile = null;
     }
     if (isset($layoutfile)) {
         $this->_smarty->assign('content_for_layout', $this->fetch($viewInfo['page_template']));
         $finalPath = $layoutfile;
     } else {
         // レイアウトなしのそのままフェッチ
         $finalPath = $viewInfo['page_template'];
     }
     $html = $this->fetch($finalPath);
     $ro = $this->_getRo($html);
     // 使用テンプレートのログ
     $this->_log->log('view', $viewInfo);
     return $ro;
 }
Example #3
0
 /**
  * フォームバリデーションOK処理
  *
  * トークンの検査を行い不正アクセスでなければonActionメソッドの引数に
  * POSTされたデータを与えてコールする。
  *
  * @param object $form
  * @param object $formName
  *
  * @return void
  */
 private function _formValidationOk($form, $formName = null)
 {
     $submit = $form->exportValues();
     BEAR_Form::$submitValue = $form->getSubmitValues();
     // アンダースコア始まりのsubmitを消去
     foreach ($submit as $submitKey => $value) {
         if (substr($submitKey, 0, 1) == '_') {
             unset($submit[$submitKey]);
             BEAR_Form::$submitHeader[$submitKey] = $value;
         }
         if ($value === null) {
             $submit[$submitKey] = '';
         }
     }
     // アクションコール
     $this->_page->onAction($submit);
     // 追加でアクションコール
     $methodExists = method_exists($this->_page, 'onAction' . $formName);
     if ($methodExists) {
         // onAction.フォーム名() コール
         $actionMethodName = 'onAction' . $formName;
         $this->_page->{$actionMethodName}($submit);
     }
 }