oms-News/Admin/Install/Comments.php
Dennis Eichhorn 2b266244f9
Some checks failed
Image optimization / general_image_workflow (push) Has been cancelled
CI / general_module_workflow_php (push) Has been cancelled
fix permissions
2025-04-02 14:15:06 +00:00

64 lines
1.6 KiB
PHP

<?php
/**
* Jingga
*
* PHP Version 8.2
*
* @package Modules\News\Admin\Install
* @copyright Dennis Eichhorn
* @license OMS License 2.2
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
namespace Modules\News\Admin\Install;
use phpOMS\Application\ApplicationAbstract;
use phpOMS\Autoloader;
use phpOMS\DataStorage\Database\Schema\Builder;
/**
* Comments class.
*
* @package Modules\News\Admin\Install
* @license OMS License 2.2
* @link https://jingga.app
* @since 1.0.0
*/
class Comments
{
/**
* Install comment relation
*
* @param ApplicationAbstract $app Application
* @param string $path Module path
*
* @return void
*
* @since 1.0.0
*/
public static function install(ApplicationAbstract $app, string $path) : void
{
$builder = new Builder($app->dbPool->get('schema'));
$builder->alterTable('news')
->addConstraint('news_comment_list', 'comments_list', 'comments_list_id')
->execute();
$mapper = \file_get_contents(__DIR__ . '/../../Models/NewsArticleMapper.php');
if ($mapper === false) {
throw new \Exception('Couldn\'t parse mapper');
}
// @todo removed until modular mapper extension is implemented
// $mapper = \str_replace([
// '// @Module Comments ',
// '/* @Module Comments ',
// ' @Module Comments */',
// ], '', $mapper);
// \file_put_contents(__DIR__ . '/../../Models/NewsArticleMapper.php', $mapper);
Autoloader::invalidate(__DIR__ . '/../../Models/NewsArticleMapper.php');
}
}