Bulkl path fix reverse

This commit is contained in:
Dennis Eichhorn 2017-02-12 21:43:10 +01:00
parent aa527500a1
commit 783b5ddb8d
20 changed files with 667 additions and 0 deletions

44
Admin/Activate.php Normal file
View File

@ -0,0 +1,44 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Comments\Admin;
use phpOMS\DataStorage\Database\DatabasePool;
use phpOMS\Module\ActivateAbstract;
use phpOMS\Module\InfoManager;
/**
* Navigation class.
*
* @category Modules
* @package Modules\Admin
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Activate extends ActivateAbstract
{
/**
* {@inheritdoc}
*/
public static function activate(DatabasePool $dbPool, InfoManager $info)
{
parent::activate($dbPool, $info);
}
}

44
Admin/Deactivate.php Normal file
View File

@ -0,0 +1,44 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Comments\Admin;
use phpOMS\DataStorage\Database\DatabasePool;
use phpOMS\Module\DeactivateAbstract;
use phpOMS\Module\InfoManager;
/**
* Navigation class.
*
* @category Modules
* @package Modules\Admin
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Deactivate extends DeactivateAbstract
{
/**
* {@inheritdoc}
*/
public static function deactivate(DatabasePool $dbPool, InfoManager $info)
{
parent::deactivate($dbPool, $info);
}
}

78
Admin/Installer.php Normal file
View File

@ -0,0 +1,78 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Comments\Admin;
use phpOMS\DataStorage\Database\DatabaseType;
use phpOMS\DataStorage\Database\DatabasePool;
use phpOMS\Module\InfoManager;
use phpOMS\Module\InstallerAbstract;
/**
* Calendar install class.
*
* @category Modules
* @package Modules\Calendar
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Installer extends InstallerAbstract
{
/**
* {@inheritdoc}
*/
public static function install(string $path, DatabasePool $dbPool, InfoManager $info)
{
parent::install($path, $dbPool, $info);
switch ($dbPool->get('core')->getType()) {
case DatabaseType::MYSQL:
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'comments_list` (
`comments_list_id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`comments_comment_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'comments_comment` (
`comments_comment_id` int(11) NOT NULL AUTO_INCREMENT,
`comments_comment_title` varchar(250) NOT NULL,
`comments_comment_content` text NOT NULL,
`comments_comment_lang` varchar(2) NOT NULL,
`comments_comment_list` int(11) NOT NULL,
`comments_comment_ref` int(11) DEFAULT NULL,
`comments_comment_created_at` datetime NOT NULL,
`comments_comment_created_by` int(11) NOT NULL,
PRIMARY KEY (`comments_comment_id`),
KEY `comments_comment_ref` (`comments_comment_ref`),
KEY `comments_comment_created_by` (`comments_comment_created_by`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'editor`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'comments_comment_ibfk_1` FOREIGN KEY (`comments_comment_list`) REFERENCES `' . $dbPool->get('core')->prefix . 'comments_list` (`comments_list_id`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'comments_comment_ibfk_2` FOREIGN KEY (`comments_comment_ref`) REFERENCES `' . $dbPool->get('core')->prefix . 'comments_comment` (`comments_comment_id`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'comments_comment_ibfk_3` FOREIGN KEY (`comments_comment_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);'
)->execute();
break;
}
}
}

6
Admin/Routes/Web/Api.php Normal file
View File

@ -0,0 +1,6 @@
<?php
use phpOMS\Router\RouteVerb;
return [
];

3
Admin/Routes/console.php Normal file
View File

@ -0,0 +1,3 @@
<?php
$moduleRoutes = [];

3
Admin/Routes/socket.php Normal file
View File

@ -0,0 +1,3 @@
<?php
$moduleRoutes = [];

43
Admin/Uninstall.php Normal file
View File

@ -0,0 +1,43 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Comments\Admin;
use phpOMS\DataStorage\Database\DatabasePool;
use phpOMS\Module\UninstallAbstract;
/**
* Navigation class.
*
* @category Modules
* @package Modules\Admin
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Uninstall extends UninstallAbstract
{
/**
* {@inheritdoc}
*/
public static function uninstall(DatabasePool $dbPool, InfoManager $info)
{
parent::uninstall($dbPool, $info);
}
}

46
Admin/Update.php Normal file
View File

@ -0,0 +1,46 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Comments\Admin;
use phpOMS\DataStorage\Database\DatabasePool;
use phpOMS\Module\UpdateAbstract;
use phpOMS\System\File\Directory;
/**
* Navigation class.
*
* @category Modules
* @package Modules\Admin
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Update extends UpdateAbstract
{
/**
* {@inheritdoc}
*/
public static function update(DatabasePool $dbPool, array $info)
{
Directory::deletePath(__DIR__ . '/Update');
mkdir('Update');
parent::update($dbPool, $info);
}
}

0
Controller.js Normal file
View File

174
Controller.php Normal file
View File

@ -0,0 +1,174 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Comments;
use Modules\Navigation\Models\Navigation;
use Modules\Navigation\Views\NavigationView;
use phpOMS\Asset\AssetType;
use phpOMS\Contract\RenderableInterface;
use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract;
use phpOMS\Module\ModuleAbstract;
use phpOMS\Module\WebInterface;
use phpOMS\Views\View;
use phpOMS\Views\ViewLayout;
/**
* Calendar controller class.
*
* @category Modules
* @package Editor
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Controller extends ModuleAbstract implements WebInterface
{
/**
* Module path.
*
* @var string
* @since 1.0.0
*/
/* public */ const MODULE_PATH = __DIR__;
/**
* Module version.
*
* @var string
* @since 1.0.0
*/
/* public */ const MODULE_VERSION = '1.0.0';
/**
* Module name.
*
* @var string
* @since 1.0.0
*/
/* public */ const MODULE_NAME = 'Comments';
/**
* Providing.
*
* @var string
* @since 1.0.0
*/
protected static $providing = [];
/**
* Dependencies.
*
* @var string
* @since 1.0.0
*/
protected static $dependencies = [
];
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setUpCommentEditor(RequestAbstract $request, ResponseAbstract $response, $data = null)
{
$head = $response->get('Content')->getData('head');
$head->addAsset(AssetType::JS, $request->getUri()->getBase() . 'Modules/Editor/Controller.js');
}
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return \Serializable
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function viewCommentCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Comments/Theme/Backend/comment-create');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1005301001, $request, $response));
return $view;
}
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return \Serializable
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function viewCommentList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Comments/Theme/Backend/comment-list');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1005301001, $request, $response));
return $view;
}
private function validateCommentCreate(RequestAbstract $request) : array
{
$val = [];
if (
($val['title'] = empty($request->getData('title')))
|| ($val['plain'] = empty($request->getData('plain')))
) {
return $val;
}
return [];
}
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function apiCommentCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
{
if (!empty($val = $this->validateEditorCreate($request))) {
$response->set('editor_create', new FormValidation($val));
return;
}
$editorArticle = new Editor();
EditorMapper::create($editorArticle);
$response->set('editor', $editorArticle->jsonSerialize());
}
}

0
Models/Comment.php Normal file
View File

0
Models/CommentList.php Normal file
View File

View File

0
Models/CommentMapper.php Normal file
View File

0
README.md Normal file
View File

View File

@ -0,0 +1,17 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
return ['Comments' => [
]];

View File

@ -0,0 +1,19 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
return ['Comments' => [
'Created' => 'Created',
'Creator' => 'Creator',
]];

View File

@ -0,0 +1,120 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
echo $this->getData('nav')->render(); ?>
<section class="box w-100">
<div class="inner">
<form>
<input type="text" class="wf-100">
</form>
</div>
</section>
<div class="box w-100">
<div class="tabular">
<ul class="tab-links">
<li><label for="c-tab-1"><?= $this->getText('Start') ?></label>
<li><label for="c-tab-2"><?= $this->getText('Insert') ?></label>
<li><label for="c-tab-3"><?= $this->getText('Layout') ?></label>
</ul>
<div class="tab-content">
<input type="radio" id="c-tab-1" name="tabular-1" checked>
<div class="tab">
<ul class="h-list">
<li><i class="fa fa-lg fa-floppy-o"></i>
<li><i class="fa fa-lg fa-cloud-download"></i>
<li><i class="fa fa-lg fa-undo"></i>
<li><i class="fa fa-lg fa-repeat"></i>
<li><i class="fa fa-lg fa-copy"></i>
<li><i class="fa fa-lg fa-paste"></i>
<li><i class="fa fa-lg fa-cut"></i>
<li><i class="fa fa-lg fa-bold"></i>
<li><i class="fa fa-lg fa-italic"></i>
<li><i class="fa fa-lg fa-underline"></i>
<li><i class="fa fa-lg fa-strikethrough"></i>
<li><i class="fa fa-lg fa-font"></i>
<li><i class="fa fa-lg fa-subscript"></i>
<li><i class="fa fa-lg fa-superscript"></i>
<li><i class="fa fa-lg fa-paint-brush"></i>
<li><i class="fa fa-lg fa-pencil"></i>
<li><i class="fa fa-lg fa-list-ul"></i>
<li><i class="fa fa-lg fa-list-ol"></i>
<li><i class="fa fa-lg fa-indent"></i>
<li><i class="fa fa-lg fa-dedent"></i>
<li><i class="fa fa-lg fa-align-left"></i>
<li><i class="fa fa-lg fa-align-justify"></i>
<li><i class="fa fa-lg fa-align-right"></i>
</ul>
</div>
<input type="radio" id="c-tab-2" name="tabular-1">
<div class="tab">
<ul class="h-list">
<li><i class="fa fa-lg fa-table"></i>
<li><i class="fa fa-lg fa-image"></i>
<li><i class="fa fa-lg fa-camera"></i>
<li><i class="fa fa-lg fa-paint-brush"></i>
<li><i class="fa fa-lg fa-bar-chart"></i>
<li><i class="fa fa-lg fa-link"></i>
<li><i class="fa fa-lg fa-unlink"></i>
<li><i class="fa fa-lg fa-code"></i>
<li><i class="fa fa-lg fa-quote-right"></i>
<li><i class="fa fa-lg fa-calendar"></i>
<li><i class="fa fa-lg fa-clock"></i>
</ul>
</div>
<input type="radio" id="c-tab-3" name="tabular-1">
<div class="tab">
</div>
</div>
</div>
</div>
<div class="box w-100">
<div class="tabular">
<ul class="tab-links">
<li><label for="c-tab2-1"><?= $this->getText('Text') ?></label>
<li><label for="c-tab2-2"><?= $this->getText('Preview') ?></label>
</ul>
<div class="tab-content">
<input type="radio" id="c-tab2-1" name="tabular-2" checked>
<div class="tab">
<textarea class="wf-100"></textarea>
</div>
<input type="radio" id="c-tab2-2" name="tabular-2">
<div class="tab">
</div>
</div>
</div>
</div>
<section class="box w-100">
<div class="inner">
<form>
<table class="layout">
<tr><td colspan="2"><label><?= $this->getText('Permission') ?></label>
<tr><td><select>
<option>
</select>
<tr><td colspan="2"><label><?= $this->getText('GroupUser') ?></label>
<tr><td><input id="iPermission" name="group" type="text" placeholder="&#xf084;"><td><button><?= $this->getText('Add') ?></button>
</table>
</form>
</div>
</section>

View File

@ -0,0 +1,44 @@
<?php
/**
* Orange Management
*
* PHP Version 7.1
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
$footerView->setPages(20);
$footerView->setPage(1);
echo $this->getData('nav')->render(); ?>
<div class="box">
<table class="table">
<caption><?= $this->getText('Documents'); ?></caption>
<thead>
<tr>
<td class="wf-100"><?= $this->getText('Name'); ?>
<td><?= $this->getText('Creator'); ?>
<td><?= $this->getText('Created'); ?>
<tfoot>
<tr>
<td colspan="3"><?= $footerView->render(); ?>
<tbody>
<?php $count = 0; foreach([] as $key => $value) : $count++; ?>
<?php endforeach; ?>
<?php if($count === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->getText('Empty', 0, 0); ?>
<?php endif; ?>
</table>
</div>

26
info.json Normal file
View File

@ -0,0 +1,26 @@
{
"name": {
"id": 1005800000,
"internal": "Comments",
"external": "OMS Comments"
},
"version": "1.0.0",
"requirements": {
"phpOMS": "1.0.0",
"phpOMS-db": "1.0.0"
},
"creator": {
"name": "Orange Management",
"website": "www.spl1nes.com"
},
"description": "The administration module.",
"directory": "Comments",
"dependencies": {
"Admin" : "1.0.0",
"Editor" : "1.0.0"
},
"providing": {
},
"load": [
]
}