Exemplo n.º 1
0
    public function get_form_method_get_params_fields_input($get_var, $params = false)
    {
        if (!($get_var = S2P_SDK_Method::validate_get_variable_definition($get_var))) {
            self::st_reset_error();
            return '';
        }
        if (empty($params) or !is_array($params)) {
            $params = array();
        }
        if (empty($params['post_arr']) or !is_array($params['post_arr'])) {
            $params['post_arr'] = array();
        }
        if (!isset($params['allow_remote_calls'])) {
            $params['allow_remote_calls'] = self::ALLOW_REMOTE_CALLS;
        } else {
            $params['allow_remote_calls'] = !empty($params['allow_remote_calls']) ? true : false;
        }
        $post_arr = $params['post_arr'];
        ob_start();
        $field_name = 'gvars[' . $get_var['name'] . ']';
        $field_id = 'gvar_' . $get_var['name'];
        if (isset($post_arr['gvars'][$get_var['name']])) {
            $field_value = $post_arr['gvars'][$get_var['name']];
        } elseif (!empty($get_var['check_constant']) and defined($get_var['check_constant'])) {
            $field_value = constant($get_var['check_constant']);
        } elseif (isset($get_var['default'])) {
            $field_value = $get_var['default'];
        } else {
            $field_value = '';
        }
        if (!($field_type_arr = S2P_SDK_Scope_Variable::valid_type($get_var['type']))) {
            $field_type_arr = array('title' => '[undefined]');
        }
        ?>
        <div class="form_field">
            <label for="<?php 
        echo $field_id;
        ?>
" class="<?php 
        echo !empty($get_var['mandatory']) ? 'mandatory' : '';
        ?>
"><?php 
        echo !empty($get_var['display_name']) ? $get_var['display_name'] . ' (' . $get_var['name'] . ')' : $get_var['name'];
        ?>
</label>
            <div class="form_input"><?php 
        if (!empty($get_var['value_source']) and S2P_SDK_Values_Source::valid_type($get_var['value_source']) and $value_source_obj = new S2P_SDK_Values_Source($get_var['value_source']) and ($value_source_obj->remote_calls($params['allow_remote_calls']) or true) and $options_value = $value_source_obj->get_option_values() and is_array($options_value)) {
            ?>
<select id="<?php 
            echo $field_id;
            ?>
" name="<?php 
            echo $field_name;
            ?>
">
                    <option value=""> - <?php 
            echo self::s2p_t('Choose an option');
            ?>
 [<?php 
            echo count($options_value);
            ?>
] - </option><?php 
            foreach ($options_value as $key => $val) {
                ?>
<option value="<?php 
                echo self::form_str($key);
                ?>
" <?php 
                echo $field_value == $key ? 'selected="selected"' : '';
                ?>
><?php 
                echo $val;
                ?>
</option><?php 
            }
            ?>
</select><?php 
        } else {
            if ($get_var['type'] == S2P_SDK_Scope_Variable::TYPE_BOOL) {
                ?>
<input type="checkbox" id="<?php 
                echo $field_id;
                ?>
" name="<?php 
                echo $field_name;
                ?>
" value="1" <?php 
                echo !empty($field_value) ? 'checked="checked"' : '';
                ?>
 /><?php 
            } elseif ($get_var['type'] == S2P_SDK_Scope_Variable::TYPE_DATETIME) {
                ?>
<input type="text" id="<?php 
                echo $field_id;
                ?>
" name="<?php 
                echo $field_name;
                ?>
" value="<?php 
                echo self::form_str($field_value);
                ?>
" class="datepicker" /><?php 
            } else {
                ?>
<input type="text" id="<?php 
                echo $field_id;
                ?>
" name="<?php 
                echo $field_name;
                ?>
" value="<?php 
                echo self::form_str($field_value);
                ?>
" /><?php 
            }
            echo ' (' . $field_type_arr['title'] . ')';
        }
        if ($get_var['type'] == S2P_SDK_Scope_Variable::TYPE_DATETIME) {
            echo ' - yyyymmddhhmmss';
        }
        ?>
</div>
        </div>
        <?php 
        $buf = ob_get_clean();
        return $buf;
    }