/**
  * Translate confirmations before submission.
  *
  * @param array $form
  *
  * @return array
  */
 function gform_pre_submission_filter($form)
 {
     $form = $this->gform_pre_render($form, false);
     if (!empty($form['confirmations'])) {
         $snh = new GFML_String_Name_Helper();
         $st_context = $this->get_st_context($form['id']);
         foreach ($form['confirmations'] as $key => &$confirmation) {
             $snh->confirmation = $confirmation;
             switch ($confirmation['type']) {
                 case 'message':
                     $confirmation['message'] = icl_t($st_context, $snh->get_form_confirmation_message(), $confirmation['message']);
                     break;
                 case 'redirect':
                     global $sitepress;
                     $confirmation['url'] = str_replace('&lang=', '&lang=', $sitepress->convert_url(icl_t($st_context, $snh->get_form_confirmation_redirect_url(), $confirmation['url'])));
                     //error_log("Redirecting to ".$confirmation['url']);
                     break;
                 case 'page':
                     $page_id = icl_t($st_context, $snh->get_form_confirmation_page_id(), $confirmation['pageId']);
                     $confirmation['pageId'] = apply_filters('wpml_object_id', $page_id, 'page', true);
                     break;
             }
         }
     }
     global $sitepress;
     $current_lang = $sitepress->get_current_language();
     $this->_current_forms[$current_lang][$form['id']] = $form;
     return $form;
 }
Ejemplo n.º 2
0
 protected function register_form_confirmations($form_package, $form)
 {
     if (isset($form['confirmations']) && $form['confirmations']) {
         $snh = new GFML_String_Name_Helper();
         foreach ($form['confirmations'] as $confirmation) {
             $snh->confirmation = $confirmation;
             $string_title = 'Confirmation: ' . $confirmation['name'] . ' - ' . $confirmation['type'];
             switch ($confirmation['type']) {
                 case 'message':
                     $this->register_gf_string($confirmation['message'], $snh->get_form_confirmation_message(), $form_package, $string_title, 'AREA');
                     break;
                 case 'redirect':
                     $this->register_gf_string($confirmation['url'], $snh->get_form_confirmation_redirect_url(), $form_package, $string_title);
                     $string_data[$snh->get_form_confirmation_redirect_url()] = $confirmation['url'];
                     break;
                 case 'page':
                     $this->register_gf_string($confirmation['pageId'], $snh->get_form_confirmation_page_id(), $form_package, $string_title);
                     $string_data[$snh->get_form_confirmation_page_id()] = $confirmation['pageId'];
                     break;
             }
         }
     }
 }