WowPress-Tailwind/theme/request.php

67 lines
2.2 KiB
PHP
Raw Normal View History

2024-04-15 23:07:29 +02:00
<?php
require_once('vendor/autoload.php');
use Illuminate\Support\Facades\Redirect;
use WoWPress\Models\Character;
if (empty($_POST['action'])) {
exit(404);
}
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php')) {
/** Loads the WordPress Environment and Template */
require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php');
}
switch ($_POST['action']) {
case 'addCharacter':
if (current_user_can('wowpress_edit_characters')) {
if (isset($_POST['addCharacter_nonce']) && wp_verify_nonce($_POST['addCharacter_nonce'], 'addCharacter')) {
if (isset($_POST['name']) && isset($_POST['realm'])) {
$char = Character::whereName($_POST['name'])->whereRealm($_POST['realm'])->first();
if (empty($char->ID)) {
$char = new Character();
$char->name = $_POST['name'];
$char->realm = $_POST['realm'];
$char->updateFromAPI();
$char->updateMedia();
}
}
} else {
echo "NO";
}
} else {
echo "NO BUT IN BLACK";
}
break;
case 'deleteCharacter':
if (current_user_can('wowpress_edit_characters')) {
if (isset($_POST['deleteCharacter_nonce']) && wp_verify_nonce($_POST['deleteCharacter_nonce'], 'deleteCharacter')) {
if (isset($_POST['id'])) {
$char = Character::find($_POST['id']);
if ($char->ID) {
$char->delete();
}
}
}
}
break;
case 'updateCharacter':
if (current_user_can('wowpress_edit_characters')) {
if (isset($_POST['updateCharacter_nonce']) && wp_verify_nonce($_POST['updateCharacter_nonce'], 'updateCharacter')) {
if (isset($_POST['id'])) {
$char = Character::find($_POST['id']);
if ($char->ID) {
$char->updateFromAPI();
$char->updateMedia();
}
}
}
}
break;
}
header('Location: ' . $_SERVER['HTTP_REFERER']);