Formidable Forms – Form Builder for WordPress - Version 1.06.08

Version Description

  • Changed class names on action links on the form listing table to prevent conflicts with themes and other plugins
  • PRO: Filter shortcodes if any in the login message
  • PRO: Fixed order of fields shown in default email notification
  • PRO: Keep files attached to the post when editing the entry and using multiple file upload option
  • PRO: Attach file uploads to WP post even if the upload field is not set as a custom field
  • PRO: Fixed bug forcing site name and admin email as the email "from" info when a custom name/email is selected
  • PRO: Send a notification even if the notification before it is empty
  • PRO: Fixed conditional logic on email notifications to make sure they are stopped when they should be
  • PRO: Automatically send emails to the saved value of a field when used in the "Email recipients" box without requiring show=field_value
Download this release

Release Info

Developer sswells
Plugin Icon 128x128 Formidable Forms – Form Builder for WordPress
Version 1.06.08
Comparing to
See all releases

Code changes from version 1.06.07 to 1.06.08

classes/controllers/FrmAppController.php CHANGED
@@ -148,7 +148,7 @@ success:function(msg){jQuery("#frm_install_message").fadeOut("slow");}
148
  wp_enqueue_style('formidable-admin', FRM_URL. '/css/frm_admin.css', array(), $frm_version);
149
  wp_enqueue_script('jquery-elastic', FRM_URL.'/js/jquery/jquery.elastic.js', array('jquery'));
150
  add_thickbox();
151
- }else if($pagenow == 'post.php' or ($pagenow == 'post-new.php' and $_REQUEST['post_type'] == 'frm_display')){
152
  if(isset($_REQUEST['post_type'])){
153
  $post_type = $_REQUEST['post_type'];
154
  }else if(isset($_REQUEST['post'])){
148
  wp_enqueue_style('formidable-admin', FRM_URL. '/css/frm_admin.css', array(), $frm_version);
149
  wp_enqueue_script('jquery-elastic', FRM_URL.'/js/jquery/jquery.elastic.js', array('jquery'));
150
  add_thickbox();
151
+ }else if($pagenow == 'post.php' or ($pagenow == 'post-new.php' and isset($_REQUEST['post_type']) and $_REQUEST['post_type'] == 'frm_display')){
152
  if(isset($_REQUEST['post_type'])){
153
  $post_type = $_REQUEST['post_type'];
154
  }else if(isset($_REQUEST['post'])){
classes/controllers/FrmEntriesController.php CHANGED
@@ -51,7 +51,7 @@ class FrmEntriesController{
51
  return __('Please select a valid form', 'formidable');
52
  }else if ($form->logged_in and !$user_ID){
53
  global $frm_settings;
54
- return $frm_settings->login_msg;
55
  }
56
 
57
  $form->options = stripslashes_deep(maybe_unserialize($form->options));
@@ -60,7 +60,7 @@ class FrmEntriesController{
60
  return FrmEntriesController::get_form(FRM_VIEWS_PATH.'/frm-entries/frm-entry.php', $form, $title, $description);
61
  }else{
62
  global $frm_settings;
63
- return $frm_settings->login_msg;
64
  }
65
  }else
66
  return FrmEntriesController::get_form(FRM_VIEWS_PATH.'/frm-entries/frm-entry.php', $form, $title, $description);
51
  return __('Please select a valid form', 'formidable');
52
  }else if ($form->logged_in and !$user_ID){
53
  global $frm_settings;
54
+ return do_shortcode($frm_settings->login_msg);
55
  }
56
 
57
  $form->options = stripslashes_deep(maybe_unserialize($form->options));
60
  return FrmEntriesController::get_form(FRM_VIEWS_PATH.'/frm-entries/frm-entry.php', $form, $title, $description);
61
  }else{
62
  global $frm_settings;
63
+ return do_shortcode($frm_settings->login_msg);
64
  }
65
  }else
66
  return FrmEntriesController::get_form(FRM_VIEWS_PATH.'/frm-entries/frm-entry.php', $form, $title, $description);
classes/controllers/FrmFieldsController.php CHANGED
@@ -401,7 +401,8 @@ class FrmFieldsController{
401
  $class .= ' '. $field['input_class'];
402
 
403
  $class = apply_filters('frm_field_classes', $class, $field);
404
- $add_html .= ' class="'.$class.'"';
 
405
 
406
  if($echo)
407
  echo $add_html;
401
  $class .= ' '. $field['input_class'];
402
 
403
  $class = apply_filters('frm_field_classes', $class, $field);
404
+ if(!empty($class))
405
+ $add_html .= ' class="'. $class .'"';
406
 
407
  if($echo)
408
  echo $add_html;
classes/helpers/FrmListHelper.php CHANGED
@@ -115,7 +115,7 @@ class FrmListHelper extends WP_List_Table {
115
  $title = esc_attr(strip_tags(stripslashes($item->name)));
116
 
117
  $edit_link = "?page=formidable&frm_action=edit&id={$item->id}";
118
- $actions['edit'] = "<a href='" . wp_nonce_url( $edit_link ) . "'>". __('Edit', 'formidable') ."</a>";
119
 
120
  $duplicate_link = "?page=formidable&frm_action=duplicate&id={$item->id}";
121
 
@@ -123,22 +123,22 @@ class FrmListHelper extends WP_List_Table {
123
 
124
 
125
  if ($this->params['template']){
126
- $actions['duplicate'] = "<a href='" . wp_nonce_url( $duplicate_link ) . "'>". __('Create Form from Template', 'formidable') ."</a>";
127
  }else{
128
- $actions['settings'] = "<a href='" . wp_nonce_url( "?page=formidable&frm_action=settings&id={$item->id}" ) . "'>". __('Settings', 'formidable') ."</a>";
129
 
130
- //$actions['entries'] = "<a href='" . wp_nonce_url( "?page=formidable-entries&form={$item->id}" ) . "' title='$title ". __('Entries', 'formidable') ."'>". __('Entries', 'formidable') ."</a>";
131
 
132
- $actions['reports'] = "<a href='" . wp_nonce_url( "?page=formidable-reports&form={$item->id}" ) . "' title='$title ". __('Reports', 'formidable') ."'>". __('Reports', 'formidable') ."</a>";
133
 
134
  if($frmpro_is_installed and current_user_can('frm_create_entries')){
135
- $actions['entry'] = "<a href='" . wp_nonce_url( "?page=formidable-entries&frm_action=new&form={$item->id}" ) . "' title='". __('New', 'formidable') ." $title ". __('Entry', 'formidable') ."'>". __('New Entry', 'formidable') ."</a>";
136
  }
137
 
138
- $actions['duplicate'] = "<a href='" . wp_nonce_url( $duplicate_link ) . "' title='". __('Copy', 'formidable') ." $title'>". __('Duplicate', 'formidable') ."</a>";
139
 
140
  if($frmpro_is_installed){
141
- $actions['template'] = "<a href='" . wp_nonce_url( "?page=formidable&frm_action=duplicate&id={$item->id}&template=1" ) . "' title='". __('Create Template', 'formidable') ."'>". __('Create Template', 'formidable') ."</a>";
142
 
143
  }
144
  }
@@ -149,29 +149,28 @@ class FrmListHelper extends WP_List_Table {
149
  }
150
 
151
  $delete_link = "?page=formidable&frm_action=destroy&id={$item->id}";
152
- $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url( $delete_link ) . "' onclick='return confirm(\"". __('Are you sure you want to delete that?', 'formidable') ."\")'>" . __( 'Delete', 'formidable' ) . "</a>";
153
 
154
  if(!current_user_can('frm_view_entries')){
155
- if(isset($actions['entries']))
156
- unset($actions['entries']);
157
 
158
- if(isset($actions['reports']))
159
- unset($actions['reports']);
160
  }
161
 
162
  if(!current_user_can('frm_edit_forms')){
163
- unset($actions['edit']);
164
- unset($actions['duplicate']);
165
- if(isset($actions['settings']))
166
- unset($actions['settings']);
167
 
168
- if(!$frmpro_is_installed){
169
- unset($actions['duplicate']);
170
- }
171
  }
172
 
173
  if(!current_user_can('frm_delete_forms')){
174
- unset($actions['delete']);
175
  }
176
 
177
  $action_links = $this->row_actions( $actions );
@@ -237,7 +236,7 @@ class FrmListHelper extends WP_List_Table {
237
  if(isset($val)){
238
  $r .= "<td $attributes>";
239
  if($column_name == $action_col){
240
- $r .= '<a class="row-title" href="'. (isset($actions['edit']) ? $edit_link : $view_link) .'">'. $val .'</a> ';
241
  $r .= $action_links;
242
  }else{
243
  $r .= $val;
115
  $title = esc_attr(strip_tags(stripslashes($item->name)));
116
 
117
  $edit_link = "?page=formidable&frm_action=edit&id={$item->id}";
118
+ $actions['frm_edit'] = "<a href='" . wp_nonce_url( $edit_link ) . "'>". __('Edit', 'formidable') ."</a>";
119
 
120
  $duplicate_link = "?page=formidable&frm_action=duplicate&id={$item->id}";
121
 
123
 
124
 
125
  if ($this->params['template']){
126
+ $actions['frm_duplicate'] = "<a href='" . wp_nonce_url( $duplicate_link ) . "'>". __('Create Form from Template', 'formidable') ."</a>";
127
  }else{
128
+ $actions['frm_settings'] = "<a href='" . wp_nonce_url( "?page=formidable&frm_action=settings&id={$item->id}" ) . "'>". __('Settings', 'formidable') ."</a>";
129
 
130
+ //$actions['frm_entries'] = "<a href='" . wp_nonce_url( "?page=formidable-entries&form={$item->id}" ) . "' title='$title ". __('Entries', 'formidable') ."'>". __('Entries', 'formidable') ."</a>";
131
 
132
+ $actions['frm_reports'] = "<a href='" . wp_nonce_url( "?page=formidable-reports&form={$item->id}" ) . "' title='$title ". __('Reports', 'formidable') ."'>". __('Reports', 'formidable') ."</a>";
133
 
134
  if($frmpro_is_installed and current_user_can('frm_create_entries')){
135
+ $actions['frm_entry'] = "<a href='" . wp_nonce_url( "?page=formidable-entries&frm_action=new&form={$item->id}" ) . "' title='". __('New', 'formidable') ." $title ". __('Entry', 'formidable') ."'>". __('New Entry', 'formidable') ."</a>";
136
  }
137
 
138
+ $actions['frm_duplicate'] = "<a href='" . wp_nonce_url( $duplicate_link ) . "' title='". __('Copy', 'formidable') ." $title'>". __('Duplicate', 'formidable') ."</a>";
139
 
140
  if($frmpro_is_installed){
141
+ $actions['frm_template'] = "<a href='" . wp_nonce_url( "?page=formidable&frm_action=duplicate&id={$item->id}&template=1" ) . "' title='". __('Create Template', 'formidable') ."'>". __('Create Template', 'formidable') ."</a>";
142
 
143
  }
144
  }
149
  }
150
 
151
  $delete_link = "?page=formidable&frm_action=destroy&id={$item->id}";
152
+ $actions['frm_delete'] = "<a class='submitdelete' href='" . wp_nonce_url( $delete_link ) . "' onclick='return confirm(\"". __('Are you sure you want to delete that?', 'formidable') ."\")'>" . __( 'Delete', 'formidable' ) . "</a>";
153
 
154
  if(!current_user_can('frm_view_entries')){
155
+ if(isset($actions['frm_entries']))
156
+ unset($actions['frm_entries']);
157
 
158
+ if(isset($actions['frm_reports']))
159
+ unset($actions['frm_reports']);
160
  }
161
 
162
  if(!current_user_can('frm_edit_forms')){
163
+ unset($actions['frm_edit']);
164
+ unset($actions['frm_duplicate']);
165
+ if(isset($actions['frm_settings']))
166
+ unset($actions['frm_settings']);
167
 
168
+ if(!$frmpro_is_installed)
169
+ unset($actions['frm_duplicate']);
 
170
  }
171
 
172
  if(!current_user_can('frm_delete_forms')){
173
+ unset($actions['frm_delete']);
174
  }
175
 
176
  $action_links = $this->row_actions( $actions );
236
  if(isset($val)){
237
  $r .= "<td $attributes>";
238
  if($column_name == $action_col){
239
+ $r .= '<a class="row-title" href="'. (isset($actions['frm_edit']) ? $edit_link : $view_link) .'">'. $val .'</a> ';
240
  $r .= $action_links;
241
  }else{
242
  $r .= $val;
classes/models/FrmUpdate.php CHANGED
@@ -115,17 +115,6 @@ class FrmUpdate{
115
  return $client->getResponse();
116
  }
117
 
118
- function user_allowed_to_download(){
119
- include_once( ABSPATH . 'wp-includes/class-IXR.php' );
120
-
121
- $client = new IXR_Client( $this->pro_mothership_xmlrpc_url, false, 80, $this->timeout );
122
-
123
- if ( !$client->query( 'proplug.is_user_allowed_to_download', $this->pro_username, $this->pro_password, get_option('siteurl'), $this->plugin_nicename ) )
124
- return false;
125
-
126
- return $client->getResponse();
127
- }
128
-
129
  function pro_cred_form(){
130
  global $frmpro_is_installed, $frm_ajax_url;
131
  if(isset($_POST) and isset($_POST['process_cred_form']) and $_POST['process_cred_form'] == 'Y'){
@@ -272,17 +261,6 @@ success:function(msg){jQuery("#frm_deauthorize_link").fadeOut("slow"); frm_show_
272
 
273
  return compact('username', 'password', 'wpmu');
274
  }
275
-
276
- function get_download_url($version){
277
- include_once( ABSPATH . 'wp-includes/class-IXR.php' );
278
-
279
- $client = new IXR_Client( $this->pro_mothership_xmlrpc_url, false, 80, $this->timeout );
280
-
281
- if( !$client->query( 'proplug.get_encoded_download_url', $this->pro_username, $this->pro_password, $version, get_option('siteurl'), $this->plugin_nicename ) )
282
- return false;
283
-
284
- return base64_decode($client->getResponse());
285
- }
286
 
287
  public function get_current_info($version, $force=false){
288
  include_once( ABSPATH . 'wp-includes/class-IXR.php' );
@@ -297,18 +275,6 @@ success:function(msg){jQuery("#frm_deauthorize_link").fadeOut("slow"); frm_show_
297
 
298
  return $client->getResponse();
299
  }
300
-
301
- function get_current_version(){
302
- include_once( ABSPATH . 'wp-includes/class-IXR.php' );
303
-
304
- $client = new IXR_Client( $this->pro_mothership_xmlrpc_url, false, 80, $this->timeout );
305
-
306
- if( !$client->query( 'proplug.get_current_version', $this->plugin_nicename ) )
307
- return false;
308
-
309
- return $client->getResponse();
310
- }
311
-
312
 
313
  //Check if free version will be downloaded. If so, switch it to the Pro version
314
  function queue_update($transient, $force=false){
@@ -317,8 +283,8 @@ success:function(msg){jQuery("#frm_deauthorize_link").fadeOut("slow"); frm_show_
317
  return $transient;
318
 
319
  //if not already checked or URL set to free version or Plugin marked at latest
320
- if(!empty( $transient->checked ) or
321
- (isset($transient->response) and isset($transient->response[$this->plugin_name]) and
322
  (($transient->response[$this->plugin_name] == 'latest' and !$this->pro_is_installed())
323
  or $transient->response[$this->plugin_name]->url == 'http://wordpress.org/extend/plugins/'. $this->plugin_nicename .'/'))){
324
 
115
  return $client->getResponse();
116
  }
117
 
 
 
 
 
 
 
 
 
 
 
 
118
  function pro_cred_form(){
119
  global $frmpro_is_installed, $frm_ajax_url;
120
  if(isset($_POST) and isset($_POST['process_cred_form']) and $_POST['process_cred_form'] == 'Y'){
261
 
262
  return compact('username', 'password', 'wpmu');
263
  }
 
 
 
 
 
 
 
 
 
 
 
264
 
265
  public function get_current_info($version, $force=false){
266
  include_once( ABSPATH . 'wp-includes/class-IXR.php' );
275
 
276
  return $client->getResponse();
277
  }
 
 
 
 
 
 
 
 
 
 
 
 
278
 
279
  //Check if free version will be downloaded. If so, switch it to the Pro version
280
  function queue_update($transient, $force=false){
283
  return $transient;
284
 
285
  //if not already checked or URL set to free version or Plugin marked at latest
286
+ if(!empty( $transient->checked ) or
287
+ (isset($transient->response) and isset($transient->response[$this->plugin_name]) and
288
  (($transient->response[$this->plugin_name] == 'latest' and !$this->pro_is_installed())
289
  or $transient->response[$this->plugin_name]->url == 'http://wordpress.org/extend/plugins/'. $this->plugin_nicename .'/'))){
290
 
classes/views/frm-forms/mb_insert_fields.php CHANGED
@@ -9,9 +9,14 @@
9
 
10
  <div id="frm-insert-fields" class="tabs-panel" style="max-height:none;padding-right:0;">
11
  <?php
12
- $settings_tab = true;
13
- include(FRM_VIEWS_PATH .'/shared/mb_insert_fields.php');
14
- unset($settings_tab); ?>
 
 
 
 
 
15
  </div>
16
 
17
  <div id="frm-html-tags" class="tabs-panel" style="display:none;max-height:none;padding-right:0;">
9
 
10
  <div id="frm-insert-fields" class="tabs-panel" style="max-height:none;padding-right:0;">
11
  <?php
12
+ if($frmpro_is_installed){
13
+ $settings_tab = true;
14
+ include(FRM_VIEWS_PATH .'/shared/mb_insert_fields.php');
15
+ unset($settings_tab);
16
+ }else{
17
+ echo '<br/><br/>';
18
+ FrmAppController::update_message('insert field values into your messages');
19
+ } ?>
20
  </div>
21
 
22
  <div id="frm-html-tags" class="tabs-panel" style="display:none;max-height:none;padding-right:0;">
classes/views/frm-forms/notification.php CHANGED
@@ -4,7 +4,7 @@
4
  <td width="100px"><label><?php _e('From/Reply to', 'formidable') ?></label> <img src="<?php echo FRM_IMAGES_URL ?>/tooltip.png" alt="?" class="frm_help" title="<?php _e('Usually the name and email of the person filling out the form. Select from Text, Email, User ID, or hidden fields for the name. &lt;br/&gt;Defaults to your site name and admin email found on the WordPress General Settings page.', 'formidable') ?>" /></td>
5
  <td class="frm_email_reply_container"><span class="howto"><?php _e('Name', 'formidable') ?></span>
6
 
7
- <select name="notification[<?php echo $email_key ?>][reply_to_name]" id="reply_to_name_<?php echo $email_key ?>" onchange="frmCheckCustomEmail(this.value,'reply_to_name')">
8
  <option value=""><?php echo FrmAppHelper::truncate(get_option('blogname'), 80); ?></option>
9
  <option value="custom" <?php selected($notification['reply_to_name'], 'custom'); ?>><?php _e('Custom Name', 'formidable') ?></option>
10
  <?php
@@ -28,7 +28,7 @@
28
  </select>
29
 
30
  <span class="howto" ><?php _e('Email', 'formidable') ?></span>
31
- <select name="notification[<?php echo $email_key ?>][reply_to]" id="reply_to_<?php echo $email_key ?>" onchange="frmCheckCustomEmail(this.value,'reply_to')">
32
  <option value=""><?php echo get_option('admin_email') ?></option>
33
  <option value="custom" <?php selected($notification['reply_to'], 'custom'); ?>><?php _e('Custom Address', 'formidable') ?></option>
34
  <?php
@@ -50,11 +50,11 @@
50
  } ?>
51
  </select>
52
 
53
- <div id="frm_cust_reply_container" <?php echo ($notification['reply_to_name'] == 'custom' or $notification['reply_to_name'] == 'custom') ? '' : 'style="display:none"'; ?>>
54
  <span class="howto" style="visibility:hidden;"><?php _e('Name', 'formidable') ?></span>
55
- <input type="text" name="notification[<?php echo $email_key ?>][cust_reply_to_name]" value="<?php echo esc_attr($notification['cust_reply_to_name']) ?>" id="cust_reply_to_name" title="<?php _e('Name', 'formidable') ?>" <?php echo ($notification['reply_to_name'] == 'custom') ? '' : 'style="visibility:hidden;"'; ?> />
56
  <span class="howto" style="visibility:hidden;"><?php _e('Email', 'formidable') ?></span>
57
- <input type="text" name="notification[<?php echo $email_key ?>][cust_reply_to]" value="<?php echo esc_attr($notification['cust_reply_to']) ?>" id="cust_reply_to" title="<?php _e('Email Address', 'formidable') ?>" <?php echo ($notification['reply_to'] == 'custom') ? '' : 'style="visibility:hidden;"'; ?> />
58
  </div>
59
  </td>
60
  </tr>
4
  <td width="100px"><label><?php _e('From/Reply to', 'formidable') ?></label> <img src="<?php echo FRM_IMAGES_URL ?>/tooltip.png" alt="?" class="frm_help" title="<?php _e('Usually the name and email of the person filling out the form. Select from Text, Email, User ID, or hidden fields for the name. &lt;br/&gt;Defaults to your site name and admin email found on the WordPress General Settings page.', 'formidable') ?>" /></td>
5
  <td class="frm_email_reply_container"><span class="howto"><?php _e('Name', 'formidable') ?></span>
6
 
7
+ <select name="notification[<?php echo $email_key ?>][reply_to_name]" id="reply_to_name_<?php echo $email_key ?>" onchange="frmCheckCustomEmail(this.value,'reply_to_name',<?php echo $email_key ?>)">
8
  <option value=""><?php echo FrmAppHelper::truncate(get_option('blogname'), 80); ?></option>
9
  <option value="custom" <?php selected($notification['reply_to_name'], 'custom'); ?>><?php _e('Custom Name', 'formidable') ?></option>
10
  <?php
28
  </select>
29
 
30
  <span class="howto" ><?php _e('Email', 'formidable') ?></span>
31
+ <select name="notification[<?php echo $email_key ?>][reply_to]" id="reply_to_<?php echo $email_key ?>" onchange="frmCheckCustomEmail(this.value,'reply_to',<?php echo $email_key ?>)">
32
  <option value=""><?php echo get_option('admin_email') ?></option>
33
  <option value="custom" <?php selected($notification['reply_to'], 'custom'); ?>><?php _e('Custom Address', 'formidable') ?></option>
34
  <?php
50
  } ?>
51
  </select>
52
 
53
+ <div id="frm_cust_reply_container_<?php echo $email_key ?>" <?php echo ($notification['reply_to_name'] == 'custom' or $notification['reply_to_name'] == 'custom') ? '' : 'style="display:none"'; ?>>
54
  <span class="howto" style="visibility:hidden;"><?php _e('Name', 'formidable') ?></span>
55
+ <input type="text" name="notification[<?php echo $email_key ?>][cust_reply_to_name]" value="<?php echo esc_attr($notification['cust_reply_to_name']) ?>" id="cust_reply_to_name_<?php echo $email_key ?>" title="<?php _e('Name', 'formidable') ?>" <?php echo ($notification['reply_to_name'] == 'custom') ? '' : 'style="visibility:hidden;"'; ?> />
56
  <span class="howto" style="visibility:hidden;"><?php _e('Email', 'formidable') ?></span>
57
+ <input type="text" name="notification[<?php echo $email_key ?>][cust_reply_to]" value="<?php echo esc_attr($notification['cust_reply_to']) ?>" id="cust_reply_to_<?php echo $email_key ?>" title="<?php _e('Email Address', 'formidable') ?>" <?php echo ($notification['reply_to'] == 'custom') ? '' : 'style="visibility:hidden;"'; ?> />
58
  </div>
59
  </td>
60
  </tr>
classes/views/frm-forms/settings.php CHANGED
@@ -3,10 +3,16 @@
3
  <h2><?php _e('Edit Form', 'formidable') ?>
4
  <a href="?page=formidable-new" class="button add-new-h2"><?php _e('Add New', 'formidable'); ?></a>
5
  </h2>
6
- <?php require(FRM_VIEWS_PATH.'/shared/errors.php'); ?>
7
-
8
 
 
 
 
 
 
9
  <div id="poststuff">
 
 
10
  <div id="post-body" class="metabox-holder columns-2">
11
  <div id="post-body-content">
12
  <div class="alignleft">
@@ -37,7 +43,7 @@
37
  <h3 class="hndle"><span><?php echo FrmAppHelper::truncate(stripslashes($values['name']), 40) .' '. __('Settings', 'formidable') ?></span></h3>
38
  <div class="inside">
39
  <div class="contextual-help-tabs">
40
- <ul class="frm-category-tabs<?php if(version_compare( $GLOBALS['wp_version'], '3.3.0', '<')) echo 'category-tabs" id="category-tabs'; ?>">
41
  <li class="tabs active"><a onclick="frmSettingsTab(jQuery(this),'advanced');"><?php _e('General', 'formidable') ?></a></li>
42
  <li><a href="#notification_settings"><?php _e('Emails', 'formidable') ?></a></li>
43
  <li><a href="#html_settings"><?php _e('Customize HTML', 'formidable') ?></a></li>
@@ -151,7 +157,7 @@
151
  <?php if($frmpro_is_installed)
152
  FrmProFormsController::post_options($values);
153
  else
154
- FrmAppController::update_message('create and edit posts, pages, and custom post types through your forms');
155
  ?>
156
  </div>
157
 
@@ -181,25 +187,10 @@
181
 
182
 
183
  </div>
184
- <div id="postbox-container-1">
185
- <?php if(!isset($hide_preview) or !$hide_preview){
186
- if (!$values['is_template']){ ?>
187
- <p class="howto" style="margin-top:0;"><?php _e('Insert into a post, page or text widget', 'formidable') ?>
188
- <input type="text" style="text-align:center;font-weight:bold;width:100%;" readonly="true" onclick="this.select();" onfocus="this.select();" value="[formidable id=<?php echo $id; ?>]" /></p>
189
- <?php } ?>
190
-
191
- <p class="frm_orange"><a href="<?php echo FrmFormsHelper::get_direct_link($values['form_key']); ?>" target="_blank"><?php _e('Preview', 'formidable') ?></a>
192
- <?php global $frm_settings;
193
- if ($frm_settings->preview_page_id > 0){ ?>
194
- <?php _e('or', 'formidable') ?>
195
- <a href="<?php echo add_query_arg('form', $values['form_key'], get_permalink($frm_settings->preview_page_id)) ?>" target="_blank"><?php _e('Preview in Current Theme', 'formidable') ?></a>
196
- <?php } ?>
197
- </p>
198
- <?php
199
- } ?>
200
-
201
- <?php include(FRM_VIEWS_PATH .'/frm-forms/mb_insert_fields.php') ?>
202
- </div>
203
  </div>
204
  </div>
205
  </div>
3
  <h2><?php _e('Edit Form', 'formidable') ?>
4
  <a href="?page=formidable-new" class="button add-new-h2"><?php _e('Add New', 'formidable'); ?></a>
5
  </h2>
6
+ <?php require(FRM_VIEWS_PATH.'/shared/errors.php');
 
7
 
8
+ if(version_compare( $GLOBALS['wp_version'], '3.3.3', '<')){ ?>
9
+ <div id="poststuff" class="metabox-holder has-right-sidebar">
10
+ <?php
11
+ require(FRM_VIEWS_PATH .'/frm-forms/sidebar-settings.php');
12
+ }else{ ?>
13
  <div id="poststuff">
14
+ <?php } ?>
15
+
16
  <div id="post-body" class="metabox-holder columns-2">
17
  <div id="post-body-content">
18
  <div class="alignleft">
43
  <h3 class="hndle"><span><?php echo FrmAppHelper::truncate(stripslashes($values['name']), 40) .' '. __('Settings', 'formidable') ?></span></h3>
44
  <div class="inside">
45
  <div class="contextual-help-tabs">
46
+ <ul class="frm-category-tabs <?php if(version_compare( $GLOBALS['wp_version'], '3.3.0', '<')) echo 'category-tabs" id="category-tabs'; ?>">
47
  <li class="tabs active"><a onclick="frmSettingsTab(jQuery(this),'advanced');"><?php _e('General', 'formidable') ?></a></li>
48
  <li><a href="#notification_settings"><?php _e('Emails', 'formidable') ?></a></li>
49
  <li><a href="#html_settings"><?php _e('Customize HTML', 'formidable') ?></a></li>
157
  <?php if($frmpro_is_installed)
158
  FrmProFormsController::post_options($values);
159
  else
160
+ FrmAppController::update_message('create and edit posts, pages, and custom post types through your forms');
161
  ?>
162
  </div>
163
 
187
 
188
 
189
  </div>
190
+ <?php
191
+ if(version_compare( $GLOBALS['wp_version'], '3.3.2', '>'))
192
+ require(FRM_VIEWS_PATH .'/frm-forms/sidebar-settings.php');
193
+ ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  </div>
195
  </div>
196
  </div>
classes/views/frm-forms/sidebar-settings.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="postbox-container-1" class="<?php echo FrmAppController::get_postbox_class(); ?>">
2
+ <?php if(!isset($hide_preview) or !$hide_preview){
3
+ if (!$values['is_template']){ ?>
4
+ <p class="howto" style="margin-top:0;"><?php _e('Insert into a post, page or text widget', 'formidable') ?>
5
+ <input type="text" style="text-align:center;font-weight:bold;width:100%;" readonly="true" onclick="this.select();" onfocus="this.select();" value="[formidable id=<?php echo $id; ?>]" /></p>
6
+ <?php } ?>
7
+
8
+ <p class="frm_orange"><a href="<?php echo FrmFormsHelper::get_direct_link($values['form_key']); ?>" target="_blank"><?php _e('Preview', 'formidable') ?></a>
9
+ <?php global $frm_settings;
10
+ if ($frm_settings->preview_page_id > 0){ ?>
11
+ <?php _e('or', 'formidable') ?>
12
+ <a href="<?php echo add_query_arg('form', $values['form_key'], get_permalink($frm_settings->preview_page_id)) ?>" target="_blank"><?php _e('Preview in Current Theme', 'formidable') ?></a>
13
+ <?php } ?>
14
+ </p>
15
+ <?php
16
+ } ?>
17
+
18
+ <?php include(FRM_VIEWS_PATH .'/frm-forms/mb_insert_fields.php') ?>
19
+ </div>
classes/views/shared/mb_insert_fields.php CHANGED
@@ -51,14 +51,15 @@ $entry_shortcodes = array('id' => __('Entry ID', 'formidable'),
51
  '' => '',
52
  'siteurl' => __('Site URL', 'formidable'),
53
  'sitename' => __('Site Name', 'formidable'),
54
- 'editlink location=&#34;front&#34; label=&#34;Edit&#34; page_id=4' => __('Edit Entry Link', 'formidable'),
55
- 'detaillink' => __('Single Entry Link', 'formidable')
56
  );
57
 
58
  if(isset($settings_tab) and $settings_tab){
59
- unset($entry_shortcodes['detaillink']);
60
- $entry_shortcodes['125 show=&#34;field_label&#34;'] = __('Field Label', 'formidable');
 
 
61
  }
 
62
 
63
  foreach($entry_shortcodes as $skey => $sname){
64
  if(empty($skey)){
@@ -77,4 +78,5 @@ foreach($entry_shortcodes as $skey => $sname){
77
  }
78
  ?>
79
  </ul>
 
80
  <script type="text/javascript">jQuery(document).ready(function($){ $('.frm_code_list .frmkeys').hide(); });</script>
51
  '' => '',
52
  'siteurl' => __('Site URL', 'formidable'),
53
  'sitename' => __('Site Name', 'formidable'),
 
 
54
  );
55
 
56
  if(isset($settings_tab) and $settings_tab){
57
+ $entry_shortcodes['125 show=&#34;field_label&#34;'] = __('Field Label', 'formidable');
58
+ }else{
59
+ $entry_shortcodes['detaillink'] = __('Single Entry Link', 'formidable');
60
+ $entry_shortcodes['editlink location=&#34;front&#34; label=&#34;Edit&#34; page_id=4'] = __('Edit Entry Link', 'formidable');
61
  }
62
+ $entry_shortcodes['evenodd'] = __('Rotate even/odd', 'formidable');
63
 
64
  foreach($entry_shortcodes as $skey => $sname){
65
  if(empty($skey)){
78
  }
79
  ?>
80
  </ul>
81
+
82
  <script type="text/javascript">jQuery(document).ready(function($){ $('.frm_code_list .frmkeys').hide(); });</script>
css/frm_admin.css CHANGED
@@ -127,7 +127,7 @@ img.frm_help{margin-left:2px;vertical-align:middle;padding-bottom:2px;}
127
  border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;
128
  }
129
  #postbox-container-1 .frm_field_list .button a{display:block;font-weight:normal;text-decoration:none;font-size:11px !important;}
130
- .frm_col_one{margin-right:10px;clear:both;}
131
  .frm_html_legend pre{display:inline;}
132
 
133
  #ed_fullscreen{display:none !important;}
127
  border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;
128
  }
129
  #postbox-container-1 .frm_field_list .button a{display:block;font-weight:normal;text-decoration:none;font-size:11px !important;}
130
+ .frm_col_one, #postbox-container-1 .frm_field_list .button.frm_col_one{margin-right:10px;clear:both;}
131
  .frm_html_legend pre{display:inline;}
132
 
133
  #ed_fullscreen{display:none !important;}
css/frm_display.css CHANGED
@@ -10,6 +10,7 @@
10
  .with_frm_style .frm_blank_field label, .with_frm_style .frm_error{color:#be2e17;}
11
  .with_frm_style .frm_blank_field input, .with_frm_style .frm_blank_field textarea, .with_frm_style .frm_blank_field select, .with_frm_style .frm_blank_field #recaptcha_area{border:1px solid #be2e17;}
12
  .with_frm_style .frm_required{color:#ff0000;font-weight:bold;}
 
13
  .with_frm_style .frm_checkbox, .with_frm_style .frm_radio{display:block;margin:0;}
14
  .with_frm_style .frm_left_container .frm_checkbox, .with_frm_style .frm_left_container .frm_radio{margin-left:160px;}
15
  .with_frm_style fieldset{border:none;margin:0;padding:0;}
@@ -23,7 +24,9 @@
23
  .frm_set_select .with_frm_style .frm_form_fields select, .frm_set_select .with_frm_style .frm_form_fields select.auto_width{width:95%;}
24
  .with_frm_style .frm_radio label, .with_frm_style .frm_checkbox label{display:inline;}
25
  .with_frm_style input[type="radio"], .with_frm_style input[type="checkbox"]{width:auto;margin-right:3px;}
26
- .with_frm_style .frm_message, .with_frm_style .frm_message p{font-size:14px;margin:5px 0 15px;padding:5px 10px;background-color:#FFFFE0;border:1px solid #E6DB55;color:#444444;}
 
 
27
 
28
  .frm_forms.with_frm_style{max-width:98%;}
29
  .frm_form_field.frm_third, .frm_form_field.frm_fourth, .frm_form_field.frm_fifth, .frm_form_field.frm_inline{clear:none;float:left;}
10
  .with_frm_style .frm_blank_field label, .with_frm_style .frm_error{color:#be2e17;}
11
  .with_frm_style .frm_blank_field input, .with_frm_style .frm_blank_field textarea, .with_frm_style .frm_blank_field select, .with_frm_style .frm_blank_field #recaptcha_area{border:1px solid #be2e17;}
12
  .with_frm_style .frm_required{color:#ff0000;font-weight:bold;}
13
+ .with_frm_style input.required, .with_frm_style textarea.required, .with_frm_style select.required{color:inherit;}
14
  .with_frm_style .frm_checkbox, .with_frm_style .frm_radio{display:block;margin:0;}
15
  .with_frm_style .frm_left_container .frm_checkbox, .with_frm_style .frm_left_container .frm_radio{margin-left:160px;}
16
  .with_frm_style fieldset{border:none;margin:0;padding:0;}
24
  .frm_set_select .with_frm_style .frm_form_fields select, .frm_set_select .with_frm_style .frm_form_fields select.auto_width{width:95%;}
25
  .with_frm_style .frm_radio label, .with_frm_style .frm_checkbox label{display:inline;}
26
  .with_frm_style input[type="radio"], .with_frm_style input[type="checkbox"]{width:auto;margin-right:3px;}
27
+ .with_frm_style .frm_message, .with_frm_style .frm_message p{font-size:14px;margin:5px 0 15px;padding:5px 10px;background-color:#FFFFE0;color:#444444;}
28
+ .with_frm_style .frm_message{border:1px solid #E6DB55;}
29
+
30
 
31
  .frm_forms.with_frm_style{max-width:98%;}
32
  .frm_form_field.frm_third, .frm_form_field.frm_fourth, .frm_form_field.frm_fifth, .frm_form_field.frm_inline{clear:none;float:left;}
formidable.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Formidable
4
  Description: Quickly and easily create drag-and-drop forms
5
- Version: 1.06.07
6
  Plugin URI: http://formidablepro.com/
7
  Author URI: http://strategy11.com
8
  Author: Strategy11
@@ -52,7 +52,7 @@ if (!defined ('IS_WPMU')){
52
  }
53
 
54
  global $frm_version, $frm_db_version;
55
- $frm_version = '1.06.07';
56
  $frm_db_version = 9;
57
 
58
  global $frm_ajax_url;
2
  /*
3
  Plugin Name: Formidable
4
  Description: Quickly and easily create drag-and-drop forms
5
+ Version: 1.06.08
6
  Plugin URI: http://formidablepro.com/
7
  Author URI: http://strategy11.com
8
  Author: Strategy11
52
  }
53
 
54
  global $frm_version, $frm_db_version;
55
+ $frm_version = '1.06.08';
56
  $frm_db_version = 9;
57
 
58
  global $frm_ajax_url;
js/formidable_admin.js CHANGED
@@ -374,12 +374,12 @@ function frmRemoveEmailList(id){
374
  jQuery('#frm_notification_'+id).fadeOut('slow').replaceWith('');
375
  }
376
 
377
- function frmCheckCustomEmail(value,id){
378
- if(value=='custom'){jQuery('#cust_'+id).css('visibility','visible'); jQuery('#cust_'+id).parent('div').show();}
379
  else{
380
- jQuery('#cust_'+id).css('visibility','hidden');
381
  if(id=='reply_to') var a='reply_to_name'; else var a='reply_to';
382
- if(jQuery('#cust_'+a).css('visibility')=='hidden') jQuery('#frm_cust_reply_container').hide();
383
  }
384
  }
385
 
374
  jQuery('#frm_notification_'+id).fadeOut('slow').replaceWith('');
375
  }
376
 
377
+ function frmCheckCustomEmail(value,id,key){
378
+ if(value=='custom'){jQuery('#cust_'+id+'_'+key).css('visibility','visible'); jQuery('#frm_cust_reply_container_'+key).show();}
379
  else{
380
+ jQuery('#cust_'+id+'_'+key).css('visibility','hidden');
381
  if(id=='reply_to') var a='reply_to_name'; else var a='reply_to';
382
+ if(jQuery('#cust_'+a+'_'+key).css('visibility')=='hidden') jQuery('#frm_cust_reply_container_'+key).hide();
383
  }
384
  }
385
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://formidablepro.com/donate
4
  Tags: admin, AJAX, captcha, contact, contact form, database, email, feedback, form, forms, javascript, jquery, page, plugin, poll, Post, spam, survey, template, widget, wpmu
5
  Requires at least: 3.0
6
  Tested up to: 3.5
7
- Stable tag: 1.06.07
8
 
9
  Quickly and easily build forms with a simple drag-and-drop interface and in-place editing.
10
 
@@ -61,6 +61,17 @@ A. Try clearing your browser cache. As plugin modifications are made, frequent j
61
  [See more FAQs](http://formidablepro.com/formidable-faqs/ "Formidable Pro FAQs")
62
 
63
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
64
  = 1.06.07 =
65
  * Added mb_split fallback for servers without mbstring installed
66
  * Changed menu position to prevent override from other plugins and themes
4
  Tags: admin, AJAX, captcha, contact, contact form, database, email, feedback, form, forms, javascript, jquery, page, plugin, poll, Post, spam, survey, template, widget, wpmu
5
  Requires at least: 3.0
6
  Tested up to: 3.5
7
+ Stable tag: 1.06.08
8
 
9
  Quickly and easily build forms with a simple drag-and-drop interface and in-place editing.
10
 
61
  [See more FAQs](http://formidablepro.com/formidable-faqs/ "Formidable Pro FAQs")
62
 
63
  == Changelog ==
64
+ = 1.06.08 =
65
+ * Changed class names on action links on the form listing table to prevent conflicts with themes and other plugins
66
+ * PRO: Filter shortcodes if any in the login message
67
+ * PRO: Fixed order of fields shown in default email notification
68
+ * PRO: Keep files attached to the post when editing the entry and using multiple file upload option
69
+ * PRO: Attach file uploads to WP post even if the upload field is not set as a custom field
70
+ * PRO: Fixed bug forcing site name and admin email as the email "from" info when a custom name/email is selected
71
+ * PRO: Send a notification even if the notification before it is empty
72
+ * PRO: Fixed conditional logic on email notifications to make sure they are stopped when they should be
73
+ * PRO: Automatically send emails to the saved value of a field when used in the "Email recipients" box without requiring show=field_value
74
+
75
  = 1.06.07 =
76
  * Added mb_split fallback for servers without mbstring installed
77
  * Changed menu position to prevent override from other plugins and themes