public function getRequestParameters() { if ($this->request->isPost()) { return $this->request->getPost(); } else { return $this->request->getQuery(); } }
public function addAction() { $form = new Front_Form_Contact(); if ($this->_request->isPost()) { $data = $this->_request->getPost(); if ($form->isValid($data)) { $dataFiltrees = $form->getValues(); $contact = new Application_Model_Contact(); $contact->setPrenom($dataFiltrees['prenom'])->setNom($dataFiltrees['nom'])->setEmail($dataFiltrees['email'])->setTelephone($dataFiltrees['telephone']); $this->mapper->insert($contact); $this->_flashMessenger->addMessage('Le contact ' . $contact->getPrenom() . ' a bien été créé'); $this->_redirector->gotoRouteAndExit(['controller' => 'contact'], null, true); } } $this->view->contactForm = $form; }
/** * @access public * @param string $key Key to search for in $_POST * @param mixed $default Default value if $key is not found $_POST * @param integer $filter Filter definition * @param array $options Filter configuration * @return mixed */ public function getPost($key = null, $default = null, $filter = null, array $options = null) { $value = parent::getPost($key, $default); if ($filter !== null || $options !== null) { $value = $this->_filter($value, $default, $filter, $options); } return $value; }
public function testGetPost() { $_POST['post1'] = 'val1'; $this->assertEquals('val1', $this->_request->getPost('post1')); $this->assertEquals('foo', $this->_request->getPost('BAR', 'foo')); $_POST['post2'] = 'val2'; $expected = array('post1' => 'val1', 'post2' => 'val2'); $this->assertEquals($expected, $this->_request->getPost()); }
public function getPost($k = null, $default = null) { if (in_array('vars', $this->getParamSources())) { if (!$this->isPost()) { return $k === null ? array() : null; } if ($k === null) { return $this->_vars; } else { return isset($this->_vars[$k]) ? $this->_vars[$k] : $default; } } return parent::getPost($k, $default); }
/** * Implements {@link iPMS_Widget_Interface::widget()} * * @param Zend_Controller_Request_Http $request * @return Zend_Form|null A Zend_Form instance or null if user is already authenticated */ public function widget(Zend_Controller_Request_Http $request) { $auh = Zend_Auth::getInstance(); if (!$auh->hasIdentity()) { $form = $this->getForm('loginForm'); if ($request->isPost() && is_array($request->getPost('loginForm')) && $form->isValid($request->getPost('loginForm'))) { $authDbAdapter = new Zend_Auth_Adapter_DbTable(null, 'users', 'username', 'password', 'MD5(?) AND active = 1'); $authDbAdapter->setIdentity($form->getValue('username'))->setCredential($form->getValue('password')); $result = $authDbAdapter->authenticate(); if ($result->isValid()) { $auh->getStorage()->write($authDbAdapter->getResultRowObject(null, 'password')); Zend_Session::regenerateId(); // Protection against session's fixation attacks /** * @var $redirector Zend_Controller_Action_Helper_Redirector */ $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector'); $redirector->gotoUrl('/'); } } return $form; } return null; }
/** * Rewritten function of the standard controller. Tries to match the pathinfo on url parameters. * * @see Mage_Core_Controller_Varien_Router_Standard::match() * * @param Zend_Controller_Request_Http $request The http request object that needs to be mapped on Action * Controllers. */ public function match(Zend_Controller_Request_Http $request) { if (!Mage::isInstalled()) { Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('install'))->sendResponse(); exit; } $identifier = trim($request->getPathInfo(), '/'); //URL Search after habbeda $url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; //$identifier = trim($request->getPathInfo(), '/'); if (strpos($url, "/alle/") <= 0 && strpos($url, "/all/") <= 0) { return false; } // if successfully gained url parameters, use them and dispatch ActionController action $request->setRouteName('landingpagesaa')->setModuleName('landingpagesaa')->setControllerName('index')->setActionName('index'); //->setParam('test', "test"); $urlpara = explode("/filter/", $url); if (!empty($urlpara[1])) { $urlparas = explode("?", $urlpara[1]); // Parse url params $params = explode('/', trim($urlparas[0], '/')); $layerParams = array(); $total = count($params); for ($i = 0; $i < $total - 1; $i++) { if (isset($params[$i + 1])) { $layerParams[$params[$i]] = urldecode($params[$i + 1]); ++$i; } } // Add post params to parsed ones from url // Usefull to easily override params $layerParams += $request->getPost(); // Add params to request $request->setParams($layerParams); // Save params in registry - used later to generate links Mage::register('layer_params', $layerParams); } $request->setRequestUri($url); $request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier); return true; }
public function editAction() { $itemId = $this->_request->getParam('id'); if (is_null($itemId)) { $this->getRedirector()->gotoSimpleAndExit('index'); } $page = $this->getModelMapper()->find($itemId, $this->getModel()); if (is_null($page)) { throw new Zend_Controller_Action_Exception("Страница не найдена", 404); } //$this->view->item = $page; $form = $this->getForm('edit'); $form->addElement('hidden', 'currentUrl'); $element = $form->getElement('currentUrl'); $element->setValue($this->_hostHttp->getServer('REQUEST_URI')); $form->getDisplayGroup('basic')->addElement($element); $dataPage = $page->getOptions(); foreach ($dataPage as $key => $value) { $form->setDefault($key, $value); } foreach ($form->getElements() as $key => $element) { if ($element instanceof Zend_Form_Element_Image) { $imageValue = $form->getValue($element->getAttrib('data-input')) != '' ? $form->getValue($element->getAttrib('data-input')) : '/files/images/product/2012-05-22_foto_nv.jpg'; $form->setDefault($element->getName(), $imageValue); } } if ($this->_hostHttp->isPost()) { if ($form->isValid($this->_hostHttp->getPost())) { $this->saveFormData($form); $this->clearCache($this->_getNamespace()); $this->getRedirector()->gotoUrlAndExit($this->_request->getParam('currentUrl')); } $form->setDefaults($form->getValues()); } $colsTable = $this->getModelMapper()->getDbTable()->info('cols'); $uri = in_array('full_path', $colsTable) ? $page->getFullPath() : $page->getPath(); $config = array(Zend_Navigation_Page_Mvc::factory(array('label' => 'На сайт', 'uri' => '/' . strtolower($this->getNameModule()) . '/' . $uri . '/'))); $containerNav = new Zend_Navigation($config); $this->view->assign(array('item' => $page, 'form' => $form, 'container_nav' => $containerNav)); }
/** * Auto-redirect to base url (without SID) if the requested url doesn't match it. * By default this feature is enabled in configuration. * * @param Zend_Controller_Request_Http $request */ protected function _checkBaseUrl($request) { if (!Mage::isInstalled() || $request->getPost()) { return; } if (!Mage::getStoreConfig('web/url/redirect_to_base')) { return; } $adminPath = (string) Mage::getConfig()->getNode(Mage_Adminhtml_Helper_Data::XML_PATH_CUSTOM_ADMIN_PATH); if (!$adminPath) { $adminPath = (string) Mage::getConfig()->getNode(Mage_Adminhtml_Helper_Data::XML_PATH_ADMINHTML_ROUTER_FRONTNAME); } if (preg_match('#^' . $adminPath . '(\\/.*)?$#', ltrim($request->getPathInfo(), '/')) && (string) Mage::getConfig()->getNode(Mage_Adminhtml_Helper_Data::XML_PATH_USE_CUSTOM_ADMIN_URL)) { return; } $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, Mage::app()->getStore()->isCurrentlySecure()); if (!$baseUrl) { return; } $redirectCode = 302; if (Mage::getStoreConfig('web/url/redirect_to_base') == 301) { $redirectCode = 301; } $uri = @parse_url($baseUrl); $host = isset($uri['host']) ? $uri['host'] : ''; $path = isset($uri['path']) ? $uri['path'] : ''; $requestUri = $request->getRequestUri() ? $request->getRequestUri() : '/'; if ($host && $host != $request->getHttpHost() || $path && strpos($requestUri, $path) === false) { Mage::app()->getFrontController()->getResponse()->setRedirect($baseUrl, $redirectCode)->sendResponse(); exit; } }
/** * Auto-redirect to base url (without SID) if the requested url doesn't match it. * By default this feature is enabled in configuration. * * @param Zend_Controller_Request_Http $request */ protected function _checkBaseUrl($request) { if (!Mage::isInstalled() || $request->getPost()) { return; } if (!Mage::getStoreConfig('web/url/redirect_to_base')) { return; } $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, Mage::app()->getStore()->isCurrentlySecure()); if (!$baseUrl) { return; } $redirectCode = 302; if (Mage::getStoreConfig('web/url/redirect_to_base') == 301) { $redirectCode = 301; } $uri = @parse_url($baseUrl); $host = isset($uri['host']) ? $uri['host'] : ''; $path = isset($uri['path']) ? $uri['path'] : ''; $requestUri = $request->getRequestUri() ? $request->getRequestUri() : '/'; if ($host && $host != $request->getHttpHost() || $path && strpos($requestUri, $path) === false) { Mage::app()->getFrontController()->getResponse()->setRedirect($baseUrl, $redirectCode)->sendResponse(); exit; } }
public function getRawPost($key = null, $default = null) { return parent::getPost($key = null, $default = null); }
/** * Ustawia wartosci filtrow * * Jezeli dostarczono parametry filtrow poprzez POST, zostaja one walidowane * poprzez formularz. Jezeli nie bedzie bledow, dane zostana zapisane * w tablicy filtrow oraz przekazane do formularza filtrow. * * @param Zend_Controller_Request_Http $request * @throws Logic_Search_Exception * @return Logic_Search_Abstract */ public function setFilterData(Zend_Controller_Request_Http $request) { if (!is_object($this->_form)) { throw new Logic_Search_Exception('Nie ustanowiono obiektu formularza filtrow'); } $values = $request->getPost(); unset($values['ids']); if (!empty($values)) { if ($this->_form->isValid($values)) { $this->saveFilterData($this->_form->getValues()); } } $this->_form->setDefaults($this->getFilterData()); return $this; }
/** * Check that request uses https protocol if it should. * Function redirects user to correct URL if needed. * * @param Zend_Controller_Request_Http $request * @param string $path * @return void */ protected function _checkShouldBeSecure(Zend_Controller_Request_Http $request, $path = '') { if (!Mage::isInstalled() || $request->getPost()) { return; } if ($this->_shouldBeSecure($path) && !$request->isSecure()) { $url = $this->_getCurrentSecureUrl($request); if ($this->_shouldRedirectToSecure()) { $url = Mage::getSingleton('Mage_Core_Model_Url')->getRedirectUrl($url); } Mage::app()->getFrontController()->getResponse()->setRedirect($url)->sendResponse(); exit; } }
/** * * @param \Zend_Controller_Request_Http $request * @return booloean */ private function __saveEmployee($request) { $employee = new Employee_Model_Employee($request->getPost()); $empoyeeMapper = new Employee_Model_EmployeeMapper(); return $empoyeeMapper->save($employee); }
/** * Merge session value and post value * * @param array $names Value to merge * @param mixed $namespace Session namespace * @access protected * @return array Merged param value */ protected function _mergeValue(array $names, $namespace) { $session = new Zend_Session_Namespace($namespace); $params = array(); foreach ($names as $key => $val) { $params[$val] = $this->_request->getPost($val); } if (isset($session->params)) { $params = array_merge($session->params, $params); } return $params; }
<?php ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '/path/to/zend/library'); require_once 'Zend/Loader.php'; Zend_Loader::registerAutoload(); $request = new Zend_Controller_Request_Http(); $view = new Zend_View(); /** * Example showing usage of array notation using setElementsBelongTo * on the form level, for shipping/billing addresses. */ $form = new Zend_Form(); $form->setView($view); $form->addDecorator('Description', array('escape' => false, 'placement' => 'PREPEND')); $form->setDescription('<h3>Using setElementsBelongTo</h3>'); $form->setElementsBelongTo('shipping'); $form->addElement('text', 'recipient', array('label' => 'Ship to', 'required' => true)); $form->addElement('text', 'address', array('label' => 'Address', 'required' => true)); $form->addElement('submit', 'submit', array('label' => 'Submit')); if ($request->isPost()) { if ($form->isValid($request->getPost())) { echo 'Order placed, Thank you!'; } else { echo 'You have errors in your form, please check'; } } echo $form->render();
/** * WordPress admin_menu hook * Initializes an admin panel from a Zend_Form object and injects it into * WordPress. * * @return Zend */ public function onAdminMenu() { if ($form = $this->bootstrap('admin')->getResource('admin')) { $frontController = $this->bootstrap('frontController') ->getResource('frontController'); $request = new Zend_Controller_Request_Http(); $view = new Vulnero_Admin_View(); $view->form = $form; if ($request->isPost() && $form->isValid($request->getPost())) { // handle save } add_options_page( 'Vulnero Title', // Title 'Vulnero Menu Title', // Menu Title 'manage_options', // WordPress Access Level 'vulnero', // Plugin Name array($view, 'renderWordPress') ); } }
// setup the form $form = new Zend_Form(); $form->setMethod("post"); $form->setAttrib("enctype", Zend_Form::ENCTYPE_MULTIPART); // file element, upload is optional, but if file is uploaded run multiple validators $file1 = $form->createElement("file", "file1"); $file1->setRequired(false)->setLabel("File:")->addValidator('Count', true, 2)->addValidator('Size', true, "100KB")->addValidator('Extension', true, 'jpg')->addValidator('MimeType', true, array('image/jpeg'))->addValidator('ImageSize', true, array(0, 0, 340, 480)); // add another file element with same validators $file2 = clone $file1; $file2->setName("file2"); $submit = $form->createElement("submit", "submit"); $submit->setLabel("GO!"); $form->addElements(array($file1, $file2, $submit)); // check the form if ($request->isPost()) { $formData = $request->getPost(); if ($form->isValid($formData)) { echo "FORM VALID"; } else { print_r($form->getMessages()); } } ?> <html> <head> <title>Test</title> </head> <body> <?php echo $form->render(new Zend_View()); ?>
/** * Auto-redirect to base url (without SID) if the requested url doesn't match it. * By default this feature is enabled in configuration. * * @param Zend_Controller_Request_Http $request */ protected function _checkBaseUrl($request) { if (!Mage::isInstalled() || $request->getPost() || strtolower($request->getMethod()) == 'post') { return; } $redirectCode = (int) Mage::getStoreConfig('web/url/redirect_to_base'); if (!$redirectCode) { return; } elseif ($redirectCode != 301) { $redirectCode = 302; } if ($this->_isAdminFrontNameMatched($request)) { return; } $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, Mage::app()->getStore()->isCurrentlySecure()); if (!$baseUrl) { return; } $uri = @parse_url($baseUrl); $requestUri = $request->getRequestUri() ? $request->getRequestUri() : '/'; if (isset($uri['scheme']) && $uri['scheme'] != $request->getScheme() || isset($uri['host']) && $uri['host'] != $request->getHttpHost() || isset($uri['path']) && strpos($requestUri, $uri['path']) === false) { Mage::app()->getFrontController()->getResponse()->setRedirect($baseUrl, $redirectCode)->sendResponse(); exit; } }
public function match(Zend_Controller_Request_Http $request) { $this->fetchDefault(); $front = $this->getFront(); $p = explode('/', trim($request->getPathInfo(), '/')); // get module name if ($request->getModuleName()) { $module = $request->getModuleName(); } else { $p = explode('/', trim($request->getPathInfo(), '/')); $module = !empty($p[0]) ? $p[0] : $this->getFront()->getDefault('module'); } if (!$module) { return false; } $realModule = $this->getModuleByFrontName($module); if (!$realModule) { if ($moduleFrontName = array_search($module, $this->_modules)) { $realModule = $module; $module = $moduleFrontName; } else { return false; } } // get controller name if ($request->getControllerName()) { $controller = $request->getControllerName(); } else { $controller = !empty($p[1]) ? $p[1] : $front->getDefault('controller'); } $controllerFileName = $this->getControllerFileName($realModule, $controller); if (!$controllerFileName || !is_readable($controllerFileName)) { return false; } $controllerClassName = $this->getControllerClassName($realModule, $controller); if (!$controllerClassName) { return false; } // get action name if (empty($action)) { if ($request->getActionName()) { $action = $request->getActionName(); } else { $action = !empty($p[2]) ? $p[2] : $front->getDefault('action'); } } if (Mage::app()->isInstalled() && !$request->getPost()) { $shouldBeSecure = substr(Mage::getStoreConfig('web/unsecure/base_url'), 0, 5) === 'https' || Mage::getStoreConfigFlag('web/secure/use_in_frontend') && substr(Mage::getStoreConfig('web/secure/base_url'), 0, 5) == 'https' && Mage::getConfig()->shouldUrlBeSecure('/' . $module . '/' . $controller . '/' . $action); if ($shouldBeSecure && !Mage::app()->getStore()->isCurrentlySecure()) { $url = Mage::getBaseUrl('link', true) . ltrim($request->getPathInfo(), '/'); Mage::app()->getFrontController()->getResponse()->setRedirect($url)->sendResponse(); exit; } } // include controller file if needed if (!class_exists($controllerClassName, false)) { include $controllerFileName; if (!class_exists($controllerClassName)) { throw Mage::exception('Mage_Core', Mage::helper('core')->__('Controller file was loaded but class does not exist')); } } // instantiate controller class $controllerInstance = new $controllerClassName($request, $front->getResponse()); if (!$controllerInstance->hasAction($action)) { return false; } // set values only after all the checks are done $request->setModuleName($module); $request->setControllerName($controller); $request->setActionName($action); // set parameters from pathinfo for ($i = 3, $l = sizeof($p); $i < $l; $i += 2) { $request->setParam($p[$i], isset($p[$i + 1]) ? $p[$i + 1] : ''); } // dispatch action $request->setDispatched(true); $controllerInstance->dispatch($action); return true; #$request->isDispatched(); }