Source of file class-fields.php

Size: 2,195 Bytes - Last Modified: 2016-01-09T13:01:28-05:00

../src/lib/class-fields.php

123456789101112131415161718192021222324252627282930313233
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
3435
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
36
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
37
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
38
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
3940
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
41
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
42
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_input_field with data set "empty replacements"
434445464748495051
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_input_field with data set "empty replacements"
52
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_input_field with data set "empty replacements"
53545556575859606162
Covered by 4 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "empty array"
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
63
Covered by 4 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "empty array"
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
6465
Covered by 4 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "empty array"
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
66
Covered by 3 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
67
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
68
Covered by 1 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
69
Covered by 3 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
70
Covered by 3 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
71
Covered by 3 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
72
Covered by 4 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "empty array"
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
7374
Covered by 4 test(s):
  • WpWodify\FieldsTest::test_get_attribs with data set "empty array"
  • WpWodify\FieldsTest::test_get_attribs with data set "single attrib"
  • WpWodify\FieldsTest::test_get_attribs with data set "two attribs"
  • WpWodify\FieldsTest::test_get_attribs with data set "nested array attribs"
7576777879808182838485
<?php
/**
 * Fields Class
 *
 * @category    PHP
 * @package     WpWodify
 * @subpackage  Fields
 * @since       File available since release 1.0.x
 * @author      Cory Collier <corycollier@corycollier.com>
 */

namespace WpWodify;

/**
 * Fields Class
 *
 * @category    PHP
 * @package     WpWodify
 * @subpackage  Fields
 * @since       Class available since release 1.0.x
 * @author      Cory Collier <corycollier@corycollier.com>
 */
class Fields {

    /**
     * Standard input[type=*] template.
     *
     * @param array $replacements An array of replacements to make
     *
     * @return string The markup for a standard input field.
     */
    public function get_input_field($replacements) {
        $template = '<input type="!type" name="!name" value="!value" !attribs />';
        $defaults = array(
            '!type'  => 'text',
            '!name'  => '',
            '!value' => '',
        );

        $attribs = $this->get_attribs( array_diff_key( $replacements, $defaults ) );
        $defaults['!attribs'] = $attribs;
        return strtr( $template, array_merge( $defaults, $replacements ) );
    }

    /**
     * Outputs the result of the get_input_field method.
     *
     * @param array $replacements An array of replacements to make
     */
    public function input_field($replacements) {
        echo $this->get_input_field($replacements);
    }

    /**
     * Gets a string representing key=value pairs.
     *
     * @param  array $values The array of key/value pairs.
     *
     * @return string A string of key="value" pairs.
     */
    protected function get_attribs($values) {
        $result = '';
        $sep = '';

        foreach ($values as $name => $value) {
            if (is_array($value)) {
                $value = implode(',', array_values($value));
            }
            $name = ltrim($name,'!');
            $result .= $sep . $name . '="' . $value . '"';
            $sep = ' ';
        }

        return $result;
    }




    public function admin_settings_api_key() {
        $setting = get_option( 'wp-wodify-api-key' );
        echo '<input type="text" name="wp-wodify-api-key" value="' . esc_attr( $setting ) . '" />';
    }
}