public function executeFormComment(sfWebRequest $request) { $this->form = new CommentForm(); $this->form->setDefault('record_model', $this->object->getTable()->getComponentName()); $this->form->setDefault('record_id', $this->object->get('id')); if ($request->isMethod('post')) { //preparing temporary array with sent values $formValues = $request->getParameter($this->form->getName()); if (vjComment::isCaptchaEnabled() && !vjComment::isUserBoundAndAuthenticated()) { $captcha = array('recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field')); //Adding captcha $formValues = array_merge($formValues, array('captcha' => $captcha)); } if (vjComment::isUserBoundAndAuthenticated()) { //adding user id $formValues = array_merge($formValues, array('user_id' => $this->getUser()->getGuardUser()->getId())); } $this->form->bind($formValues); if ($this->form->isValid()) { $this->form->save(); $url = $request->getUri() . "#" . $this->getUser()->getAttribute("nextComment"); $this->getUser()->offsetUnset("nextComment"); sfContext::getInstance()->getController()->redirect($url, 0, 302); } } }
public function setup() { parent::setup(); unset($this['id'], $this['is_active'], $this['is_delete'], $this['created_at'], $this['updated_at'], $this['edition_reason']); $this->widgetSchema['reply_author'] = new sfWidgetFormInputText(array(), array('readonly' => "readonly")); $this->widgetSchema->setLabel('reply_author', __('Reply to', array(), 'vjComment')); $this->widgetSchema->setHelp('author_email', __('Your email will never be published', array(), 'vjComment')); $this->widgetSchema['user_id'] = new sfWidgetFormInputHidden(); if (vjComment::isUserBoundAndAuthenticated()) { unset($this['author_email'], $this['author_website'], $this['author_name']); } else { unset($this['user_id']); } if (vjComment::isCaptchaEnabled() && !vjComment::isUserBoundAndAuthenticated()) { $this->addCaptcha(); } }
public function setup() { parent::setup(); $user = $this->getOption('user'); $fields = array( 'record_model', 'record_id', 'author_name', 'author_email', 'author_website', 'body', 'reply' ); if(vjComment::isGuardBindEnabled()) { $fields[] = 'user_id'; } $this->useFields($fields); $this->widgetSchema['reply_author'] = new sfWidgetFormInputText(array(), array('readonly' => "readonly")); $this->widgetSchema->setLabel('reply_author', __('Reply to', array(), 'vjComment')); $this->widgetSchema->setHelp('author_email', __('Your email will never be published', array(), 'vjComment')); $this->widgetSchema['user_id'] = new sfWidgetFormInputHidden(); if( vjComment::isUserBoundAndAuthenticated($user) ) { unset( $this['author_email'], $this['author_website'], $this['author_name'] ); } else { unset( $this['user_id'] ); } if (vjComment::isCaptchaEnabled() && !vjComment::isUserBoundAndAuthenticated($user) ) { $this->addCaptcha(); } $this->widgetSchema->setNameFormat($this->getOption('name').'[%s]'); }