Settings.php 1.31 KB
<?php

namespace Tz\WordPress\Tools\Analytics\Settings;

use Tz\WordPress\Tools;
use Tz\WordPress\Tools\Analytics;

const OPTION_GROUP   = 'tz_analytics_group';
const OPTION_SECTION = 'tz_analytics_main';
const ADMIN_PAGE     = 'tz-tool-analytics';
const CAPABILITY     = 'configure_analytics';

    call_user_func(function() {
        $role = get_role('administrator');
        $role->add_cap(CAPABILITY);

        Tools\add_actions(__NAMESPACE__ . '\Actions');
    });

function displayPage() {
    require_once(__DIR__ . DIRECTORY_SEPARATOR . 'settings_view.php');
}

function validate($data) {
    return $data;
}

class Actions {
    public static function admin_menu() {
        add_options_page('Analytics', 'Analytics', CAPABILITY, ADMIN_PAGE, __NAMESPACE__ . '\displayPage');
    }

    public static function admin_init() {
        register_setting(OPTION_GROUP, Analytics\OPTION_NAME, __NAMESPACE__ . '\validate');
        add_settings_section(OPTION_SECTION, '', function() {}, ADMIN_PAGE);

        Tools\add_settings_fields(__NAMESPACE__ . '\Fields', ADMIN_PAGE, OPTION_SECTION);
    }
}

class Fields {
    public static function api_key() {
        echo '<input tpe="text" name="' . Analytics\OPTION_NAME . '[' . __FUNCTION__ . ']" id="' . __FUNCTION__ . '" value="' . Analytics\Vars::$options[__FUNCTION__] . '" />';
    }
}
?>