You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.3 KiB
PHP
65 lines
1.3 KiB
PHP
<?php
|
|
namespace DeployerForGit\Subpages\LogsPage;
|
|
|
|
use DeployerForGit\DataManager;
|
|
use DeployerForGit\Logger;
|
|
|
|
/**
|
|
* Logs page
|
|
*/
|
|
class Logs {
|
|
|
|
/**
|
|
* Constructor
|
|
*/
|
|
public function __construct() {
|
|
add_action( is_multisite() ? 'network_admin_menu' : 'admin_menu', array( $this, 'init_menu' ) );
|
|
}
|
|
|
|
/**
|
|
* Initialize menu
|
|
*
|
|
* @return void
|
|
*/
|
|
public function init_menu() {
|
|
$menu_slug = \DeployerForGit\Helper::menu_slug();
|
|
$capability = is_multisite() ? 'manage_network_options' : 'manage_options';
|
|
|
|
add_submenu_page(
|
|
$menu_slug,
|
|
esc_attr__( 'Logs', 'deployer-for-git' ),
|
|
esc_attr__( 'Logs', 'deployer-for-git' ),
|
|
$capability,
|
|
"{$menu_slug}-logs",
|
|
array( $this, 'init_page' )
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Initialize page
|
|
*
|
|
* @return void
|
|
*/
|
|
public function init_page() {
|
|
$data_manager = new DataManager();
|
|
$this->handle_clear_log_form();
|
|
|
|
include_once __DIR__ . '/template.php';
|
|
}
|
|
|
|
/**
|
|
* Handle clear log form
|
|
*
|
|
* @return void
|
|
*/
|
|
public function handle_clear_log_form() {
|
|
$form_submitted = false;
|
|
|
|
if ( isset( $_POST[ DFG_SLUG . '_nonce' ] ) && wp_verify_nonce( ( sanitize_text_field( wp_unslash( $_POST[ DFG_SLUG . '_nonce' ] ) ) ), DFG_SLUG . '_clear_log_file' ) ) {
|
|
$logger = new Logger();
|
|
$clear_log_result = $logger->clear_log_file();
|
|
$form_submitted = true;
|
|
}
|
|
}
|
|
}
|