Skip to content
Snippets Groups Projects
Commit ca3dcc27 authored by Lucas García's avatar Lucas García
Browse files

feat: apply abstracts changes on settings and menu

parent 9d3124f9
No related branches found
No related tags found
1 merge request!2Git submodules
This commit is part of merge request !2. Comments created here will be created in the context of that merge request.
Subproject commit 7aafa255bb98a27657cc535464a0469f1b8332ed
Subproject commit 90b1d211eccfc4aa41c272b22506563e2662ef3b
......@@ -2,59 +2,24 @@
namespace WPCT_HTTP;
class Menu extends \WPCT_ABSTRACT\Singleton
{
private $name;
private $settings;
protected function __construct($name, $settings)
{
$this->name = $name;
$this->settings = $settings;
add_action('admin_menu', function () {
$this->add_menu();
});
use WPCT_ABSTRACT\Menu as BaseMenu;
add_action('admin_init', function () {
$this->settings->register();
});
}
private function add_menu()
{
add_options_page(
$this->name,
$this->name,
'manage_options',
$this->settings->get_name(),
function () {
$this->render_page();
},
);
}
class Menu extends BaseMenu
{
protected static $settings_class = '\WPCT_HTTP\Settings';
private function render_page()
protected function render_page()
{
ob_start();
?>
<div class="wrap">
?><div class="wrap">
<h1><?= $this->name ?></h1>
<form action="options.php" method="post">
<?php
settings_fields($this->settings->get_name());
do_settings_sections($this->settings->get_name());
submit_button();
?>
</form>
</div>
<?php
<form action="options.php" method="post"><?php
settings_fields($this->settings->get_group_name());
do_settings_sections($this->settings->get_group_name());
submit_button();
?></form>
</div><?php
$output = ob_get_clean();
echo apply_filters('wpct_http_menu_page_content', $output);
}
public function get_settings()
{
return $this->settings;
}
}
......@@ -2,7 +2,9 @@
namespace WPCT_HTTP;
class Settings extends \WPCT_ABSTRACT\Settings
use WPCT_ABSTRACT\Settings as BaseSettings;
class Settings extends BaseSettings
{
public function register()
{
......
......@@ -29,6 +29,7 @@ if (!class_exists('\WPCT_HTTP\Wpct_Http_Bridge')) :
require_once 'abstracts/class-singleton.php';
require_once 'abstracts/class-plugin.php';
require_once 'abstracts/class-menu.php';
require_once 'abstracts/class-settings.php';
require_once 'includes/class-menu.php';
......@@ -39,8 +40,10 @@ if (!class_exists('\WPCT_HTTP\Wpct_Http_Bridge')) :
class Wpct_Http_Bridge extends Plugin
{
protected $name = 'Wpct Http Bridge';
protected $textdomain = 'wpct-http-bridge';
public static $name = 'Wpct Http Bridge';
public static $textdomain = 'wpct-http-bridge';
protected static $menu_class = '\WPCT_HTTP\Menu';
public function __construct()
{
......@@ -63,31 +66,10 @@ if (!class_exists('\WPCT_HTTP\Wpct_Http_Bridge')) :
public static function activate()
{
$user = get_user_by('login', 'wpct_http_user');
if ($user) {
return;
}
$site_url = parse_url(get_site_url());
$user_id = wp_insert_user([
'user_nicename' => 'Wpct Http User',
'user_login' => 'wpct_http_user',
'user_pass' => 'wpct_http_pass',
'user_email' => 'wpct_http_user@' . $site_url['host'],
'role' => 'editor',
]);
if (is_wp_error($user_id)) {
throw new Exception($user_id->get_error_message());
}
}
public static function deactivate()
{
$user = get_user_by('login', 'wpct_http_user');
if ($user) {
wp_delete_user($user->ID);
}
}
public function init()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment