Completed
Push — develop ( b948c4...a1d7eb )
by Zack
19:39
created
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( 'Manage Add-Ons', 'Extensions are WordPress plugins that add functionality to GravityView and Gravity Forms', 'gravityview' );
100
+		$menu_text = _x( 'Manage Add-Ons', '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
@@ -362,9 +362,9 @@  discard block
 block discarded – undo
362 362
 	 */
363 363
 	protected function render_download( $download, $wp_plugins ) {
364 364
 
365
-        $details = $this->get_download_display_details( $download, $wp_plugins );
365
+		$details = $this->get_download_display_details( $download, $wp_plugins );
366 366
 
367
-        $download_info = $details['download_info'];
367
+		$download_info = $details['download_info'];
368 368
 
369 369
 		?>
370 370
         <div class="item <?php echo esc_attr( $details['item_class'] ); ?>">
@@ -386,43 +386,43 @@  discard block
 block discarded – undo
386 386
 
387 387
                 <div class="addon-excerpt"><?php
388 388
 
389
-                    $excerpt = \GV\Utils::get( $download_info, 'installer_excerpt', $download_info['excerpt'] );
389
+					$excerpt = \GV\Utils::get( $download_info, 'installer_excerpt', $download_info['excerpt'] );
390 390
 
391
-                    // Allow some pure HTML tags, but remove everything else from the excerpt.
392
-                    $tags = array( '<strong>', '</strong>', '<em>', '</em>', '<code>', '</code>' );
393
-                    $replacements = array( '[b]', '[/b]', '[i]', '[/i]', '[code]', '[/code]' );
391
+					// Allow some pure HTML tags, but remove everything else from the excerpt.
392
+					$tags = array( '<strong>', '</strong>', '<em>', '</em>', '<code>', '</code>' );
393
+					$replacements = array( '[b]', '[/b]', '[i]', '[/i]', '[code]', '[/code]' );
394 394
 
395
-                    $excerpt = str_replace( $tags, $replacements, $excerpt );
396
-                    $excerpt = esc_html( strip_tags( $excerpt ) );
395
+					$excerpt = str_replace( $tags, $replacements, $excerpt );
396
+					$excerpt = esc_html( strip_tags( $excerpt ) );
397 397
 					$excerpt = str_replace( $replacements, $tags, $excerpt );
398 398
 
399 399
 					echo wpautop( $excerpt );
400
-                ?></div>
400
+				?></div>
401 401
             </div>
402 402
         </div>
403 403
 		<?php
404 404
 	}
405 405
 
406 406
 	/**
407
-     * Generates details array for the download to keep the render_download() method a bit tidier
408
-     *
407
+	 * Generates details array for the download to keep the render_download() method a bit tidier
408
+	 *
409 409
 	 * @param array $download Single download, as returned by {@see get_downloads_data}
410 410
 	 * @param array $wp_plugins All active plugins, as returned by {@see get_plugins()}
411 411
 	 *
412 412
 	 * @return array {
413
-     *   @type array $download_info
414
-     *   @type string $plugin_path
415
-     *   @type string $status License status returned by Easy Digital Downloads ("active", "inactive", "expired", "revoked", etc)
416
-     *   @type string $status_label
417
-     *   @type string $button_title Title attribute to show when hovering over the download's button
418
-     *   @type string $button_class CSS class to use for the button
419
-     *   @type string $button_label Text to use for the download's anchor link
420
-     *   @type string $href URL for the download's button
421
-     *   @type bool   $spinner Whether to show the spinner icon
422
-     *   @type string $item_class CSS class for the download container
423
-     *   @type string $required_license The name of the required license for the download ("All Access" or "Core + Extensions")
424
-     *   @type bool   $is_active Is the current GravityView license (as entered in Settings) active?
425
-     * }
413
+	 *   @type array $download_info
414
+	 *   @type string $plugin_path
415
+	 *   @type string $status License status returned by Easy Digital Downloads ("active", "inactive", "expired", "revoked", etc)
416
+	 *   @type string $status_label
417
+	 *   @type string $button_title Title attribute to show when hovering over the download's button
418
+	 *   @type string $button_class CSS class to use for the button
419
+	 *   @type string $button_label Text to use for the download's anchor link
420
+	 *   @type string $href URL for the download's button
421
+	 *   @type bool   $spinner Whether to show the spinner icon
422
+	 *   @type string $item_class CSS class for the download container
423
+	 *   @type string $required_license The name of the required license for the download ("All Access" or "Core + Extensions")
424
+	 *   @type bool   $is_active Is the current GravityView license (as entered in Settings) active?
425
+	 * }
426 426
 	 */
427 427
 	private function get_download_display_details( $download, $wp_plugins ) {
428 428
 
@@ -433,7 +433,7 @@  discard block
 block discarded – undo
433 433
 			'slug' => '',
434 434
 			'excerpt' => '',
435 435
 			'link' => '',
436
-            'coming_soon' => false,
436
+			'coming_soon' => false,
437 437
 			'installer_title' => null, // May not be defined
438 438
 			'installer_excerpt' => null, // May not be defined
439 439
 		) );
@@ -476,14 +476,14 @@  discard block
 block discarded – undo
476 476
 			$href         = 'https://gravityview.co/pricing/?utm_source=admin-installer&utm_medium=admin&utm_campaign=Admin%20Notice&utm_content=' . $required_license;
477 477
 		}
478 478
 
479
-        elseif ( ! empty( $download_info['coming_soon'] ) ) {
480
-	        $spinner      = false;
481
-	        $status       = 'notinstalled';
482
-	        $status_label = __( 'Coming Soon', 'gravityview' );
483
-	        $button_label = __( 'Learn More', 'gravityview' );
484
-	        $button_class = 'button-primary button-large';
485
-	        $href         = \GV\Utils::get( $download_info, 'link', 'https://gravityview.co/extensions/' );
486
-        }
479
+		elseif ( ! empty( $download_info['coming_soon'] ) ) {
480
+			$spinner      = false;
481
+			$status       = 'notinstalled';
482
+			$status_label = __( 'Coming Soon', 'gravityview' );
483
+			$button_label = __( 'Learn More', 'gravityview' );
484
+			$button_class = 'button-primary button-large';
485
+			$href         = \GV\Utils::get( $download_info, 'link', 'https://gravityview.co/extensions/' );
486
+		}
487 487
 
488 488
 		// Access but the plugin is not installed
489 489
 		elseif ( ! $wp_plugin ) {
@@ -523,18 +523,18 @@  discard block
 block discarded – undo
523 523
 		}
524 524
 
525 525
 		return compact( 'download_info','plugin_path', 'status', 'status_label', 'button_title', 'button_class', 'button_label', 'href', 'spinner', 'item_class', 'required_license', 'is_active' );
526
-    }
526
+	}
527 527
 
528 528
 	/**
529
-     * Returns the base price for an extension
530
-     *
529
+	 * Returns the base price for an extension
530
+	 *
531 531
 	 * @param array $download
532 532
 	 *
533 533
 	 * @return float Base price for an extension. If not for sale separately, returns 0
534 534
 	 */
535 535
 	private function get_download_base_price( $download ) {
536 536
 
537
-	    $base_price = \GV\Utils::get( $download, 'pricing/amount', 0 );
537
+		$base_price = \GV\Utils::get( $download, 'pricing/amount', 0 );
538 538
 		$base_price = \GFCommon::to_number( $base_price );
539 539
 
540 540
 		unset( $download['pricing']['amount'] );
@@ -545,7 +545,7 @@  discard block
 block discarded – undo
545 545
 		}
546 546
 
547 547
 		return floatval( $base_price );
548
-    }
548
+	}
549 549
 
550 550
 	/**
551 551
 	 * Handle AJAX request to activate extension
@@ -563,8 +563,8 @@  discard block
 block discarded – undo
563 563
 
564 564
 		if ( is_wp_error( $result ) || ! is_plugin_active( $data['path'] ) ) {
565 565
 			wp_send_json_error( array(
566
-                'error' => sprintf( __( 'Plugin activation failed: %s', 'gravityview' ), $result->get_error_message() )
567
-            ) );
566
+				'error' => sprintf( __( 'Plugin activation failed: %s', 'gravityview' ), $result->get_error_message() )
567
+			) );
568 568
 		}
569 569
 
570 570
 		wp_send_json_success();
@@ -585,10 +585,10 @@  discard block
 block discarded – undo
585 585
 		deactivate_plugins( $data['path'] );
586 586
 
587 587
 		if( is_plugin_active( $data['path'] ) ) {
588
-            wp_send_json_error( array(
589
-                'error' => sprintf( __( 'Plugin deactivation failed.', 'gravityview' ) )
590
-            ) );
591
-        }
588
+			wp_send_json_error( array(
589
+				'error' => sprintf( __( 'Plugin deactivation failed.', 'gravityview' ) )
590
+			) );
591
+		}
592 592
 
593 593
 		wp_send_json_success();
594 594
 	}
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-user-registration.php 1 patch
Indentation   +262 added lines, -262 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,109 +22,109 @@  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 );
108 94
 
109
-	    // Do not update user if the user hasn't been registered (happens when manual activation is enabled in User Registration feed)
110
-	    $username = \GV\Utils::get( $config, 'meta/username', null );
111
-	    if ( ! isset( $entry[ $username ] ) || ! get_user_by( 'login', $entry[ $username ] ) ) {
112
-		    return;
113
-	    }
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
+		}
101
+
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
+		}
108
+
109
+		// Do not update user if the user hasn't been registered (happens when manual activation is enabled in User Registration feed)
110
+		$username = \GV\Utils::get( $config, 'meta/username', null );
111
+		if ( ! isset( $entry[ $username ] ) || ! get_user_by( 'login', $entry[ $username ] ) ) {
112
+			return;
113
+		}
114 114
 
115
-        // The priority is set to 3 so that default priority (10) will still override it
116
-        add_filter( 'send_password_change_email', '__return_false', 3 );
117
-        add_filter( 'send_email_change_email', '__return_false', 3 );
115
+		// The priority is set to 3 so that default priority (10) will still override it
116
+		add_filter( 'send_password_change_email', '__return_false', 3 );
117
+		add_filter( 'send_email_change_email', '__return_false', 3 );
118 118
 
119
-        // Trigger the User Registration update user method
120
-        $gf_user_registration->update_user( $entry, $form, $config );
119
+		// Trigger the User Registration update user method
120
+		$gf_user_registration->update_user( $entry, $form, $config );
121 121
 
122
-        remove_filter( 'send_password_change_email', '__return_false', 3 );
123
-        remove_filter( 'send_email_change_email', '__return_false', 3 );
122
+		remove_filter( 'send_password_change_email', '__return_false', 3 );
123
+		remove_filter( 'send_email_change_email', '__return_false', 3 );
124 124
 
125
-        // Prevent double-triggering by removing the hook
126
-	    remove_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10 );
127
-    }
125
+		// Prevent double-triggering by removing the hook
126
+		remove_action( 'gravityview/edit_entry/after_update' , array( $this, 'update_user' ), 10 );
127
+	}
128 128
 
129 129
 	/**
130 130
 	 * Get the User Registration feed configuration for the entry & form
@@ -139,184 +139,184 @@  discard block
 block discarded – undo
139 139
 	 *
140 140
 	 * @return array
141 141
 	 */
142
-    public function get_feed_configuration( $entry, $form ) {
143
-
144
-	    $gf_user_registration = GF_User_Registration::get_instance();
145
-
146
-	    $config = $gf_user_registration->get_single_submission_feed( $entry, $form );
147
-
148
-	    /**
149
-	     * @filter `gravityview/edit_entry/user_registration/preserve_role` Keep the current user role or override with the role defined in the Create feed
150
-	     * @since 1.15
151
-	     * @param[in,out] boolean $preserve_role Preserve current user role Default: true
152
-	     * @param[in] array $config Gravity Forms User Registration feed configuration for the form
153
-	     * @param[in] array $form Gravity Forms form array
154
-	     * @param[in] array $entry Gravity Forms entry being edited
155
-	     */
156
-	    $preserve_role = apply_filters( 'gravityview/edit_entry/user_registration/preserve_role', true, $config, $form, $entry );
157
-
158
-	    if( $preserve_role ) {
159
-		    $config['meta']['role'] = 'gfur_preserve_role';
160
-	    }
161
-
162
-	    $displayname = $this->match_current_display_name( $entry['created_by'] );
163
-
164
-	    /**
165
-	     * Make sure the current display name is not changed with the update user method.
166
-	     * @since 1.15
167
-	     */
168
-	    $config['meta']['displayname'] = $displayname ? $displayname : $config['meta']['displayname'];
169
-
170
-	    /**
171
-	     * @filter `gravityview/edit_entry/user_registration/config` Modify the User Registration Addon feed configuration
172
-	     * @since 1.14
173
-	     * @param[in,out] array $config Gravity Forms User Registration feed configuration for the form
174
-	     * @param[in] array $form Gravity Forms form array
175
-	     * @param[in] array $entry Gravity Forms entry being edited
176
-	     */
177
-	    $config = apply_filters( 'gravityview/edit_entry/user_registration/config', $config, $form, $entry );
178
-
179
-	    return $config;
180
-    }
181
-
182
-    /**
183
-     * Calculate the user display name format
184
-     *
185
-     * @since 1.15
186
-     * @since 1.20 Returns false if user not found at $user_id
187
-     *
188
-     * @param int $user_id WP User ID
189
-     * @return false|string Display name format as used inside Gravity Forms User Registration. Returns false if user not found.
190
-     */
191
-    public function match_current_display_name( $user_id ) {
192
-
193
-        $user = get_userdata( $user_id );
194
-
195
-        if( ! $user ) {
196
-        	return false;
197
-        }
198
-
199
-        $names = $this->generate_display_names( $user );
200
-
201
-        $format = array_search( $user->display_name, $names, true );
202
-
203
-        /**
204
-         * In case we can't find the current display name format, trigger last resort method at the 'gform_user_updated' hook
205
-         * @see restore_display_name
206
-         */
207
-        if( false === $format ) {
208
-            $this->_user_before_update = $user;
209
-        }
210
-
211
-        return $format;
212
-    }
213
-
214
-    /**
215
-     * Generate an array of all the user display names possibilities
216
-     *
217
-     * @since 1.15
218
-     *
219
-     * @param object $profileuser WP_User object
220
-     * @return array List all the possible display names for a certain User object
221
-     */
222
-    public function generate_display_names( $profileuser ) {
223
-
224
-        $public_display = array();
225
-        $public_display['nickname']  = $profileuser->nickname;
226
-        $public_display['username']  = $profileuser->user_login;
227
-
228
-        if ( !empty($profileuser->first_name) ) {
229
-	        $public_display['firstname'] = $profileuser->first_name;
230
-        }
231
-
232
-        if ( !empty($profileuser->last_name) ) {
233
-	        $public_display['lastname'] = $profileuser->last_name;
234
-        }
235
-
236
-        if ( !empty($profileuser->first_name) && !empty($profileuser->last_name) ) {
237
-            $public_display['firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
238
-            $public_display['lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
239
-        }
240
-
241
-        $public_display = array_map( 'trim', $public_display );
242
-        $public_display = array_unique( $public_display );
243
-
244
-        return $public_display;
245
-    }
246
-
247
-
248
-    /**
249
-     * Restore the Display Name and roles of a user after being updated by Gravity Forms User Registration Addon
250
-     *
251
-     * @see GFUser::update_user()
252
-     * @param int $user_id WP User ID that was updated by Gravity Forms User Registration Addon
253
-     * @param array $config Gravity Forms User Registration Addon form feed configuration
254
-     * @param array $entry The Gravity Forms entry that was just updated
255
-     * @param string $password User password
256
-     * @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
257
-     */
258
-    public function restore_display_name( $user_id = 0, $config = array(), $entry = array(), $password = '' ) {
259
-
260
-        /**
261
-         * @filter `gravityview/edit_entry/restore_display_name` Whether display names should be restored to before updating an entry.
262
-         * Otherwise, display names will be reset to the format specified in Gravity Forms User Registration "Update" feed
263
-         * @since 1.14.4
264
-         * @param boolean $restore_display_name Restore Display Name? Default: true
265
-         */
266
-        $restore_display_name = apply_filters( 'gravityview/edit_entry/restore_display_name', true );
267
-
268
-        $is_update_feed = ( $config && \GV\Utils::get( $config, 'meta/feed_type' ) === 'update' );
269
-
270
-        /**
271
-         * Don't restore display name:
272
-         *   - either disabled,
273
-         *   - or it is an Update feed (we only care about Create feed)
274
-         *   - or we don't need as we found the correct format before updating user.
275
-         * @since 1.14.4
276
-         */
277
-        if( ! $restore_display_name || $is_update_feed || is_null( $this->_user_before_update ) ) {
278
-            return null;
279
-        }
280
-
281
-        $user_after_update = get_userdata( $user_id );
282
-
283
-        // User not found
284
-	    if ( ! $user_after_update ) {
285
-	    	gravityview()->log->error( 'User not found at $user_id #{user_id}', array( 'user_id' => $user_id ) );
286
-		    return false;
287
-	    }
288
-
289
-        $restored_user = $user_after_update;
290
-
291
-	    // Restore previous display_name
292
-        $restored_user->display_name = $this->_user_before_update->display_name;
293
-
294
-	    // Don't have WP update the password.
295
-	    unset( $restored_user->data->user_pass, $restored_user->user_pass );
296
-
297
-        /**
298
-         * Modify the user data after updated by Gravity Forms User Registration but before restored by GravityView
299
-         * @since 1.14
300
-         * @param WP_User $restored_user The user with restored details about to be updated by wp_update_user()
301
-         * @param WP_User $user_before_update The user before being updated by Gravity Forms User Registration
302
-         * @param WP_User $user_after_update The user after being updated by Gravity Forms User Registration
303
-         * @param array   $entry The Gravity Forms entry that was just updated
304
-         */
305
-        $restored_user = apply_filters( 'gravityview/edit_entry/user_registration/restored_user', $restored_user, $this->_user_before_update, $user_after_update, $entry );
306
-
307
-        $updated = wp_update_user( $restored_user );
308
-
309
-        if( is_wp_error( $updated ) ) {
310
-            gravityview()->log->error( 'There was an error updating user #{user_id} details', array( 'user_id' => $user_id, 'data' => $updated ) );
311
-        } else {
312
-            gravityview()->log->debug( 'User #{user_id} details restored', array( 'user_id' => $user_id ) );
313
-        }
314
-
315
-        $this->_user_before_update = null;
316
-
317
-        unset( $restored_user, $user_after_update );
318
-
319
-        return $updated;
320
-    }
142
+	public function get_feed_configuration( $entry, $form ) {
143
+
144
+		$gf_user_registration = GF_User_Registration::get_instance();
145
+
146
+		$config = $gf_user_registration->get_single_submission_feed( $entry, $form );
147
+
148
+		/**
149
+		 * @filter `gravityview/edit_entry/user_registration/preserve_role` Keep the current user role or override with the role defined in the Create feed
150
+		 * @since 1.15
151
+		 * @param[in,out] boolean $preserve_role Preserve current user role Default: true
152
+		 * @param[in] array $config Gravity Forms User Registration feed configuration for the form
153
+		 * @param[in] array $form Gravity Forms form array
154
+		 * @param[in] array $entry Gravity Forms entry being edited
155
+		 */
156
+		$preserve_role = apply_filters( 'gravityview/edit_entry/user_registration/preserve_role', true, $config, $form, $entry );
157
+
158
+		if( $preserve_role ) {
159
+			$config['meta']['role'] = 'gfur_preserve_role';
160
+		}
161
+
162
+		$displayname = $this->match_current_display_name( $entry['created_by'] );
163
+
164
+		/**
165
+		 * Make sure the current display name is not changed with the update user method.
166
+		 * @since 1.15
167
+		 */
168
+		$config['meta']['displayname'] = $displayname ? $displayname : $config['meta']['displayname'];
169
+
170
+		/**
171
+		 * @filter `gravityview/edit_entry/user_registration/config` Modify the User Registration Addon feed configuration
172
+		 * @since 1.14
173
+		 * @param[in,out] array $config Gravity Forms User Registration feed configuration for the form
174
+		 * @param[in] array $form Gravity Forms form array
175
+		 * @param[in] array $entry Gravity Forms entry being edited
176
+		 */
177
+		$config = apply_filters( 'gravityview/edit_entry/user_registration/config', $config, $form, $entry );
178
+
179
+		return $config;
180
+	}
181
+
182
+	/**
183
+	 * Calculate the user display name format
184
+	 *
185
+	 * @since 1.15
186
+	 * @since 1.20 Returns false if user not found at $user_id
187
+	 *
188
+	 * @param int $user_id WP User ID
189
+	 * @return false|string Display name format as used inside Gravity Forms User Registration. Returns false if user not found.
190
+	 */
191
+	public function match_current_display_name( $user_id ) {
192
+
193
+		$user = get_userdata( $user_id );
194
+
195
+		if( ! $user ) {
196
+			return false;
197
+		}
198
+
199
+		$names = $this->generate_display_names( $user );
200
+
201
+		$format = array_search( $user->display_name, $names, true );
202
+
203
+		/**
204
+		 * In case we can't find the current display name format, trigger last resort method at the 'gform_user_updated' hook
205
+		 * @see restore_display_name
206
+		 */
207
+		if( false === $format ) {
208
+			$this->_user_before_update = $user;
209
+		}
210
+
211
+		return $format;
212
+	}
213
+
214
+	/**
215
+	 * Generate an array of all the user display names possibilities
216
+	 *
217
+	 * @since 1.15
218
+	 *
219
+	 * @param object $profileuser WP_User object
220
+	 * @return array List all the possible display names for a certain User object
221
+	 */
222
+	public function generate_display_names( $profileuser ) {
223
+
224
+		$public_display = array();
225
+		$public_display['nickname']  = $profileuser->nickname;
226
+		$public_display['username']  = $profileuser->user_login;
227
+
228
+		if ( !empty($profileuser->first_name) ) {
229
+			$public_display['firstname'] = $profileuser->first_name;
230
+		}
231
+
232
+		if ( !empty($profileuser->last_name) ) {
233
+			$public_display['lastname'] = $profileuser->last_name;
234
+		}
235
+
236
+		if ( !empty($profileuser->first_name) && !empty($profileuser->last_name) ) {
237
+			$public_display['firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
238
+			$public_display['lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
239
+		}
240
+
241
+		$public_display = array_map( 'trim', $public_display );
242
+		$public_display = array_unique( $public_display );
243
+
244
+		return $public_display;
245
+	}
246
+
247
+
248
+	/**
249
+	 * Restore the Display Name and roles of a user after being updated by Gravity Forms User Registration Addon
250
+	 *
251
+	 * @see GFUser::update_user()
252
+	 * @param int $user_id WP User ID that was updated by Gravity Forms User Registration Addon
253
+	 * @param array $config Gravity Forms User Registration Addon form feed configuration
254
+	 * @param array $entry The Gravity Forms entry that was just updated
255
+	 * @param string $password User password
256
+	 * @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
257
+	 */
258
+	public function restore_display_name( $user_id = 0, $config = array(), $entry = array(), $password = '' ) {
259
+
260
+		/**
261
+		 * @filter `gravityview/edit_entry/restore_display_name` Whether display names should be restored to before updating an entry.
262
+		 * Otherwise, display names will be reset to the format specified in Gravity Forms User Registration "Update" feed
263
+		 * @since 1.14.4
264
+		 * @param boolean $restore_display_name Restore Display Name? Default: true
265
+		 */
266
+		$restore_display_name = apply_filters( 'gravityview/edit_entry/restore_display_name', true );
267
+
268
+		$is_update_feed = ( $config && \GV\Utils::get( $config, 'meta/feed_type' ) === 'update' );
269
+
270
+		/**
271
+		 * Don't restore display name:
272
+		 *   - either disabled,
273
+		 *   - or it is an Update feed (we only care about Create feed)
274
+		 *   - or we don't need as we found the correct format before updating user.
275
+		 * @since 1.14.4
276
+		 */
277
+		if( ! $restore_display_name || $is_update_feed || is_null( $this->_user_before_update ) ) {
278
+			return null;
279
+		}
280
+
281
+		$user_after_update = get_userdata( $user_id );
282
+
283
+		// User not found
284
+		if ( ! $user_after_update ) {
285
+			gravityview()->log->error( 'User not found at $user_id #{user_id}', array( 'user_id' => $user_id ) );
286
+			return false;
287
+		}
288
+
289
+		$restored_user = $user_after_update;
290
+
291
+		// Restore previous display_name
292
+		$restored_user->display_name = $this->_user_before_update->display_name;
293
+
294
+		// Don't have WP update the password.
295
+		unset( $restored_user->data->user_pass, $restored_user->user_pass );
296
+
297
+		/**
298
+		 * Modify the user data after updated by Gravity Forms User Registration but before restored by GravityView
299
+		 * @since 1.14
300
+		 * @param WP_User $restored_user The user with restored details about to be updated by wp_update_user()
301
+		 * @param WP_User $user_before_update The user before being updated by Gravity Forms User Registration
302
+		 * @param WP_User $user_after_update The user after being updated by Gravity Forms User Registration
303
+		 * @param array   $entry The Gravity Forms entry that was just updated
304
+		 */
305
+		$restored_user = apply_filters( 'gravityview/edit_entry/user_registration/restored_user', $restored_user, $this->_user_before_update, $user_after_update, $entry );
306
+
307
+		$updated = wp_update_user( $restored_user );
308
+
309
+		if( is_wp_error( $updated ) ) {
310
+			gravityview()->log->error( 'There was an error updating user #{user_id} details', array( 'user_id' => $user_id, 'data' => $updated ) );
311
+		} else {
312
+			gravityview()->log->debug( 'User #{user_id} details restored', array( 'user_id' => $user_id ) );
313
+		}
314
+
315
+		$this->_user_before_update = null;
316
+
317
+		unset( $restored_user, $user_after_update );
318
+
319
+		return $updated;
320
+	}
321 321
 
322 322
 } //end class
Please login to merge, or discard this patch.
includes/admin/class.render.settings.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -284,7 +284,7 @@
 block discarded – undo
284 284
 					<div class="gv-field-detail gv-field-detail--field">
285 285
 						<span class="gv-field-detail--label">' . esc_html__( 'Field ID', 'gravityview' ) .'</span><span class="gv-field-detail--value">#{{field_id}}</span>
286 286
 					</div>';
287
-			    }
287
+				}
288 288
 
289 289
 				$item_details .= '
290 290
 					<div class="gv-field-detail gv-field-detail--type">
Please login to merge, or discard this patch.
includes/extensions/edit-entry/class-edit-entry-admin.php 1 patch
Indentation   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -10,42 +10,42 @@  discard block
 block discarded – undo
10 10
  */
11 11
 
12 12
 if ( ! defined( 'WPINC' ) ) {
13
-    die;
13
+	die;
14 14
 }
15 15
 
16 16
 
17 17
 class GravityView_Edit_Entry_Admin {
18 18
 
19
-    protected $loader;
19
+	protected $loader;
20 20
 
21
-    function __construct( GravityView_Edit_Entry $loader ) {
22
-        $this->loader = $loader;
23
-    }
21
+	function __construct( GravityView_Edit_Entry $loader ) {
22
+		$this->loader = $loader;
23
+	}
24 24
 
25
-    function load() {
25
+	function load() {
26 26
 
27
-        if( !is_admin() ) {
28
-            return;
29
-        }
27
+		if( !is_admin() ) {
28
+			return;
29
+		}
30 30
 
31
-        // Add Edit Link as a default field, outside those set in the Gravity Form form
32
-        add_filter( 'gravityview_entry_default_fields', array( $this, 'add_default_field' ), 10, 3 );
31
+		// Add Edit Link as a default field, outside those set in the Gravity Form form
32
+		add_filter( 'gravityview_entry_default_fields', array( $this, 'add_default_field' ), 10, 3 );
33 33
 
34
-        // For the Edit Entry Link, you don't want visible to all users.
35
-        add_filter( 'gravityview_field_visibility_caps', array( $this, 'modify_visibility_caps' ), 10, 5 );
34
+		// For the Edit Entry Link, you don't want visible to all users.
35
+		add_filter( 'gravityview_field_visibility_caps', array( $this, 'modify_visibility_caps' ), 10, 5 );
36 36
 
37
-        // Modify the field options based on the name of the field type
38
-        add_filter( 'gravityview_template_edit_link_options', array( $this, 'edit_link_field_options' ), 10, 5 );
37
+		// Modify the field options based on the name of the field type
38
+		add_filter( 'gravityview_template_edit_link_options', array( $this, 'edit_link_field_options' ), 10, 5 );
39 39
 
40
-        // add tooltips
41
-        add_filter( 'gravityview/metaboxes/tooltips', array( $this, 'tooltips') );
40
+		// add tooltips
41
+		add_filter( 'gravityview/metaboxes/tooltips', array( $this, 'tooltips') );
42 42
 
43
-        // custom fields' options for zone EDIT
44
-        add_filter( 'gravityview_template_field_options', array( $this, 'field_options' ), 10, 6 );
43
+		// custom fields' options for zone EDIT
44
+		add_filter( 'gravityview_template_field_options', array( $this, 'field_options' ), 10, 6 );
45 45
 
46
-        // Add Edit Entry settings to View Settings
47
-        add_action( 'gravityview/metaboxes/edit_entry', array( $this, 'view_settings_metabox' ) );
48
-    }
46
+		// Add Edit Entry settings to View Settings
47
+		add_action( 'gravityview/metaboxes/edit_entry', array( $this, 'view_settings_metabox' ) );
48
+	}
49 49
 
50 50
 	/**
51 51
 	 * Render Edit Entry View metabox settings
@@ -69,101 +69,101 @@  discard block
 block discarded – undo
69 69
 		GravityView_Render_Settings::render_setting_row( 'edit_redirect_url', $current_settings );
70 70
 	}
71 71
 
72
-    /**
73
-     * Add Edit Link as a default field, outside those set in the Gravity Form form
74
-     * @param array $entry_default_fields Existing fields
75
-     * @param  string|array $form form_ID or form object
76
-     * @param  string $zone   Either 'single', 'directory', 'header', 'footer'
77
-     */
78
-    function add_default_field( $entry_default_fields, $form = array(), $zone = '' ) {
79
-
80
-        if( $zone !== 'edit' ) {
81
-
82
-            $entry_default_fields['edit_link'] = array(
83
-                'label' => __('Link to Edit Entry', 'gravityview'),
84
-                'type' => 'edit_link',
85
-                'desc'	=> __('A link to edit the entry. Visible based on View settings.', 'gravityview'),
86
-                'icon' => 'dashicons-welcome-write-blog',
87
-            );
88
-
89
-        }
90
-
91
-        return $entry_default_fields;
92
-    }
93
-
94
-    /**
95
-     * Change wording for the Edit context to read Entry Creator
96
-     *
97
-     * @param  array 	   $visibility_caps        Array of capabilities to display in field dropdown.
98
-     * @param  string      $field_type  Type of field options to render (`field` or `widget`)
99
-     * @param  string      $template_id Table slug
100
-     * @param  float       $field_id    GF Field ID - Example: `3`, `5.2`, `entry_link`, `created_by`
101
-     * @param  string      $context     What context are we in? Example: `single` or `directory`
102
-     * @param  string      $input_type  (textarea, list, select, etc.)
103
-     * @return array                   Array of field options with `label`, `value`, `type`, `default` keys
104
-     */
105
-    function modify_visibility_caps( $visibility_caps = array(), $template_id = '', $field_id = '', $context = '', $input_type = '' ) {
106
-
107
-        $caps = $visibility_caps;
108
-
109
-        // If we're configuring fields in the edit context, we want a limited selection
110
-        if( $context === 'edit' ) {
111
-
112
-            // Remove other built-in caps.
113
-            unset( $caps['publish_posts'], $caps['gravityforms_view_entries'], $caps['delete_others_posts'] );
114
-
115
-            $caps['read'] = _x('Entry Creator','User capability', 'gravityview');
116
-        }
117
-
118
-        return $caps;
119
-    }
120
-
121
-    /**
122
-     * Add "Edit Link Text" setting to the edit_link field settings
123
-     *
124
-     * @param array  $field_options
125
-     * @param string $template_id
126
-     * @param string $field_id
127
-     * @param string $context
128
-     * @param string $input_type
129
-     *
130
-     * @return array $field_options, with "Edit Link Text" field option
131
-     */
132
-    function edit_link_field_options( $field_options, $template_id, $field_id, $context, $input_type ) {
133
-
134
-        // Always a link, never a filter
135
-        unset( $field_options['show_as_link'], $field_options['search_filter'] );
136
-
137
-        // Edit Entry link should only appear to visitors capable of editing entries
138
-        unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
139
-
140
-        $add_option['edit_link'] = array(
141
-            'type' => 'text',
142
-            'label' => __( 'Edit Link Text', 'gravityview' ),
143
-            'desc' => NULL,
144
-            'value' => __('Link to Edit Entry', 'gravityview'),
145
-            'merge_tags' => true,
146
-        );
147
-
148
-        return array_merge( $add_option, $field_options );
149
-    }
150
-
151
-    /**
152
-     * Add tooltips
153
-     * @param  array $tooltips Existing tooltips
154
-     * @return array           Modified tooltips
155
-     */
156
-    function tooltips( $tooltips ) {
157
-
158
-        $return = $tooltips;
159
-
160
-        $return['allow_edit_cap'] = array(
161
-            'title' => __('Limiting Edit Access', 'gravityview'),
162
-            'value' => __('Change this setting if you don\'t want the user who created the entry to be able to edit this field.', 'gravityview'),
163
-        );
164
-
165
-        return $return;
166
-    }
72
+	/**
73
+	 * Add Edit Link as a default field, outside those set in the Gravity Form form
74
+	 * @param array $entry_default_fields Existing fields
75
+	 * @param  string|array $form form_ID or form object
76
+	 * @param  string $zone   Either 'single', 'directory', 'header', 'footer'
77
+	 */
78
+	function add_default_field( $entry_default_fields, $form = array(), $zone = '' ) {
79
+
80
+		if( $zone !== 'edit' ) {
81
+
82
+			$entry_default_fields['edit_link'] = array(
83
+				'label' => __('Link to Edit Entry', 'gravityview'),
84
+				'type' => 'edit_link',
85
+				'desc'	=> __('A link to edit the entry. Visible based on View settings.', 'gravityview'),
86
+				'icon' => 'dashicons-welcome-write-blog',
87
+			);
88
+
89
+		}
90
+
91
+		return $entry_default_fields;
92
+	}
93
+
94
+	/**
95
+	 * Change wording for the Edit context to read Entry Creator
96
+	 *
97
+	 * @param  array 	   $visibility_caps        Array of capabilities to display in field dropdown.
98
+	 * @param  string      $field_type  Type of field options to render (`field` or `widget`)
99
+	 * @param  string      $template_id Table slug
100
+	 * @param  float       $field_id    GF Field ID - Example: `3`, `5.2`, `entry_link`, `created_by`
101
+	 * @param  string      $context     What context are we in? Example: `single` or `directory`
102
+	 * @param  string      $input_type  (textarea, list, select, etc.)
103
+	 * @return array                   Array of field options with `label`, `value`, `type`, `default` keys
104
+	 */
105
+	function modify_visibility_caps( $visibility_caps = array(), $template_id = '', $field_id = '', $context = '', $input_type = '' ) {
106
+
107
+		$caps = $visibility_caps;
108
+
109
+		// If we're configuring fields in the edit context, we want a limited selection
110
+		if( $context === 'edit' ) {
111
+
112
+			// Remove other built-in caps.
113
+			unset( $caps['publish_posts'], $caps['gravityforms_view_entries'], $caps['delete_others_posts'] );
114
+
115
+			$caps['read'] = _x('Entry Creator','User capability', 'gravityview');
116
+		}
117
+
118
+		return $caps;
119
+	}
120
+
121
+	/**
122
+	 * Add "Edit Link Text" setting to the edit_link field settings
123
+	 *
124
+	 * @param array  $field_options
125
+	 * @param string $template_id
126
+	 * @param string $field_id
127
+	 * @param string $context
128
+	 * @param string $input_type
129
+	 *
130
+	 * @return array $field_options, with "Edit Link Text" field option
131
+	 */
132
+	function edit_link_field_options( $field_options, $template_id, $field_id, $context, $input_type ) {
133
+
134
+		// Always a link, never a filter
135
+		unset( $field_options['show_as_link'], $field_options['search_filter'] );
136
+
137
+		// Edit Entry link should only appear to visitors capable of editing entries
138
+		unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
139
+
140
+		$add_option['edit_link'] = array(
141
+			'type' => 'text',
142
+			'label' => __( 'Edit Link Text', 'gravityview' ),
143
+			'desc' => NULL,
144
+			'value' => __('Link to Edit Entry', 'gravityview'),
145
+			'merge_tags' => true,
146
+		);
147
+
148
+		return array_merge( $add_option, $field_options );
149
+	}
150
+
151
+	/**
152
+	 * Add tooltips
153
+	 * @param  array $tooltips Existing tooltips
154
+	 * @return array           Modified tooltips
155
+	 */
156
+	function tooltips( $tooltips ) {
157
+
158
+		$return = $tooltips;
159
+
160
+		$return['allow_edit_cap'] = array(
161
+			'title' => __('Limiting Edit Access', 'gravityview'),
162
+			'value' => __('Change this setting if you don\'t want the user who created the entry to be able to edit this field.', 'gravityview'),
163
+		);
164
+
165
+		return $return;
166
+	}
167 167
 
168 168
 	/**
169 169
 	 * Add "Edit Link Text" setting to the edit_link field settings
@@ -179,38 +179,38 @@  discard block
 block discarded – undo
179 179
 	 */
180 180
 	public function field_options( $field_options, $template_id, $field_id, $context, $input_type, $form_id ) {
181 181
 
182
-        // We only want to modify the settings for the edit context
183
-        if( 'edit' !== $context ) {
184
-
185
-            /**
186
-             * @since 1.8.4
187
-             */
188
-            $field_options['new_window'] = array(
189
-                'type' => 'checkbox',
190
-                'label' => __( 'Open link in a new tab or window?', 'gravityview' ),
191
-                'value' => false,
192
-                'priority' => 1300,
193
-            );
194
-
195
-            return $field_options;
196
-        }
197
-
198
-        //  Entry field is only for logged in users
199
-        unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
200
-
201
-        $add_options = array(
202
-            'allow_edit_cap' => array(
203
-                'type' => 'select',
204
-                'label' => __( 'Make field editable to:', 'gravityview' ),
205
-                'choices' => GravityView_Render_Settings::get_cap_choices( $template_id, $field_id, $context, $input_type ),
206
-                'tooltip' => 'allow_edit_cap',
207
-                'class' => 'widefat',
208
-                'value' => 'read', // Default: entry creator
209
-            ),
210
-        );
211
-
212
-        return array_merge( $field_options, $add_options );
213
-    }
182
+		// We only want to modify the settings for the edit context
183
+		if( 'edit' !== $context ) {
184
+
185
+			/**
186
+			 * @since 1.8.4
187
+			 */
188
+			$field_options['new_window'] = array(
189
+				'type' => 'checkbox',
190
+				'label' => __( 'Open link in a new tab or window?', 'gravityview' ),
191
+				'value' => false,
192
+				'priority' => 1300,
193
+			);
194
+
195
+			return $field_options;
196
+		}
197
+
198
+		//  Entry field is only for logged in users
199
+		unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] );
200
+
201
+		$add_options = array(
202
+			'allow_edit_cap' => array(
203
+				'type' => 'select',
204
+				'label' => __( 'Make field editable to:', 'gravityview' ),
205
+				'choices' => GravityView_Render_Settings::get_cap_choices( $template_id, $field_id, $context, $input_type ),
206
+				'tooltip' => 'allow_edit_cap',
207
+				'class' => 'widefat',
208
+				'value' => 'read', // Default: entry creator
209
+			),
210
+		);
211
+
212
+		return array_merge( $field_options, $add_options );
213
+	}
214 214
 
215 215
 
216 216
 } // end class
Please login to merge, or discard this patch.
includes/class-admin-views.php 1 patch
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -46,7 +46,7 @@  discard block
 block discarded – undo
46 46
 		// Enqueue code editor and settings for manipulating HTML.
47 47
 		add_action('admin_enqueue_scripts', function() {
48 48
 
49
-		    $settings = wp_enqueue_code_editor( array( 'type' => 'text/html' ) );
49
+			$settings = wp_enqueue_code_editor( array( 'type' => 'text/html' ) );
50 50
 		});
51 51
 
52 52
 		// @todo check if this hook is needed..
@@ -68,28 +68,28 @@  discard block
 block discarded – undo
68 68
 	}
69 69
 
70 70
 	/**
71
-     * When on the Add/Edit View screen, suggest most popular articles related to that
72
-     *
71
+	 * When on the Add/Edit View screen, suggest most popular articles related to that
72
+	 *
73 73
 	 * @param array $localization_data Data to be passed to the Support Port JS
74 74
 	 *
75 75
 	 * @return array
76 76
 	 */
77 77
 	function suggest_support_articles( $localization_data = array() ) {
78 78
 
79
-	    if( ! gravityview()->request->is_view() ) {
80
-	        return $localization_data;
81
-        }
79
+		if( ! gravityview()->request->is_view() ) {
80
+			return $localization_data;
81
+		}
82 82
 
83 83
 		$localization_data['suggest'] = array(
84
-            '57ef23539033602e61d4a560',
85
-            '54c67bb9e4b0512429885513',
86
-            '54c67bb9e4b0512429885512',
87
-            '54c67bbbe4b07997ea3f3f6b',
88
-            '54d1a33ae4b086c0c0964ce9',
89
-            '57ef253c9033602e61d4a563',
90
-            '552355bfe4b0221aadf2572b',
91
-            '54c67bcde4b051242988553e',
92
-        );
84
+			'57ef23539033602e61d4a560',
85
+			'54c67bb9e4b0512429885513',
86
+			'54c67bb9e4b0512429885512',
87
+			'54c67bbbe4b07997ea3f3f6b',
88
+			'54d1a33ae4b086c0c0964ce9',
89
+			'57ef253c9033602e61d4a563',
90
+			'552355bfe4b0221aadf2572b',
91
+			'54c67bcde4b051242988553e',
92
+		);
93 93
 
94 94
 		return $localization_data;
95 95
 	}
@@ -235,11 +235,11 @@  discard block
 block discarded – undo
235 235
 
236 236
 		if( 'form_list' === GFForms::get_page() ) {
237 237
 			$priority = 790;
238
-        }
238
+		}
239 239
 
240 240
 		if( empty( $connected_views ) ) {
241 241
 
242
-		    $menu_items['gravityview'] = array(
242
+			$menu_items['gravityview'] = array(
243 243
 				'label'          => esc_attr__( 'Create a View', 'gravityview' ),
244 244
 				'icon'           => '<i class="fa fa-lg gv-icon-astronaut-head gv-icon"></i>', // Only appears in GF pre-2.5
245 245
 				'title'          => esc_attr__( 'Create a View using this form as a data source', 'gravityview' ),
@@ -271,13 +271,13 @@  discard block
 block discarded – undo
271 271
 		// If there were no items added, then let's create the parent menu
272 272
 		if( $sub_menu_items ) {
273 273
 
274
-		    $sub_menu_items[] = array(
275
-			    'label' => esc_attr__( 'Create a View', 'gravityview' ),
276
-			    'icon' => '<span class="dashicons dashicons-plus"></span>',
277
-			    'title' => esc_attr__( 'Create a View using this form as a data source', 'gravityview' ),
278
-			    'url'   => admin_url( 'post-new.php?post_type=gravityview&form_id=' . $id ),
279
-			    'capabilities'   => array( 'edit_gravityviews' ),
280
-            );
274
+			$sub_menu_items[] = array(
275
+				'label' => esc_attr__( 'Create a View', 'gravityview' ),
276
+				'icon' => '<span class="dashicons dashicons-plus"></span>',
277
+				'title' => esc_attr__( 'Create a View using this form as a data source', 'gravityview' ),
278
+				'url'   => admin_url( 'post-new.php?post_type=gravityview&form_id=' . $id ),
279
+				'capabilities'   => array( 'edit_gravityviews' ),
280
+			);
281 281
 
282 282
 			// Make sure Gravity Forms uses the submenu; if there's only one item, it uses a link instead of a dropdown
283 283
 			$sub_menu_items[] = array(
@@ -659,16 +659,16 @@  discard block
 block discarded – undo
659 659
 	/**
660 660
 	 * Render html for displaying available fields based on a Form ID
661 661
 	 *
662
-     * @see GravityView_Ajax::get_available_fields_html() Triggers `gravityview_render_available_fields` action
662
+	 * @see GravityView_Ajax::get_available_fields_html() Triggers `gravityview_render_available_fields` action
663 663
 	 *
664 664
 	 * @param int $form Gravity Forms Form ID (default: '')
665 665
 	 * @param string $context (default: 'single')
666
-     *
666
+	 *
667 667
 	 * @return void
668 668
 	 */
669 669
 	function render_available_fields( $form = 0, $context = 'single' ) {
670 670
 
671
-	    // Determine if form is a preset and convert it to an array with fields
671
+		// Determine if form is a preset and convert it to an array with fields
672 672
 		$form = ( is_string( $form ) && preg_match( '/^preset_/', $form ) ) ? GravityView_Ajax::pre_get_form_fields( $form ) : $form;
673 673
 
674 674
 		/**
@@ -680,7 +680,7 @@  discard block
 block discarded – undo
680 680
 
681 681
 		if ( ! is_array( $blacklist_field_types ) ) {
682 682
 
683
-		    gravityview()->log->error( '$blacklist_field_types is not an array', array( 'data' => print_r( $blacklist_field_types, true ) ) );
683
+			gravityview()->log->error( '$blacklist_field_types is not an array', array( 'data' => print_r( $blacklist_field_types, true ) ) );
684 684
 
685 685
 			$blacklist_field_types = array();
686 686
 		}
@@ -936,9 +936,9 @@  discard block
 block discarded – undo
936 936
 
937 937
 				$joined_forms = gravityview_get_joined_forms( $post->ID );
938 938
 
939
-                foreach ( $joined_forms as $form ) {
940
-                    $available_items[ $form->ID ] = $this->get_available_fields( $form->ID, $zone );
941
-                }
939
+				foreach ( $joined_forms as $form ) {
940
+					$available_items[ $form->ID ] = $this->get_available_fields( $form->ID, $zone );
941
+				}
942 942
 			} else {
943 943
 				$available_items[ $form ] = \GV\Widget::registered();
944 944
 			}
@@ -977,9 +977,9 @@  discard block
 block discarded – undo
977 977
 
978 978
 										if ( $form_id ) {
979 979
 											$original_item = isset( $available_items[ $form_id ] [ $field['id'] ] ) ? $available_items[ $form_id ] [ $field['id'] ] : false ;
980
-                                        } else {
980
+										} else {
981 981
 											$original_item = isset( $available_items[ $field['id'] ] ) ? $available_items[ $field['id'] ] : false ;
982
-                                        }
982
+										}
983 983
 
984 984
 										if ( !$original_item ) {
985 985
 											gravityview()->log->error( 'An item was not available when rendering the output; maybe it was added by a plugin that is now de-activated.', array(' data' => array('available_items' => $available_items, 'field' => $field ) ) );
@@ -1229,7 +1229,7 @@  discard block
 block discarded – undo
1229 1229
 		}
1230 1230
 
1231 1231
 		// Add the GV font (with the Astronaut)
1232
-        wp_enqueue_style( 'gravityview_global', plugins_url('assets/css/admin-global.css', GRAVITYVIEW_FILE), array(), \GV\Plugin::$version );
1232
+		wp_enqueue_style( 'gravityview_global', plugins_url('assets/css/admin-global.css', GRAVITYVIEW_FILE), array(), \GV\Plugin::$version );
1233 1233
 		wp_register_style( 'gravityview_views_styles', plugins_url( 'assets/css/admin-views.css', GRAVITYVIEW_FILE ), array( 'dashicons', 'wp-jquery-ui-dialog' ), \GV\Plugin::$version );
1234 1234
 
1235 1235
 		wp_register_script( 'gravityview-jquery-cookie', plugins_url('assets/lib/jquery.cookie/jquery.cookie.min.js', GRAVITYVIEW_FILE), array( 'jquery' ), \GV\Plugin::$version, true );
@@ -1237,43 +1237,43 @@  discard block
 block discarded – undo
1237 1237
 		if( GFForms::get_page() === 'form_list' ) {
1238 1238
 			wp_enqueue_style( 'gravityview_views_styles' );
1239 1239
 			return;
1240
-        }
1240
+		}
1241 1241
 
1242 1242
 		// Don't process any scripts below here if it's not a GravityView page.
1243 1243
 		if( ! gravityview()->request->is_admin( $hook, 'single' ) && ! $is_widgets_page ) {
1244
-		    return;
1244
+			return;
1245 1245
 		}
1246 1246
 
1247
-        wp_enqueue_script( 'jquery-ui-datepicker' );
1248
-        wp_enqueue_style( 'gravityview_views_datepicker', plugins_url('assets/css/admin-datepicker.css', GRAVITYVIEW_FILE), \GV\Plugin::$version );
1249
-
1250
-        // Enqueue scripts
1251
-        wp_enqueue_script( 'gravityview_views_scripts', plugins_url( 'assets/js/admin-views' . $script_debug . '.js', GRAVITYVIEW_FILE ), array( 'jquery-ui-tabs', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-sortable', 'jquery-ui-tooltip', 'jquery-ui-dialog', 'gravityview-jquery-cookie', 'jquery-ui-datepicker', 'underscore' ), \GV\Plugin::$version );
1252
-
1253
-        wp_localize_script('gravityview_views_scripts', 'gvGlobals', array(
1254
-            'cookiepath' => COOKIEPATH,
1255
-            'admin_cookiepath' => ADMIN_COOKIE_PATH,
1256
-            'passed_form_id' => (bool) \GV\Utils::_GET( 'form_id' ),
1257
-            'nonce' => wp_create_nonce( 'gravityview_ajaxviews' ),
1258
-            'label_viewname' => __( 'Enter View name here', 'gravityview' ),
1259
-            'label_reorder_search_fields' => __( 'Reorder Search Fields', 'gravityview' ),
1260
-            'label_add_search_field' => __( 'Add Search Field', 'gravityview' ),
1261
-            'label_remove_search_field' => __( 'Remove Search Field', 'gravityview' ),
1262
-            'label_close' => __( 'Close', 'gravityview' ),
1263
-            'label_cancel' => __( 'Cancel', 'gravityview' ),
1264
-            'label_continue' => __( 'Continue', 'gravityview' ),
1265
-            'label_ok' => __( 'Ok', 'gravityview' ),
1266
-            'label_publisherror' => __( 'Error while creating the View for you. Check the settings or contact GravityView support.', 'gravityview' ),
1267
-            'loading_text' => esc_html__( 'Loading&hellip;', 'gravityview' ),
1268
-            'loading_error' => esc_html__( 'There was an error loading dynamic content.', 'gravityview' ),
1269
-            'field_loaderror' => __( 'Error while adding the field. Please try again or contact GravityView support.', 'gravityview' ),
1270
-            'remove_all_fields' => __( 'Would you like to remove all fields in this zone?', 'gravityview' ),
1271
-        ));
1247
+		wp_enqueue_script( 'jquery-ui-datepicker' );
1248
+		wp_enqueue_style( 'gravityview_views_datepicker', plugins_url('assets/css/admin-datepicker.css', GRAVITYVIEW_FILE), \GV\Plugin::$version );
1249
+
1250
+		// Enqueue scripts
1251
+		wp_enqueue_script( 'gravityview_views_scripts', plugins_url( 'assets/js/admin-views' . $script_debug . '.js', GRAVITYVIEW_FILE ), array( 'jquery-ui-tabs', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-sortable', 'jquery-ui-tooltip', 'jquery-ui-dialog', 'gravityview-jquery-cookie', 'jquery-ui-datepicker', 'underscore' ), \GV\Plugin::$version );
1252
+
1253
+		wp_localize_script('gravityview_views_scripts', 'gvGlobals', array(
1254
+			'cookiepath' => COOKIEPATH,
1255
+			'admin_cookiepath' => ADMIN_COOKIE_PATH,
1256
+			'passed_form_id' => (bool) \GV\Utils::_GET( 'form_id' ),
1257
+			'nonce' => wp_create_nonce( 'gravityview_ajaxviews' ),
1258
+			'label_viewname' => __( 'Enter View name here', 'gravityview' ),
1259
+			'label_reorder_search_fields' => __( 'Reorder Search Fields', 'gravityview' ),
1260
+			'label_add_search_field' => __( 'Add Search Field', 'gravityview' ),
1261
+			'label_remove_search_field' => __( 'Remove Search Field', 'gravityview' ),
1262
+			'label_close' => __( 'Close', 'gravityview' ),
1263
+			'label_cancel' => __( 'Cancel', 'gravityview' ),
1264
+			'label_continue' => __( 'Continue', 'gravityview' ),
1265
+			'label_ok' => __( 'Ok', 'gravityview' ),
1266
+			'label_publisherror' => __( 'Error while creating the View for you. Check the settings or contact GravityView support.', 'gravityview' ),
1267
+			'loading_text' => esc_html__( 'Loading&hellip;', 'gravityview' ),
1268
+			'loading_error' => esc_html__( 'There was an error loading dynamic content.', 'gravityview' ),
1269
+			'field_loaderror' => __( 'Error while adding the field. Please try again or contact GravityView support.', 'gravityview' ),
1270
+			'remove_all_fields' => __( 'Would you like to remove all fields in this zone?', 'gravityview' ),
1271
+		));
1272 1272
 
1273 1273
 		wp_enqueue_style( 'gravityview_views_styles' );
1274 1274
 
1275
-        // Enqueue scripts needed for merge tags
1276
-        self::enqueue_gravity_forms_scripts();
1275
+		// Enqueue scripts needed for merge tags
1276
+		self::enqueue_gravity_forms_scripts();
1277 1277
 
1278 1278
 		// 2.5 changed how Merge Tags are enqueued
1279 1279
 		if ( is_callable( array( 'GFCommon', 'output_hooks_javascript') ) ) {
@@ -1283,24 +1283,24 @@  discard block
 block discarded – undo
1283 1283
 
1284 1284
 	/**
1285 1285
 	 * Enqueue Gravity Forms scripts, needed for Merge Tags
1286
-     *
1287
-     * @since 1.0.5-beta
1288
-     *
1289
-     * @return void
1286
+	 *
1287
+	 * @since 1.0.5-beta
1288
+	 *
1289
+	 * @return void
1290 1290
 	 */
1291 1291
 	static function enqueue_gravity_forms_scripts() {
1292 1292
 		GFForms::register_scripts();
1293 1293
 
1294 1294
 		$scripts = array(
1295
-		    'sack',
1296
-		    'gform_gravityforms',
1297
-		    'gform_forms',
1298
-		    'gform_form_admin',
1299
-		    'jquery-ui-autocomplete'
1295
+			'sack',
1296
+			'gform_gravityforms',
1297
+			'gform_forms',
1298
+			'gform_form_admin',
1299
+			'jquery-ui-autocomplete'
1300 1300
 		);
1301 1301
 
1302 1302
 		if ( wp_is_mobile() ) {
1303
-		    $scripts[] = 'jquery-touch-punch';
1303
+			$scripts[] = 'jquery-touch-punch';
1304 1304
 		}
1305 1305
 
1306 1306
 		wp_enqueue_script( $scripts );
Please login to merge, or discard this patch.