/var/www/(Del)hsihk.com/wp-content/plugins/ninja-forms/includes/fields/rating.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
function ninja_forms_register_field_rating(){
    
$args = array(
        
'name' => __'Star Rating''ninja-forms' ),
        
'sidebar' => 'template_fields',
        
'display_function' => 'ninja_forms_field_rating_display',
        
'pre_process' => 'ninja_forms_field_rating_pre_process',
        
'group' => 'standard_fields',
        
'edit_options' => array(
            array(
                
'name' => 'rating_stars',
                
'type' => 'text',
                
'label' => __'Number of stars''ninja-forms' ),
                
'width' => 'thin',
                
'default' => 5,
            ),
        ),
        
'edit_label' => true,
        
'edit_label_pos' => true,
        
'edit_req' => true,
        
'edit_custom_class' => true,
        
'edit_help' => true,
        
'edit_meta' => true,
        
'edit_conditional' => true,
    );

    
ninja_forms_register_field('_rating'$args);
}

add_action('init''ninja_forms_register_field_rating');

function 
ninja_forms_field_rating_display$field_id$data$form_id '' ){
    if( isset( 
$data['default_value'] ) ){
        
$default_value $data['default_value'];
    }else{
        
$default_value '';
    }

    if( isset( 
$data['rating_stars'] ) ){
        
$rating_stars $data['rating_stars'];
    }else{
        
$rating_stars 5;
    }

    
$x 1;
    while( 
$x <= $rating_stars ){
        
?>
        <input name="ninja_forms_field_<?php echo $field_id;?>" type="radio" class="ninja-forms-star" value="<?php echo $x;?><?php checked$default_value$x );?>/>
        <?php
        $x
++;
    }
}

function 
ninja_forms_field_rating_pre_process$field_id$user_value ) {
    global 
$ninja_forms_processing;
    
    if ( 
$user_value == false ) {
        
$ninja_forms_processing->update_field_value$field_id'' );
    }
}