@@ -18,7 +18,7 @@ discard block |
||
18 | 18 | */ |
19 | 19 | public function __construct() { |
20 | 20 | |
21 | - if( ! is_admin() ) { return; } |
|
21 | + if ( ! is_admin() ) { return; } |
|
22 | 22 | |
23 | 23 | $this->add_hooks(); |
24 | 24 | } |
@@ -32,13 +32,13 @@ discard block |
||
32 | 32 | */ |
33 | 33 | private function add_hooks() { |
34 | 34 | //Hooks for no-conflict functionality |
35 | - add_action( 'wp_print_scripts', array( $this, 'no_conflict_scripts' ), 1000); |
|
36 | - add_action( 'admin_print_footer_scripts', array( $this, 'no_conflict_scripts' ), 9); |
|
35 | + add_action( 'wp_print_scripts', array( $this, 'no_conflict_scripts' ), 1000 ); |
|
36 | + add_action( 'admin_print_footer_scripts', array( $this, 'no_conflict_scripts' ), 9 ); |
|
37 | 37 | |
38 | - add_action( 'wp_print_styles', array( $this, 'no_conflict_styles' ), 1000); |
|
39 | - add_action( 'admin_print_styles', array( $this, 'no_conflict_styles' ), 11); |
|
40 | - add_action( 'admin_print_footer_scripts', array( $this, 'no_conflict_styles' ), 1); |
|
41 | - add_action( 'admin_footer', array( $this, 'no_conflict_styles' ), 1); |
|
38 | + add_action( 'wp_print_styles', array( $this, 'no_conflict_styles' ), 1000 ); |
|
39 | + add_action( 'admin_print_styles', array( $this, 'no_conflict_styles' ), 11 ); |
|
40 | + add_action( 'admin_print_footer_scripts', array( $this, 'no_conflict_styles' ), 1 ); |
|
41 | + add_action( 'admin_footer', array( $this, 'no_conflict_styles' ), 1 ); |
|
42 | 42 | } |
43 | 43 | |
44 | 44 | /** |
@@ -51,13 +51,13 @@ discard block |
||
51 | 51 | function no_conflict_scripts() { |
52 | 52 | global $wp_scripts; |
53 | 53 | |
54 | - if( ! gravityview_is_admin_page() ) { |
|
54 | + if ( ! gravityview_is_admin_page() ) { |
|
55 | 55 | return; |
56 | 56 | } |
57 | 57 | |
58 | - $no_conflict_mode = GravityView_Settings::getSetting('no-conflict-mode'); |
|
58 | + $no_conflict_mode = GravityView_Settings::getSetting( 'no-conflict-mode' ); |
|
59 | 59 | |
60 | - if( empty( $no_conflict_mode ) ) { |
|
60 | + if ( empty( $no_conflict_mode ) ) { |
|
61 | 61 | return; |
62 | 62 | } |
63 | 63 | |
@@ -110,24 +110,24 @@ discard block |
||
110 | 110 | function no_conflict_styles() { |
111 | 111 | global $wp_styles; |
112 | 112 | |
113 | - if( ! gravityview_is_admin_page() ) { |
|
113 | + if ( ! gravityview_is_admin_page() ) { |
|
114 | 114 | return; |
115 | 115 | } |
116 | 116 | |
117 | 117 | // Dequeue other jQuery styles even if no-conflict is off. |
118 | 118 | // Terrible-looking tabs help no one. |
119 | - if( !empty( $wp_styles->registered ) ) { |
|
120 | - foreach ($wp_styles->registered as $key => $style) { |
|
121 | - if( preg_match( '/^(?:wp\-)?jquery/ism', $key ) ) { |
|
119 | + if ( ! empty( $wp_styles->registered ) ) { |
|
120 | + foreach ( $wp_styles->registered as $key => $style ) { |
|
121 | + if ( preg_match( '/^(?:wp\-)?jquery/ism', $key ) ) { |
|
122 | 122 | wp_dequeue_style( $key ); |
123 | 123 | } |
124 | 124 | } |
125 | 125 | } |
126 | 126 | |
127 | - $no_conflict_mode = GravityView_Settings::getSetting('no-conflict-mode'); |
|
127 | + $no_conflict_mode = GravityView_Settings::getSetting( 'no-conflict-mode' ); |
|
128 | 128 | |
129 | 129 | // If no conflict is off, jQuery will suffice. |
130 | - if( empty( $no_conflict_mode ) ) { |
|
130 | + if ( empty( $no_conflict_mode ) ) { |
|
131 | 131 | return; |
132 | 132 | } |
133 | 133 | |
@@ -154,7 +154,7 @@ discard block |
||
154 | 154 | /** |
155 | 155 | * @action `gravityview_remove_conflicts_after` Runs after no-conflict styles are removed. You can re-add styles here. |
156 | 156 | */ |
157 | - do_action('gravityview_remove_conflicts_after'); |
|
157 | + do_action( 'gravityview_remove_conflicts_after' ); |
|
158 | 158 | } |
159 | 159 | |
160 | 160 | /** |
@@ -178,9 +178,9 @@ discard block |
||
178 | 178 | |
179 | 179 | //reset queue |
180 | 180 | $queue = array(); |
181 | - foreach( $wp_objects->queue as $object ) { |
|
182 | - if( in_array( $object, $required_objects ) || preg_match('/gravityview|gf_|gravityforms/ism', $object ) ) { |
|
183 | - $queue[] = $object; |
|
181 | + foreach ( $wp_objects->queue as $object ) { |
|
182 | + if ( in_array( $object, $required_objects ) || preg_match( '/gravityview|gf_|gravityforms/ism', $object ) ) { |
|
183 | + $queue[ ] = $object; |
|
184 | 184 | } |
185 | 185 | } |
186 | 186 | $wp_objects->queue = $queue; |
@@ -189,8 +189,8 @@ discard block |
||
189 | 189 | |
190 | 190 | //unregistering scripts |
191 | 191 | $registered = array(); |
192 | - foreach( $wp_objects->registered as $handle => $script_registration ){ |
|
193 | - if( in_array( $handle, $required_objects ) ){ |
|
192 | + foreach ( $wp_objects->registered as $handle => $script_registration ) { |
|
193 | + if ( in_array( $handle, $required_objects ) ) { |
|
194 | 194 | $registered[ $handle ] = $script_registration; |
195 | 195 | } |
196 | 196 | } |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | * @param array $registered [description] |
206 | 206 | * @param array $scripts [description] |
207 | 207 | */ |
208 | - private function add_script_dependencies($registered, $scripts) { |
|
208 | + private function add_script_dependencies( $registered, $scripts ) { |
|
209 | 209 | |
210 | 210 | //gets all dependent scripts linked to the $scripts array passed |
211 | 211 | do { |
@@ -214,7 +214,7 @@ discard block |
||
214 | 214 | $deps = isset( $registered[ $script ] ) && is_array( $registered[ $script ]->deps ) ? $registered[ $script ]->deps : array(); |
215 | 215 | foreach ( $deps as $dep ) { |
216 | 216 | if ( ! in_array( $dep, $scripts ) && ! in_array( $dep, $dependents ) ) { |
217 | - $dependents[] = $dep; |
|
217 | + $dependents[ ] = $dep; |
|
218 | 218 | } |
219 | 219 | } |
220 | 220 | } |
@@ -116,7 +116,7 @@ discard block |
||
116 | 116 | |
117 | 117 | // Dequeue other jQuery styles even if no-conflict is off. |
118 | 118 | // Terrible-looking tabs help no one. |
119 | - if( !empty( $wp_styles->registered ) ) { |
|
119 | + if( !empty( $wp_styles->registered ) ) { |
|
120 | 120 | foreach ($wp_styles->registered as $key => $style) { |
121 | 121 | if( preg_match( '/^(?:wp\-)?jquery/ism', $key ) ) { |
122 | 122 | wp_dequeue_style( $key ); |
@@ -189,8 +189,8 @@ discard block |
||
189 | 189 | |
190 | 190 | //unregistering scripts |
191 | 191 | $registered = array(); |
192 | - foreach( $wp_objects->registered as $handle => $script_registration ){ |
|
193 | - if( in_array( $handle, $required_objects ) ){ |
|
192 | + foreach( $wp_objects->registered as $handle => $script_registration ) { |
|
193 | + if( in_array( $handle, $required_objects ) ) { |
|
194 | 194 | $registered[ $handle ] = $script_registration; |
195 | 195 | } |
196 | 196 | } |
@@ -19,12 +19,12 @@ |
||
19 | 19 | } |
20 | 20 | |
21 | 21 | function render_input( $override_input = null ) { |
22 | - if( isset( $override_input ) ) { |
|
22 | + if ( isset( $override_input ) ) { |
|
23 | 23 | echo $override_input; |
24 | 24 | return; |
25 | 25 | } |
26 | 26 | |
27 | - foreach( $this->field['options'] as $value => $label ) : ?> |
|
27 | + foreach ( $this->field[ 'options' ] as $value => $label ) : ?> |
|
28 | 28 | <label class="<?php echo $this->get_label_class(); ?>"> |
29 | 29 | <input name="<?php echo esc_attr( $this->name ); ?>" id="<?php echo $this->get_field_id(); ?>-<?php echo esc_attr( $value ); ?>" type="radio" value="<?php echo esc_attr( $value ); ?>" <?php checked( $value, $this->value, true ); ?> /> <?php echo esc_html( $label ); ?> |
30 | 30 | </label> |
@@ -38,8 +38,8 @@ |
||
38 | 38 | // Set the $_field_id var |
39 | 39 | $field_options = parent::field_options( $field_options, $template_id, $field_id, $context, $input_type ); |
40 | 40 | |
41 | - if( $this->is_choice_value_enabled() ) { |
|
42 | - $field_options['choice_display'] = array( |
|
41 | + if ( $this->is_choice_value_enabled() ) { |
|
42 | + $field_options[ 'choice_display' ] = array( |
|
43 | 43 | 'type' => 'radio', |
44 | 44 | 'value' => 'value', |
45 | 45 | 'label' => __( 'What should be displayed:', 'gravityview' ), |
@@ -48,25 +48,25 @@ |
||
48 | 48 | |
49 | 49 | $quiz_fields = GFAPI::get_fields_by_type( $form, 'quiz' ); |
50 | 50 | |
51 | - if( ! empty( $quiz_fields ) ) { |
|
51 | + if ( ! empty( $quiz_fields ) ) { |
|
52 | 52 | |
53 | - $fields['gquiz_score'] = array( |
|
53 | + $fields[ 'gquiz_score' ] = array( |
|
54 | 54 | 'label' => __( 'Quiz Score Total', 'gravityview' ), |
55 | 55 | 'type' => 'quiz_score', |
56 | 56 | 'desc' => __( 'Displays the number of correct Quiz answers the user submitted.', 'gravityview' ), |
57 | 57 | ); |
58 | - $fields['gquiz_percent'] = array( |
|
58 | + $fields[ 'gquiz_percent' ] = array( |
|
59 | 59 | 'label' => __( 'Quiz Percentage Grade', 'gravityview' ), |
60 | 60 | 'type' => 'quiz_percent', |
61 | 61 | 'desc' => __( 'Displays the percentage of correct Quiz answers the user submitted.', 'gravityview' ), |
62 | 62 | ); |
63 | - $fields['gquiz_grade'] = array( |
|
63 | + $fields[ 'gquiz_grade' ] = array( |
|
64 | 64 | /* translators: This is a field type used by the Gravity Forms Quiz Addon. "A" is 100-90, "B" is 89-80, "C" is 79-70, etc. */ |
65 | 65 | 'label' => __( 'Quiz Letter Grade', 'gravityview' ), |
66 | 66 | 'type' => 'quiz_grade', |
67 | 67 | 'desc' => __( 'Displays the Grade the user achieved based on Letter Grading configured in the Quiz Settings.', 'gravityview' ), |
68 | 68 | ); |
69 | - $fields['gquiz_is_pass'] = array( |
|
69 | + $fields[ 'gquiz_is_pass' ] = array( |
|
70 | 70 | 'label' => __( 'Quiz Pass/Fail', 'gravityview' ), |
71 | 71 | 'type' => 'quiz_is_pass', |
72 | 72 | 'desc' => __( 'Displays either Passed or Failed based on the Pass/Fail settings configured in the Quiz Settings.', 'gravityview' ), |
@@ -49,7 +49,7 @@ |
||
49 | 49 | * |
50 | 50 | * @return string If a custom field label isn't set, return the field label for the password field |
51 | 51 | */ |
52 | - function field_label( $label = '', $field = array(), $form = array(), $entry = array() ){ |
|
52 | + function field_label( $label = '', $field = array(), $form = array(), $entry = array() ) { |
|
53 | 53 | |
54 | 54 | // If using a custom label, no need to fetch the parent label |
55 | 55 | if( ! is_numeric( $field['id'] ) || ! empty( $field['custom_label'] ) ) { |
@@ -49,17 +49,17 @@ discard block |
||
49 | 49 | * |
50 | 50 | * @return string If a custom field label isn't set, return the field label for the password field |
51 | 51 | */ |
52 | - function field_label( $label = '', $field = array(), $form = array(), $entry = array() ){ |
|
52 | + function field_label( $label = '', $field = array(), $form = array(), $entry = array() ) { |
|
53 | 53 | |
54 | 54 | // If using a custom label, no need to fetch the parent label |
55 | - if( ! is_numeric( $field['id'] ) || ! empty( $field['custom_label'] ) ) { |
|
55 | + if ( ! is_numeric( $field[ 'id' ] ) || ! empty( $field[ 'custom_label' ] ) ) { |
|
56 | 56 | return $label; |
57 | 57 | } |
58 | 58 | |
59 | - $field_object = GFFormsModel::get_field( $form, $field['id'] ); |
|
59 | + $field_object = GFFormsModel::get_field( $form, $field[ 'id' ] ); |
|
60 | 60 | |
61 | - if( $field_object && 'password' === $field_object->type ) { |
|
62 | - $label = $field['label']; |
|
61 | + if ( $field_object && 'password' === $field_object->type ) { |
|
62 | + $label = $field[ 'label' ]; |
|
63 | 63 | } |
64 | 64 | |
65 | 65 | return $label; |
@@ -79,17 +79,17 @@ discard block |
||
79 | 79 | function add_form_fields( $fields = array(), $form = array(), $include_parent_field = true ) { |
80 | 80 | |
81 | 81 | foreach ( $fields as $key => $field ) { |
82 | - if( 'password' === $field['type'] ) { |
|
82 | + if ( 'password' === $field[ 'type' ] ) { |
|
83 | 83 | |
84 | 84 | // The Enter Password input |
85 | - if( floor( $key ) === floatval( $key ) ) { |
|
85 | + if ( floor( $key ) === floatval( $key ) ) { |
|
86 | 86 | |
87 | - if( ! empty( $field['parent'] ) ) { |
|
88 | - $field['label'] = $field['parent']->label; |
|
89 | - $field['adminOnly'] = $field['parent']->adminOnly; |
|
90 | - $field['adminLabel'] = $field['parent']->adminLabel; |
|
87 | + if ( ! empty( $field[ 'parent' ] ) ) { |
|
88 | + $field[ 'label' ] = $field[ 'parent' ]->label; |
|
89 | + $field[ 'adminOnly' ] = $field[ 'parent' ]->adminOnly; |
|
90 | + $field[ 'adminLabel' ] = $field[ 'parent' ]->adminLabel; |
|
91 | 91 | // Don't show as a child input |
92 | - unset( $field['parent'] ); |
|
92 | + unset( $field[ 'parent' ] ); |
|
93 | 93 | } |
94 | 94 | |
95 | 95 | $fields[ $key ] = $field; |
@@ -24,8 +24,8 @@ discard block |
||
24 | 24 | 'slug' => 'edit', |
25 | 25 | 'type' => 'internal', |
26 | 26 | 'label' => __( 'Edit Table', 'gravityview' ), |
27 | - 'description' => __('Display items in a table view.', 'gravityview'), |
|
28 | - 'logo' => plugins_url('includes/presets/default-table/logo-default-table.png', GRAVITYVIEW_FILE), |
|
27 | + 'description' => __( 'Display items in a table view.', 'gravityview' ), |
|
28 | + 'logo' => plugins_url( 'includes/presets/default-table/logo-default-table.png', GRAVITYVIEW_FILE ), |
|
29 | 29 | 'css_source' => gravityview_css_url( 'table-view.css', GRAVITYVIEW_DIR . 'templates/css/' ), |
30 | 30 | ); |
31 | 31 | |
@@ -42,7 +42,7 @@ discard block |
||
42 | 42 | '1-1' => array( |
43 | 43 | array( |
44 | 44 | 'areaid' => 'edit-fields', |
45 | - 'title' => __('Visible Edit Fields', 'gravityview' ) |
|
45 | + 'title' => __( 'Visible Edit Fields', 'gravityview' ) |
|
46 | 46 | ) |
47 | 47 | ) |
48 | 48 | ) |
@@ -36,7 +36,6 @@ |
||
36 | 36 | * @since 1.16.4 |
37 | 37 | * @since 1.17 Moved to GravityView_Plugin_Hooks_Gravity_Forms_Survey class |
38 | 38 | * |
39 | - * @param array $form |
|
40 | 39 | * |
41 | 40 | * @return array Form, with all fields set to `allowsPrepopulate => true` |
42 | 41 | */ |
@@ -45,7 +45,7 @@ discard block |
||
45 | 45 | |
46 | 46 | $return = $input_type; |
47 | 47 | |
48 | - if( 'survey' === $field_type ) { |
|
48 | + if ( 'survey' === $field_type ) { |
|
49 | 49 | $return = 'select'; |
50 | 50 | } |
51 | 51 | |
@@ -65,8 +65,8 @@ discard block |
||
65 | 65 | public function fix_survey_fields( $fields ) { |
66 | 66 | |
67 | 67 | /** @var GF_Field $field */ |
68 | - foreach( $fields as &$field ) { |
|
69 | - if( 'survey' === $field->type ) { |
|
68 | + foreach ( $fields as &$field ) { |
|
69 | + if ( 'survey' === $field->type ) { |
|
70 | 70 | $field->allowsPrepopulate = true; |
71 | 71 | } |
72 | 72 | } |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | * @return void |
83 | 83 | */ |
84 | 84 | function add_render_hooks() { |
85 | - add_filter( 'gform_field_value', array( $this, 'fix_survey_field_value'), 10, 3 ); |
|
85 | + add_filter( 'gform_field_value', array( $this, 'fix_survey_field_value' ), 10, 3 ); |
|
86 | 86 | } |
87 | 87 | |
88 | 88 | /** |
@@ -95,7 +95,7 @@ discard block |
||
95 | 95 | * @return void |
96 | 96 | */ |
97 | 97 | function remove_render_hooks() { |
98 | - remove_filter( 'gform_field_value', array( $this, 'fix_survey_field_value'), 10 ); |
|
98 | + remove_filter( 'gform_field_value', array( $this, 'fix_survey_field_value' ), 10 ); |
|
99 | 99 | } |
100 | 100 | |
101 | 101 | /** |
@@ -113,9 +113,9 @@ discard block |
||
113 | 113 | */ |
114 | 114 | public function fix_survey_field_value( $value, $field, $name ) { |
115 | 115 | |
116 | - if( 'survey' === $field->type ) { |
|
116 | + if ( 'survey' === $field->type ) { |
|
117 | 117 | |
118 | - $entry = GravityView_Edit_Entry::getInstance()->instances['render']->get_entry(); |
|
118 | + $entry = GravityView_Edit_Entry::getInstance()->instances[ 'render' ]->get_entry(); |
|
119 | 119 | |
120 | 120 | // We need to run through each survey row until we find a match for expected values |
121 | 121 | foreach ( $entry as $field_id => $field_value ) { |
@@ -124,11 +124,11 @@ discard block |
||
124 | 124 | continue; |
125 | 125 | } |
126 | 126 | |
127 | - if( rgar( $field, 'gsurveyLikertEnableMultipleRows' ) ) { |
|
127 | + if ( rgar( $field, 'gsurveyLikertEnableMultipleRows' ) ) { |
|
128 | 128 | list( $row_val, $col_val ) = explode( ':', $field_value, 2 ); |
129 | 129 | |
130 | 130 | // If the $name matches the $row_val, we are processing the correct row |
131 | - if( $row_val === $name ) { |
|
131 | + if ( $row_val === $name ) { |
|
132 | 132 | $value = $field_value; |
133 | 133 | break; |
134 | 134 | } |
@@ -7,133 +7,133 @@ |
||
7 | 7 | |
8 | 8 | class GravityView_GFFormsModel extends GFFormsModel { |
9 | 9 | |
10 | - /** |
|
11 | - * Given information provided in an entry, get array of media IDs |
|
12 | - * |
|
13 | - * This is necessary because GF doesn't expect to need to update post images, only to create them. |
|
14 | - * |
|
15 | - * @see GFFormsModel::create_post() |
|
16 | - * |
|
17 | - * @since 1.17 |
|
18 | - * |
|
19 | - * @param array $form Gravity Forms form array |
|
20 | - * @param array $entry Gravity Forms entry array |
|
21 | - * |
|
22 | - * @return array Array of "Field ID" => "Media IDs" |
|
23 | - */ |
|
24 | - public static function get_post_field_images( $form, $entry ) { |
|
25 | - |
|
26 | - $post_data = self::get_post_fields( $form, $entry ); |
|
27 | - |
|
28 | - $media = get_attached_media( 'image', $entry['post_id'] ); |
|
29 | - |
|
30 | - $post_images = array(); |
|
31 | - |
|
32 | - foreach ( $media as $media_item ) { |
|
33 | - foreach( (array) $post_data['images'] as $post_data_item ) { |
|
34 | - if( |
|
35 | - rgar( $post_data_item, 'title' ) === $media_item->post_title && |
|
36 | - rgar( $post_data_item, 'description' ) === $media_item->post_content && |
|
37 | - rgar( $post_data_item, 'caption' ) === $media_item->post_excerpt |
|
38 | - ) { |
|
39 | - $post_images["{$post_data_item['field_id']}"] = $media_item->ID; |
|
40 | - } |
|
41 | - } |
|
42 | - } |
|
43 | - |
|
44 | - return $post_images; |
|
45 | - } |
|
46 | - |
|
47 | - /** |
|
48 | - * Alias of GFFormsModel::get_post_fields(); just making it public |
|
49 | - * |
|
50 | - * @see GFFormsModel::get_post_fields() |
|
51 | - * |
|
52 | - * @since 1.17 |
|
53 | - * |
|
54 | - * @param array $form Gravity Forms form array |
|
55 | - * @param array $entry Gravity Forms entry array |
|
56 | - * |
|
57 | - * @return array |
|
58 | - */ |
|
59 | - public static function get_post_fields( $form, $entry ) { |
|
60 | - |
|
61 | - $reflection = new ReflectionMethod( 'GFFormsModel', 'get_post_fields' ); |
|
62 | - |
|
63 | - /** |
|
64 | - * If the method changes to public, use Gravity Forms' method |
|
65 | - * @todo: If/when the method is public, remove the unneeded copied code. |
|
66 | - */ |
|
67 | - if( $reflection->isPublic() ) { |
|
68 | - return parent::get_post_fields( $form, $entry ); |
|
69 | - } |
|
70 | - |
|
71 | - // It was private; let's make it public |
|
72 | - $reflection->setAccessible( true ); |
|
73 | - |
|
74 | - return $reflection->invoke( new GFFormsModel, $form, $entry ); |
|
75 | - } |
|
76 | - |
|
77 | - /** |
|
78 | - * Copied function from Gravity Forms plugin \GFFormsModel::copy_post_image since the method is private. |
|
79 | - * |
|
80 | - * @since 1.16.2 |
|
81 | - * |
|
82 | - * @param string $url URL of the post image to update |
|
83 | - * @param int $post_id ID of the post image to update |
|
84 | - * @return array|bool Array with `file`, `url` and `type` keys. False: failed to copy file to final directory path. |
|
85 | - */ |
|
86 | - public static function copy_post_image( $url, $post_id ) { |
|
87 | - |
|
88 | - $reflection = new ReflectionMethod( 'GFFormsModel', 'copy_post_image' ); |
|
89 | - |
|
90 | - /** |
|
91 | - * If the method changes to public, use Gravity Forms' method |
|
92 | - * @todo: If/when the method is public, remove the unneeded copied code. |
|
93 | - */ |
|
94 | - if( $reflection->isPublic() ) { |
|
95 | - return parent::copy_post_image( $url, $post_id ); |
|
96 | - } |
|
97 | - |
|
98 | - // It was private; let's make it public |
|
99 | - $reflection->setAccessible( true ); |
|
100 | - |
|
101 | - return $reflection->invoke( new GFFormsModel, $url, $post_id ); |
|
102 | - } |
|
103 | - |
|
104 | - /** |
|
105 | - * Copied function from Gravity Forms plugin \GFFormsModel::media_handle_upload since the method is private. |
|
106 | - * |
|
107 | - * Note: The method became public in GF 1.9.17.7 |
|
108 | - * |
|
109 | - * @see GFFormsModel::media_handle_upload |
|
110 | - * @see GravityView_Edit_Entry_Render::maybe_update_post_fields |
|
111 | - * |
|
112 | - * @uses copy_post_image |
|
113 | - * @uses wp_insert_attachment |
|
114 | - * @uses wp_update_attachment_metadata |
|
115 | - * |
|
116 | - * @param string $url URL of the post image to update |
|
117 | - * @param int $post_id ID of the post image to update |
|
118 | - * @param array $post_data Array of data for the eventual attachment post type that is created using {@see wp_insert_attachment}. Supports `post_mime_type`, `guid`, `post_parent`, `post_title`, `post_content` keys. |
|
119 | - * @return bool|int ID of attachment Post created. Returns false if file not created by copy_post_image |
|
120 | - */ |
|
121 | - public static function media_handle_upload( $url, $post_id, $post_data = array() ) { |
|
122 | - |
|
123 | - $reflection = new ReflectionMethod( 'GFFormsModel', 'media_handle_upload' ); |
|
124 | - |
|
125 | - /** |
|
126 | - * If the method changes to public, use Gravity Forms' method |
|
127 | - * @todo: If/when the method is public, remove the unneeded copied code. |
|
128 | - */ |
|
129 | - if( $reflection->isPublic() ) { |
|
130 | - return parent::media_handle_upload( $url, $post_id, $post_data ); |
|
131 | - } |
|
132 | - |
|
133 | - // It was private; let's make it public |
|
134 | - $reflection->setAccessible( true ); |
|
135 | - |
|
136 | - return $reflection->invoke( new GFFormsModel, $url, $post_id, $post_data ); |
|
137 | - } |
|
10 | + /** |
|
11 | + * Given information provided in an entry, get array of media IDs |
|
12 | + * |
|
13 | + * This is necessary because GF doesn't expect to need to update post images, only to create them. |
|
14 | + * |
|
15 | + * @see GFFormsModel::create_post() |
|
16 | + * |
|
17 | + * @since 1.17 |
|
18 | + * |
|
19 | + * @param array $form Gravity Forms form array |
|
20 | + * @param array $entry Gravity Forms entry array |
|
21 | + * |
|
22 | + * @return array Array of "Field ID" => "Media IDs" |
|
23 | + */ |
|
24 | + public static function get_post_field_images( $form, $entry ) { |
|
25 | + |
|
26 | + $post_data = self::get_post_fields( $form, $entry ); |
|
27 | + |
|
28 | + $media = get_attached_media( 'image', $entry['post_id'] ); |
|
29 | + |
|
30 | + $post_images = array(); |
|
31 | + |
|
32 | + foreach ( $media as $media_item ) { |
|
33 | + foreach( (array) $post_data['images'] as $post_data_item ) { |
|
34 | + if( |
|
35 | + rgar( $post_data_item, 'title' ) === $media_item->post_title && |
|
36 | + rgar( $post_data_item, 'description' ) === $media_item->post_content && |
|
37 | + rgar( $post_data_item, 'caption' ) === $media_item->post_excerpt |
|
38 | + ) { |
|
39 | + $post_images["{$post_data_item['field_id']}"] = $media_item->ID; |
|
40 | + } |
|
41 | + } |
|
42 | + } |
|
43 | + |
|
44 | + return $post_images; |
|
45 | + } |
|
46 | + |
|
47 | + /** |
|
48 | + * Alias of GFFormsModel::get_post_fields(); just making it public |
|
49 | + * |
|
50 | + * @see GFFormsModel::get_post_fields() |
|
51 | + * |
|
52 | + * @since 1.17 |
|
53 | + * |
|
54 | + * @param array $form Gravity Forms form array |
|
55 | + * @param array $entry Gravity Forms entry array |
|
56 | + * |
|
57 | + * @return array |
|
58 | + */ |
|
59 | + public static function get_post_fields( $form, $entry ) { |
|
60 | + |
|
61 | + $reflection = new ReflectionMethod( 'GFFormsModel', 'get_post_fields' ); |
|
62 | + |
|
63 | + /** |
|
64 | + * If the method changes to public, use Gravity Forms' method |
|
65 | + * @todo: If/when the method is public, remove the unneeded copied code. |
|
66 | + */ |
|
67 | + if( $reflection->isPublic() ) { |
|
68 | + return parent::get_post_fields( $form, $entry ); |
|
69 | + } |
|
70 | + |
|
71 | + // It was private; let's make it public |
|
72 | + $reflection->setAccessible( true ); |
|
73 | + |
|
74 | + return $reflection->invoke( new GFFormsModel, $form, $entry ); |
|
75 | + } |
|
76 | + |
|
77 | + /** |
|
78 | + * Copied function from Gravity Forms plugin \GFFormsModel::copy_post_image since the method is private. |
|
79 | + * |
|
80 | + * @since 1.16.2 |
|
81 | + * |
|
82 | + * @param string $url URL of the post image to update |
|
83 | + * @param int $post_id ID of the post image to update |
|
84 | + * @return array|bool Array with `file`, `url` and `type` keys. False: failed to copy file to final directory path. |
|
85 | + */ |
|
86 | + public static function copy_post_image( $url, $post_id ) { |
|
87 | + |
|
88 | + $reflection = new ReflectionMethod( 'GFFormsModel', 'copy_post_image' ); |
|
89 | + |
|
90 | + /** |
|
91 | + * If the method changes to public, use Gravity Forms' method |
|
92 | + * @todo: If/when the method is public, remove the unneeded copied code. |
|
93 | + */ |
|
94 | + if( $reflection->isPublic() ) { |
|
95 | + return parent::copy_post_image( $url, $post_id ); |
|
96 | + } |
|
97 | + |
|
98 | + // It was private; let's make it public |
|
99 | + $reflection->setAccessible( true ); |
|
100 | + |
|
101 | + return $reflection->invoke( new GFFormsModel, $url, $post_id ); |
|
102 | + } |
|
103 | + |
|
104 | + /** |
|
105 | + * Copied function from Gravity Forms plugin \GFFormsModel::media_handle_upload since the method is private. |
|
106 | + * |
|
107 | + * Note: The method became public in GF 1.9.17.7 |
|
108 | + * |
|
109 | + * @see GFFormsModel::media_handle_upload |
|
110 | + * @see GravityView_Edit_Entry_Render::maybe_update_post_fields |
|
111 | + * |
|
112 | + * @uses copy_post_image |
|
113 | + * @uses wp_insert_attachment |
|
114 | + * @uses wp_update_attachment_metadata |
|
115 | + * |
|
116 | + * @param string $url URL of the post image to update |
|
117 | + * @param int $post_id ID of the post image to update |
|
118 | + * @param array $post_data Array of data for the eventual attachment post type that is created using {@see wp_insert_attachment}. Supports `post_mime_type`, `guid`, `post_parent`, `post_title`, `post_content` keys. |
|
119 | + * @return bool|int ID of attachment Post created. Returns false if file not created by copy_post_image |
|
120 | + */ |
|
121 | + public static function media_handle_upload( $url, $post_id, $post_data = array() ) { |
|
122 | + |
|
123 | + $reflection = new ReflectionMethod( 'GFFormsModel', 'media_handle_upload' ); |
|
124 | + |
|
125 | + /** |
|
126 | + * If the method changes to public, use Gravity Forms' method |
|
127 | + * @todo: If/when the method is public, remove the unneeded copied code. |
|
128 | + */ |
|
129 | + if( $reflection->isPublic() ) { |
|
130 | + return parent::media_handle_upload( $url, $post_id, $post_data ); |
|
131 | + } |
|
132 | + |
|
133 | + // It was private; let's make it public |
|
134 | + $reflection->setAccessible( true ); |
|
135 | + |
|
136 | + return $reflection->invoke( new GFFormsModel, $url, $post_id, $post_data ); |
|
137 | + } |
|
138 | 138 | |
139 | 139 | } |
140 | 140 | \ No newline at end of file |
@@ -25,18 +25,18 @@ discard block |
||
25 | 25 | |
26 | 26 | $post_data = self::get_post_fields( $form, $entry ); |
27 | 27 | |
28 | - $media = get_attached_media( 'image', $entry['post_id'] ); |
|
28 | + $media = get_attached_media( 'image', $entry[ 'post_id' ] ); |
|
29 | 29 | |
30 | 30 | $post_images = array(); |
31 | 31 | |
32 | 32 | foreach ( $media as $media_item ) { |
33 | - foreach( (array) $post_data['images'] as $post_data_item ) { |
|
34 | - if( |
|
33 | + foreach ( (array)$post_data[ 'images' ] as $post_data_item ) { |
|
34 | + if ( |
|
35 | 35 | rgar( $post_data_item, 'title' ) === $media_item->post_title && |
36 | 36 | rgar( $post_data_item, 'description' ) === $media_item->post_content && |
37 | 37 | rgar( $post_data_item, 'caption' ) === $media_item->post_excerpt |
38 | 38 | ) { |
39 | - $post_images["{$post_data_item['field_id']}"] = $media_item->ID; |
|
39 | + $post_images[ "{$post_data_item[ 'field_id' ]}" ] = $media_item->ID; |
|
40 | 40 | } |
41 | 41 | } |
42 | 42 | } |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | * If the method changes to public, use Gravity Forms' method |
65 | 65 | * @todo: If/when the method is public, remove the unneeded copied code. |
66 | 66 | */ |
67 | - if( $reflection->isPublic() ) { |
|
67 | + if ( $reflection->isPublic() ) { |
|
68 | 68 | return parent::get_post_fields( $form, $entry ); |
69 | 69 | } |
70 | 70 | |
@@ -91,7 +91,7 @@ discard block |
||
91 | 91 | * If the method changes to public, use Gravity Forms' method |
92 | 92 | * @todo: If/when the method is public, remove the unneeded copied code. |
93 | 93 | */ |
94 | - if( $reflection->isPublic() ) { |
|
94 | + if ( $reflection->isPublic() ) { |
|
95 | 95 | return parent::copy_post_image( $url, $post_id ); |
96 | 96 | } |
97 | 97 | |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | * If the method changes to public, use Gravity Forms' method |
127 | 127 | * @todo: If/when the method is public, remove the unneeded copied code. |
128 | 128 | */ |
129 | - if( $reflection->isPublic() ) { |
|
129 | + if ( $reflection->isPublic() ) { |
|
130 | 130 | return parent::media_handle_upload( $url, $post_id, $post_data ); |
131 | 131 | } |
132 | 132 |
@@ -47,7 +47,7 @@ |
||
47 | 47 | function edit_entry_fix_hidden_fields( $fields ) { |
48 | 48 | |
49 | 49 | /** @var GF_Field $field */ |
50 | - foreach( $fields as &$field ) { |
|
50 | + foreach ( $fields as &$field ) { |
|
51 | 51 | if ( 'hidden' === $field->type ) { |
52 | 52 | |
53 | 53 | // Replace GF_Field_Hidden with GF_Field_Text, copying all the data from $field |