public function validateUpdate($payload, sfWebRequest $request = null) { $params = $this->parsePayload($payload); $primaryKey = $request->getParameter('id'); $message = MessageTable::getInstance()->find($primaryKey); if (!array_key_exists('sender_id', $params) || !$this->getUser()->isSuperAdmin() && $params['sender_id'] != $this->getUser()->getGuardUser()->getIncremented()) { $params['sender_id'] = $this->getUser()->getGuardUser()->getIncremented(); } if ($message && !($this->getUser()->isSuperAdmin() || $this->getUser()->getGuardUser()->getIncremented() == $message->getSenderId())) { throw new sfException("Your user does not have permissions to " . "alter this Message.", 403); } $payload = $this->packagePayload($params); unset($this->_payload_array); parent::validateUpdate($payload, $request); }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeIndex(sfWebRequest $request) { $this->pager = new sfDoctrinePager('Message', sfConfig::get('app_max_msg_on_page')); $this->pager->setQuery(MessageTable::getInstance()->getOrderedQuery()); $this->pager->setPage($request->getParameter('page', 1)); $this->pager->init(); $this->form = new MessageForm(); if ($request->isMethod('post')) { $captcha = array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field')); $this->form->bind(array_merge($request->getParameter($this->form->getName()), array('captcha' => $captcha))); if ($this->form->isValid()) { $this->form->save(); } else { $this->getUser()->setFlash('error', "Erreurs dans le formulaire.", false); } } }
protected function deriveMessageText($parameters) { $message_id = $parameters['message_id']; $message = MessageTable::getInstance()->find($message_id); if (!$message) { throw new sfException('Cannot find Message identified by ' . $message_id); } return $message->getText(); }
/** * Tests for success at creating the object. */ public function testCreate() { $t = MessageTable::getInstance(); $this->assertTrue($t instanceof Doctrine_Table); }