Completed
Push — develop ( 56f9a2...cb663a )
by Zack
162:55 queued 142:53
created
includes/widgets/class-gravityview-widget-page-size.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
 
77 77
 	/**
78 78
 	 * Render the page size widget
79
-     *
79
+	 *
80 80
 	 * @param array $widget_args The Widget shortcode args.
81 81
 	 * @param string $content The content.
82 82
 	 * @param string|\GV\Template_Context $context The context, if available.
@@ -117,10 +117,10 @@  discard block
 block discarded – undo
117 117
 						<?php } ?>
118 118
                     </select>
119 119
                     <input type="submit" value="Submit" style="visibility: hidden; position: absolute;" /><?php
120
-                    if( ! empty( $_GET ) ) {
121
-                        $get = $_GET;
122
-                        unset( $get['page_size'] );
123
-	                    foreach ( $get as $key => $value ) {
120
+					if( ! empty( $_GET ) ) {
121
+						$get = $_GET;
122
+						unset( $get['page_size'] );
123
+						foreach ( $get as $key => $value ) {
124 124
 							if ( is_array( $value ) ) {
125 125
 								foreach ( $value as $_key => $_value ) {
126 126
 									printf( '<input type="hidden" name="%s[%s]" value="%s" />', esc_attr( $key ), esc_attr( $_key ), esc_attr( $_value ) );
@@ -128,9 +128,9 @@  discard block
 block discarded – undo
128 128
 							} else {
129 129
 								printf( '<input type="hidden" name="%s" value="%s" />', esc_attr( $key ), esc_attr( $value ) );
130 130
 							}
131
-	                    }
132
-                    }
133
-                    ?>
131
+						}
132
+					}
133
+					?>
134 134
                 </div>
135 135
             </form>
136 136
         </div>
Please login to merge, or discard this patch.
includes/extensions/duplicate-entry/class-duplicate-entry.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
 	 */
247 247
 	public static function get_duplicate_link( $entry, $view_id, $post_id = null ) {
248 248
 
249
-        $base = GravityView_API::directory_link( $post_id ? : $view_id, true );
249
+		$base = GravityView_API::directory_link( $post_id ? : $view_id, true );
250 250
 
251 251
 		if ( empty( $base ) ) {
252 252
 			gravityview()->log->error( 'Post ID does not exist: {post_id}', array( 'post_id' => $post_id ) );
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
 			'action'	=> 'duplicate',
258 258
 			'entry_id'	=> $entry['id'],
259 259
 			'gvid' => $view_id,
260
-            'view_id' => $view_id,
260
+			'view_id' => $view_id,
261 261
 		), $base );
262 262
 
263 263
 		return add_query_arg( 'duplicate', wp_create_nonce( self::get_nonce_key( $entry['id'] ) ), $actionurl );
@@ -460,7 +460,7 @@  discard block
 block discarded – undo
460 460
 		 * @since 2.5
461 461
 		 * @param  array $duplicated_entry The duplicated entry
462 462
 		 * @param  array $entry The original entry
463
-		*/
463
+		 */
464 464
 		do_action( 'gravityview/duplicate-entry/duplicated', $duplicated_entry, $entry );
465 465
 
466 466
 		gravityview()->log->debug( 'Duplicate response: {duplicate_response}', array( 'duplicate_response' => $duplicate_response ) );
Please login to merge, or discard this patch.
includes/admin/metaboxes/views/view-configuration.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -31,11 +31,11 @@  discard block
 block discarded – undo
31 31
 
32 32
 			<?php
33 33
 
34
-                do_action('gravityview_render_widgets_active_areas', $curr_template, 'footer', $post->ID );
34
+				do_action('gravityview_render_widgets_active_areas', $curr_template, 'footer', $post->ID );
35 35
 
36
-    			do_action('gravityview_render_field_pickers', 'directory' );
36
+				do_action('gravityview_render_field_pickers', 'directory' );
37 37
 
38
-            ?>
38
+			?>
39 39
 
40 40
 			<?php // list of available widgets to be shown in the popup ?>
41 41
             <div id="directory-available-widgets" class="hide-if-js gv-tooltip">
@@ -60,13 +60,13 @@  discard block
 block discarded – undo
60 60
 
61 61
 			<div id="single-active-fields" class="gv-grid">
62 62
 				<?php
63
-                if(!empty( $curr_template ) ) {
64
-				    do_action('gravityview_render_directory_active_areas', $curr_template, 'single', $post->ID, true );
65
-                }
66
-			    ?>
63
+				if(!empty( $curr_template ) ) {
64
+					do_action('gravityview_render_directory_active_areas', $curr_template, 'single', $post->ID, true );
65
+				}
66
+				?>
67 67
 			</div>
68 68
             <?php
69
-                do_action('gravityview_render_field_pickers', 'single' );
69
+				do_action('gravityview_render_field_pickers', 'single' );
70 70
 			?>
71 71
 		</div>
72 72
 
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
 			</div>
86 86
 
87 87
 			<?php
88
-			    do_action('gravityview_render_field_pickers', 'edit' );
88
+				do_action('gravityview_render_field_pickers', 'edit' );
89 89
 			?>
90 90
 
91 91
 		</div>
Please login to merge, or discard this patch.
includes/class-gravityview-powered-by.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -69,7 +69,7 @@
 block discarded – undo
69 69
 
70 70
 		$url = add_query_arg( array(
71 71
 			'utm_source' => 'powered_by',
72
-            'utm_term' => get_bloginfo('name' ),
72
+			'utm_term' => get_bloginfo('name' ),
73 73
 		), $url );
74 74
 
75 75
 		/**
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry.php 1 patch
Indentation   +157 added lines, -157 removed lines patch added patch discarded remove patch
@@ -18,83 +18,83 @@  discard block
 block discarded – undo
18 18
 
19 19
 class GravityView_Edit_Entry {
20 20
 
21
-    /**
22
-     * @var string
23
-     */
21
+	/**
22
+	 * @var string
23
+	 */
24 24
 	static $file;
25 25
 
26 26
 	static $instance;
27 27
 
28
-    /**
29
-     * Component instances.
30
-     * @var array
31
-     */
32
-    public $instances = array();
28
+	/**
29
+	 * Component instances.
30
+	 * @var array
31
+	 */
32
+	public $instances = array();
33 33
 
34 34
 
35 35
 	function __construct() {
36 36
 
37
-        self::$file = plugin_dir_path( __FILE__ );
37
+		self::$file = plugin_dir_path( __FILE__ );
38 38
 
39
-        if( is_admin() ) {
40
-            $this->load_components( 'admin' );
41
-        }
39
+		if( is_admin() ) {
40
+			$this->load_components( 'admin' );
41
+		}
42 42
 
43 43
 		$this->load_components( 'locking' );
44 44
 
45
-        $this->load_components( 'render' );
45
+		$this->load_components( 'render' );
46 46
 
47
-        // If GF User Registration Add-on exists
48
-        $this->load_components( 'user-registration' );
47
+		// If GF User Registration Add-on exists
48
+		$this->load_components( 'user-registration' );
49 49
 
50
-        $this->add_hooks();
50
+		$this->add_hooks();
51 51
 
52 52
 		// Process hooks for addons that may or may not be present
53 53
 		$this->addon_specific_hooks();
54 54
 	}
55 55
 
56 56
 
57
-    static function getInstance() {
57
+	static function getInstance() {
58 58
 
59
-        if( empty( self::$instance ) ) {
60
-            self::$instance = new GravityView_Edit_Entry;
61
-        }
59
+		if( empty( self::$instance ) ) {
60
+			self::$instance = new GravityView_Edit_Entry;
61
+		}
62 62
 
63
-        return self::$instance;
64
-    }
63
+		return self::$instance;
64
+	}
65 65
 
66 66
 
67
-    private function load_components( $component ) {
67
+	private function load_components( $component ) {
68 68
 
69
-        $dir = trailingslashit( self::$file );
69
+		$dir = trailingslashit( self::$file );
70 70
 
71
-        $filename  = $dir . 'class-edit-entry-' . $component . '.php';
72
-        $classname = 'GravityView_Edit_Entry_' . str_replace( ' ', '_', ucwords( str_replace( '-', ' ', $component ) ) );
71
+		$filename  = $dir . 'class-edit-entry-' . $component . '.php';
72
+		$classname = 'GravityView_Edit_Entry_' . str_replace( ' ', '_', ucwords( str_replace( '-', ' ', $component ) ) );
73 73
 
74
-        // Loads component and pass extension's instance so that component can
75
-        // talk each other.
76
-        require_once $filename;
77
-        $this->instances[ $component ] = new $classname( $this );
78
-        $this->instances[ $component ]->load();
74
+		// Loads component and pass extension's instance so that component can
75
+		// talk each other.
76
+		require_once $filename;
77
+		$this->instances[ $component ] = new $classname( $this );
78
+		$this->instances[ $component ]->load();
79 79
 
80
-    }
80
+	}
81 81
 
82
-    private function add_hooks() {
82
+	private function add_hooks() {
83 83
 
84
-        // Add front-end access to Gravity Forms delete file action
85
-        add_action( 'wp_ajax_nopriv_rg_delete_file', array( 'GFForms', 'delete_file') );
84
+		// Add front-end access to Gravity Forms delete file action
85
+		add_action( 'wp_ajax_nopriv_rg_delete_file', array( 'GFForms', 'delete_file') );
86 86
 
87
-        // Make sure this hook is run for non-admins
88
-        add_action( 'wp_ajax_rg_delete_file', array( 'GFForms', 'delete_file') );
87
+		// Make sure this hook is run for non-admins
88
+		add_action( 'wp_ajax_rg_delete_file', array( 'GFForms', 'delete_file') );
89 89
 
90
-        add_filter( 'gravityview_blacklist_field_types', array( $this, 'modify_field_blacklist' ), 10, 2 );
90
+		add_filter( 'gravityview_blacklist_field_types', array( $this, 'modify_field_blacklist' ), 10, 2 );
91 91
 
92
-        // add template path to check for field
93
-        add_filter( 'gravityview_template_paths', array( $this, 'add_template_path' ) );
92
+		// add template path to check for field
93
+		add_filter( 'gravityview_template_paths', array( $this, 'add_template_path' ) );
94 94
 
95 95
 		add_filter( 'gravityview/field/is_visible', array( $this, 'maybe_not_visible' ), 10, 3 );
96 96
 
97
-    }
97
+	}
98 98
 
99 99
 	/**
100 100
 	 * Trigger hooks that are normally run in the admin for Addons, but need to be triggered manually because we're not in the admin
@@ -149,74 +149,74 @@  discard block
 block discarded – undo
149 149
 		return false;
150 150
 	}
151 151
 
152
-    /**
153
-     * Include this extension templates path
154
-     * @param array $file_paths List of template paths ordered
155
-     */
156
-    public function add_template_path( $file_paths ) {
157
-
158
-        // Index 100 is the default GravityView template path.
159
-        $file_paths[ 110 ] = self::$file;
160
-
161
-        return $file_paths;
162
-    }
163
-
164
-    /**
165
-     *
166
-     * Return a well formatted nonce key according to GravityView Edit Entry protocol
167
-     *
168
-     * @param $view_id int GravityView view id
169
-     * @param $form_id int Gravity Forms form id
170
-     * @param $entry_id int Gravity Forms entry id
171
-     * @return string
172
-     */
173
-    public static function get_nonce_key( $view_id, $form_id, $entry_id ) {
174
-        return sprintf( 'edit_%d_%d_%d', $view_id, $form_id, $entry_id );
175
-    }
176
-
177
-
178
-    /**
179
-     * The edit entry link creates a secure link with a nonce
180
-     *
181
-     * It also mimics the URL structure Gravity Forms expects to have so that
182
-     * it formats the display of the edit form like it does in the backend, like
183
-     * "You can edit this post from the post page" fields, for example.
184
-     *
185
-     * @param $entry array Gravity Forms entry object
186
-     * @param $view_id int GravityView view id
187
-     * @param $post_id int GravityView Post ID where View may be embedded {@since 1.9.2}
188
-     * @param string|array $field_values Parameters to pass in to the Edit Entry form to prefill data. Uses the same format as Gravity Forms "Allow field to be populated dynamically" {@since 1.9.2} {@see https://www.gravityhelp.com/documentation/article/allow-field-to-be-populated-dynamically/ }
189
-     * @return string
190
-     */
191
-    public static function get_edit_link( $entry, $view_id, $post_id = null, $field_values = '' ) {
192
-
193
-        $nonce_key = self::get_nonce_key( $view_id, $entry['form_id'], $entry['id']  );
194
-
195
-        $base = gv_entry_link( $entry, $post_id ? : $view_id  );
196
-
197
-        $url = add_query_arg( array(
198
-            'edit' => wp_create_nonce( $nonce_key )
199
-        ), $base );
200
-
201
-        if( $post_id ) {
202
-	        $url = add_query_arg( array( 'gvid' => $view_id ), $url );
203
-        }
204
-
205
-	    /**
206
-	     * Allow passing params to dynamically populate entry with values
207
-	     * @since 1.9.2
208
-	     */
209
-	    if( !empty( $field_values ) ) {
210
-
211
-		    if( is_array( $field_values ) ) {
212
-			    // If already an array, no parse_str() needed
213
-			    $params = $field_values;
214
-		    } else {
215
-			    parse_str( $field_values, $params );
216
-		    }
217
-
218
-		    $url = add_query_arg( $params, $url );
219
-	    }
152
+	/**
153
+	 * Include this extension templates path
154
+	 * @param array $file_paths List of template paths ordered
155
+	 */
156
+	public function add_template_path( $file_paths ) {
157
+
158
+		// Index 100 is the default GravityView template path.
159
+		$file_paths[ 110 ] = self::$file;
160
+
161
+		return $file_paths;
162
+	}
163
+
164
+	/**
165
+	 *
166
+	 * Return a well formatted nonce key according to GravityView Edit Entry protocol
167
+	 *
168
+	 * @param $view_id int GravityView view id
169
+	 * @param $form_id int Gravity Forms form id
170
+	 * @param $entry_id int Gravity Forms entry id
171
+	 * @return string
172
+	 */
173
+	public static function get_nonce_key( $view_id, $form_id, $entry_id ) {
174
+		return sprintf( 'edit_%d_%d_%d', $view_id, $form_id, $entry_id );
175
+	}
176
+
177
+
178
+	/**
179
+	 * The edit entry link creates a secure link with a nonce
180
+	 *
181
+	 * It also mimics the URL structure Gravity Forms expects to have so that
182
+	 * it formats the display of the edit form like it does in the backend, like
183
+	 * "You can edit this post from the post page" fields, for example.
184
+	 *
185
+	 * @param $entry array Gravity Forms entry object
186
+	 * @param $view_id int GravityView view id
187
+	 * @param $post_id int GravityView Post ID where View may be embedded {@since 1.9.2}
188
+	 * @param string|array $field_values Parameters to pass in to the Edit Entry form to prefill data. Uses the same format as Gravity Forms "Allow field to be populated dynamically" {@since 1.9.2} {@see https://www.gravityhelp.com/documentation/article/allow-field-to-be-populated-dynamically/ }
189
+	 * @return string
190
+	 */
191
+	public static function get_edit_link( $entry, $view_id, $post_id = null, $field_values = '' ) {
192
+
193
+		$nonce_key = self::get_nonce_key( $view_id, $entry['form_id'], $entry['id']  );
194
+
195
+		$base = gv_entry_link( $entry, $post_id ? : $view_id  );
196
+
197
+		$url = add_query_arg( array(
198
+			'edit' => wp_create_nonce( $nonce_key )
199
+		), $base );
200
+
201
+		if( $post_id ) {
202
+			$url = add_query_arg( array( 'gvid' => $view_id ), $url );
203
+		}
204
+
205
+		/**
206
+		 * Allow passing params to dynamically populate entry with values
207
+		 * @since 1.9.2
208
+		 */
209
+		if( !empty( $field_values ) ) {
210
+
211
+			if( is_array( $field_values ) ) {
212
+				// If already an array, no parse_str() needed
213
+				$params = $field_values;
214
+			} else {
215
+				parse_str( $field_values, $params );
216
+			}
217
+
218
+			$url = add_query_arg( $params, $url );
219
+		}
220 220
 
221 221
 		/**
222 222
 		 * @filter `gravityview/edit/link` Filter the edit URL link.
@@ -225,7 +225,7 @@  discard block
 block discarded – undo
225 225
 		 * @param \GV\View $view The View.
226 226
 		 */
227 227
 		return apply_filters( 'gravityview/edit/link', $url, $entry, \GV\View::by_id( $view_id  ) );
228
-    }
228
+	}
229 229
 
230 230
 	/**
231 231
 	 * Edit mode doesn't allow certain field types.
@@ -280,19 +280,19 @@  discard block
 block discarded – undo
280 280
 	}
281 281
 
282 282
 
283
-    /**
284
-     * checks if user has permissions to edit a specific entry
285
-     *
286
-     * Needs to be used combined with GravityView_Edit_Entry::user_can_edit_entry for maximum security!!
287
-     *
288
-     * @param  array $entry Gravity Forms entry array
289
-     * @param \GV\View|int $view ID of the view you want to check visibility against {@since 1.9.2}. Required since 2.0
290
-     * @return bool
291
-     */
292
-    public static function check_user_cap_edit_entry( $entry, $view = 0 ) {
283
+	/**
284
+	 * checks if user has permissions to edit a specific entry
285
+	 *
286
+	 * Needs to be used combined with GravityView_Edit_Entry::user_can_edit_entry for maximum security!!
287
+	 *
288
+	 * @param  array $entry Gravity Forms entry array
289
+	 * @param \GV\View|int $view ID of the view you want to check visibility against {@since 1.9.2}. Required since 2.0
290
+	 * @return bool
291
+	 */
292
+	public static function check_user_cap_edit_entry( $entry, $view = 0 ) {
293 293
 
294
-        // No permission by default
295
-        $user_can_edit = false;
294
+		// No permission by default
295
+		$user_can_edit = false;
296 296
 
297 297
 		// get user_edit setting
298 298
 		if ( empty( $view ) ) {
@@ -310,60 +310,60 @@  discard block
 block discarded – undo
310 310
 			$user_edit = GVCommon::get_template_setting( $view_id, 'user_edit' );
311 311
 		}
312 312
 
313
-        // If they can edit any entries (as defined in Gravity Forms)
314
-        // Or if they can edit other people's entries
315
-        // Then we're good.
316
-        if( GVCommon::has_cap( array( 'gravityforms_edit_entries', 'gravityview_edit_others_entries' ), $entry['id'] ) ) {
313
+		// If they can edit any entries (as defined in Gravity Forms)
314
+		// Or if they can edit other people's entries
315
+		// Then we're good.
316
+		if( GVCommon::has_cap( array( 'gravityforms_edit_entries', 'gravityview_edit_others_entries' ), $entry['id'] ) ) {
317 317
 
318
-            gravityview()->log->debug( 'User has ability to edit all entries.' );
318
+			gravityview()->log->debug( 'User has ability to edit all entries.' );
319 319
 
320
-            $user_can_edit = true;
320
+			$user_can_edit = true;
321 321
 
322
-        } else if( !isset( $entry['created_by'] ) ) {
322
+		} else if( !isset( $entry['created_by'] ) ) {
323 323
 
324
-            gravityview()->log->error( 'Entry `created_by` doesn\'t exist.');
324
+			gravityview()->log->error( 'Entry `created_by` doesn\'t exist.');
325 325
 
326
-            $user_can_edit = false;
326
+			$user_can_edit = false;
327 327
 
328
-        } else {
328
+		} else {
329 329
 
330
-            $current_user = wp_get_current_user();
330
+			$current_user = wp_get_current_user();
331 331
 
332
-            // User edit is disabled
333
-            if( empty( $user_edit ) ) {
332
+			// User edit is disabled
333
+			if( empty( $user_edit ) ) {
334 334
 
335
-                gravityview()->log->debug( 'User Edit is disabled. Returning false.' );
335
+				gravityview()->log->debug( 'User Edit is disabled. Returning false.' );
336 336
 
337
-                $user_can_edit = false;
338
-            }
337
+				$user_can_edit = false;
338
+			}
339 339
 
340
-            // User edit is enabled and the logged-in user is the same as the user who created the entry. We're good.
341
-            else if( is_user_logged_in() && intval( $current_user->ID ) === intval( $entry['created_by'] ) ) {
340
+			// User edit is enabled and the logged-in user is the same as the user who created the entry. We're good.
341
+			else if( is_user_logged_in() && intval( $current_user->ID ) === intval( $entry['created_by'] ) ) {
342 342
 
343
-                gravityview()->log->debug( 'User {user_id} created the entry.', array( 'user_id', $current_user->ID ) );
343
+				gravityview()->log->debug( 'User {user_id} created the entry.', array( 'user_id', $current_user->ID ) );
344 344
 
345
-                $user_can_edit = true;
345
+				$user_can_edit = true;
346 346
 
347
-            } else if( ! is_user_logged_in() ) {
347
+			} else if( ! is_user_logged_in() ) {
348 348
 
349
-                gravityview()->log->debug( 'No user defined; edit entry requires logged in user' );
349
+				gravityview()->log->debug( 'No user defined; edit entry requires logged in user' );
350 350
 
351
-	            $user_can_edit = false; // Here just for clarity
352
-            }
351
+				$user_can_edit = false; // Here just for clarity
352
+			}
353 353
 
354
-        }
354
+		}
355 355
 
356
-        /**
357
-         * @filter `gravityview/edit_entry/user_can_edit_entry` Modify whether user can edit an entry.
358
-         * @since 1.15 Added `$entry` and `$view_id` parameters
359
-         * @param[in,out] boolean $user_can_edit Can the current user edit the current entry? (Default: false)
360
-         * @param[in] array $entry Gravity Forms entry array {@since 1.15}
361
-         * @param[in] int $view_id ID of the view you want to check visibility against {@since 1.15}
362
-         */
363
-        $user_can_edit = apply_filters( 'gravityview/edit_entry/user_can_edit_entry', $user_can_edit, $entry, $view_id );
356
+		/**
357
+		 * @filter `gravityview/edit_entry/user_can_edit_entry` Modify whether user can edit an entry.
358
+		 * @since 1.15 Added `$entry` and `$view_id` parameters
359
+		 * @param[in,out] boolean $user_can_edit Can the current user edit the current entry? (Default: false)
360
+		 * @param[in] array $entry Gravity Forms entry array {@since 1.15}
361
+		 * @param[in] int $view_id ID of the view you want to check visibility against {@since 1.15}
362
+		 */
363
+		$user_can_edit = apply_filters( 'gravityview/edit_entry/user_can_edit_entry', $user_can_edit, $entry, $view_id );
364 364
 
365
-        return (bool) $user_can_edit;
366
-    }
365
+		return (bool) $user_can_edit;
366
+	}
367 367
 
368 368
 
369 369
 
Please login to merge, or discard this patch.
includes/class-admin-installer.php 1 patch
Indentation   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -66,9 +66,9 @@  discard block
 block discarded – undo
66 66
 	 */
67 67
 	public function add_downloads_data_filters() {
68 68
 
69
-	    $downloads_data = get_site_transient( self::DOWNLOADS_DATA_TRANSIENT );
69
+		$downloads_data = get_site_transient( self::DOWNLOADS_DATA_TRANSIENT );
70 70
 
71
-	    if ( ! $downloads_data && ! isset( $_GET['cache'] ) ) {
71
+		if ( ! $downloads_data && ! isset( $_GET['cache'] ) ) {
72 72
 			return;
73 73
 		}
74 74
 
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
 	 */
98 98
 	public function add_admin_menu() {
99 99
 
100
-	    $menu_text = _x( 'Extensions', 'Extensions are WordPress plugins that add functionality to GravityView and Gravity Forms', 'gravityview' );
100
+		$menu_text = _x( 'Extensions', 'Extensions are WordPress plugins that add functionality to GravityView and Gravity Forms', 'gravityview' );
101 101
 
102 102
 		$menu_text = sprintf( '<span title="%s" style="margin: 0">%s</span>', esc_attr__( 'Plugins that extend GravityView and Gravity Forms functionality.', 'gravityview' ), $menu_text );
103 103
 
@@ -112,8 +112,8 @@  discard block
 block discarded – undo
112 112
 	}
113 113
 
114 114
 	/**
115
-     * When on the Installer page, show a different notice than on the Settings page
116
-     *
115
+	 * When on the Installer page, show a different notice than on the Settings page
116
+	 *
117 117
 	 * @param array $notice
118 118
 	 *
119 119
 	 * @return string License notice
@@ -121,10 +121,10 @@  discard block
 block discarded – undo
121 121
 	public function maybe_modify_license_notice( $notice = '' ) {
122 122
 
123 123
 		if ( ! gravityview()->request->is_admin( '', 'downloads' ) ) {
124
-            return $notice;
125
-        }
124
+			return $notice;
125
+		}
126 126
 
127
-        return esc_html__( 'Your license %s. Do you want access to these plugins? %sActivate your license%s or %sget a license here%s.', 'gravityview' );
127
+		return esc_html__( 'Your license %s. Do you want access to these plugins? %sActivate your license%s or %sget a license here%s.', 'gravityview' );
128 128
 	}
129 129
 
130 130
 	/**
@@ -162,43 +162,43 @@  discard block
 block discarded – undo
162 162
 	 * Get downloads data from transient or from API; save transient after getting data from API
163 163
 	 *
164 164
 	 * @return WP_Error|array If error, returns WP_Error. If not valid JSON, empty array. Otherwise, this structure: {
165
-     *   @type array  $info {
166
-     *       @type string $id int 17
167
-     *       @type string $slug Extension slug
168
-     *       @type string $title Extension title
169
-     *       @type string $create_date in '2018-07-19 20:03:10' format
170
-     *       @type string $modified_date
171
-     *       @type string $status
172
-     *       @type string $link URL to public plugin page
173
-     *       @type string $content
174
-     *       @type string $excerpt
175
-     *       @type string $thumbnail URL to thumbnail
176
-     *       @type array  $category Taxonomy details for the plugin's category {
177
-     *         @type int $term_id => int 30
178
-     *         @type string $name => string 'Plugins' (length=7)
179
-     *         @type string $slug => string 'plugins' (length=7)
180
-     *         @type int $term_group => int 0
181
-     *         @type int $term_taxonomy_id => int 30
182
-     *         @type string $taxonomy => string 'download_category' (length=17)
183
-     *         @type string $description => string '' (length=0)
184
-     *         @type int $parent => int 0
185
-     *         @type int $count => int 4
186
-     *         @type string $filter => string 'raw' (length=3)
187
-     *       }
188
-     *       @type array $tags {see $category above}
189
-     *       @type string $textdomain string 'gravityview' (length=11)
190
-     *   }
191
-     *   @type array $pricing array of `price_name_slugs` => '00.00' values, if price options exist
192
-     *   @type array $licensing {
193
-     *       @type bool   $enabled Is licensing enabled for the extension
194
-     *       @type string $version Version number
195
-     *       @type string $exp_unit Expiration unit ('years')
196
-     *       @type string $exp_length Expiration length ('1')
197
-     *   }
198
-     *   @type array $files Array of files. Empty if user has no access to the file. {
199
-     *       @type string $file string URL of the file download
200
-     *   }
201
-     * }
165
+	 *   @type array  $info {
166
+	 *       @type string $id int 17
167
+	 *       @type string $slug Extension slug
168
+	 *       @type string $title Extension title
169
+	 *       @type string $create_date in '2018-07-19 20:03:10' format
170
+	 *       @type string $modified_date
171
+	 *       @type string $status
172
+	 *       @type string $link URL to public plugin page
173
+	 *       @type string $content
174
+	 *       @type string $excerpt
175
+	 *       @type string $thumbnail URL to thumbnail
176
+	 *       @type array  $category Taxonomy details for the plugin's category {
177
+	 *         @type int $term_id => int 30
178
+	 *         @type string $name => string 'Plugins' (length=7)
179
+	 *         @type string $slug => string 'plugins' (length=7)
180
+	 *         @type int $term_group => int 0
181
+	 *         @type int $term_taxonomy_id => int 30
182
+	 *         @type string $taxonomy => string 'download_category' (length=17)
183
+	 *         @type string $description => string '' (length=0)
184
+	 *         @type int $parent => int 0
185
+	 *         @type int $count => int 4
186
+	 *         @type string $filter => string 'raw' (length=3)
187
+	 *       }
188
+	 *       @type array $tags {see $category above}
189
+	 *       @type string $textdomain string 'gravityview' (length=11)
190
+	 *   }
191
+	 *   @type array $pricing array of `price_name_slugs` => '00.00' values, if price options exist
192
+	 *   @type array $licensing {
193
+	 *       @type bool   $enabled Is licensing enabled for the extension
194
+	 *       @type string $version Version number
195
+	 *       @type string $exp_unit Expiration unit ('years')
196
+	 *       @type string $exp_length Expiration length ('1')
197
+	 *   }
198
+	 *   @type array $files Array of files. Empty if user has no access to the file. {
199
+	 *       @type string $file string URL of the file download
200
+	 *   }
201
+	 * }
202 202
 	 */
203 203
 	public function get_downloads_data() {
204 204
 
@@ -230,7 +230,7 @@  discard block
 block discarded – undo
230 230
 		) );
231 231
 
232 232
 		if ( is_wp_error( $response ) ) {
233
-		    gravityview()->log->error( "Extension data response is an error", array( 'data' => $response ) );
233
+			gravityview()->log->error( "Extension data response is an error", array( 'data' => $response ) );
234 234
 			return $response;
235 235
 		}
236 236
 
@@ -283,10 +283,10 @@  discard block
 block discarded – undo
283 283
                 <div class="gv-admin-installer-notice notice inline error">
284 284
                     <h3><?php esc_html_e( 'Extensions and plugins data cannot be loaded at the moment. Please try again later.', 'gravityview' ); ?></h3>
285 285
                     <?php
286
-                    if ( is_wp_error( $downloads_data ) ) {
287
-	                    echo wpautop( '<pre>' . esc_html( $downloads_data->get_error_message() ) . '</pre>' );
288
-                    }
289
-                    ?>
286
+					if ( is_wp_error( $downloads_data ) ) {
287
+						echo wpautop( '<pre>' . esc_html( $downloads_data->get_error_message() ) . '</pre>' );
288
+					}
289
+					?>
290 290
                 </div>
291 291
             </div>
292 292
 			<?php
@@ -342,9 +342,9 @@  discard block
 block discarded – undo
342 342
 	protected function render_download( $download, $wp_plugins ) {
343 343
 
344 344
 
345
-        $details = $this->get_download_display_details( $download, $wp_plugins );
345
+		$details = $this->get_download_display_details( $download, $wp_plugins );
346 346
 
347
-        $download_info = $details['download_info'];
347
+		$download_info = $details['download_info'];
348 348
 
349 349
 		?>
350 350
         <div class="item <?php echo esc_attr( $details['item_class'] ); ?>">
@@ -366,43 +366,43 @@  discard block
 block discarded – undo
366 366
 
367 367
                 <div class="addon-excerpt"><?php
368 368
 
369
-                    $excerpt = \GV\Utils::get( $download_info, 'installer_excerpt', $download_info['excerpt'] );
369
+					$excerpt = \GV\Utils::get( $download_info, 'installer_excerpt', $download_info['excerpt'] );
370 370
 
371
-                    // Allow some pure HTML tags, but remove everything else from the excerpt.
372
-                    $tags = array( '<strong>', '</strong>', '<em>', '</em>', '<code>', '</code>' );
373
-                    $replacements = array( '[b]', '[/b]', '[i]', '[/i]', '[code]', '[/code]' );
371
+					// Allow some pure HTML tags, but remove everything else from the excerpt.
372
+					$tags = array( '<strong>', '</strong>', '<em>', '</em>', '<code>', '</code>' );
373
+					$replacements = array( '[b]', '[/b]', '[i]', '[/i]', '[code]', '[/code]' );
374 374
 
375
-                    $excerpt = str_replace( $tags, $replacements, $excerpt );
376
-                    $excerpt = esc_html( strip_tags( $excerpt ) );
375
+					$excerpt = str_replace( $tags, $replacements, $excerpt );
376
+					$excerpt = esc_html( strip_tags( $excerpt ) );
377 377
 					$excerpt = str_replace( $replacements, $tags, $excerpt );
378 378
 
379 379
 					echo wpautop( $excerpt );
380
-                ?></div>
380
+				?></div>
381 381
             </div>
382 382
         </div>
383 383
 		<?php
384 384
 	}
385 385
 
386 386
 	/**
387
-     * Generates details array for the download to keep the render_download() method a bit tidier
388
-     *
387
+	 * Generates details array for the download to keep the render_download() method a bit tidier
388
+	 *
389 389
 	 * @param array $download Single download, as returned by {@see get_downloads_data}
390 390
 	 * @param array $wp_plugins All active plugins, as returned by {@see get_plugins()}
391 391
 	 *
392 392
 	 * @return array {
393
-     *   @type array $download_info
394
-     *   @type string $plugin_path
395
-     *   @type string $status License status returned by Easy Digital Downloads ("active", "inactive", "expired", "revoked", etc)
396
-     *   @type string $status_label
397
-     *   @type string $button_title Title attribute to show when hovering over the download's button
398
-     *   @type string $button_class CSS class to use for the button
399
-     *   @type string $button_label Text to use for the download's anchor link
400
-     *   @type string $href URL for the download's button
401
-     *   @type bool   $spinner Whether to show the spinner icon
402
-     *   @type string $item_class CSS class for the download container
403
-     *   @type string $required_license The name of the required license for the download ("All Access" or "Core + Extensions")
404
-     *   @type bool   $is_active Is the current GravityView license (as entered in Settings) active?
405
-     * }
393
+	 *   @type array $download_info
394
+	 *   @type string $plugin_path
395
+	 *   @type string $status License status returned by Easy Digital Downloads ("active", "inactive", "expired", "revoked", etc)
396
+	 *   @type string $status_label
397
+	 *   @type string $button_title Title attribute to show when hovering over the download's button
398
+	 *   @type string $button_class CSS class to use for the button
399
+	 *   @type string $button_label Text to use for the download's anchor link
400
+	 *   @type string $href URL for the download's button
401
+	 *   @type bool   $spinner Whether to show the spinner icon
402
+	 *   @type string $item_class CSS class for the download container
403
+	 *   @type string $required_license The name of the required license for the download ("All Access" or "Core + Extensions")
404
+	 *   @type bool   $is_active Is the current GravityView license (as entered in Settings) active?
405
+	 * }
406 406
 	 */
407 407
 	private function get_download_display_details( $download, $wp_plugins ) {
408 408
 
@@ -413,7 +413,7 @@  discard block
 block discarded – undo
413 413
 			'slug' => '',
414 414
 			'excerpt' => '',
415 415
 			'link' => '',
416
-            'coming_soon' => false,
416
+			'coming_soon' => false,
417 417
 			'installer_title' => null, // May not be defined
418 418
 			'installer_excerpt' => null, // May not be defined
419 419
 		) );
@@ -456,14 +456,14 @@  discard block
 block discarded – undo
456 456
 			$href         = 'https://gravityview.co/pricing/?utm_source=admin-installer&utm_medium=admin&utm_campaign=Admin%20Notice&utm_content=' . $required_license;
457 457
 		}
458 458
 
459
-        elseif ( ! empty( $download_info['coming_soon'] ) ) {
460
-	        $spinner      = false;
461
-	        $status       = 'notinstalled';
462
-	        $status_label = __( 'Coming Soon', 'gravityview' );
463
-	        $button_label = __( 'Learn More', 'gravityview' );
464
-	        $button_class = 'button-primary button-large';
465
-	        $href         = \GV\Utils::get( $download_info, 'link', 'https://gravityview.co/extensions/' );
466
-        }
459
+		elseif ( ! empty( $download_info['coming_soon'] ) ) {
460
+			$spinner      = false;
461
+			$status       = 'notinstalled';
462
+			$status_label = __( 'Coming Soon', 'gravityview' );
463
+			$button_label = __( 'Learn More', 'gravityview' );
464
+			$button_class = 'button-primary button-large';
465
+			$href         = \GV\Utils::get( $download_info, 'link', 'https://gravityview.co/extensions/' );
466
+		}
467 467
 
468 468
 		// Access but the plugin is not installed
469 469
 		elseif ( ! $wp_plugin ) {
@@ -503,18 +503,18 @@  discard block
 block discarded – undo
503 503
 		}
504 504
 
505 505
 		return compact( 'download_info','plugin_path', 'status', 'status_label', 'button_title', 'button_class', 'button_label', 'href', 'spinner', 'item_class', 'required_license', 'is_active' );
506
-    }
506
+	}
507 507
 
508 508
 	/**
509
-     * Returns the base price for an extension
510
-     *
509
+	 * Returns the base price for an extension
510
+	 *
511 511
 	 * @param array $download
512 512
 	 *
513 513
 	 * @return float Base price for an extension. If not for sale separately, returns 0
514 514
 	 */
515 515
 	private function get_download_base_price( $download ) {
516 516
 
517
-	    $base_price = \GV\Utils::get( $download, 'pricing/amount', 0 );
517
+		$base_price = \GV\Utils::get( $download, 'pricing/amount', 0 );
518 518
 		$base_price = \GFCommon::to_number( $base_price );
519 519
 
520 520
 		unset( $download['pricing']['amount'] );
@@ -525,7 +525,7 @@  discard block
 block discarded – undo
525 525
 		}
526 526
 
527 527
 		return floatval( $base_price );
528
-    }
528
+	}
529 529
 
530 530
 	/**
531 531
 	 * Handle AJAX request to activate extension
@@ -543,8 +543,8 @@  discard block
 block discarded – undo
543 543
 
544 544
 		if ( is_wp_error( $result ) || ! is_plugin_active( $data['path'] ) ) {
545 545
 			wp_send_json_error( array(
546
-                'error' => sprintf( __( 'Plugin activation failed: %s', 'gravityview' ), $result->get_error_message() )
547
-            ) );
546
+				'error' => sprintf( __( 'Plugin activation failed: %s', 'gravityview' ), $result->get_error_message() )
547
+			) );
548 548
 		}
549 549
 
550 550
 		wp_send_json_success();
@@ -565,10 +565,10 @@  discard block
 block discarded – undo
565 565
 		deactivate_plugins( $data['path'] );
566 566
 
567 567
 		if( is_plugin_active( $data['path'] ) ) {
568
-            wp_send_json_error( array(
569
-                'error' => sprintf( __( 'Plugin deactivation failed.', 'gravityview' ) )
570
-            ) );
571
-        }
568
+			wp_send_json_error( array(
569
+				'error' => sprintf( __( 'Plugin deactivation failed.', 'gravityview' ) )
570
+			) );
571
+		}
572 572
 
573 573
 		wp_send_json_success();
574 574
 	}
Please login to merge, or discard this patch.
includes/fields/class-gravityview-field-textarea.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -39,13 +39,13 @@
 block discarded – undo
39 39
 			'tooltip' => __( 'Enter the number of words to be shown. If specified it truncates the text. Leave it blank if you want to show the full text.', 'gravityview' ),
40 40
 		);
41 41
 
42
-        $field_options['make_clickable'] = array(
43
-            'type' => 'checkbox',
44
-            'merge_tags' => false,
45
-            'value' => 0,
46
-            'label' => __( 'Convert text URLs to HTML links', 'gravityview' ),
47
-            'tooltip' => __( 'Converts URI, www, FTP, and email addresses in HTML links', 'gravityview' ),
48
-        );
42
+		$field_options['make_clickable'] = array(
43
+			'type' => 'checkbox',
44
+			'merge_tags' => false,
45
+			'value' => 0,
46
+			'label' => __( 'Convert text URLs to HTML links', 'gravityview' ),
47
+			'tooltip' => __( 'Converts URI, www, FTP, and email addresses in HTML links', 'gravityview' ),
48
+		);
49 49
 
50 50
 		$field_options['allow_html'] = array(
51 51
 			'type' => 'checkbox',
Please login to merge, or discard this patch.
includes/admin/class.field.type.php 1 patch
Indentation   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -10,107 +10,107 @@  discard block
 block discarded – undo
10 10
 	 *
11 11
 	 * @var string
12 12
 	 */
13
-    protected $name;
13
+	protected $name;
14 14
 
15 15
 	/**
16 16
 	 * Field settings
17 17
 	 *
18 18
 	 * @var array
19 19
 	 */
20
-    protected $field;
20
+	protected $field;
21 21
 
22 22
 	/**
23 23
 	 * Field current value
24 24
 	 *
25 25
 	 * @var mixed
26 26
 	 */
27
-    protected $value;
28
-
29
-    function __construct( $name = '', $field = array(), $curr_value = NULL ) {
30
-
31
-        $this->name = $name;
32
-
33
-        $defaults = self::get_field_defaults();
34
-
35
-        // Backward compatibility
36
-        if( !empty( $field['choices'] ) ) {
37
-        	$field['options'] = $field['choices'];
38
-        	unset( $field['choices'] );
39
-        }
40
-
41
-        $this->field =  wp_parse_args( $field, $defaults );
42
-
43
-        $this->value = is_null( $curr_value ) ? $this->field['value'] : $curr_value;
44
-
45
-    }
46
-
47
-    /**
48
-     * Returns the default details for a field option
49
-     *
50
-     * - default    // default option value, in case nothing is defined (@deprecated)
51
-     * - desc       // option description
52
-     * - value      // the option default value
53
-     * - label      // the option label
54
-     * - left_label // In case of checkboxes, left label will appear on the left of the checkbox
55
-     * - id         // the field id
56
-     * - type       // the option type ( text, checkbox, select, ... )
57
-     * - options    // when type is select, define the select options ('choices' is @deprecated)
58
-     * - merge_tags // if the option supports merge tags feature
59
-     * - class      // (new) define extra classes for the field
60
-     * - tooltip    //
61
-     *
62
-     * @return array
63
-     */
64
-    public static function get_field_defaults() {
65
-        return array(
66
-            'desc' => '',
67
-            'value' => null,
68
-            'label' => '',
69
-            'left_label' => null,
70
-            'id' => null,
71
-            'type'  => 'text',
72
-            'options' => null,
73
-            'merge_tags' => true,
74
-            'class' => '',
75
-            'tooltip' => null,
76
-            'requires' => null
77
-        );
78
-    }
79
-
80
-
81
-    function get_tooltip() {
82
-        if( ! function_exists('gform_tooltip') ) {
83
-            return null;
84
-        }
85
-
86
-	    $article = wp_parse_args( \GV\Utils::get( $this->field, 'article', array() ), array(
87
-	    	'id' => '',
88
-	    	'type' => 'modal',
89
-	    	'url' => '#',
90
-	    ) );
91
-
92
-        return !empty( $this->field['tooltip'] ) ? ' '. $this->tooltip( $this->field['tooltip'], false, true, $article ) : null;
93
-    }
94
-
95
-    /**
96
-     * Displays the tooltip
97
-     *
98
-     * @since 2.8.1
99
-     *
100
-     * @global $__gf_tooltips
101
-     *
102
-     * @param string $name      The name of the tooltip to be displayed
103
-     * @param string $css_class Optional. The CSS class to apply toi the element. Defaults to empty string.
104
-     * @param bool   $return    Optional. If the tooltip should be returned instead of output. Defaults to false (output)
105
-     * @param array  $article   Optional. Details about support doc article connected to the tooltip. {
106
-     *   @type string $id   Unique ID of article for Beacon API
107
-     *   @type string $url  URL of support doc article
108
-     *   @type string $type Type of Beacon element to open. {@see https://developer.helpscout.com/beacon-2/web/javascript-api/#beaconarticle}
109
-     * }
110
-     *
111
-     * @return string
112
-     */
113
-    function tooltip( $name, $css_class = '', $return = false, $article = array() ) {
27
+	protected $value;
28
+
29
+	function __construct( $name = '', $field = array(), $curr_value = NULL ) {
30
+
31
+		$this->name = $name;
32
+
33
+		$defaults = self::get_field_defaults();
34
+
35
+		// Backward compatibility
36
+		if( !empty( $field['choices'] ) ) {
37
+			$field['options'] = $field['choices'];
38
+			unset( $field['choices'] );
39
+		}
40
+
41
+		$this->field =  wp_parse_args( $field, $defaults );
42
+
43
+		$this->value = is_null( $curr_value ) ? $this->field['value'] : $curr_value;
44
+
45
+	}
46
+
47
+	/**
48
+	 * Returns the default details for a field option
49
+	 *
50
+	 * - default    // default option value, in case nothing is defined (@deprecated)
51
+	 * - desc       // option description
52
+	 * - value      // the option default value
53
+	 * - label      // the option label
54
+	 * - left_label // In case of checkboxes, left label will appear on the left of the checkbox
55
+	 * - id         // the field id
56
+	 * - type       // the option type ( text, checkbox, select, ... )
57
+	 * - options    // when type is select, define the select options ('choices' is @deprecated)
58
+	 * - merge_tags // if the option supports merge tags feature
59
+	 * - class      // (new) define extra classes for the field
60
+	 * - tooltip    //
61
+	 *
62
+	 * @return array
63
+	 */
64
+	public static function get_field_defaults() {
65
+		return array(
66
+			'desc' => '',
67
+			'value' => null,
68
+			'label' => '',
69
+			'left_label' => null,
70
+			'id' => null,
71
+			'type'  => 'text',
72
+			'options' => null,
73
+			'merge_tags' => true,
74
+			'class' => '',
75
+			'tooltip' => null,
76
+			'requires' => null
77
+		);
78
+	}
79
+
80
+
81
+	function get_tooltip() {
82
+		if( ! function_exists('gform_tooltip') ) {
83
+			return null;
84
+		}
85
+
86
+		$article = wp_parse_args( \GV\Utils::get( $this->field, 'article', array() ), array(
87
+			'id' => '',
88
+			'type' => 'modal',
89
+			'url' => '#',
90
+		) );
91
+
92
+		return !empty( $this->field['tooltip'] ) ? ' '. $this->tooltip( $this->field['tooltip'], false, true, $article ) : null;
93
+	}
94
+
95
+	/**
96
+	 * Displays the tooltip
97
+	 *
98
+	 * @since 2.8.1
99
+	 *
100
+	 * @global $__gf_tooltips
101
+	 *
102
+	 * @param string $name      The name of the tooltip to be displayed
103
+	 * @param string $css_class Optional. The CSS class to apply toi the element. Defaults to empty string.
104
+	 * @param bool   $return    Optional. If the tooltip should be returned instead of output. Defaults to false (output)
105
+	 * @param array  $article   Optional. Details about support doc article connected to the tooltip. {
106
+	 *   @type string $id   Unique ID of article for Beacon API
107
+	 *   @type string $url  URL of support doc article
108
+	 *   @type string $type Type of Beacon element to open. {@see https://developer.helpscout.com/beacon-2/web/javascript-api/#beaconarticle}
109
+	 * }
110
+	 *
111
+	 * @return string
112
+	 */
113
+	function tooltip( $name, $css_class = '', $return = false, $article = array() ) {
114 114
 		global $__gf_tooltips; //declared as global to improve WPML performance
115 115
 
116 116
 		$css_class = empty( $css_class ) ? 'tooltip' : $css_class;
@@ -128,17 +128,17 @@  discard block
 block discarded – undo
128 128
 		$tooltip_class = isset( $__gf_tooltips[ $name ] ) ? "tooltip_{$name}" : '';
129 129
 		$tooltip_class = esc_attr( $tooltip_class );
130 130
 
131
-	    /**
132
-	     * Below this line has been modified by GravityView.
133
-	     */
131
+		/**
132
+		 * Below this line has been modified by GravityView.
133
+		 */
134 134
 
135 135
 		if ( empty( $tooltip_text ) && empty( $article['id'] ) ) {
136 136
 			return '';
137 137
 		}
138 138
 
139 139
 		$url = '#';
140
-	    $atts = 'onclick="return false;" onkeypress="return false;"';
141
-	    $anchor_text = '<i class=\'fa fa-question-circle\'></i>';
140
+		$atts = 'onclick="return false;" onkeypress="return false;"';
141
+		$anchor_text = '<i class=\'fa fa-question-circle\'></i>';
142 142
 		$css_class = gravityview_sanitize_html_class( 'gf_tooltip ' . $css_class . ' ' . $tooltip_class );
143 143
 
144 144
 		$tooltip = sprintf( '<a href="%s" %s class="%s" title="%s" role="button">%s</a>',
@@ -149,11 +149,11 @@  discard block
 block discarded – undo
149 149
 			$anchor_text
150 150
 		);
151 151
 
152
-	    /**
153
-	     * Modify the tooltip HTML before outputting
154
-	     * @internal
155
-	     * @see GravityView_Support_Port::maybe_add_article_to_tooltip()
156
-	     */
152
+		/**
153
+		 * Modify the tooltip HTML before outputting
154
+		 * @internal
155
+		 * @see GravityView_Support_Port::maybe_add_article_to_tooltip()
156
+		 */
157 157
 		$tooltip = apply_filters( 'gravityview/tooltips/tooltip', $tooltip, $article, $url, $atts, $css_class, $tooltip_text, $anchor_text );
158 158
 
159 159
 		if ( ! $return ) {
@@ -163,84 +163,84 @@  discard block
 block discarded – undo
163 163
 		return $tooltip;
164 164
 	}
165 165
 
166
-    /**
167
-     * Build input id based on the name
168
-     * @return string
169
-     */
170
-    function get_field_id() {
171
-        if( isset( $this->field['id'] ) ) {
172
-            return esc_attr( $this->field['id'] );
173
-        }
174
-        return esc_attr( sanitize_html_class( $this->name ) );
175
-    }
176
-
177
-    /**
178
-     * Retrieve field label
179
-     * @return string
180
-     */
181
-    function get_field_label() {
182
-        return esc_html( trim( $this->field['label'] ) );
183
-    }
166
+	/**
167
+	 * Build input id based on the name
168
+	 * @return string
169
+	 */
170
+	function get_field_id() {
171
+		if( isset( $this->field['id'] ) ) {
172
+			return esc_attr( $this->field['id'] );
173
+		}
174
+		return esc_attr( sanitize_html_class( $this->name ) );
175
+	}
176
+
177
+	/**
178
+	 * Retrieve field label
179
+	 * @return string
180
+	 */
181
+	function get_field_label() {
182
+		return esc_html( trim( $this->field['label'] ) );
183
+	}
184 184
 
185 185
 	/**
186 186
 	 * Retrieve field left label
187
-     *
188
-     * @since 1.7
189
-     *
187
+	 *
188
+	 * @since 1.7
189
+	 *
190 190
 	 * @return string
191 191
 	 */
192 192
 	function get_field_left_label() {
193 193
 		return ! empty( $this->field['left_label'] ) ? esc_html( trim( $this->field['left_label'] ) ) : NULL;
194 194
 	}
195 195
 
196
-    /**
197
-     * Retrieve field label class
198
-     * @return string
199
-     */
200
-    function get_label_class() {
201
-        return 'gv-label-'. sanitize_html_class( $this->field['type'] );
202
-    }
203
-
204
-
205
-    /**
206
-     * Retrieve field description
207
-     * @return string
208
-     */
209
-    function get_field_desc() {
210
-        return !empty( $this->field['desc'] ) ? '<span class="howto">'. $this->field['desc'] .'</span>' : '';
211
-    }
212
-
213
-
214
-    /**
215
-     * Verify if field should have merge tags
216
-     * @return boolean
217
-     */
218
-    function show_merge_tags() {
219
-        // Show the merge tags if the field is a list view
220
-        $is_list = preg_match( '/_list-/ism', $this->name );
221
-        // Or is a single entry view
222
-        $is_single = preg_match( '/single_/ism', $this->name );
223
-
224
-        return ( $is_single || $is_list );
225
-    }
226
-
227
-
228
-
229
-    /**
230
-     * important! Override this class
231
-     * outputs the field option html
232
-     */
233
-    function render_option() {
234
-        // to replace on each field
235
-    }
236
-
237
-    /**
238
-     * important! Override this class if needed
239
-     * outputs the field setting html
240
-     */
241
-    function render_setting( $override_input = NULL ) {
242
-
243
-        if( !empty( $this->field['full_width'] ) ) { ?>
196
+	/**
197
+	 * Retrieve field label class
198
+	 * @return string
199
+	 */
200
+	function get_label_class() {
201
+		return 'gv-label-'. sanitize_html_class( $this->field['type'] );
202
+	}
203
+
204
+
205
+	/**
206
+	 * Retrieve field description
207
+	 * @return string
208
+	 */
209
+	function get_field_desc() {
210
+		return !empty( $this->field['desc'] ) ? '<span class="howto">'. $this->field['desc'] .'</span>' : '';
211
+	}
212
+
213
+
214
+	/**
215
+	 * Verify if field should have merge tags
216
+	 * @return boolean
217
+	 */
218
+	function show_merge_tags() {
219
+		// Show the merge tags if the field is a list view
220
+		$is_list = preg_match( '/_list-/ism', $this->name );
221
+		// Or is a single entry view
222
+		$is_single = preg_match( '/single_/ism', $this->name );
223
+
224
+		return ( $is_single || $is_list );
225
+	}
226
+
227
+
228
+
229
+	/**
230
+	 * important! Override this class
231
+	 * outputs the field option html
232
+	 */
233
+	function render_option() {
234
+		// to replace on each field
235
+	}
236
+
237
+	/**
238
+	 * important! Override this class if needed
239
+	 * outputs the field setting html
240
+	 */
241
+	function render_setting( $override_input = NULL ) {
242
+
243
+		if( !empty( $this->field['full_width'] ) ) { ?>
244 244
             <th scope="row" colspan="2">
245 245
                 <div>
246 246
                     <label for="<?php echo $this->get_field_id(); ?>">
@@ -260,14 +260,14 @@  discard block
 block discarded – undo
260 260
             </td>
261 261
         <?php }
262 262
 
263
-    }
263
+	}
264 264
 
265
-    /**
266
-     * important! Override this class
267
-     * outputs the input html part
268
-     */
269
-    function render_input( $override_input ) {
270
-        echo '';
271
-    }
265
+	/**
266
+	 * important! Override this class
267
+	 * outputs the input html part
268
+	 */
269
+	function render_input( $override_input ) {
270
+		echo '';
271
+	}
272 272
 
273 273
 }
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-user-registration.php 1 patch
Indentation   +257 added lines, -257 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
  */
12 12
 
13 13
 if ( ! defined( 'WPINC' ) ) {
14
-    die;
14
+	die;
15 15
 }
16 16
 
17 17
 /**
@@ -22,103 +22,103 @@  discard block
 block discarded – undo
22 22
 	/**
23 23
 	 * @var GravityView_Edit_Entry $loader
24 24
 	 */
25
-    protected $loader;
25
+	protected $loader;
26 26
 
27
-    /**
28
-     * @var WP_User|null Temporary storage used by restore_user_details()
29
-     */
30
-    private $_user_before_update = null;
27
+	/**
28
+	 * @var WP_User|null Temporary storage used by restore_user_details()
29
+	 */
30
+	private $_user_before_update = null;
31 31
 
32
-    function __construct( GravityView_Edit_Entry $loader ) {
33
-        $this->loader = $loader;
34
-    }
32
+	function __construct( GravityView_Edit_Entry $loader ) {
33
+		$this->loader = $loader;
34
+	}
35 35
 
36 36
 	/**
37 37
 	 * @since 1.11
38 38
 	 */
39 39
 	public function load() {
40 40
 		add_action( 'wp', array( $this, 'add_hooks' ), 10 );
41
-    }
41
+	}
42 42
 
43 43
 	/**
44 44
 	 * Add hooks to trigger updating the user
45 45
 	 *
46 46
 	 * @since 1.18
47 47
 	 */
48
-    public function add_hooks() {
49
-
50
-	    /**
51
-	     * @filter `gravityview/edit_entry/user_registration/trigger_update` Choose whether to update user information via User Registration add-on when an entry is updated?
52
-	     * @since 1.11
53
-	     * @param boolean $boolean Whether to trigger update on user registration (default: true)
54
-	     */
55
-	    if( apply_filters( 'gravityview/edit_entry/user_registration/trigger_update', true ) ) {
56
-
57
-	    	add_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10, 2 );
58
-
59
-		    // last resort in case the current user display name don't match any of the defaults
60
-		    add_action( 'gform_user_updated', array( $this, 'restore_display_name' ), 10, 4 );
61
-	    }
62
-    }
63
-
64
-    /**
65
-     * Update the WordPress user profile based on the GF User Registration create feed
66
-     *
67
-     * @since 1.11
68
-     *
69
-     * @param array $form Gravity Forms form array
70
-     * @param string $entry_id Gravity Forms entry ID
71
-     * @return void
72
-     */
73
-    public function update_user( $form = array(), $entry_id = 0 ) {
74
-
75
-        if( ! class_exists( 'GFAPI' ) || ! class_exists( 'GF_User_Registration' ) ) {
76
-	        gravityview()->log->error( 'GFAPI or User Registration class not found; not updating the user' );
77
-	        return;
78
-        } elseif( empty( $entry_id ) ) {
79
-        	gravityview()->log->error( 'Entry ID is empty [{entry_id}]; not updating the user', array( 'entry_id' => $entry_id ) );
80
-	        return;
81
-        }
82
-
83
-        $gf_user_registration = GF_User_Registration::get_instance();
84
-
85
-        $entry = GFAPI::get_entry( $entry_id );
86
-
87
-	    /**
88
-	     * @filter `gravityview/edit_entry/user_registration/entry` Modify entry details before updating the user via User Registration add-on
89
-	     * @since 1.11
90
-	     * @param array $entry Gravity Forms entry
91
-	     * @param array $form Gravity Forms form
92
-	     */
93
-        $entry = apply_filters( 'gravityview/edit_entry/user_registration/entry', $entry, $form );
94
-
95
-	    $config = $this->get_feed_configuration( $entry, $form );
96
-
97
-        // Make sure the feed is active
98
-	    if ( ! \GV\Utils::get( $config, 'is_active', false ) ) {
48
+	public function add_hooks() {
49
+
50
+		/**
51
+		 * @filter `gravityview/edit_entry/user_registration/trigger_update` Choose whether to update user information via User Registration add-on when an entry is updated?
52
+		 * @since 1.11
53
+		 * @param boolean $boolean Whether to trigger update on user registration (default: true)
54
+		 */
55
+		if( apply_filters( 'gravityview/edit_entry/user_registration/trigger_update', true ) ) {
56
+
57
+			add_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10, 2 );
58
+
59
+			// last resort in case the current user display name don't match any of the defaults
60
+			add_action( 'gform_user_updated', array( $this, 'restore_display_name' ), 10, 4 );
61
+		}
62
+	}
63
+
64
+	/**
65
+	 * Update the WordPress user profile based on the GF User Registration create feed
66
+	 *
67
+	 * @since 1.11
68
+	 *
69
+	 * @param array $form Gravity Forms form array
70
+	 * @param string $entry_id Gravity Forms entry ID
71
+	 * @return void
72
+	 */
73
+	public function update_user( $form = array(), $entry_id = 0 ) {
74
+
75
+		if( ! class_exists( 'GFAPI' ) || ! class_exists( 'GF_User_Registration' ) ) {
76
+			gravityview()->log->error( 'GFAPI or User Registration class not found; not updating the user' );
99 77
 			return;
100
-	    }
78
+		} elseif( empty( $entry_id ) ) {
79
+			gravityview()->log->error( 'Entry ID is empty [{entry_id}]; not updating the user', array( 'entry_id' => $entry_id ) );
80
+			return;
81
+		}
82
+
83
+		$gf_user_registration = GF_User_Registration::get_instance();
84
+
85
+		$entry = GFAPI::get_entry( $entry_id );
101 86
 
102
-	    // If an Update feed, make sure the conditions are met.
103
-	    if ( \GV\Utils::get( $config, 'meta/feedType' ) === 'update' ) {
104
-	    	if( ! $gf_user_registration->is_feed_condition_met( $config, $form, $entry ) ) {
105
-			    return;
106
-		    }
107
-	    }
87
+		/**
88
+		 * @filter `gravityview/edit_entry/user_registration/entry` Modify entry details before updating the user via User Registration add-on
89
+		 * @since 1.11
90
+		 * @param array $entry Gravity Forms entry
91
+		 * @param array $form Gravity Forms form
92
+		 */
93
+		$entry = apply_filters( 'gravityview/edit_entry/user_registration/entry', $entry, $form );
94
+
95
+		$config = $this->get_feed_configuration( $entry, $form );
96
+
97
+		// Make sure the feed is active
98
+		if ( ! \GV\Utils::get( $config, 'is_active', false ) ) {
99
+			return;
100
+		}
108 101
 
109
-        // The priority is set to 3 so that default priority (10) will still override it
110
-        add_filter( 'send_password_change_email', '__return_false', 3 );
111
-        add_filter( 'send_email_change_email', '__return_false', 3 );
102
+		// If an Update feed, make sure the conditions are met.
103
+		if ( \GV\Utils::get( $config, 'meta/feedType' ) === 'update' ) {
104
+			if( ! $gf_user_registration->is_feed_condition_met( $config, $form, $entry ) ) {
105
+				return;
106
+			}
107
+		}
112 108
 
113
-        // Trigger the User Registration update user method
114
-        $gf_user_registration->update_user( $entry, $form, $config );
109
+		// The priority is set to 3 so that default priority (10) will still override it
110
+		add_filter( 'send_password_change_email', '__return_false', 3 );
111
+		add_filter( 'send_email_change_email', '__return_false', 3 );
115 112
 
116
-        remove_filter( 'send_password_change_email', '__return_false', 3 );
117
-        remove_filter( 'send_email_change_email', '__return_false', 3 );
113
+		// Trigger the User Registration update user method
114
+		$gf_user_registration->update_user( $entry, $form, $config );
118 115
 
119
-        // Prevent double-triggering by removing the hook
120
-	    remove_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10 );
121
-    }
116
+		remove_filter( 'send_password_change_email', '__return_false', 3 );
117
+		remove_filter( 'send_email_change_email', '__return_false', 3 );
118
+
119
+		// Prevent double-triggering by removing the hook
120
+		remove_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10 );
121
+	}
122 122
 
123 123
 	/**
124 124
 	 * Get the User Registration feed configuration for the entry & form
@@ -133,184 +133,184 @@  discard block
 block discarded – undo
133 133
 	 *
134 134
 	 * @return array
135 135
 	 */
136
-    public function get_feed_configuration( $entry, $form ) {
137
-
138
-	    $gf_user_registration = GF_User_Registration::get_instance();
139
-
140
-	    $config = $gf_user_registration->get_single_submission_feed( $entry, $form );
141
-
142
-	    /**
143
-	     * @filter `gravityview/edit_entry/user_registration/preserve_role` Keep the current user role or override with the role defined in the Create feed
144
-	     * @since 1.15
145
-	     * @param[in,out] boolean $preserve_role Preserve current user role Default: true
146
-	     * @param[in] array $config Gravity Forms User Registration feed configuration for the form
147
-	     * @param[in] array $form Gravity Forms form array
148
-	     * @param[in] array $entry Gravity Forms entry being edited
149
-	     */
150
-	    $preserve_role = apply_filters( 'gravityview/edit_entry/user_registration/preserve_role', true, $config, $form, $entry );
151
-
152
-	    if( $preserve_role ) {
153
-		    $config['meta']['role'] = 'gfur_preserve_role';
154
-	    }
155
-
156
-	    $displayname = $this->match_current_display_name( $entry['created_by'] );
157
-
158
-	    /**
159
-	     * Make sure the current display name is not changed with the update user method.
160
-	     * @since 1.15
161
-	     */
162
-	    $config['meta']['displayname'] = $displayname ? $displayname : $config['meta']['displayname'];
163
-
164
-	    /**
165
-	     * @filter `gravityview/edit_entry/user_registration/config` Modify the User Registration Addon feed configuration
166
-	     * @since 1.14
167
-	     * @param[in,out] array $config Gravity Forms User Registration feed configuration for the form
168
-	     * @param[in] array $form Gravity Forms form array
169
-	     * @param[in] array $entry Gravity Forms entry being edited
170
-	     */
171
-	    $config = apply_filters( 'gravityview/edit_entry/user_registration/config', $config, $form, $entry );
172
-
173
-	    return $config;
174
-    }
175
-
176
-    /**
177
-     * Calculate the user display name format
178
-     *
179
-     * @since 1.15
180
-     * @since 1.20 Returns false if user not found at $user_id
181
-     *
182
-     * @param int $user_id WP User ID
183
-     * @return false|string Display name format as used inside Gravity Forms User Registration. Returns false if user not found.
184
-     */
185
-    public function match_current_display_name( $user_id ) {
186
-
187
-        $user = get_userdata( $user_id );
188
-
189
-        if( ! $user ) {
190
-        	return false;
191
-        }
192
-
193
-        $names = $this->generate_display_names( $user );
194
-
195
-        $format = array_search( $user->display_name, $names, true );
196
-
197
-        /**
198
-         * In case we can't find the current display name format, trigger last resort method at the 'gform_user_updated' hook
199
-         * @see restore_display_name
200
-         */
201
-        if( false === $format ) {
202
-            $this->_user_before_update = $user;
203
-        }
204
-
205
-        return $format;
206
-    }
207
-
208
-    /**
209
-     * Generate an array of all the user display names possibilities
210
-     *
211
-     * @since 1.15
212
-     *
213
-     * @param object $profileuser WP_User object
214
-     * @return array List all the possible display names for a certain User object
215
-     */
216
-    public function generate_display_names( $profileuser ) {
217
-
218
-        $public_display = array();
219
-        $public_display['nickname']  = $profileuser->nickname;
220
-        $public_display['username']  = $profileuser->user_login;
221
-
222
-        if ( !empty($profileuser->first_name) ) {
223
-	        $public_display['firstname'] = $profileuser->first_name;
224
-        }
225
-
226
-        if ( !empty($profileuser->last_name) ) {
227
-	        $public_display['lastname'] = $profileuser->last_name;
228
-        }
229
-
230
-        if ( !empty($profileuser->first_name) && !empty($profileuser->last_name) ) {
231
-            $public_display['firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
232
-            $public_display['lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
233
-        }
234
-
235
-        $public_display = array_map( 'trim', $public_display );
236
-        $public_display = array_unique( $public_display );
237
-
238
-        return $public_display;
239
-    }
240
-
241
-
242
-    /**
243
-     * Restore the Display Name and roles of a user after being updated by Gravity Forms User Registration Addon
244
-     *
245
-     * @see GFUser::update_user()
246
-     * @param int $user_id WP User ID that was updated by Gravity Forms User Registration Addon
247
-     * @param array $config Gravity Forms User Registration Addon form feed configuration
248
-     * @param array $entry The Gravity Forms entry that was just updated
249
-     * @param string $password User password
250
-     * @return int|false|WP_Error|null True: User updated; False: $user_id not a valid User ID; WP_Error: User update error; Null: Method didn't process
251
-     */
252
-    public function restore_display_name( $user_id = 0, $config = array(), $entry = array(), $password = '' ) {
253
-
254
-        /**
255
-         * @filter `gravityview/edit_entry/restore_display_name` Whether display names should be restored to before updating an entry.
256
-         * Otherwise, display names will be reset to the format specified in Gravity Forms User Registration "Update" feed
257
-         * @since 1.14.4
258
-         * @param boolean $restore_display_name Restore Display Name? Default: true
259
-         */
260
-        $restore_display_name = apply_filters( 'gravityview/edit_entry/restore_display_name', true );
261
-
262
-        $is_update_feed = ( $config && \GV\Utils::get( $config, 'meta/feed_type' ) === 'update' );
263
-
264
-        /**
265
-         * Don't restore display name:
266
-         *   - either disabled,
267
-         *   - or it is an Update feed (we only care about Create feed)
268
-         *   - or we don't need as we found the correct format before updating user.
269
-         * @since 1.14.4
270
-         */
271
-        if( ! $restore_display_name || $is_update_feed || is_null( $this->_user_before_update ) ) {
272
-            return null;
273
-        }
274
-
275
-        $user_after_update = get_userdata( $user_id );
276
-
277
-        // User not found
278
-	    if ( ! $user_after_update ) {
279
-	    	gravityview()->log->error( 'User not found at $user_id #{user_id}', array( 'user_id' => $user_id ) );
280
-		    return false;
281
-	    }
282
-
283
-        $restored_user = $user_after_update;
284
-
285
-	    // Restore previous display_name
286
-        $restored_user->display_name = $this->_user_before_update->display_name;
287
-
288
-	    // Don't have WP update the password.
289
-	    unset( $restored_user->data->user_pass, $restored_user->user_pass );
290
-
291
-        /**
292
-         * Modify the user data after updated by Gravity Forms User Registration but before restored by GravityView
293
-         * @since 1.14
294
-         * @param WP_User $restored_user The user with restored details about to be updated by wp_update_user()
295
-         * @param WP_User $user_before_update The user before being updated by Gravity Forms User Registration
296
-         * @param WP_User $user_after_update The user after being updated by Gravity Forms User Registration
297
-         * @param array   $entry The Gravity Forms entry that was just updated
298
-         */
299
-        $restored_user = apply_filters( 'gravityview/edit_entry/user_registration/restored_user', $restored_user, $this->_user_before_update, $user_after_update, $entry );
300
-
301
-        $updated = wp_update_user( $restored_user );
302
-
303
-        if( is_wp_error( $updated ) ) {
304
-            gravityview()->log->error( 'There was an error updating user #{user_id} details', array( 'user_id' => $user_id, 'data' => $updated ) );
305
-        } else {
306
-            gravityview()->log->debug( 'User #{user_id} details restored', array( 'user_id' => $user_id ) );
307
-        }
308
-
309
-        $this->_user_before_update = null;
310
-
311
-        unset( $restored_user, $user_after_update );
312
-
313
-        return $updated;
314
-    }
136
+	public function get_feed_configuration( $entry, $form ) {
137
+
138
+		$gf_user_registration = GF_User_Registration::get_instance();
139
+
140
+		$config = $gf_user_registration->get_single_submission_feed( $entry, $form );
141
+
142
+		/**
143
+		 * @filter `gravityview/edit_entry/user_registration/preserve_role` Keep the current user role or override with the role defined in the Create feed
144
+		 * @since 1.15
145
+		 * @param[in,out] boolean $preserve_role Preserve current user role Default: true
146
+		 * @param[in] array $config Gravity Forms User Registration feed configuration for the form
147
+		 * @param[in] array $form Gravity Forms form array
148
+		 * @param[in] array $entry Gravity Forms entry being edited
149
+		 */
150
+		$preserve_role = apply_filters( 'gravityview/edit_entry/user_registration/preserve_role', true, $config, $form, $entry );
151
+
152
+		if( $preserve_role ) {
153
+			$config['meta']['role'] = 'gfur_preserve_role';
154
+		}
155
+
156
+		$displayname = $this->match_current_display_name( $entry['created_by'] );
157
+
158
+		/**
159
+		 * Make sure the current display name is not changed with the update user method.
160
+		 * @since 1.15
161
+		 */
162
+		$config['meta']['displayname'] = $displayname ? $displayname : $config['meta']['displayname'];
163
+
164
+		/**
165
+		 * @filter `gravityview/edit_entry/user_registration/config` Modify the User Registration Addon feed configuration
166
+		 * @since 1.14
167
+		 * @param[in,out] array $config Gravity Forms User Registration feed configuration for the form
168
+		 * @param[in] array $form Gravity Forms form array
169
+		 * @param[in] array $entry Gravity Forms entry being edited
170
+		 */
171
+		$config = apply_filters( 'gravityview/edit_entry/user_registration/config', $config, $form, $entry );
172
+
173
+		return $config;
174
+	}
175
+
176
+	/**
177
+	 * Calculate the user display name format
178
+	 *
179
+	 * @since 1.15
180
+	 * @since 1.20 Returns false if user not found at $user_id
181
+	 *
182
+	 * @param int $user_id WP User ID
183
+	 * @return false|string Display name format as used inside Gravity Forms User Registration. Returns false if user not found.
184
+	 */
185
+	public function match_current_display_name( $user_id ) {
186
+
187
+		$user = get_userdata( $user_id );
188
+
189
+		if( ! $user ) {
190
+			return false;
191
+		}
192
+
193
+		$names = $this->generate_display_names( $user );
194
+
195
+		$format = array_search( $user->display_name, $names, true );
196
+
197
+		/**
198
+		 * In case we can't find the current display name format, trigger last resort method at the 'gform_user_updated' hook
199
+		 * @see restore_display_name
200
+		 */
201
+		if( false === $format ) {
202
+			$this->_user_before_update = $user;
203
+		}
204
+
205
+		return $format;
206
+	}
207
+
208
+	/**
209
+	 * Generate an array of all the user display names possibilities
210
+	 *
211
+	 * @since 1.15
212
+	 *
213
+	 * @param object $profileuser WP_User object
214
+	 * @return array List all the possible display names for a certain User object
215
+	 */
216
+	public function generate_display_names( $profileuser ) {
217
+
218
+		$public_display = array();
219
+		$public_display['nickname']  = $profileuser->nickname;
220
+		$public_display['username']  = $profileuser->user_login;
221
+
222
+		if ( !empty($profileuser->first_name) ) {
223
+			$public_display['firstname'] = $profileuser->first_name;
224
+		}
225
+
226
+		if ( !empty($profileuser->last_name) ) {
227
+			$public_display['lastname'] = $profileuser->last_name;
228
+		}
229
+
230
+		if ( !empty($profileuser->first_name) && !empty($profileuser->last_name) ) {
231
+			$public_display['firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
232
+			$public_display['lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
233
+		}
234
+
235
+		$public_display = array_map( 'trim', $public_display );
236
+		$public_display = array_unique( $public_display );
237
+
238
+		return $public_display;
239
+	}
240
+
241
+
242
+	/**
243
+	 * Restore the Display Name and roles of a user after being updated by Gravity Forms User Registration Addon
244
+	 *
245
+	 * @see GFUser::update_user()
246
+	 * @param int $user_id WP User ID that was updated by Gravity Forms User Registration Addon
247
+	 * @param array $config Gravity Forms User Registration Addon form feed configuration
248
+	 * @param array $entry The Gravity Forms entry that was just updated
249
+	 * @param string $password User password
250
+	 * @return int|false|WP_Error|null True: User updated; False: $user_id not a valid User ID; WP_Error: User update error; Null: Method didn't process
251
+	 */
252
+	public function restore_display_name( $user_id = 0, $config = array(), $entry = array(), $password = '' ) {
253
+
254
+		/**
255
+		 * @filter `gravityview/edit_entry/restore_display_name` Whether display names should be restored to before updating an entry.
256
+		 * Otherwise, display names will be reset to the format specified in Gravity Forms User Registration "Update" feed
257
+		 * @since 1.14.4
258
+		 * @param boolean $restore_display_name Restore Display Name? Default: true
259
+		 */
260
+		$restore_display_name = apply_filters( 'gravityview/edit_entry/restore_display_name', true );
261
+
262
+		$is_update_feed = ( $config && \GV\Utils::get( $config, 'meta/feed_type' ) === 'update' );
263
+
264
+		/**
265
+		 * Don't restore display name:
266
+		 *   - either disabled,
267
+		 *   - or it is an Update feed (we only care about Create feed)
268
+		 *   - or we don't need as we found the correct format before updating user.
269
+		 * @since 1.14.4
270
+		 */
271
+		if( ! $restore_display_name || $is_update_feed || is_null( $this->_user_before_update ) ) {
272
+			return null;
273
+		}
274
+
275
+		$user_after_update = get_userdata( $user_id );
276
+
277
+		// User not found
278
+		if ( ! $user_after_update ) {
279
+			gravityview()->log->error( 'User not found at $user_id #{user_id}', array( 'user_id' => $user_id ) );
280
+			return false;
281
+		}
282
+
283
+		$restored_user = $user_after_update;
284
+
285
+		// Restore previous display_name
286
+		$restored_user->display_name = $this->_user_before_update->display_name;
287
+
288
+		// Don't have WP update the password.
289
+		unset( $restored_user->data->user_pass, $restored_user->user_pass );
290
+
291
+		/**
292
+		 * Modify the user data after updated by Gravity Forms User Registration but before restored by GravityView
293
+		 * @since 1.14
294
+		 * @param WP_User $restored_user The user with restored details about to be updated by wp_update_user()
295
+		 * @param WP_User $user_before_update The user before being updated by Gravity Forms User Registration
296
+		 * @param WP_User $user_after_update The user after being updated by Gravity Forms User Registration
297
+		 * @param array   $entry The Gravity Forms entry that was just updated
298
+		 */
299
+		$restored_user = apply_filters( 'gravityview/edit_entry/user_registration/restored_user', $restored_user, $this->_user_before_update, $user_after_update, $entry );
300
+
301
+		$updated = wp_update_user( $restored_user );
302
+
303
+		if( is_wp_error( $updated ) ) {
304
+			gravityview()->log->error( 'There was an error updating user #{user_id} details', array( 'user_id' => $user_id, 'data' => $updated ) );
305
+		} else {
306
+			gravityview()->log->debug( 'User #{user_id} details restored', array( 'user_id' => $user_id ) );
307
+		}
308
+
309
+		$this->_user_before_update = null;
310
+
311
+		unset( $restored_user, $user_after_update );
312
+
313
+		return $updated;
314
+	}
315 315
 
316 316
 } //end class
Please login to merge, or discard this patch.