@@ -134,28 +134,28 @@ discard block |
||
| 134 | 134 | */ |
| 135 | 135 | public function add_network_menu() { |
| 136 | 136 | |
| 137 | - if ( ! gravityview()->plugin->is_network_activated() ) { |
|
| 137 | + if ( ! gravityview()->plugin->is_network_activated() ) { |
|
| 138 | 138 | return; |
| 139 | 139 | } |
| 140 | 140 | |
| 141 | - add_menu_page( __( 'Settings', 'gravityview' ), __( 'GravityView', 'gravityview' ), $this->_capabilities_app_settings, "{$this->_slug}_settings", array( $this, 'app_tab_page' ), 'none' ); |
|
| 141 | + add_menu_page( __( 'Settings', 'gravityview' ), __( 'GravityView', 'gravityview' ), $this->_capabilities_app_settings, "{$this->_slug}_settings", array( $this, 'app_tab_page' ), 'none' ); |
|
| 142 | 142 | } |
| 143 | 143 | |
| 144 | 144 | /** |
| 145 | - * Uninstall all traces of GravityView |
|
| 146 | - * |
|
| 147 | - * Note: method is public because parent method is public |
|
| 148 | - * |
|
| 145 | + * Uninstall all traces of GravityView |
|
| 146 | + * |
|
| 147 | + * Note: method is public because parent method is public |
|
| 148 | + * |
|
| 149 | 149 | * @return bool |
| 150 | 150 | */ |
| 151 | 151 | public function uninstall() { |
| 152 | 152 | gravityview()->plugin->uninstall(); |
| 153 | 153 | |
| 154 | 154 | /** |
| 155 | - * Set the path so that Gravity Forms can de-activate GravityView |
|
| 156 | - * @see GFAddOn::uninstall_addon |
|
| 157 | - * @uses deactivate_plugins() |
|
| 158 | - */ |
|
| 155 | + * Set the path so that Gravity Forms can de-activate GravityView |
|
| 156 | + * @see GFAddOn::uninstall_addon |
|
| 157 | + * @uses deactivate_plugins() |
|
| 158 | + */ |
|
| 159 | 159 | $this->_path = GRAVITYVIEW_FILE; |
| 160 | 160 | |
| 161 | 161 | return true; |
@@ -185,42 +185,42 @@ discard block |
||
| 185 | 185 | } |
| 186 | 186 | |
| 187 | 187 | /** |
| 188 | - * Get an array of reasons why the plugin might be uninstalled |
|
| 189 | - * |
|
| 190 | - * @since 1.17.5 |
|
| 191 | - * |
|
| 188 | + * Get an array of reasons why the plugin might be uninstalled |
|
| 189 | + * |
|
| 190 | + * @since 1.17.5 |
|
| 191 | + * |
|
| 192 | 192 | * @return array Array of reasons with the label and followup questions for each uninstall reason |
| 193 | 193 | */ |
| 194 | 194 | private function get_uninstall_reasons() { |
| 195 | 195 | $reasons = array( |
| 196 | 196 | 'will-continue' => array( |
| 197 | - 'label' => esc_html__( 'I am going to continue using GravityView', 'gravityview' ), |
|
| 198 | - ), |
|
| 197 | + 'label' => esc_html__( 'I am going to continue using GravityView', 'gravityview' ), |
|
| 198 | + ), |
|
| 199 | 199 | 'no-longer-need' => array( |
| 200 | - 'label' => esc_html__( 'I no longer need GravityView', 'gravityview' ), |
|
| 201 | - ), |
|
| 200 | + 'label' => esc_html__( 'I no longer need GravityView', 'gravityview' ), |
|
| 201 | + ), |
|
| 202 | 202 | 'doesnt-work' => array( |
| 203 | - 'label' => esc_html__( 'The plugin doesn\'t work', 'gravityview' ), |
|
| 204 | - ), |
|
| 203 | + 'label' => esc_html__( 'The plugin doesn\'t work', 'gravityview' ), |
|
| 204 | + ), |
|
| 205 | 205 | 'found-other' => array( |
| 206 | - 'label' => esc_html__( 'I found a better plugin', 'gravityview' ), |
|
| 207 | - 'followup' => esc_attr__( 'What plugin you are using, and why?', 'gravityview' ), |
|
| 208 | - ), |
|
| 206 | + 'label' => esc_html__( 'I found a better plugin', 'gravityview' ), |
|
| 207 | + 'followup' => esc_attr__( 'What plugin you are using, and why?', 'gravityview' ), |
|
| 208 | + ), |
|
| 209 | 209 | 'other' => array( |
| 210 | - 'label' => esc_html__( 'Other', 'gravityview' ), |
|
| 211 | - ), |
|
| 210 | + 'label' => esc_html__( 'Other', 'gravityview' ), |
|
| 211 | + ), |
|
| 212 | 212 | ); |
| 213 | 213 | |
| 214 | 214 | shuffle( $reasons ); |
| 215 | 215 | |
| 216 | 216 | return $reasons; |
| 217 | - } |
|
| 217 | + } |
|
| 218 | 218 | |
| 219 | 219 | /** |
| 220 | - * Display a feedback form when the plugin is uninstalled |
|
| 221 | - * |
|
| 222 | - * @since 1.17.5 |
|
| 223 | - * |
|
| 220 | + * Display a feedback form when the plugin is uninstalled |
|
| 221 | + * |
|
| 222 | + * @since 1.17.5 |
|
| 223 | + * |
|
| 224 | 224 | * @return string HTML of the uninstallation form |
| 225 | 225 | */ |
| 226 | 226 | public function uninstall_form() { |
@@ -300,7 +300,7 @@ discard block |
||
| 300 | 300 | <h2><?php esc_html_e( 'Why did you uninstall GravityView?', 'gravityview' ); ?></h2> |
| 301 | 301 | <ul> |
| 302 | 302 | <?php |
| 303 | - $reasons = $this->get_uninstall_reasons(); |
|
| 303 | + $reasons = $this->get_uninstall_reasons(); |
|
| 304 | 304 | foreach ( $reasons as $reason ) { |
| 305 | 305 | printf( '<li><label><input name="reason" type="radio" value="other" data-followup="%s"> %s</label></li>', Utils::get( $reason, 'followup' ), Utils::get( $reason, 'label' ) ); |
| 306 | 306 | } |
@@ -394,12 +394,12 @@ discard block |
||
| 394 | 394 | } |
| 395 | 395 | |
| 396 | 396 | public function app_settings_tab() { |
| 397 | - parent::app_settings_tab(); |
|
| 397 | + parent::app_settings_tab(); |
|
| 398 | 398 | |
| 399 | 399 | if ( $this->maybe_uninstall() ) { |
| 400 | - echo $this->uninstall_form(); |
|
| 400 | + echo $this->uninstall_form(); |
|
| 401 | 401 | } |
| 402 | - } |
|
| 402 | + } |
|
| 403 | 403 | |
| 404 | 404 | /** |
| 405 | 405 | * The Settings title |
@@ -558,8 +558,8 @@ discard block |
||
| 558 | 558 | type="' . $field['type'] . '" |
| 559 | 559 | name="' . esc_attr( $name ) . '" |
| 560 | 560 | value="' . $value . '" ' . |
| 561 | - implode( ' ', $attributes ) . |
|
| 562 | - ' />'; |
|
| 561 | + implode( ' ', $attributes ) . |
|
| 562 | + ' />'; |
|
| 563 | 563 | |
| 564 | 564 | if ( $echo ) { |
| 565 | 565 | echo $html; |
@@ -577,12 +577,12 @@ discard block |
||
| 577 | 577 | } |
| 578 | 578 | |
| 579 | 579 | /** |
| 580 | - * Check whether GravityView is being saved |
|
| 581 | - * |
|
| 582 | - * The generic is_save_postback() is true for all addons |
|
| 583 | - * |
|
| 584 | - * @since 2.0.8 |
|
| 585 | - * |
|
| 580 | + * Check whether GravityView is being saved |
|
| 581 | + * |
|
| 582 | + * The generic is_save_postback() is true for all addons |
|
| 583 | + * |
|
| 584 | + * @since 2.0.8 |
|
| 585 | + * |
|
| 586 | 586 | * @return bool |
| 587 | 587 | */ |
| 588 | 588 | public function is_save_postback() { |
@@ -596,16 +596,16 @@ discard block |
||
| 596 | 596 | */ |
| 597 | 597 | public function license_key_notice() { |
| 598 | 598 | |
| 599 | - if( $this->is_save_postback() ) { |
|
| 600 | - $settings = $this->get_posted_settings(); |
|
| 601 | - $license_key = \GV\Utils::get( $settings, 'license_key' ); |
|
| 602 | - $license_status = \GV\Utils::get( $settings, 'license_key_status', 'inactive' ); |
|
| 603 | - } else { |
|
| 604 | - $license_status = $this->get( 'license_key_status', 'inactive' ); |
|
| 605 | - $license_key = $this->get( 'license_key' ); |
|
| 606 | - } |
|
| 599 | + if( $this->is_save_postback() ) { |
|
| 600 | + $settings = $this->get_posted_settings(); |
|
| 601 | + $license_key = \GV\Utils::get( $settings, 'license_key' ); |
|
| 602 | + $license_status = \GV\Utils::get( $settings, 'license_key_status', 'inactive' ); |
|
| 603 | + } else { |
|
| 604 | + $license_status = $this->get( 'license_key_status', 'inactive' ); |
|
| 605 | + $license_key = $this->get( 'license_key' ); |
|
| 606 | + } |
|
| 607 | 607 | |
| 608 | - $license_id = empty( $license_key ) ? 'license' : $license_key; |
|
| 608 | + $license_id = empty( $license_key ) ? 'license' : $license_key; |
|
| 609 | 609 | |
| 610 | 610 | $message = esc_html__( 'Your GravityView license %s. This means you’re missing out on updates and support! %sActivate your license%s or %sget a license here%s.', 'gravityview' ); |
| 611 | 611 | |
@@ -622,7 +622,7 @@ discard block |
||
| 622 | 622 | $update_below = false; |
| 623 | 623 | $primary_button_link = admin_url( 'edit.php?post_type=gravityview&page=gravityview_settings' ); |
| 624 | 624 | |
| 625 | - switch ( $license_status ) { |
|
| 625 | + switch ( $license_status ) { |
|
| 626 | 626 | /** @since 1.17 */ |
| 627 | 627 | case 'expired': |
| 628 | 628 | $title = __( 'Expired License', 'gravityview' ); |
@@ -660,13 +660,13 @@ discard block |
||
| 660 | 660 | return; |
| 661 | 661 | } |
| 662 | 662 | |
| 663 | - \GravityView_Admin_Notices::add_notice( array( |
|
| 664 | - 'message' => $message, |
|
| 665 | - 'class' => 'notice notice-warning', |
|
| 666 | - 'title' => $title, |
|
| 667 | - 'cap' => 'gravityview_edit_settings', |
|
| 668 | - 'dismiss' => sha1( $license_status . '_' . $license_id . '_' . date( 'z' ) ), // Show every day, instead of every 8 weeks (which is the default) |
|
| 669 | - ) ); |
|
| 663 | + \GravityView_Admin_Notices::add_notice( array( |
|
| 664 | + 'message' => $message, |
|
| 665 | + 'class' => 'notice notice-warning', |
|
| 666 | + 'title' => $title, |
|
| 667 | + 'cap' => 'gravityview_edit_settings', |
|
| 668 | + 'dismiss' => sha1( $license_status . '_' . $license_id . '_' . date( 'z' ) ), // Show every day, instead of every 8 weeks (which is the default) |
|
| 669 | + ) ); |
|
| 670 | 670 | } |
| 671 | 671 | |
| 672 | 672 | /** |
@@ -680,12 +680,12 @@ discard block |
||
| 680 | 680 | } |
| 681 | 681 | |
| 682 | 682 | /** |
| 683 | - * Add tooltip script to app settings page. Not enqueued by Gravity Forms for some reason. |
|
| 684 | - * |
|
| 685 | - * @since 1.21.5 |
|
| 686 | - * |
|
| 687 | - * @see GFAddOn::scripts() |
|
| 688 | - * |
|
| 683 | + * Add tooltip script to app settings page. Not enqueued by Gravity Forms for some reason. |
|
| 684 | + * |
|
| 685 | + * @since 1.21.5 |
|
| 686 | + * |
|
| 687 | + * @see GFAddOn::scripts() |
|
| 688 | + * |
|
| 689 | 689 | * @return array Array of scripts |
| 690 | 690 | */ |
| 691 | 691 | public function scripts() { |
@@ -694,10 +694,10 @@ discard block |
||
| 694 | 694 | $scripts[] = array( |
| 695 | 695 | 'handle' => 'gform_tooltip_init', |
| 696 | 696 | 'enqueue' => array( |
| 697 | - array( |
|
| 698 | - 'admin_page' => array( 'app_settings' ) |
|
| 699 | - ) |
|
| 700 | - ) |
|
| 697 | + array( |
|
| 698 | + 'admin_page' => array( 'app_settings' ) |
|
| 699 | + ) |
|
| 700 | + ) |
|
| 701 | 701 | ); |
| 702 | 702 | |
| 703 | 703 | return $scripts; |
@@ -715,10 +715,10 @@ discard block |
||
| 715 | 715 | 'src' => plugins_url( 'assets/css/admin-settings.css', GRAVITYVIEW_FILE ), |
| 716 | 716 | 'version' => Plugin::$version, |
| 717 | 717 | 'deps' => array( |
| 718 | - 'gform_admin', |
|
| 718 | + 'gform_admin', |
|
| 719 | 719 | 'gaddon_form_settings_css', |
| 720 | - 'gform_tooltip', |
|
| 721 | - 'gform_font_awesome', |
|
| 720 | + 'gform_tooltip', |
|
| 721 | + 'gform_font_awesome', |
|
| 722 | 722 | ), |
| 723 | 723 | 'enqueue' => array( |
| 724 | 724 | array( 'admin_page' => array( |
@@ -886,7 +886,7 @@ discard block |
||
| 886 | 886 | array( |
| 887 | 887 | 'label' => esc_html__( 'Show me beta versions if they are available.', 'gravityview' ), |
| 888 | 888 | 'value' => '1', |
| 889 | - 'name' => 'beta', |
|
| 889 | + 'name' => 'beta', |
|
| 890 | 890 | ), |
| 891 | 891 | ), |
| 892 | 892 | 'description' => __( 'You will have early access to the latest GravityView features and improvements. There may be bugs! If you encounter an issue, help make GravityView better by reporting it!', 'gravityview' ), |
@@ -924,38 +924,38 @@ discard block |
||
| 924 | 924 | |
| 925 | 925 | if ( empty( $field['disabled'] ) ) { |
| 926 | 926 | unset( $field['disabled'] ); |
| 927 | - } |
|
| 927 | + } |
|
| 928 | 928 | } |
| 929 | 929 | |
| 930 | - $sections = array( |
|
| 931 | - array( |
|
| 932 | - 'description' => sprintf( '<span class="version-info description">%s</span>', sprintf( __( 'You are running GravityView version %s', 'gravityview' ), Plugin::$version ) ), |
|
| 933 | - 'fields' => $fields, |
|
| 934 | - ) |
|
| 935 | - ); |
|
| 930 | + $sections = array( |
|
| 931 | + array( |
|
| 932 | + 'description' => sprintf( '<span class="version-info description">%s</span>', sprintf( __( 'You are running GravityView version %s', 'gravityview' ), Plugin::$version ) ), |
|
| 933 | + 'fields' => $fields, |
|
| 934 | + ) |
|
| 935 | + ); |
|
| 936 | 936 | |
| 937 | - // custom 'update settings' button |
|
| 938 | - $button = array( |
|
| 939 | - 'class' => 'button button-primary button-hero', |
|
| 940 | - 'type' => 'save', |
|
| 941 | - ); |
|
| 937 | + // custom 'update settings' button |
|
| 938 | + $button = array( |
|
| 939 | + 'class' => 'button button-primary button-hero', |
|
| 940 | + 'type' => 'save', |
|
| 941 | + ); |
|
| 942 | 942 | |
| 943 | 943 | if ( $disabled_attribute ) { |
| 944 | 944 | $button['disabled'] = $disabled_attribute; |
| 945 | 945 | } |
| 946 | 946 | |
| 947 | - /** |
|
| 948 | - * @filter `gravityview/settings/extension/sections` Modify the GravityView settings page |
|
| 949 | - * Extensions can tap in here to insert their own section and settings. |
|
| 950 | - * <code> |
|
| 951 | - * $sections[] = array( |
|
| 952 | - * 'title' => __( 'GravityView My Extension Settings', 'gravityview' ), |
|
| 953 | - * 'fields' => $settings, |
|
| 954 | - * ); |
|
| 955 | - * </code> |
|
| 956 | - * @param array $extension_settings Empty array, ready for extension settings! |
|
| 957 | - */ |
|
| 958 | - $extension_sections = apply_filters( 'gravityview/settings/extension/sections', array() ); |
|
| 947 | + /** |
|
| 948 | + * @filter `gravityview/settings/extension/sections` Modify the GravityView settings page |
|
| 949 | + * Extensions can tap in here to insert their own section and settings. |
|
| 950 | + * <code> |
|
| 951 | + * $sections[] = array( |
|
| 952 | + * 'title' => __( 'GravityView My Extension Settings', 'gravityview' ), |
|
| 953 | + * 'fields' => $settings, |
|
| 954 | + * ); |
|
| 955 | + * </code> |
|
| 956 | + * @param array $extension_settings Empty array, ready for extension settings! |
|
| 957 | + */ |
|
| 958 | + $extension_sections = apply_filters( 'gravityview/settings/extension/sections', array() ); |
|
| 959 | 959 | |
| 960 | 960 | // If there are extensions, add a section for them |
| 961 | 961 | if ( ! empty( $extension_sections ) ) { |
@@ -968,13 +968,13 @@ discard block |
||
| 968 | 968 | } |
| 969 | 969 | } |
| 970 | 970 | |
| 971 | - $k = count( $extension_sections ) - 1 ; |
|
| 972 | - $extension_sections[ $k ]['fields'][] = $button; |
|
| 971 | + $k = count( $extension_sections ) - 1 ; |
|
| 972 | + $extension_sections[ $k ]['fields'][] = $button; |
|
| 973 | 973 | $sections = array_merge( $sections, $extension_sections ); |
| 974 | 974 | } else { |
| 975 | - // add the 'update settings' button to the general section |
|
| 976 | - $sections[0]['fields'][] = $button; |
|
| 977 | - } |
|
| 975 | + // add the 'update settings' button to the general section |
|
| 976 | + $sections[0]['fields'][] = $button; |
|
| 977 | + } |
|
| 978 | 978 | |
| 979 | 979 | return $sections; |
| 980 | 980 | } |
@@ -1028,9 +1028,9 @@ discard block |
||
| 1028 | 1028 | */ |
| 1029 | 1029 | protected function settings_edd_license( $field, $echo = true ) { |
| 1030 | 1030 | |
| 1031 | - if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ) { |
|
| 1032 | - $field['input_type'] = 'password'; |
|
| 1033 | - } |
|
| 1031 | + if ( defined( 'GRAVITYVIEW_LICENSE_KEY' ) && GRAVITYVIEW_LICENSE_KEY ) { |
|
| 1032 | + $field['input_type'] = 'password'; |
|
| 1033 | + } |
|
| 1034 | 1034 | |
| 1035 | 1035 | $text = $this->settings_text( $field, false ); |
| 1036 | 1036 | |
@@ -1047,9 +1047,9 @@ discard block |
||
| 1047 | 1047 | |
| 1048 | 1048 | /** |
| 1049 | 1049 | * Allow pure HTML settings row |
| 1050 | - * |
|
| 1051 | - * @since 2.0.6 |
|
| 1052 | - * |
|
| 1050 | + * |
|
| 1051 | + * @since 2.0.6 |
|
| 1052 | + * |
|
| 1053 | 1053 | * @param array $field |
| 1054 | 1054 | * @param bool $echo Whether to echo the |
| 1055 | 1055 | * |
@@ -1115,19 +1115,19 @@ discard block |
||
| 1115 | 1115 | } |
| 1116 | 1116 | |
| 1117 | 1117 | /** |
| 1118 | - * Keep GravityView styling for `$field['description']`, even though Gravity Forms added support for it |
|
| 1119 | - * |
|
| 1120 | - * Converts `$field['description']` to `$field['gv_description']` |
|
| 1121 | - * Converts `$field['subtitle']` to `$field['description']` |
|
| 1122 | - * |
|
| 1123 | - * @see \GV\Addon_Settings::single_setting_label Converts `gv_description` back to `description` |
|
| 1124 | - * @see http://share.gravityview.co/P28uGp/2OIRKxog for image that shows subtitle vs description |
|
| 1125 | - * |
|
| 1126 | - * @since 1.21.5.2 |
|
| 1127 | - * |
|
| 1118 | + * Keep GravityView styling for `$field['description']`, even though Gravity Forms added support for it |
|
| 1119 | + * |
|
| 1120 | + * Converts `$field['description']` to `$field['gv_description']` |
|
| 1121 | + * Converts `$field['subtitle']` to `$field['description']` |
|
| 1122 | + * |
|
| 1123 | + * @see \GV\Addon_Settings::single_setting_label Converts `gv_description` back to `description` |
|
| 1124 | + * @see http://share.gravityview.co/P28uGp/2OIRKxog for image that shows subtitle vs description |
|
| 1125 | + * |
|
| 1126 | + * @since 1.21.5.2 |
|
| 1127 | + * |
|
| 1128 | 1128 | * @param array $field |
| 1129 | - * |
|
| 1130 | - * @return void |
|
| 1129 | + * |
|
| 1130 | + * @return void |
|
| 1131 | 1131 | */ |
| 1132 | 1132 | public function single_setting_row( $field ) { |
| 1133 | 1133 | $field['gv_description'] = Utils::get( $field, 'description' ); |
@@ -310,12 +310,12 @@ discard block |
||
| 310 | 310 | } |
| 311 | 311 | |
| 312 | 312 | /** |
| 313 | - * @hack |
|
| 314 | - * In case of email/email confirmation, the input for email has the same id as the parent field |
|
| 315 | - */ |
|
| 313 | + * @hack |
|
| 314 | + * In case of email/email confirmation, the input for email has the same id as the parent field |
|
| 315 | + */ |
|
| 316 | 316 | if( 'email' === $field['type'] && false === strpos( $input['id'], '.' ) ) { |
| 317 | - continue; |
|
| 318 | - } |
|
| 317 | + continue; |
|
| 318 | + } |
|
| 319 | 319 | $fields["{$input['id']}"] = array( |
| 320 | 320 | 'label' => \GV\Utils::get( $input, 'label' ), |
| 321 | 321 | 'customLabel' => \GV\Utils::get( $input, 'customLabel' ), |
@@ -1488,7 +1488,7 @@ discard block |
||
| 1488 | 1488 | ), |
| 1489 | 1489 | ); |
| 1490 | 1490 | |
| 1491 | - $fields = $date_created + $fields; |
|
| 1491 | + $fields = $date_created + $fields; |
|
| 1492 | 1492 | |
| 1493 | 1493 | $blacklist_field_types = apply_filters( 'gravityview_blacklist_field_types', $blacklist, NULL ); |
| 1494 | 1494 | |
@@ -1516,13 +1516,13 @@ discard block |
||
| 1516 | 1516 | |
| 1517 | 1517 | } |
| 1518 | 1518 | |
| 1519 | - /** |
|
| 1520 | - * @filter `gravityview/common/sortable_fields` Filter the sortable fields |
|
| 1521 | - * @since 1.12 |
|
| 1522 | - * @param array $fields Sub-set of GF form fields that are sortable |
|
| 1523 | - * @param int $formid The Gravity Forms form ID that the fields are from |
|
| 1524 | - */ |
|
| 1525 | - $fields = apply_filters( 'gravityview/common/sortable_fields', $fields, $formid ); |
|
| 1519 | + /** |
|
| 1520 | + * @filter `gravityview/common/sortable_fields` Filter the sortable fields |
|
| 1521 | + * @since 1.12 |
|
| 1522 | + * @param array $fields Sub-set of GF form fields that are sortable |
|
| 1523 | + * @param int $formid The Gravity Forms form ID that the fields are from |
|
| 1524 | + */ |
|
| 1525 | + $fields = apply_filters( 'gravityview/common/sortable_fields', $fields, $formid ); |
|
| 1526 | 1526 | |
| 1527 | 1527 | return $fields; |
| 1528 | 1528 | } |
@@ -1814,26 +1814,26 @@ discard block |
||
| 1814 | 1814 | } |
| 1815 | 1815 | |
| 1816 | 1816 | |
| 1817 | - /** |
|
| 1818 | - * Display updated/error notice |
|
| 1819 | - * |
|
| 1820 | - * @since 1.19.2 Added $cap and $object_id parameters |
|
| 1821 | - * |
|
| 1822 | - * @param string $notice text/HTML of notice |
|
| 1823 | - * @param string $class CSS class for notice (`updated` or `error`) |
|
| 1824 | - * @param string $cap [Optional] Define a capability required to show a notice. If not set, displays to all caps. |
|
| 1825 | - * |
|
| 1826 | - * @return string |
|
| 1827 | - */ |
|
| 1828 | - public static function generate_notice( $notice, $class = '', $cap = '', $object_id = null ) { |
|
| 1829 | - |
|
| 1830 | - // If $cap is defined, only show notice if user has capability |
|
| 1831 | - if( $cap && ! GVCommon::has_cap( $cap, $object_id ) ) { |
|
| 1832 | - return ''; |
|
| 1833 | - } |
|
| 1834 | - |
|
| 1835 | - return '<div class="gv-notice '.gravityview_sanitize_html_class( $class ) .'">'. $notice .'</div>'; |
|
| 1836 | - } |
|
| 1817 | + /** |
|
| 1818 | + * Display updated/error notice |
|
| 1819 | + * |
|
| 1820 | + * @since 1.19.2 Added $cap and $object_id parameters |
|
| 1821 | + * |
|
| 1822 | + * @param string $notice text/HTML of notice |
|
| 1823 | + * @param string $class CSS class for notice (`updated` or `error`) |
|
| 1824 | + * @param string $cap [Optional] Define a capability required to show a notice. If not set, displays to all caps. |
|
| 1825 | + * |
|
| 1826 | + * @return string |
|
| 1827 | + */ |
|
| 1828 | + public static function generate_notice( $notice, $class = '', $cap = '', $object_id = null ) { |
|
| 1829 | + |
|
| 1830 | + // If $cap is defined, only show notice if user has capability |
|
| 1831 | + if( $cap && ! GVCommon::has_cap( $cap, $object_id ) ) { |
|
| 1832 | + return ''; |
|
| 1833 | + } |
|
| 1834 | + |
|
| 1835 | + return '<div class="gv-notice '.gravityview_sanitize_html_class( $class ) .'">'. $notice .'</div>'; |
|
| 1836 | + } |
|
| 1837 | 1837 | |
| 1838 | 1838 | /** |
| 1839 | 1839 | * Inspired on \GFCommon::encode_shortcodes, reverse the encoding by replacing the ascii characters by the shortcode brackets |
@@ -76,7 +76,7 @@ discard block |
||
| 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 |
||
| 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 |
||
| 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> |
@@ -10,175 +10,175 @@ |
||
| 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() { |
|
| 26 | - |
|
| 27 | - if( !is_admin() ) { |
|
| 28 | - return; |
|
| 29 | - } |
|
| 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 ); |
|
| 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 ); |
|
| 25 | + function load() { |
|
| 26 | + |
|
| 27 | + if( !is_admin() ) { |
|
| 28 | + return; |
|
| 29 | + } |
|
| 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 ); |
|
| 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 ); |
|
| 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') ); |
|
| 42 | - |
|
| 43 | - // custom fields' options for zone EDIT |
|
| 44 | - add_filter( 'gravityview_template_field_options', array( $this, 'field_options' ), 10, 6 ); |
|
| 45 | - } |
|
| 46 | - |
|
| 47 | - /** |
|
| 48 | - * Add Edit Link as a default field, outside those set in the Gravity Form form |
|
| 49 | - * @param array $entry_default_fields Existing fields |
|
| 50 | - * @param string|array $form form_ID or form object |
|
| 51 | - * @param string $zone Either 'single', 'directory', 'header', 'footer' |
|
| 52 | - */ |
|
| 53 | - function add_default_field( $entry_default_fields, $form = array(), $zone = '' ) { |
|
| 54 | - |
|
| 55 | - if( $zone !== 'edit' ) { |
|
| 56 | - |
|
| 57 | - $entry_default_fields['edit_link'] = array( |
|
| 58 | - 'label' => __('Edit Entry', 'gravityview'), |
|
| 59 | - 'type' => 'edit_link', |
|
| 60 | - 'desc' => __('A link to edit the entry. Visible based on View settings.', 'gravityview'), |
|
| 61 | - ); |
|
| 62 | - |
|
| 63 | - } |
|
| 64 | - |
|
| 65 | - return $entry_default_fields; |
|
| 66 | - } |
|
| 67 | - |
|
| 68 | - /** |
|
| 69 | - * Change wording for the Edit context to read Entry Creator |
|
| 70 | - * |
|
| 71 | - * @param array $visibility_caps Array of capabilities to display in field dropdown. |
|
| 72 | - * @param string $field_type Type of field options to render (`field` or `widget`) |
|
| 73 | - * @param string $template_id Table slug |
|
| 74 | - * @param float $field_id GF Field ID - Example: `3`, `5.2`, `entry_link`, `created_by` |
|
| 75 | - * @param string $context What context are we in? Example: `single` or `directory` |
|
| 76 | - * @param string $input_type (textarea, list, select, etc.) |
|
| 77 | - * @return array Array of field options with `label`, `value`, `type`, `default` keys |
|
| 78 | - */ |
|
| 79 | - function modify_visibility_caps( $visibility_caps = array(), $template_id = '', $field_id = '', $context = '', $input_type = '' ) { |
|
| 80 | - |
|
| 81 | - $caps = $visibility_caps; |
|
| 82 | - |
|
| 83 | - // If we're configuring fields in the edit context, we want a limited selection |
|
| 84 | - if( $context === 'edit' ) { |
|
| 85 | - |
|
| 86 | - // Remove other built-in caps. |
|
| 87 | - unset( $caps['publish_posts'], $caps['gravityforms_view_entries'], $caps['delete_others_posts'] ); |
|
| 88 | - |
|
| 89 | - $caps['read'] = _x('Entry Creator','User capability', 'gravityview'); |
|
| 90 | - } |
|
| 91 | - |
|
| 92 | - return $caps; |
|
| 93 | - } |
|
| 94 | - |
|
| 95 | - /** |
|
| 96 | - * Add "Edit Link Text" setting to the edit_link field settings |
|
| 97 | - * @param [type] $field_options [description] |
|
| 98 | - * @param [type] $template_id [description] |
|
| 99 | - * @param [type] $field_id [description] |
|
| 100 | - * @param [type] $context [description] |
|
| 101 | - * @param [type] $input_type [description] |
|
| 102 | - * @return [type] [description] |
|
| 103 | - */ |
|
| 104 | - function edit_link_field_options( $field_options, $template_id, $field_id, $context, $input_type ) { |
|
| 105 | - |
|
| 106 | - // Always a link, never a filter |
|
| 107 | - unset( $field_options['show_as_link'], $field_options['search_filter'] ); |
|
| 108 | - |
|
| 109 | - // Edit Entry link should only appear to visitors capable of editing entries |
|
| 110 | - unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] ); |
|
| 111 | - |
|
| 112 | - $add_option['edit_link'] = array( |
|
| 113 | - 'type' => 'text', |
|
| 114 | - 'label' => __( 'Edit Link Text', 'gravityview' ), |
|
| 115 | - 'desc' => NULL, |
|
| 116 | - 'value' => __('Edit Entry', 'gravityview'), |
|
| 117 | - 'merge_tags' => true, |
|
| 118 | - ); |
|
| 119 | - |
|
| 120 | - return array_merge( $add_option, $field_options ); |
|
| 121 | - } |
|
| 122 | - |
|
| 123 | - /** |
|
| 124 | - * Add tooltips |
|
| 125 | - * @param array $tooltips Existing tooltips |
|
| 126 | - * @return array Modified tooltips |
|
| 127 | - */ |
|
| 128 | - function tooltips( $tooltips ) { |
|
| 129 | - |
|
| 130 | - $return = $tooltips; |
|
| 131 | - |
|
| 132 | - $return['allow_edit_cap'] = array( |
|
| 133 | - 'title' => __('Limiting Edit Access', 'gravityview'), |
|
| 134 | - 'value' => __('Change this setting if you don\'t want the user who created the entry to be able to edit this field.', 'gravityview'), |
|
| 135 | - ); |
|
| 136 | - |
|
| 137 | - return $return; |
|
| 138 | - } |
|
| 139 | - |
|
| 140 | - /** |
|
| 141 | - * Manipulate the fields' options for the EDIT ENTRY screen |
|
| 142 | - * @param [type] $field_options [description] |
|
| 143 | - * @param [type] $template_id [description] |
|
| 144 | - * @param [type] $field_id [description] |
|
| 145 | - * @param [type] $context [description] |
|
| 146 | - * @param [type] $input_type [description] |
|
| 147 | - * @return [type] [description] |
|
| 148 | - */ |
|
| 40 | + // add tooltips |
|
| 41 | + add_filter( 'gravityview/metaboxes/tooltips', array( $this, 'tooltips') ); |
|
| 42 | + |
|
| 43 | + // custom fields' options for zone EDIT |
|
| 44 | + add_filter( 'gravityview_template_field_options', array( $this, 'field_options' ), 10, 6 ); |
|
| 45 | + } |
|
| 46 | + |
|
| 47 | + /** |
|
| 48 | + * Add Edit Link as a default field, outside those set in the Gravity Form form |
|
| 49 | + * @param array $entry_default_fields Existing fields |
|
| 50 | + * @param string|array $form form_ID or form object |
|
| 51 | + * @param string $zone Either 'single', 'directory', 'header', 'footer' |
|
| 52 | + */ |
|
| 53 | + function add_default_field( $entry_default_fields, $form = array(), $zone = '' ) { |
|
| 54 | + |
|
| 55 | + if( $zone !== 'edit' ) { |
|
| 56 | + |
|
| 57 | + $entry_default_fields['edit_link'] = array( |
|
| 58 | + 'label' => __('Edit Entry', 'gravityview'), |
|
| 59 | + 'type' => 'edit_link', |
|
| 60 | + 'desc' => __('A link to edit the entry. Visible based on View settings.', 'gravityview'), |
|
| 61 | + ); |
|
| 62 | + |
|
| 63 | + } |
|
| 64 | + |
|
| 65 | + return $entry_default_fields; |
|
| 66 | + } |
|
| 67 | + |
|
| 68 | + /** |
|
| 69 | + * Change wording for the Edit context to read Entry Creator |
|
| 70 | + * |
|
| 71 | + * @param array $visibility_caps Array of capabilities to display in field dropdown. |
|
| 72 | + * @param string $field_type Type of field options to render (`field` or `widget`) |
|
| 73 | + * @param string $template_id Table slug |
|
| 74 | + * @param float $field_id GF Field ID - Example: `3`, `5.2`, `entry_link`, `created_by` |
|
| 75 | + * @param string $context What context are we in? Example: `single` or `directory` |
|
| 76 | + * @param string $input_type (textarea, list, select, etc.) |
|
| 77 | + * @return array Array of field options with `label`, `value`, `type`, `default` keys |
|
| 78 | + */ |
|
| 79 | + function modify_visibility_caps( $visibility_caps = array(), $template_id = '', $field_id = '', $context = '', $input_type = '' ) { |
|
| 80 | + |
|
| 81 | + $caps = $visibility_caps; |
|
| 82 | + |
|
| 83 | + // If we're configuring fields in the edit context, we want a limited selection |
|
| 84 | + if( $context === 'edit' ) { |
|
| 85 | + |
|
| 86 | + // Remove other built-in caps. |
|
| 87 | + unset( $caps['publish_posts'], $caps['gravityforms_view_entries'], $caps['delete_others_posts'] ); |
|
| 88 | + |
|
| 89 | + $caps['read'] = _x('Entry Creator','User capability', 'gravityview'); |
|
| 90 | + } |
|
| 91 | + |
|
| 92 | + return $caps; |
|
| 93 | + } |
|
| 94 | + |
|
| 95 | + /** |
|
| 96 | + * Add "Edit Link Text" setting to the edit_link field settings |
|
| 97 | + * @param [type] $field_options [description] |
|
| 98 | + * @param [type] $template_id [description] |
|
| 99 | + * @param [type] $field_id [description] |
|
| 100 | + * @param [type] $context [description] |
|
| 101 | + * @param [type] $input_type [description] |
|
| 102 | + * @return [type] [description] |
|
| 103 | + */ |
|
| 104 | + function edit_link_field_options( $field_options, $template_id, $field_id, $context, $input_type ) { |
|
| 105 | + |
|
| 106 | + // Always a link, never a filter |
|
| 107 | + unset( $field_options['show_as_link'], $field_options['search_filter'] ); |
|
| 108 | + |
|
| 109 | + // Edit Entry link should only appear to visitors capable of editing entries |
|
| 110 | + unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] ); |
|
| 111 | + |
|
| 112 | + $add_option['edit_link'] = array( |
|
| 113 | + 'type' => 'text', |
|
| 114 | + 'label' => __( 'Edit Link Text', 'gravityview' ), |
|
| 115 | + 'desc' => NULL, |
|
| 116 | + 'value' => __('Edit Entry', 'gravityview'), |
|
| 117 | + 'merge_tags' => true, |
|
| 118 | + ); |
|
| 119 | + |
|
| 120 | + return array_merge( $add_option, $field_options ); |
|
| 121 | + } |
|
| 122 | + |
|
| 123 | + /** |
|
| 124 | + * Add tooltips |
|
| 125 | + * @param array $tooltips Existing tooltips |
|
| 126 | + * @return array Modified tooltips |
|
| 127 | + */ |
|
| 128 | + function tooltips( $tooltips ) { |
|
| 129 | + |
|
| 130 | + $return = $tooltips; |
|
| 131 | + |
|
| 132 | + $return['allow_edit_cap'] = array( |
|
| 133 | + 'title' => __('Limiting Edit Access', 'gravityview'), |
|
| 134 | + 'value' => __('Change this setting if you don\'t want the user who created the entry to be able to edit this field.', 'gravityview'), |
|
| 135 | + ); |
|
| 136 | + |
|
| 137 | + return $return; |
|
| 138 | + } |
|
| 139 | + |
|
| 140 | + /** |
|
| 141 | + * Manipulate the fields' options for the EDIT ENTRY screen |
|
| 142 | + * @param [type] $field_options [description] |
|
| 143 | + * @param [type] $template_id [description] |
|
| 144 | + * @param [type] $field_id [description] |
|
| 145 | + * @param [type] $context [description] |
|
| 146 | + * @param [type] $input_type [description] |
|
| 147 | + * @return [type] [description] |
|
| 148 | + */ |
|
| 149 | 149 | public function field_options( $field_options, $template_id, $field_id, $context, $input_type, $form_id ) { |
| 150 | 150 | |
| 151 | - // We only want to modify the settings for the edit context |
|
| 152 | - if( 'edit' !== $context ) { |
|
| 153 | - |
|
| 154 | - /** |
|
| 155 | - * @since 1.8.4 |
|
| 156 | - */ |
|
| 157 | - $field_options['new_window'] = array( |
|
| 158 | - 'type' => 'checkbox', |
|
| 159 | - 'label' => __( 'Open link in a new tab or window?', 'gravityview' ), |
|
| 160 | - 'value' => false, |
|
| 161 | - ); |
|
| 162 | - |
|
| 163 | - return $field_options; |
|
| 164 | - } |
|
| 165 | - |
|
| 166 | - // Entry field is only for logged in users |
|
| 167 | - unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] ); |
|
| 168 | - |
|
| 169 | - $add_options = array( |
|
| 170 | - 'allow_edit_cap' => array( |
|
| 171 | - 'type' => 'select', |
|
| 172 | - 'label' => __( 'Make field editable to:', 'gravityview' ), |
|
| 173 | - 'choices' => GravityView_Render_Settings::get_cap_choices( $template_id, $field_id, $context, $input_type ), |
|
| 174 | - 'tooltip' => 'allow_edit_cap', |
|
| 175 | - 'class' => 'widefat', |
|
| 176 | - 'value' => 'read', // Default: entry creator |
|
| 177 | - ), |
|
| 178 | - ); |
|
| 179 | - |
|
| 180 | - return array_merge( $field_options, $add_options ); |
|
| 181 | - } |
|
| 151 | + // We only want to modify the settings for the edit context |
|
| 152 | + if( 'edit' !== $context ) { |
|
| 153 | + |
|
| 154 | + /** |
|
| 155 | + * @since 1.8.4 |
|
| 156 | + */ |
|
| 157 | + $field_options['new_window'] = array( |
|
| 158 | + 'type' => 'checkbox', |
|
| 159 | + 'label' => __( 'Open link in a new tab or window?', 'gravityview' ), |
|
| 160 | + 'value' => false, |
|
| 161 | + ); |
|
| 162 | + |
|
| 163 | + return $field_options; |
|
| 164 | + } |
|
| 165 | + |
|
| 166 | + // Entry field is only for logged in users |
|
| 167 | + unset( $field_options['only_loggedin'], $field_options['only_loggedin_cap'] ); |
|
| 168 | + |
|
| 169 | + $add_options = array( |
|
| 170 | + 'allow_edit_cap' => array( |
|
| 171 | + 'type' => 'select', |
|
| 172 | + 'label' => __( 'Make field editable to:', 'gravityview' ), |
|
| 173 | + 'choices' => GravityView_Render_Settings::get_cap_choices( $template_id, $field_id, $context, $input_type ), |
|
| 174 | + 'tooltip' => 'allow_edit_cap', |
|
| 175 | + 'class' => 'widefat', |
|
| 176 | + 'value' => 'read', // Default: entry creator |
|
| 177 | + ), |
|
| 178 | + ); |
|
| 179 | + |
|
| 180 | + return array_merge( $field_options, $add_options ); |
|
| 181 | + } |
|
| 182 | 182 | |
| 183 | 183 | |
| 184 | 184 | } // end class |
| 185 | 185 | \ No newline at end of file |
@@ -246,7 +246,7 @@ discard block |
||
| 246 | 246 | /** |
| 247 | 247 | * Add admin script to the no-conflict scripts whitelist |
| 248 | 248 | * @param array $allowed Scripts allowed in no-conflict mode |
| 249 | - * @return array Scripts allowed in no-conflict mode, plus the search widget script |
|
| 249 | + * @return string[] Scripts allowed in no-conflict mode, plus the search widget script |
|
| 250 | 250 | */ |
| 251 | 251 | public function register_no_conflict( $allowed ) { |
| 252 | 252 | $allowed[] = 'gravityview_searchwidget_admin'; |
@@ -420,6 +420,7 @@ discard block |
||
| 420 | 420 | * Display hidden fields to add support for sites using Default permalink structure |
| 421 | 421 | * |
| 422 | 422 | * @since 1.8 |
| 423 | + * @param GravityView_Widget_Search $object |
|
| 423 | 424 | * @return array Search fields, modified if not using permalinks |
| 424 | 425 | */ |
| 425 | 426 | public function add_no_permalink_fields( $search_fields, $object, $widget_args = array() ) { |
@@ -729,7 +730,6 @@ discard block |
||
| 729 | 730 | * Dropin for the legacy flat filters when \GF_Query is available. |
| 730 | 731 | * |
| 731 | 732 | * @param \GF_Query $query The current query object reference |
| 732 | - * @param \GV\View $this The current view object |
|
| 733 | 733 | * @param \GV\Request $request The request object |
| 734 | 734 | */ |
| 735 | 735 | public function gf_query_filter( &$query, $view, $request ) { |
@@ -1428,7 +1428,7 @@ discard block |
||
| 1428 | 1428 | /** |
| 1429 | 1429 | * Get the label for a search form field |
| 1430 | 1430 | * @param array $field Field setting as sent by the GV configuration - has `field`, `input` (input type), and `label` keys |
| 1431 | - * @param array $form_field Form field data, as fetched by `gravityview_get_field()` |
|
| 1431 | + * @param GF_Field|null $form_field Form field data, as fetched by `gravityview_get_field()` |
|
| 1432 | 1432 | * @return string Label for the search form |
| 1433 | 1433 | */ |
| 1434 | 1434 | private static function get_field_label( $field, $form_field = array() ) { |
@@ -1486,7 +1486,7 @@ discard block |
||
| 1486 | 1486 | * @param array $field |
| 1487 | 1487 | * @param \GV\Context $context |
| 1488 | 1488 | * |
| 1489 | - * @return array |
|
| 1489 | + * @return GV\View |
|
| 1490 | 1490 | */ |
| 1491 | 1491 | private function get_search_filter_details( $field, $context ) { |
| 1492 | 1492 | |
@@ -1634,7 +1634,7 @@ discard block |
||
| 1634 | 1634 | /** |
| 1635 | 1635 | * Require the datepicker script for the frontend GV script |
| 1636 | 1636 | * @param array $js_dependencies Array of existing required scripts for the fe-views.js script |
| 1637 | - * @return array Array required scripts, with `jquery-ui-datepicker` added |
|
| 1637 | + * @return string[] Array required scripts, with `jquery-ui-datepicker` added |
|
| 1638 | 1638 | */ |
| 1639 | 1639 | public function add_datepicker_js_dependency( $js_dependencies ) { |
| 1640 | 1640 | |
@@ -1646,7 +1646,7 @@ discard block |
||
| 1646 | 1646 | /** |
| 1647 | 1647 | * Modify the array passed to wp_localize_script() |
| 1648 | 1648 | * |
| 1649 | - * @param array $js_localization The data padded to the Javascript file |
|
| 1649 | + * @param array $localizations The data padded to the Javascript file |
|
| 1650 | 1650 | * @param array $view_data View data array with View settings |
| 1651 | 1651 | * |
| 1652 | 1652 | * @return array |
@@ -1826,7 +1826,7 @@ discard block |
||
| 1826 | 1826 | * |
| 1827 | 1827 | * @param array $get Where to look for the operator. |
| 1828 | 1828 | * @param string $key The filter key to look for. |
| 1829 | - * @param array $allowed The allowed operators (whitelist). |
|
| 1829 | + * @param string[] $allowed The allowed operators (whitelist). |
|
| 1830 | 1830 | * @param string $default The default operator. |
| 1831 | 1831 | * |
| 1832 | 1832 | * @return string The operator. |
@@ -66,9 +66,9 @@ discard block |
||
| 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 ) { |
|
| 71 | + if ( ! $downloads_data ) { |
|
| 72 | 72 | return; |
| 73 | 73 | } |
| 74 | 74 | |
@@ -97,7 +97,7 @@ discard block |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 | } |
@@ -18,7 +18,6 @@ |
||
| 18 | 18 | /** |
| 19 | 19 | * Process and output the [gventry] shortcode. |
| 20 | 20 | * |
| 21 | - * @param array $passed_atts The attributes passed. |
|
| 22 | 21 | * @param string $content The content inside the shortcode. |
| 23 | 22 | * @param string $tag The shortcode tag. |
| 24 | 23 | * |
@@ -18,7 +18,6 @@ |
||
| 18 | 18 | /** |
| 19 | 19 | * Process and output the [gvfield] shortcode. |
| 20 | 20 | * |
| 21 | - * @param array $passed_atts The attributes passed. |
|
| 22 | 21 | * @param string $content The content inside the shortcode. |
| 23 | 22 | * @param string $tag The shortcode tag. |
| 24 | 23 | * |
@@ -248,6 +248,8 @@ |
||
| 248 | 248 | |
| 249 | 249 | /** |
| 250 | 250 | * Process the attributes passed to the shortcode. Make sure they're valid |
| 251 | + * @param string $content |
|
| 252 | + * @param string $tag |
|
| 251 | 253 | * @return void |
| 252 | 254 | */ |
| 253 | 255 | private function parse_atts( $atts, $content, $tag ) { |