<?php

require_once __DIR__ . '/wp-load.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-stock-db-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-image-db-utils.php';
require_once ABSPATH . WPINC . '/lib/helper/class-request-helper.php';
require_once ABSPATH . WPINC . '/lib/utils/class-template-utils.php';
if (!is_user_logged_in()) {
    wp_redirect(home_url());
    exit;
}
$stockId = RequestHelper::getParameter("stock_id");
$stock = null;
if ($stockId) {
    $stock = StockDBUtils::getStockById($stockId);
}
$data = ["stock" => $stock];
TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/stock-form.php', $data);
 static function deleteStockById($stockId)
 {
     $stock = StockDBUtils::getStockById($stockId);
     ImageUtils::deleteImageById($stock->image_id);
     StockDBUtils::deleteStockById($stockId);
 }
<?php

require_once __DIR__ . '/wp-load.php';
require_once ABSPATH . WPINC . '/lib/helper/class-request-helper.php';
require_once ABSPATH . WPINC . '/lib/validator/class-stock-form-validator.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-stock-db-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/class-image-utils.php';
if (!is_user_logged_in()) {
    wp_redirect(home_url());
    exit;
}
$stockInfo = RequestHelper::getStockInfoFromRequest();
if (StockFormValidator::validateAddStockParameters($stockInfo)) {
    $image = ImageUtils::createImageFromRequestParameters($stockInfo);
    if ($image) {
        StockDBUtils::createStock($stockInfo, $image->image_id);
    }
}
wp_redirect(get_site_url() . '/stocks');
exit;
<?php

/*
Template Name: Stocks
*/
require_once ABSPATH . WPINC . '/lib/utils/db/class-stock-db-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-image-db-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/class-template-utils.php';
require_once ABSPATH . WPINC . '/lib/helper/class-stock-filter-helper.php';
$tabIndex = 4;
$stocks = StockDBUtils::getActiveStocks();
$data = ["stocks" => $stocks];
get_header();
?>

    <div class="services">
        <div class="container">
            <div class="col-md-6">
                <?php 
if (is_user_logged_in()) {
    ?>
                    <div class="btn-group float-left">
                        <a href="<?php 
    echo get_site_url();
    ?>
/add-stock-page-controller.php"><span class="btn btn-primary">Добавить мероприятие</span></a>
                    </div>
                    <div class="clearfix"></div>
                <?php 
} else {
    ?>
<?php

require_once __DIR__ . '/wp-load.php';
require_once ABSPATH . WPINC . '/lib/helper/class-request-helper.php';
require_once ABSPATH . WPINC . '/lib/validator/class-stock-form-validator.php';
require_once ABSPATH . WPINC . '/lib/utils/class-image-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-stock-db-utils.php';
if (!is_user_logged_in()) {
    wp_redirect(home_url());
    exit;
}
$stockInfo = RequestHelper::getStockInfoFromRequest();
if (StockFormValidator::validateEditStockParameters($stockInfo)) {
    $stock = StockDBUtils::getStockById($stockInfo[Stock::ID_FIELD]);
    $imageId = $stock->image_id;
    if ($stock && StockFormValidator::validateStockAvatar($stockInfo)) {
        $image = ImageUtils::createImageFromRequestParameters($stockInfo);
        if ($image) {
            ImageUtils::deleteImageById($stock->image_id);
            $imageId = $image->image_id;
        }
    }
    StockDBUtils::updateStockById($stockInfo, $imageId, $stock->stock_id);
}
wp_redirect(get_site_url() . '/stocks');
exit;
<?php

require_once __DIR__ . '/wp-load.php';
require_once ABSPATH . WPINC . '/lib/helper/class-stock-filter-helper.php';
require_once ABSPATH . WPINC . '/lib/helper/class-request-helper.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-stock-db-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/class-template-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/db/class-image-db-utils.php';
require_once ABSPATH . WPINC . '/lib/utils/class-stock-utils.php';
$filter = RequestHelper::getParameter(StockFilterHelper::FILTER_FIELD);
$stocks = [];
if ($filter == StockFilterHelper::ACTIVE) {
    $stocks = StockDBUtils::getActiveStocks();
} elseif ($filter == StockFilterHelper::INACTIVE) {
    $stocks = StockDBUtils::getInactiveStocks();
}
$data = ["stocks" => $stocks];
echo TemplateUtils::includeTemplate(get_template_directory() . '/page-templates/stock-info-block.php', $data);