diff --git a/Admin/Installer.php b/Admin/Installer.php index f9bd2d2..076e718 100644 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -48,7 +48,8 @@ class Installer extends InstallerAbstract `group_id` int(11) NOT NULL AUTO_INCREMENT, `group_name` varchar(50) NOT NULL, `group_status` int(3) NOT NULL, - `group_desc` varchar(255) DEFAULT NULL, + `group_desc` text DEFAULT NULL, + `group_desc_raw` text DEFAULT NULL, `group_created` datetime DEFAULT NULL, PRIMARY KEY (`group_id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' diff --git a/Controller.php b/Controller.php index 84f296c..51a7db7 100644 --- a/Controller.php +++ b/Controller.php @@ -31,6 +31,7 @@ use phpOMS\Message\ResponseAbstract; use phpOMS\Module\ModuleAbstract; use phpOMS\Module\WebInterface; use phpOMS\System\MimeType; +use phpOMS\Utils\Parser\Markdown\Markdown; use phpOMS\Views\View; use phpOMS\Message\Http\RequestStatusCode; @@ -491,7 +492,8 @@ class Controller extends ModuleAbstract implements WebInterface $group = GroupMapper::get((int) $request->getData('id')); $group->setName((string) ($request->getData('name') ?? $group->getName())); - $group->setDescription((string) ($request->getData('description') ?? $group->getDescription())); + $group->setDescription(Markdown::parse((string) ($request->getData('description') ?? $group->getDescription()))); + $group->setDescriptionRaw((string) ($request->getData('description') ?? $group->getDescriptionRaw())); GroupMapper::update($group); @@ -565,7 +567,8 @@ class Controller extends ModuleAbstract implements WebInterface $group->setCreatedBy($request->getHeader()->getAccount()); $group->setName((string) ($request->getData('name') ?? '')); $group->setStatus((int) ($request->getData('status') ?? GroupStatus::INACTIVE)); - $group->setDescription((string) ($request->getData('description') ?? '')); + $group->setDescription(Markdown::parse((string) ($request->getData('description') ?? ''))); + $group->setDescriptionRaw((string) ($request->getData('description') ?? '')); return $group; } diff --git a/Models/Group.php b/Models/Group.php index d212ce8..f50454b 100644 --- a/Models/Group.php +++ b/Models/Group.php @@ -41,6 +41,8 @@ class Group extends \phpOMS\Account\Group */ protected $createdBy = 0; + protected $descriptionRaw = ''; + /** * Constructor * @@ -81,4 +83,14 @@ class Group extends \phpOMS\Account\Group { $this->createdBy = $createdBy; } + + public function setDescriptionRaw(string $description) /* : void */ + { + $this->descriptionRaw = $description; + } + + public function getDescriptionRaw() : string + { + return $this->descriptionRaw; + } } diff --git a/Models/GroupMapper.php b/Models/GroupMapper.php index fea103f..66c17ff 100644 --- a/Models/GroupMapper.php +++ b/Models/GroupMapper.php @@ -31,6 +31,7 @@ class GroupMapper extends DataMapperAbstract 'group_name' => ['name' => 'group_name', 'type' => 'string', 'internal' => 'name'], 'group_status' => ['name' => 'group_status', 'type' => 'int', 'internal' => 'status'], 'group_desc' => ['name' => 'group_desc', 'type' => 'string', 'internal' => 'description'], + 'group_desc_raw' => ['name' => 'group_desc_raw', 'type' => 'string', 'internal' => 'descriptionRaw'], 'group_created' => ['name' => 'group_created', 'type' => 'DateTime', 'internal' => 'createdAt'], ];