Пример #1
0
    private function get_form_common_fields($post_arr, $form_arr)
    {
        $post_arr = self::validate_post_data($post_arr);
        if (empty($form_arr['hidden_form'])) {
            $form_arr['hidden_form'] = false;
        } else {
            $form_arr['hidden_form'] = empty($form_arr['hidden_form']) ? false : true;
        }
        if (empty($post_arr['foobar'])) {
            $api_config_arr = self::get_api_configuration();
            // form defaults
            if (empty($post_arr['api_key']) and !empty($api_config_arr['api_key'])) {
                $post_arr['api_key'] = $api_config_arr['api_key'];
            }
            if (empty($post_arr['site_id']) and !empty($api_config_arr['site_id'])) {
                $post_arr['site_id'] = $api_config_arr['site_id'];
            }
            if (empty($post_arr['environment']) and !empty($api_config_arr['environment'])) {
                $post_arr['environment'] = $api_config_arr['environment'];
            }
        }
        ob_start();
        if (!empty($form_arr['hidden_form'])) {
            ?>
            <input type="hidden" id="site_id" name="site_id" value="<?php 
            echo self::form_str($post_arr['site_id']);
            ?>
" />
            <input type="hidden" id="api_key" name="api_key" value="<?php 
            echo self::form_str($post_arr['api_key']);
            ?>
" />
            <input type="hidden" id="environment" name="environment" value="<?php 
            echo self::form_str($post_arr['environment']);
            ?>
" />
            <input type="hidden" id="method" name="method" value="<?php 
            echo self::form_str($post_arr['method']);
            ?>
" />
            <?php 
        } else {
            ?>
            <div class="form_field">
                <label for="api_key"><?php 
            echo self::s2p_t('API Key');
            ?>
</label>

                <div class="form_input">
                    <input type="text" id="api_key" name="api_key" value="<?php 
            echo self::form_str($post_arr['api_key']);
            ?>
" style="width: 350px;" />
                </div>
            </div>

            <div class="form_field">
                <label for="site_id"><?php 
            echo self::s2p_t('Site ID');
            ?>
</label>

                <div class="form_input">
                    <input type="text" id="site_id" name="site_id" value="<?php 
            echo self::form_str($post_arr['site_id']);
            ?>
" style="width: 150px;" />
                </div>
            </div>

            <div class="form_field">
                <label for="environment"><?php 
            echo self::s2p_t('Environment');
            ?>
</label>

                <div class="form_input"><select id="environment" name="environment">
                    <option value="test" <?php 
            echo $post_arr['environment'] == 'test' ? 'selected="selected"' : '';
            ?>
>Test</option>
                    <option value="live" <?php 
            echo $post_arr['environment'] == 'live' ? 'selected="selected"' : '';
            ?>
>Live</option>
                </select></div>
            </div>

            <div class="form_field">
                <label for="method"><?php 
            echo self::s2p_t('Method');
            ?>
</label>

                <div class="form_input">
                    <select id="method" name="method" onchange="document.<?php 
            echo $form_arr['form_name'];
            ?>
.submit()">
                        <option value=""> - <?php 
            echo self::s2p_t('Choose an option');
            ?>
 -</option><?php 
            if ($all_methods = S2P_SDK_Method::get_all_methods() and is_array($all_methods)) {
                foreach ($all_methods as $method_id => $method_details) {
                    if (empty($method_details['instance'])) {
                        continue;
                    }
                    /** @var S2P_SDK_Method $instance */
                    $instance = $method_details['instance'];
                    ?>
<option value="<?php 
                    echo $method_id;
                    ?>
" <?php 
                    echo $post_arr['method'] == $method_id ? 'selected="selected"' : '';
                    ?>
><?php 
                    echo $method_id . ' - ' . $instance->get_name();
                    ?>
</option><?php 
                }
            }
            ?>
</select></div>
            </div>

        <?php 
        }
        if (!empty($this->_method) and $method_functionalities = $this->_method->get_functionalities() and is_array($method_functionalities)) {
            if (!empty($form_arr['hidden_form'])) {
                ?>
                <input type="hidden" id="func" name="func" value="<?php 
                echo self::form_str($post_arr['func']);
                ?>
" />
                <?php 
            } else {
                ?>
                <div class="form_field">
                    <label for="func"><?php 
                echo self::s2p_t('Functionality');
                ?>
</label>

                    <div class="form_input">
                        <select id="func" name="func" onchange="document.<?php 
                echo $form_arr['form_name'];
                ?>
.submit()">
                            <option value=""> - <?php 
                echo self::s2p_t('Choose an option');
                ?>
 -</option><?php 
                foreach ($method_functionalities as $functionality_name => $functionality_arr) {
                    if (empty($method_details['instance'])) {
                        continue;
                    }
                    /** @var S2P_SDK_Method $instance */
                    $instance = $method_details['instance'];
                    ?>
                                <option value="<?php 
                    echo $functionality_name;
                    ?>
" <?php 
                    echo $post_arr['func'] == $functionality_name ? 'selected="selected"' : '';
                    ?>
><?php 
                    echo $functionality_name . ' - ' . $functionality_arr['name'];
                    ?>
</option><?php 
                }
                ?>
</select></div>
                </div>
                <?php 
            }
        }
        $buf = ob_get_clean();
        return $buf;
    }