예제 #1
0
 public function renderImage($attributes, $parameters)
 {
     // Get CAPTCHA parameters from the module form's preferences.
     $pref = ModuleService::getInstance()->getPreferencesDocument('form');
     if (!is_null($pref)) {
         foreach ($pref->getCaptchaParameters() as $name => $value) {
             // Parameters defined in the template overload the preferences' parameters.
             if (!isset($parameters[$name])) {
                 $parameters[$name] = $value;
             }
         }
     }
     self::generateCaptchaCode($parameters);
     $url = htmlentities(LinkHelper::getUrl('form', 'Captcha', $parameters), ENT_COMPAT, "utf-8");
     $code = "<script type=\"text/javascript\">\n//<![CDATA[\nCAPTCHA.imageURL = \"" . $url . "\";\n//]]>\n</script>\n";
     $code .= '<span class="captcha"><input type="image" src="' . $url . '"';
     if (!isset($attributes['title'])) {
         $attributes['title'] = f_Locale::translate("&modules.form.bo.general.Captcha-click-to-have-another-one;");
     }
     if (!isset($attributes['onclick'])) {
         $attributes['onclick'] = 'CAPTCHA.reload(this); return false;';
     }
     foreach ($attributes as $name => $value) {
         $code .= ' ' . $name . '="' . str_replace('"', '\\"', $value) . '"';
     }
     return $code . '/></span>';
 }
 /**
  * @param block_BlockContext $context
  * @param block_BlockRequest $request
  */
 public function execute($context, $request)
 {
     $form = $this->getParameter('form');
     $confirmpage = $form->getConfirmpage();
     if ($confirmpage instanceof website_persistentdocument_page && $confirmpage->isPublished()) {
         HttpController::getInstance()->redirectToUrl(LinkHelper::getUrl($confirmpage, $context->getLang(), array('formParam[id]' => $form->getId())));
     }
     $this->setTemplateName('Form-Success');
     $user = $context->getGlobalContext()->getUser();
     $attr = 'form_success_parameters_' . $form->getId();
     $parameters = $user->getAttribute($attr);
     $user->removeAttribute($attr);
     $message = $form->getConfirmMessage();
     foreach ($parameters as $k => $v) {
         $message = str_replace('{' . $k . '}', htmlspecialchars($v), $message);
     }
     $this->setAttribute("receiverLabels", $this->getParameter("receiverLabels"));
     $this->setAttribute('message', $message);
     if ($form->getUseBackLink()) {
         $this->setAttribute('back', array('url' => $parameters[form_FormConstants::BACK_URL_PARAMETER], 'label' => f_Locale::translate('&modules.form.frontoffice.Back;')));
     } else {
         $this->setAttribute('back', false);
     }
     $this->setAttribute('form', $form);
 }
 /**
  * @param form_persistentdocument_hidden $field
  * @param DOMElement $fieldElm
  * @param mixed $rawValue
  * @return string
  */
 public function buildXmlElementResponse($field, $fieldElm, $rawValue)
 {
     switch ($field->getIsRecommand()) {
         case 'site':
             return website_WebsiteModuleService::getInstance()->getCurrentWebsite()->getUrl();
             break;
         case 'page':
             try {
                 return LinkHelper::getUrl(DocumentHelper::getDocumentInstance($rawValue));
             } catch (Exception $e) {
                 Framework::exception($e);
             }
             return website_WebsiteModuleService::getInstance()->getCurrentWebsite()->getUrl();
     }
     return parent::buildXmlElementResponse($field, $fieldElm, $rawValue);
 }
 /**
  * Returns the URL of the page tagged with the following contextual tag:
  * contextual_website_website_modules_form_recommand-page
  * @return String
  * @deprecated use sharethis module instead.
  */
 public function getRecommandFormUrl()
 {
     try {
         $page = TagService::getInstance()->getDocumentByContextualTag('contextual_website_website_modules_form_recommand-page', website_WebsiteModuleService::getInstance()->getCurrentWebsite());
         $parameters = array('formParam[recommandFeature]' => website_WebsiteModuleService::getInstance()->getCurrentPageId());
         return LinkHelper::getUrl($page, null, $parameters);
     } catch (Exception $e) {
         Framework::exception($e);
     }
     return null;
 }