Initial commit
This commit is contained in:
99
includes/class-ramais-admin.php
Normal file
99
includes/class-ramais-admin.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class Ramais_Admin {
|
||||
private $database;
|
||||
|
||||
public function __construct($database) {
|
||||
$this->database = $database;
|
||||
$this->init_hooks();
|
||||
}
|
||||
|
||||
private function init_hooks() {
|
||||
add_action('admin_menu', array($this, 'add_admin_menu'));
|
||||
add_action('admin_post_add_ramal', array($this, 'handle_add_ramal'));
|
||||
}
|
||||
|
||||
public function add_admin_menu() {
|
||||
add_menu_page(
|
||||
__('Ramais Telefônicos', 'ramais-telefonicos'),
|
||||
__('Ramais', 'ramais-telefonicos'),
|
||||
'manage_options',
|
||||
'ramais-telefonicos',
|
||||
array($this, 'render_admin_page'),
|
||||
'dashicons-phone',
|
||||
20
|
||||
);
|
||||
}
|
||||
|
||||
public function render_admin_page() {
|
||||
if (!current_user_can('manage_options')) {
|
||||
wp_die(__('Você não tem permissão para acessar esta página.', 'ramais-telefonicos'));
|
||||
}
|
||||
|
||||
$status = isset($_GET['status']) ? sanitize_text_field($_GET['status']) : '';
|
||||
?>
|
||||
<div class="wrap">
|
||||
<h1><?php _e('Adicionar Novo Ramal', 'ramais-telefonicos'); ?></h1>
|
||||
|
||||
<?php if ($status === 'success'): ?>
|
||||
<div class="notice notice-success"><p><?php _e('Ramal adicionado com sucesso!', 'ramais-telefonicos'); ?></p></div>
|
||||
<?php elseif ($status === 'error'): ?>
|
||||
<div class="notice notice-error"><p><?php _e('Erro ao adicionar ramal. Verifique os dados.', 'ramais-telefonicos'); ?></p></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>">
|
||||
<input type="hidden" name="action" value="add_ramal">
|
||||
<?php wp_nonce_field('add_ramal_nonce'); ?>
|
||||
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<th scope="row"><label for="ramal"><?php _e('Ramal', 'ramais-telefonicos'); ?></label></th>
|
||||
<td><input type="text" name="ramal" id="ramal" class="regular-text" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="responsavel"><?php _e('Responsável', 'ramais-telefonicos'); ?></label></th>
|
||||
<td><input type="text" name="responsavel" id="responsavel" class="regular-text" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="secretaria"><?php _e('Secretaria', 'ramais-telefonicos'); ?></label></th>
|
||||
<td><input type="text" name="secretaria" id="secretaria" class="regular-text" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="setor"><?php _e('Setor', 'ramais-telefonicos'); ?></label></th>
|
||||
<td><input type="text" name="setor" id="setor" class="regular-text" required></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="email"><?php _e('Email', 'ramais-telefonicos'); ?></label></th>
|
||||
<td><input type="email" name="email" id="email" class="regular-text" required></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<?php submit_button(__('Adicionar Ramal', 'ramais-telefonicos')); ?>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
public function handle_add_ramal() {
|
||||
if (!current_user_can('manage_options') || !wp_verify_nonce($_POST['_wpnonce'], 'add_ramal_nonce')) {
|
||||
wp_die(__('Ação não autorizada.', 'ramais-telefonicos'));
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'ramal' => $_POST['ramal'] ?? '',
|
||||
'responsavel' => $_POST['responsavel'] ?? '',
|
||||
'secretaria' => $_POST['secretaria'] ?? '',
|
||||
'setor' => $_POST['setor'] ?? '',
|
||||
'email' => $_POST['email'] ?? ''
|
||||
);
|
||||
|
||||
$success = $this->database->add_ramal($data);
|
||||
$status = $success ? 'success' : 'error';
|
||||
|
||||
wp_redirect(admin_url('admin.php?page=ramais-telefonicos&status=' . $status));
|
||||
exit;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user