PageRenderTime 51ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/src/DluTwBootstrapDemo/Controller/DemoController.php

https://bitbucket.org/agustincl/dlutwbootstrap-demo
PHP | 116 lines | 98 code | 8 blank | 10 comment | 2 complexity | c183aaa5d0df71708e63f17f391cd774 MD5 | raw file
  1. <?php
  2. namespace DluTwBootstrapDemo\Controller;
  3. use Zend\Mvc\Controller\AbstractActionController,
  4. Zend\View\Model\ViewModel;
  5. /**
  6. * DemoController
  7. * @package DluTwBootstrapDemo
  8. * @copyright David Lukas (c) - http://www.zfdaily.com
  9. * @license http://www.zfdaily.com/code/license New BSD License
  10. * @link http://www.zfdaily.com
  11. * @link https://bitbucket.org/dlu/dlutwbootstrap-demo
  12. */
  13. class DemoController extends AbstractActionController
  14. {
  15. /* ***************************** METHODS ****************************** */
  16. public function formHorizontalAction()
  17. {
  18. $form = new \DluTwBootstrapDemo\Form\BlockForm();
  19. $inputFilter = new \DluTwBootstrapDemo\Form\BlockFormInputFilter();
  20. $formFile = '/src/DluTwBootstrapDemo/Form/BlockForm.php';
  21. $inputFilterFile = '/src/DluTwBootstrapDemo/Form/BlockFormInputFilter.php';
  22. $viewScriptFile = '/view/dlu-tw-bootstrap-demo/demo/form-block-form.phtml';
  23. $formTemplate = 'dlu-tw-bootstrap-demo/demo/form-block-form';
  24. $formType = \DluTwBootstrap\Form\FormUtil::FORM_TYPE_HORIZONTAL;
  25. $pageHeading = 'Horizontal form';
  26. return $this->formGeneral($form, $inputFilter, $formFile, $inputFilterFile, $viewScriptFile,
  27. $formTemplate, $formType, $pageHeading);
  28. }
  29. public function formVerticalAction()
  30. {
  31. $form = new \DluTwBootstrapDemo\Form\BlockForm();
  32. $inputFilter = new \DluTwBootstrapDemo\Form\BlockFormInputFilter();
  33. $formFile = '/src/DluTwBootstrapDemo/Form/BlockForm.php';
  34. $inputFilterFile = '/src/DluTwBootstrapDemo/Form/BlockFormInputFilter.php';
  35. $viewScriptFile = '/view/dlu-tw-bootstrap-demo/demo/form-block-form.phtml';
  36. $formTemplate = 'dlu-tw-bootstrap-demo/demo/form-block-form';
  37. $formType = \DluTwBootstrap\Form\FormUtil::FORM_TYPE_VERTICAL;
  38. $pageHeading = 'Vertical form';
  39. return $this->formGeneral($form, $inputFilter, $formFile, $inputFilterFile, $viewScriptFile,
  40. $formTemplate, $formType, $pageHeading);
  41. }
  42. public function formInlineAction()
  43. {
  44. $form = new \DluTwBootstrapDemo\Form\InlineForm();
  45. $inputFilter = new \DluTwBootstrapDemo\Form\InlineFormInputFilter();
  46. $formFile = '/src/DluTwBootstrapDemo/Form/InlineForm.php';
  47. $inputFilterFile = '/src/DluTwBootstrapDemo/Form/InlineFormInputFilter.php';
  48. $viewScriptFile = '/view/dlu-tw-bootstrap-demo/demo/form-inline-form.phtml';
  49. $formTemplate = 'dlu-tw-bootstrap-demo/demo/form-inline-form';
  50. $formType = \DluTwBootstrap\Form\FormUtil::FORM_TYPE_INLINE;
  51. $pageHeading = 'Inline form';
  52. return $this->formGeneral($form, $inputFilter, $formFile, $inputFilterFile, $viewScriptFile,
  53. $formTemplate, $formType, $pageHeading);
  54. }
  55. public function formSearchAction() {
  56. $form = new \DluTwBootstrapDemo\Form\SearchForm();
  57. $inputFilter = new \DluTwBootstrapDemo\Form\SearchFormInputFilter();
  58. $formFile = '/src/DluTwBootstrapDemo/Form/SearchForm.php';
  59. $inputFilterFile = '/src/DluTwBootstrapDemo/Form/SearchFormInputFilter.php';
  60. $viewScriptFile = '/view/dlu-tw-bootstrap-demo/demo/form-search-form.phtml';
  61. $formTemplate = 'dlu-tw-bootstrap-demo/demo/form-search-form';
  62. $formType = \DluTwBootstrap\Form\FormUtil::FORM_TYPE_SEARCH;
  63. $pageHeading = 'Search form';
  64. return $this->formGeneral($form, $inputFilter, $formFile, $inputFilterFile, $viewScriptFile,
  65. $formTemplate, $formType, $pageHeading);
  66. }
  67. protected function formGeneral($form, $inputFilter, $formFile, $inputFilterFile, $viewScriptFile,
  68. $formTemplate, $formType, $pageHeading
  69. ) {
  70. $form->setInputFilter($inputFilter);
  71. $validData = null;
  72. if ($this->request->isPost()) {
  73. $form->setData($this->request->getPost());
  74. if ($form->isValid()) {
  75. $formData = $form->getData();
  76. $validData = \Zend\Debug\Debug::dump($formData, 'Valid form data', false);
  77. }
  78. }
  79. //Source code
  80. $moduleDir = realpath(__DIR__ . '/../../../');
  81. $formSource = file_get_contents($moduleDir . $formFile);
  82. $inputFilterSource = file_get_contents($moduleDir . $inputFilterFile);
  83. $viewScriptSource = file_get_contents($moduleDir . $viewScriptFile);
  84. $viewModelForm = new ViewModel();
  85. $viewModelForm->setVariables(array(
  86. 'form' => $form,
  87. 'formType' => $formType,
  88. 'validData' => $validData,
  89. ));
  90. $viewModelForm->setTemplate($formTemplate);
  91. $viewModel = new ViewModel();
  92. $viewModel->setVariables(array(
  93. 'pageHeading' => $pageHeading,
  94. 'formFile' => $formFile,
  95. 'formSource' => $formSource,
  96. 'inputFilterFile' => $inputFilterFile,
  97. 'inputFilterSource' => $inputFilterSource,
  98. 'viewScriptFile' => $viewScriptFile,
  99. 'viewScriptSource' => $viewScriptSource,
  100. ));
  101. $viewModel->addChild($viewModelForm, 'formOutput');
  102. $viewModel->setTemplate('dlu-tw-bootstrap-demo/demo/form-demo');
  103. return $viewModel;
  104. }
  105. public function indexAction() {
  106. return new ViewModel();
  107. }
  108. }