PluginProbe
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI / 8.0.2
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI v8.0.2
8.0.1 8.0.2 8.0.0 7.9.9.7 7.9.9.6 7.9.9.5 7.9.9.4 7.9.9.3 7.9.9.2 7.9.9.1 7.9.9 7.9.8 7.9.7 7.9.6 7.9.5 7.9.4 7.9.3 7.9.2 7.9.1 7.9.0 7.8.9 7.8.8 7.8.7 7.8.6 7.8.5 All 44 releases
gamipress / integrations / divi / includes / requirements.php

requirements.php in GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI 8.0.2, at integrations/divi/includes/requirements.php

101 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Requirements
4 *
5 * @package GamiPress\Divi\Requirements
6 * @since 1.0.0
7 */
8
9 // Exit if accessed directly
10 if( !defined( 'ABSPATH' ) ) exit;
11
12 /**
13 * Add the custom field to the requirement object
14 *
15 * @since 1.0.0
16 *
17 * @param $requirement
18 * @param $requirement_id
19 *
20 * @return array
21 */
22 function gamipress_divi_requirement_object( $requirement, $requirement_id ) {
23
24 if( isset( $requirement['trigger_type'] )
25 && ( $requirement['trigger_type'] === 'gamipress_divi_specific_new_form_submission'
26 || $requirement['trigger_type'] === 'gamipress_divi_specific_field_value_submission' ) ) {
27
28 // Form name
29 $requirement['divi_form_id'] = get_post_meta( $requirement_id, '_gamipress_divi_form_id', true );
30 }
31
32 if( isset( $requirement['trigger_type'] )
33 && ( $requirement['trigger_type'] === 'gamipress_divi_field_value_submission'
34 || $requirement['trigger_type'] === 'gamipress_divi_specific_field_value_submission' ) ) {
35
36 // Field name and value
37 $requirement['divi_field_name'] = get_post_meta( $requirement_id, '_gamipress_divi_field_name', true );
38 $requirement['divi_field_value'] = get_post_meta( $requirement_id, '_gamipress_divi_field_value', true );
39 }
40
41 return $requirement;
42 }
43 add_filter( 'gamipress_requirement_object', 'gamipress_divi_requirement_object', 10, 2 );
44
45 /**
46 * Custom field on requirements UI
47 *
48 * @since 1.0.0
49 *
50 * @param $requirement_id
51 * @param $post_id
52 */
53 function gamipress_divi_requirement_ui_fields( $requirement_id, $post_id ) {
54
55 $form_id = get_post_meta( $requirement_id, '_gamipress_divi_form_id', true );
56 $field_name = get_post_meta( $requirement_id, '_gamipress_divi_field_name', true );
57 $field_value = get_post_meta( $requirement_id, '_gamipress_divi_field_value', true );
58 ?>
59
60 <span class="divi-form-id"><input type="text" value="<?php echo $form_id; ?>" placeholder="<?php echo __( 'Form ID', 'gamipress' ); ?>" /></span>
61 <span class="divi-field-name"><input type="text" value="<?php echo $field_name; ?>" placeholder="<?php echo __( 'Field ID', 'gamipress' ); ?>" /></span>
62 <span class="divi-field-value"><input type="text" value="<?php echo $field_value; ?>" placeholder="<?php echo __( 'Field value', 'gamipress' ); ?>" /></span>
63
64 <?php
65 }
66 add_action( 'gamipress_requirement_ui_html_after_achievement_post', 'gamipress_divi_requirement_ui_fields', 10, 2 );
67
68 /**
69 * Custom handler to save the custom field on requirements UI
70 *
71 * @since 1.0.0
72 *
73 * @param $requirement_id
74 * @param $requirement
75 */
76 function gamipress_divi_ajax_update_requirement( $requirement_id, $requirement ) {
77
78 $requirement = wp_parse_args( $requirement, array(
79 'divi_form_id' => '',
80 'divi_field_name' => '',
81 'divi_field_value' => '',
82 ) );
83
84 if( isset( $requirement['trigger_type'] )
85 && ( $requirement['trigger_type'] === 'gamipress_divi_specific_new_form_submission'
86 || $requirement['trigger_type'] === 'gamipress_divi_specific_field_value_submission' ) ) {
87
88 // Form name
89 update_post_meta( $requirement_id, '_gamipress_divi_form_id', $requirement['divi_form_id'] );
90 }
91
92 if( isset( $requirement['trigger_type'] )
93 && ( $requirement['trigger_type'] === 'gamipress_divi_field_value_submission'
94 || $requirement['trigger_type'] === 'gamipress_divi_specific_field_value_submission' ) ) {
95
96 // Field name and value
97 update_post_meta( $requirement_id, '_gamipress_divi_field_name', $requirement['divi_field_name'] );
98 update_post_meta( $requirement_id, '_gamipress_divi_field_value', $requirement['divi_field_value'] );
99 }
100 }
101 add_action( 'gamipress_ajax_update_requirement', 'gamipress_divi_ajax_update_requirement', 10, 2 );