FEATURE: change directory structure

This commit is contained in:
Michal Kváček
2016-10-17 00:07:21 +02:00
parent 87f1920373
commit 2ded2924a1
242 changed files with 742 additions and 1171 deletions
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Handlers\Contracts; namespace App\CMS\Handlers\Contracts;
use App\Http\Requests\Request; use App\Http\Requests\Request;
use App\Models\Content; use App\Models\Content\Content;
interface AppHandler extends BaseModuleHandler interface AppHandler extends BaseModuleHandler
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Handlers\Contracts; namespace App\CMS\Handlers\Contracts;
use App\Models\User; use App\Models\User;
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Handlers\Contracts; namespace App\CMS\Handlers\Contracts;
use App\Models\Content; use App\Models\Content\Content;
/** /**
* Interface ContentTitles * Interface ContentTitles
@@ -9,7 +9,7 @@ use App\Models\Content;
* Classes which implement this interface get the ability to rewrite default text on edit/create/overview of content * Classes which implement this interface get the ability to rewrite default text on edit/create/overview of content
* page. * page.
* *
* @package App\Handlers\Contracts * @package App\CMS\Handlers\Contracts
*/ */
interface ContentTitles interface ContentTitles
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Handlers\Contracts; namespace App\CMS\Handlers\Contracts;
interface HistoryHandler interface HistoryHandler
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Handlers\Contracts; namespace App\CMS\Handlers\Contracts;
interface SearchHandler { interface SearchHandler {
public function getId(); public function getId();
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Handlers\Contracts; namespace App\CMS\Handlers\Contracts;
interface SearchPresenterHandler interface SearchPresenterHandler
{ {
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Handlers\Contracts; namespace App\CMS\Handlers\Contracts;
use App\Http\Requests\Request; use App\Http\Requests\Request;
use App\Models\Content; use App\Models\Content\Content;
use App\Models\Module; use App\Models\Module;
/** /**
@@ -10,7 +10,7 @@ use App\Models\Module;
* *
* Inerface used for registering template into CMS core. * Inerface used for registering template into CMS core.
* *
* @package App\Handlers\Contracts * @package App\CMS\Handlers\Contracts
*/ */
interface TemplateHandler extends BaseModuleHandler interface TemplateHandler extends BaseModuleHandler
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Widgets\Contracts; namespace App\CMS\Contracts\Widgets;
interface AdminDashboardWidget extends PublicWidget interface AdminDashboardWidget extends PublicWidget
{ {
@@ -0,0 +1,17 @@
<?php
namespace App\CMS\Contracts\Widgets;
interface InstallableWidget extends PublicWidget {
/**
* Function for installing given widget
*
* @return mixed
*/
public static function install();
/**
* Function for uninstalling widget
*/
public static function uninstall();
}
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Widgets\Contracts; namespace App\CMS\Widgets\Contracts;
interface MenuExtensionHandler { interface MenuExtensionHandler {
@@ -1,8 +1,7 @@
<?php <?php
namespace App\Widgets\Contracts; namespace App\CMS\Contracts\Widgets;
use App\Http\Requests\Request; use App\Models\Widgets\Widget;
use App\Models\Widget;
interface PublicWidget interface PublicWidget
{ {
@@ -28,22 +27,10 @@ interface PublicWidget
public static function getPresenter(); public static function getPresenter();
/** /**
* @param Widget $widget * @param Widget $widget
* @param \stdClass $data * @param \stdClass $data
* *
* @return mixed * @return mixed
*/ */
public static function save(Widget $widget, \stdClass $data); public static function save(Widget $widget, \stdClass $data);
/**
* Function for installing given widget
*
* @return mixed
*/
public static function install();
/**
* Function for uninstalling widget
*/
public static function uninstall();
} }
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Widgets\Contracts; namespace App\CMS\Contracts\Widgets;
use App\Models\Widget; use App\Models\Widgets\Widget;
use App\Models\WidgetType; use App\Models\Widgets\WidgetType;
interface WidgetRenderer interface WidgetRenderer
{ {
@@ -11,7 +11,7 @@ interface WidgetRenderer
* *
* This method renders some HTML code for displaying. * This method renders some HTML code for displaying.
* *
* @param object $settings * @param Widget $settings
* *
* @return mixed * @return mixed
*/ */
+6
View File
@@ -0,0 +1,6 @@
<?php
namespace App\CMS\CustomFields;
class BaseField {
}
@@ -1,5 +1,5 @@
<?php <?php
namespace App\CustomFields; namespace App\CMS\CustomFields;
class Date extends BaseField { class Date extends BaseField {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\CustomFields; namespace App\CMS\CustomFields;
class Number extends BaseField { class Number extends BaseField {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\CustomFields; namespace App\CMS\CustomFields;
class SelectboxList extends BaseField { class SelectboxList extends BaseField {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\CustomFields; namespace App\CMS\CustomFields;
class String extends BaseField { class String extends BaseField {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\ActionLogType; use App\Models\ActionLogType;
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\ActionLogType; use App\Models\ActionLog\ActionLogType;
class ActionLogTypesForLogger extends BaseEnumeration class ActionLogTypesForLogger extends BaseEnumeration
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Enumerations\Exceptions\EnumerationExistsException; use App\CMS\Exceptions\Enumerations\EnumerationExistsException;
abstract class BaseEnumeration abstract class BaseEnumeration
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\Content; use App\Models\Content\Content;
class ContentStatuses extends BaseEnumeration class ContentStatuses extends BaseEnumeration
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\CustomFieldResource; use App\Models\CustomFieldResource;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\CustomFieldType; use App\Models\CustomFieldType;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\Module; use App\Models\Module;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\Module; use App\Models\Module;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\Module; use App\Models\Module;
@@ -6,7 +6,7 @@
* Time: 10:33 * Time: 10:33
*/ */
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\TemplatePath; use App\Models\TemplatePath;
@@ -6,7 +6,7 @@
* Time: 10:33 * Time: 10:33
*/ */
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\TemplatePath; use App\Models\TemplatePath;
@@ -6,7 +6,7 @@
* Time: 10:33 * Time: 10:33
*/ */
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\TemplatePath; use App\Models\TemplatePath;
@@ -6,7 +6,7 @@
* Time: 15:50 * Time: 15:50
*/ */
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\Template; use App\Models\Template;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\User; use App\Models\User;
@@ -6,7 +6,7 @@
* Time: 23:20 * Time: 23:20
*/ */
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\User; use App\Models\User;
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\WidgetType; use App\Models\Widgets\WidgetType;
class WidgetTypes extends BaseEnumeration class WidgetTypes extends BaseEnumeration
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Enumerations; namespace App\CMS\Enumerations;
use App\Models\WidgetType; use App\Models\Widgets\WidgetType;
class WidgetTypesWithHandlers extends BaseEnumeration class WidgetTypesWithHandlers extends BaseEnumeration
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Enumerations\Exceptions; namespace App\CMS\Exceptions\Enumerations;
class EnumerationExistsException extends \Exception { class EnumerationExistsException extends \Exception {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Widgets\Exceptions; namespace App\CMS\Widgets\Exceptions;
use Exception; use Exception;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Widgets\Exceptions; namespace App\CMS\Widgets\Exceptions;
use Exception; use Exception;
@@ -1,10 +1,10 @@
<?php <?php
namespace App\Handlers; namespace App\CMS\Handlers;
use App\Enumerations\TemplatePathsHumanReadableRootOnly; use App\CMS\Enumerations\TemplatePathsHumanReadableRootOnly;
use App\Enumerations\WidgetTypes; use App\CMS\Enumerations\WidgetTypes;
use App\Handlers\Contracts\AppHandler; use App\CMS\Handlers\Contracts\AppHandler;
use App\Handlers\Contracts\BaseModuleHandler; use App\CMS\Handlers\Contracts\BaseModuleHandler;
use App\Models\User; use App\Models\User;
abstract class BaseHandler implements BaseModuleHandler abstract class BaseHandler implements BaseModuleHandler
@@ -1,9 +1,9 @@
<?php <?php
namespace App\Handlers; namespace App\CMS\Handlers;
use App\Handlers\Contracts\AppHandler; use App\CMS\Handlers\Contracts\AppHandler;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Content; use App\Models\Content\Content;
/** /**
* Class Handler * Class Handler
@@ -11,7 +11,7 @@ use App\Models\Content;
* Handler is a class which handles module-specific behaviour which cannot be done by module itself, resp. cannot be * Handler is a class which handles module-specific behaviour which cannot be done by module itself, resp. cannot be
* done by some abstract magic. * done by some abstract magic.
* *
* @package App\Handlers * @package App\CMS\Handlers\
*/ */
abstract class Handler extends BaseHandler implements AppHandler abstract class Handler extends BaseHandler implements AppHandler
{ {
@@ -1,9 +1,9 @@
<?php <?php
namespace App\Handlers; namespace App\CMS\Handlers;
use App\Enumerations\ContentStatuses; use App\CMS\Enumerations\ContentStatuses;
use App\Handlers\Contracts\HistoryHandler; use App\CMS\Handlers\Contracts\HistoryHandler;
use App\Helpers\Differ; use App\CMS\Helpers\Differ;
class History implements HistoryHandler class History implements HistoryHandler
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Handlers\Registrators\Items; namespace App\CMS\Handlers\Registrators\Items;
class SettingExtension class SettingExtension
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Handlers\Registrators; namespace App\CMS\Handlers\Registrators;
use App\Widgets\Contracts\MenuExtensionHandler; use App\CMS\Widgets\Contracts\MenuExtensionHandler;
class MenuExtensionRegistrator { class MenuExtensionRegistrator {
@@ -1,10 +1,10 @@
<?php <?php
namespace App\Handlers\Registrators; namespace App\CMS\Handlers\Registrators;
use App\Enumerations\Exceptions\EnumerationExistsException; use App\CMS\Enumerations\Exceptions\EnumerationExistsException;
use App\Handlers\Contracts\SearchHandler; use App\CMS\Handlers\Contracts\SearchHandler;
use App\Handlers\Contracts\SearchPresenterHandler; use App\CMS\Handlers\Contracts\SearchPresenterHandler;
use App\Handlers\Registrators\Items\SearchEngine; use App\CMS\Handlers\Registrators\Items\SearchEngine;
use Symfony\Component\Process\Exception\InvalidArgumentException; use Symfony\Component\Process\Exception\InvalidArgumentException;
class SearchEngineRegistrator class SearchEngineRegistrator
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Handlers\Registrators; namespace App\CMS\Handlers\Registrators;
use App\Enumerations\Exceptions\EnumerationExistsException; use App\CMS\Enumerations\Exceptions\EnumerationExistsException;
use App\Handlers\Registrators\Items\SettingExtension; use App\CMS\Handlers\Registrators\Items\SettingExtension;
class SettingsExtensionRegistrator class SettingsExtensionRegistrator
{ {
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Handlers\Registrators; namespace App\CMS\Handlers\Registrators;
use App\Enumerations\TemplatePaths; use App\CMS\Enumerations\TemplatePaths;
use App\Enumerations\Templates; use App\CMS\Enumerations\Templates;
use App\Models\Template; use App\Models\Template;
use App\Models\TemplatePath; use App\Models\TemplatePath;
use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\File;
@@ -194,7 +194,7 @@ class TemplateRegistrator
* @param $path * @param $path
* @param $templatePathId * @param $templatePathId
* *
* @throws \App\Enumerations\Exceptions\EnumerationExistsException * @throws \App\CMS\Enumerations\Exceptions\EnumerationExistsException
*/ */
protected function registerTemplates($path, $templatePathId) protected function registerTemplates($path, $templatePathId)
{ {
@@ -238,7 +238,7 @@ class TemplateRegistrator
* @param null $parent * @param null $parent
* *
* @return mixed|null * @return mixed|null
* @throws \App\Enumerations\Exceptions\EnumerationExistsException * @throws \App\CMS\Enumerations\Exceptions\EnumerationExistsException
*/ */
protected function saveTemplatePath($path, $name, $parent = null) protected function saveTemplatePath($path, $name, $parent = null)
{ {
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Handlers\Registrators; namespace App\CMS\Handlers\Registrators;
use App\Enumerations\WidgetTypesWithHandlers; use App\CMS\Enumerations\WidgetTypesWithHandlers;
use App\Models\WidgetType; use App\Models\Widgets\WidgetType;
class WidgetRegistrator class WidgetRegistrator
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Handlers\Search; namespace App\CMS\Handlers\Search;
use App\Models\Content as ContentModel; use App\Models\Content\Content as ContentModel;
class Content extends Search class Content extends Search
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Handlers\Search; namespace App\CMS\Handlers\Search;
use App\Models\File; use App\Models\FileManager\File;
class Files extends Search class Files extends Search
{ {
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Handlers\Search\Presenters; namespace App\CMS\Handlers\Search\Presenters;
use App\Enumerations\ContentStatuses; use App\CMS\Enumerations\ContentStatuses;
use App\Handlers\Contracts\SearchPresenterHandler; use App\CMS\Handlers\Contracts\SearchPresenterHandler;
class AdminContent implements SearchPresenterHandler class AdminContent implements SearchPresenterHandler
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Handlers\Search\Presenters; namespace App\CMS\Handlers\Search\Presenters;
use App\Handlers\Contracts\SearchPresenterHandler; use App\CMS\Handlers\Contracts\SearchPresenterHandler;
class AdminFiles implements SearchPresenterHandler class AdminFiles implements SearchPresenterHandler
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Handlers\Search; namespace App\CMS\Handlers\Search;
use App\Handlers\Contracts\SearchHandler; use App\CMS\Handlers\Contracts\SearchHandler;
use Symfony\Component\Process\Exception\InvalidArgumentException; use Symfony\Component\Process\Exception\InvalidArgumentException;
abstract class Search implements SearchHandler abstract class Search implements SearchHandler
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
use App\Models\Module; use App\Models\Module;
use DebugBar\Bridge\MonologCollector; use DebugBar\Bridge\MonologCollector;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
class Date class Date
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
/* /*
Paul's Simple Differ Algorithm v 0.1 Paul's Simple Differ Algorithm v 0.1
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
use App\Models\File; use App\Models\FileManager\File;
class FileManager class FileManager
{ {
@@ -17,7 +17,7 @@ class FileManager
switch ($type) { switch ($type) {
case 'image': case 'image':
$url = Template::thumbnail($file->filename); $url = Path::thumbnail($file->filename);
return '<img src="' . $url . '" alt="' . $file->description . '" />'; return '<img src="' . $url . '" alt="' . $file->description . '" />';
break; break;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
class Gravatar class Gravatar
{ {
@@ -1,8 +1,8 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
use App\Handlers\Contracts\AppHandler; use App\CMS\Handlers\Contracts\AppHandler;
use App\Models\Content; use App\Models\Content\Content;
use Webwizo\Shortcodes\Facades\Shortcode; use Webwizo\Shortcodes\Facades\Shortcode;
/** /**
@@ -10,7 +10,7 @@ use Webwizo\Shortcodes\Facades\Shortcode;
* *
* Simple class for rendering page for visitor * Simple class for rendering page for visitor
* *
* @package App\Helpers * @package App\CMS\Helpers
*/ */
class PageRenderer class PageRenderer
{ {
@@ -1,48 +1,11 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Process\Exception\InvalidArgumentException; use Symfony\Component\Process\Exception\InvalidArgumentException;
class Template class Path
{ {
/**
* Getter for real template name
*
* @param $template
*
* @return null|string
*/
public static function name($template, $throwExceptions = true)
{
$namespace = null;
if (strpos($template, '::')) {
list($namespace, $template) = explode('::', $template);
$namespace .= '::';
}
// list of prefixes
$prefixes = ['custom.', ''];
$view = null;
foreach ($prefixes as $prefix) {
if (view()->exists($namespace . 'visitor.' . $prefix . $template)) {
$view = $namespace . 'visitor.' . $prefix . $template;
break;
}
}
if (is_null($view)) {
if ($throwExceptions) {
throw new InvalidArgumentException('Cannot find template for ' . $namespace . $template);
} else {
return false;
}
}
return $view;
}
/** /**
* Get URL to uploaded file * Get URL to uploaded file
* *
@@ -95,25 +58,4 @@ class Template
return config('app.url') . '/assets/' . config('app.theme') . '/' . $path; return config('app.url') . '/assets/' . config('app.theme') . '/' . $path;
} }
/**
* Print date in configured format
*
* @param $datestamp
* @param bool $withTime
*
* @return false|string
*/
public static function date($datestamp, $withTime = true)
{
$timestamp = strtotime($datestamp);
if ($timestamp <= 0) {
return '';
}
$format = $withTime ? config('app.datetime_format') : config('app.date_format');
return date($format, $timestamp);
}
} }
@@ -1,6 +1,6 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
use App\Models\Settings as SettingsModel; use App\Models\Settings as SettingsModel;
@@ -9,7 +9,7 @@ use App\Models\Settings as SettingsModel;
* *
* Helper class for easier obtaining system settings * Helper class for easier obtaining system settings
* *
* @package App\Helpers * @package App\CMS\Helpers
*/ */
class Settings class Settings
{ {
+47
View File
@@ -0,0 +1,47 @@
<?php
namespace App\CMS\Helpers;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Process\Exception\InvalidArgumentException;
class Template
{
/**
* Getter for real template name
*
* @param $template
*
* @return null|string
*/
public static function name($template, $throwExceptions = true)
{
$namespace = null;
if (strpos($template, '::')) {
list($namespace, $template) = explode('::', $template);
$namespace .= '::';
}
// list of prefixes
$prefixes = ['custom.', ''];
$view = null;
foreach ($prefixes as $prefix) {
if (view()->exists($namespace . 'visitor.' . $prefix . $template)) {
$view = $namespace . 'visitor.' . $prefix . $template;
break;
}
}
if (is_null($view)) {
if ($throwExceptions) {
throw new InvalidArgumentException('Cannot find template for ' . $namespace . $template);
} else {
return false;
}
}
return $view;
}
}
+18
View File
@@ -0,0 +1,18 @@
<?php
namespace App\CMS\Helpers;
class Widget
{
public static function render(\App\Models\Widgets\Widget $widget)
{
$handler = $widget->widget_type_handler;
if (!is_object($widget->settings)) {
$widget->settings = json_decode($widget->settings);
}
$presenter = call_user_func([$handler, 'getPresenter']);
return call_user_func([$presenter, 'render'], $widget);
}
}
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Helpers; namespace App\CMS\Helpers;
use App\Models\WidgetArea; use App\Models\Widgets\WidgetArea;
class WidgetAreas class WidgetAreas
{ {
@@ -17,11 +17,7 @@ class WidgetAreas
if (!isset(self::$widgetAreas[$widget->widget_area_code])) if (!isset(self::$widgetAreas[$widget->widget_area_code]))
self::$widgetAreas[$widget->widget_area_code] = ''; self::$widgetAreas[$widget->widget_area_code] = '';
$handler = $widget->widget_type_handler; self::$widgetAreas[$widget->widget_area_code] .= Widget::render($widget);
$widget->settings = json_decode($widget->settings);
$presenter = call_user_func([$handler, 'getPresenter']);
self::$widgetAreas[$widget->widget_area_code] .= call_user_func([$presenter, 'render'], $widget);
} }
} }
@@ -14,7 +14,7 @@ function e($value)
} }
/** /**
* Shortcut for \App\Helpers\Settings::get() * Shortcut for \App\CMS\Helpers\Settings::get()
* *
* @param $key * @param $key
* @param null $default * @param null $default
@@ -22,7 +22,7 @@ function e($value)
* @return null|string * @return null|string
*/ */
function setting($key, $default = null) { function setting($key, $default = null) {
return \App\Helpers\Settings::get($key, $default); return \App\CMS\Helpers\Settings::get($key, $default);
} }
function asset_path($path) { function asset_path($path) {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\MenuPresenters; namespace App\CMS\MenuPresenters;
use Pingpong\Menus\MenuItem; use Pingpong\Menus\MenuItem;
use Pingpong\Menus\Presenters\Presenter; use Pingpong\Menus\Presenters\Presenter;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\MenuPresenters; namespace App\CMS\MenuPresenters;
use Pingpong\Menus\Presenters\Presenter; use Pingpong\Menus\Presenters\Presenter;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\MenuPresenters; namespace App\CMS\MenuPresenters;
class FoundationInitializedDropdownMenuPresenter extends FoundationDropdownMenuPresenter class FoundationInitializedDropdownMenuPresenter extends FoundationDropdownMenuPresenter
{ {
@@ -1,5 +1,5 @@
<?php <?php
namespace App\MenuPresenters; namespace App\CMS\MenuPresenters;
use Pingpong\Menus\MenuItem; use Pingpong\Menus\MenuItem;
use Pingpong\Menus\Presenters\Presenter; use Pingpong\Menus\Presenters\Presenter;
@@ -1,5 +1,5 @@
<?php <?php
namespace App\MenuPresenters; namespace App\CMS\MenuPresenters;
use Pingpong\Menus\MenuItem; use Pingpong\Menus\MenuItem;
use Pingpong\Menus\Presenters\Presenter; use Pingpong\Menus\Presenters\Presenter;
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Shortcodes; namespace App\CMS\Shortcodes;
use App\Models\Widget as WidgetModel; use App\Models\Widgets\Widget as WidgetModel;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization; use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
class Widget class Widget
@@ -1,13 +1,12 @@
<?php <?php
namespace App\Widgets\HtmlCode; namespace App\CMS\Widgets\HtmlCode;
use App\Http\Requests\Request; use App\CMS\Contracts\Widgets\PublicWidget;
use App\Models\Widget; use App\CMS\Widgets\Contracts\WidgetRenderer;
use App\Widgets\Contracts\WidgetRenderer; use App\CMS\Widgets\Exceptions\MissingParameterException;
use App\Widgets\Exceptions\MissingParameterException; use App\Models\Widgets\Widget;
use App\Widgets\NonInstallableWidget;
class HtmlCode extends NonInstallableWidget class HtmlCode implements PublicWidget
{ {
/** /**
* Name getter * Name getter
@@ -40,7 +39,7 @@ class HtmlCode extends NonInstallableWidget
} }
/** /**
* @param Widget $widget * @param Widget $widget
* @param \stdClass $data * @param \stdClass $data
* *
* @return Widget * @return Widget
@@ -1,9 +1,9 @@
<?php <?php
namespace App\Widgets\HtmlCode\Presenters; namespace App\CMS\Widgets\HtmlCode\Presenters;
use App\Models\Widget; use App\Models\Widgets\Widget;
use App\Models\WidgetType; use App\Models\Widgets\WidgetType;
use App\Widgets\Contracts\WidgetRenderer; use App\CMS\Contracts\Widgets\WidgetRenderer;
class HtmlCode implements WidgetRenderer class HtmlCode implements WidgetRenderer
{ {
@@ -1,7 +1,7 @@
<?php <?php
namespace App\Widgets\Menu\Extensions; namespace App\CMS\Widgets\Menu\Extensions;
use App\Widgets\Contracts\MenuExtensionHandler; use App\CMS\Widgets\Contracts\MenuExtensionHandler;
class URL implements MenuExtensionHandler { class URL implements MenuExtensionHandler {
public function getPossibleValues() public function getPossibleValues()
@@ -1,13 +1,14 @@
<?php <?php
namespace App\Widgets\Menu; namespace App\CMS\Widgets\Menu;
use App\Models\Content; use App\CMS\Contracts\Widgets\PublicWidget;
use App\Widgets\Contracts\WidgetRenderer; use App\CMS\Widgets\Contracts\WidgetRenderer;
use App\Widgets\Exceptions\MissingParameterException; use App\CMS\Widgets\Exceptions\MissingParameterException;
use App\Widgets\NonInstallableWidget; use App\Models\Content\Content;
use App\Models\Widgets\Widget;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization; use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
class Menu extends NonInstallableWidget class Menu implements PublicWidget
{ {
/** /**
* Name getter * Name getter
@@ -45,7 +46,7 @@ class Menu extends NonInstallableWidget
* *
* @return mixed * @return mixed
*/ */
public static function save(\App\Models\Widget $widget, \stdClass $data) public static function save(Widget $widget, \stdClass $data)
{ {
if (!isset($data->settings) || empty($data->settings) || !json_decode($data->settings)) { if (!isset($data->settings) || empty($data->settings) || !json_decode($data->settings)) {
throw new MissingParameterException('settings'); throw new MissingParameterException('settings');
@@ -1,13 +1,12 @@
<?php <?php
namespace App\Widgets\Menu\Presenters; namespace App\CMS\Widgets\Menu\Presenters;
use App\Models\Content; use App\CMS\Contracts\Widgets\WidgetRenderer;
use App\Models\Widget; use App\CMS\Widgets\Menu\Menu as WidgetMenu;
use App\Models\WidgetType; use App\Models\Content\Content;
use App\Widgets\Contracts\WidgetRenderer; use App\Models\Widgets\Widget;
use App\Widgets\Menu\Menu as WidgetMenu; use App\Models\Widgets\WidgetType;
use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
@@ -43,8 +42,9 @@ class Menu implements WidgetRenderer
$code = '<ul class="menu ' . $widget->container_class . '"'; $code = '<ul class="menu ' . $widget->container_class . '"';
if ($widget->container_id) if ($widget->container_id) {
$code .= ' id="'.e($widget->container_id).'"'; $code .= ' id="' . e($widget->container_id) . '"';
}
$code .= '>'; $code .= '>';
@@ -108,8 +108,6 @@ class Menu implements WidgetRenderer
*/ */
public static function renderEditForm(Widget $widget) public static function renderEditForm(Widget $widget)
{ {
// $extensions = App::make('registerMenuExtension')
// ->get();
$content = new Content(); $content = new Content();
// get list of all pages // get list of all pages
@@ -117,11 +115,10 @@ class Menu implements WidgetRenderer
->get(); ->get();
// make object from JSON // make object from JSON
$widget->settingsObj = json_decode($widget->settings); if (!isset($widget->settings->links)) {
if (!isset($widget->settingsObj->links)) {
$links = new \stdClass(); $links = new \stdClass();
} else { } else {
$links = (array)$widget->settingsObj->links; $links = (array)$widget->settings->links;
} }
// sort links using "order" // sort links using "order"
@@ -129,7 +126,7 @@ class Menu implements WidgetRenderer
return $a->order - $b->order; return $a->order - $b->order;
}); });
$widget->settingsObj->links = (object)$links; $widget->settings->links = (object)$links;
return view('admin.widgets.menu.edit', ['widget' => $widget, 'pages' => $pages]); return view('admin.widgets.menu.edit', ['widget' => $widget, 'pages' => $pages]);
} }
+17 -9
View File
@@ -14,13 +14,13 @@ class ChangePassword extends Command
* *
* @var string * @var string
*/ */
protected $signature = 'user:change-password {userID} {newPassword}'; protected $signature = 'user:change-password {email}';
/** /**
* The console command description. * The console command description.
* *
* @var string * @var string
*/ */
protected $description = 'Change password for user with given ID'; protected $description = 'Change password for user with given e-mail';
/** /**
* Execute the console command. * Execute the console command.
@@ -29,18 +29,26 @@ class ChangePassword extends Command
*/ */
public function handle() public function handle()
{ {
$id = $this->argument('userID'); $email = $this->argument('email');
$newPassword = $this->argument('newPassword');
try { try {
$user = User::findOrFail($id); $user = User::where(['email' => $email])
->first();
} catch (ModelNotFoundException $e) { } catch (ModelNotFoundException $e) {
$this->error('Invalid user ID ' . $id . '. Please see table `users` for correct IDs.'); $this->error('Invalid user ' . $email . '.');
exit(1); return;
} }
do {
$password = $this->secret('Password');
$passwordAgain = $this->secret('Password again');
if ($password !== $passwordAgain) {
$this->error('Passwords does not match');
}
} while ($passwordAgain !== $password || strlen($password) === 0);
// set new password // set new password
$user->password = Hash::make($newPassword); $user->password = Hash::make($password);
$user->save(); $user->save();
$this->info('Password successfully changed.'); $this->info('Password successfully changed.');
+27 -11
View File
@@ -2,11 +2,10 @@
namespace App\Console\Commands; namespace App\Console\Commands;
use App\Enumerations\UserRoles; use App\CMS\Enumerations\UserRoles;
use App\Models\User; use App\Models\User;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Symfony\Component\Console\Exception\InvalidArgumentException;
class NewUser extends Command class NewUser extends Command
{ {
@@ -15,7 +14,7 @@ class NewUser extends Command
* *
* @var string * @var string
*/ */
protected $signature = 'user:new {email} {password} {role}'; protected $signature = 'user:new {email}';
/** /**
* The console command description. * The console command description.
* *
@@ -25,21 +24,38 @@ class NewUser extends Command
/** /**
* Execute the console command. * Execute the console command.
*
* @return mixed
*/ */
public function handle() public function handle()
{ {
$email = $this->argument('email'); $email = $this->argument('email');
$password = $this->argument('password');
$role = $this->argument('role');
// check if given role is valid // check if username is really email
$roles = UserRoles::getSimple(); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
if (!in_array($role, $roles)) { $this->error($email . ' is not a valid e-mail!');
throw new InvalidArgumentException('Invalid role specified. valid roles are: ' . implode(', ', $roles)); return;
} }
// ask for password
do {
$password = $this->secret('Password');
$passwordAgain = $this->secret('Password again');
if ($password !== $passwordAgain) {
$this->error('Passwords does not match');
}
} while ($passwordAgain !== $password || strlen($password) === 0);
// ask for role
$roles = UserRoles::getSimple();
do {
$role = $this->ask('Role (default ' . User::ROLE_ADMIN . '): ', User::ROLE_ADMIN);
// check if given role is valid
if (!in_array($role, $roles)) {
$this->error('Invalid role specified. valid roles are: ' . implode(', ', $roles));
}
} while (!in_array($role, $roles));
// create new user // create new user
$user = new User(); $user = new User();
$user->username = $user->email = $email; $user->username = $user->email = $email;
-6
View File
@@ -1,6 +0,0 @@
<?php
namespace App\CustomFields;
class BaseField {
}
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Widget; use App\Models\Widgets\Widget;
use App\Models\WidgetArea; use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
+1 -1
View File
@@ -3,7 +3,7 @@
namespace App\Events; namespace App\Events;
use App\Events\Event; use App\Events\Event;
use App\Models\Content; use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Widget; use App\Models\Widgets\Widget;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
class CreateNewWidget extends Event class CreateNewWidget extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Content; use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
class DeleteContent extends Event class DeleteContent extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Content; use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
class EditContent extends Event class EditContent extends Event
+1 -1
View File
@@ -3,7 +3,7 @@
namespace App\Events; namespace App\Events;
use App\Events\Event; use App\Events\Event;
use App\Models\File; use App\Models\FileManager\File;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Widget; use App\Models\Widgets\Widget;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
class EditWidget extends Event class EditWidget extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Content; use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
class MakeDraftFromContent extends Event class MakeDraftFromContent extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Content; use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
class PublishContent extends Event class PublishContent extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events; namespace App\Events;
use App\Models\Widget; use App\Models\Widgets\Widget;
use App\Models\WidgetArea; use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
+1 -1
View File
@@ -3,7 +3,7 @@
namespace App\Events; namespace App\Events;
use App\Events\Event; use App\Events\Event;
use App\Models\Content; use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
@@ -3,7 +3,7 @@
namespace App\Http\Controllers\Admin\ActionLog; namespace App\Http\Controllers\Admin\ActionLog;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Models\ActionLog; use App\Models\ActionLog\ActionLog;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Input;
@@ -1,9 +1,9 @@
<?php <?php
namespace App\Http\Controllers\Admin\Contents; namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses; use App\CMS\Enumerations\ContentStatuses;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Models\Content; use App\Models\Content\Content;
use App\Models\Module; use App\Models\Module;
use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Input;
@@ -1,13 +1,13 @@
<?php <?php
namespace App\Http\Controllers\Admin\Contents; namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses; use App\CMS\Enumerations\ContentStatuses;
use App\Events\CreateNewContent as CreateNewContentEvent; use App\Events\CreateNewContent as CreateNewContentEvent;
use App\Helpers\CurrentTemplate; use App\CMS\Helpers\CurrentTemplate;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\CreateNewContentRequest; use App\Http\Requests\CreateNewContentRequest;
use App\Models\Content; use App\Models\Content\Content;
use App\Models\File; use App\Models\FileManager\File;
use App\Models\Module; use App\Models\Module;
use App\Models\Template; use App\Models\Template;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
@@ -1,20 +1,20 @@
<?php <?php
namespace App\Http\Controllers\Admin\Contents; namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses; use App\CMS\Enumerations\ContentStatuses;
use App\Events\AttemptToEditInvalidContent; use App\Events\AttemptToEditInvalidContent;
use App\Events\DeleteContent; use App\Events\DeleteContent;
use App\Events\EditContent as EditContentEvent; use App\Events\EditContent as EditContentEvent;
use App\Events\MakeDraftFromContent; use App\Events\MakeDraftFromContent;
use App\Events\PublishContent; use App\Events\PublishContent;
use App\Events\SetHomepage; use App\Events\SetHomepage;
use App\Helpers\CurrentTemplate; use App\CMS\Helpers\CurrentTemplate;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditContentRequest; use App\Http\Requests\EditContentRequest;
use App\Http\Requests\Request; use App\Http\Requests\Request;
use App\Models\Content; use App\Models\Content\Content;
use App\Models\ContentHistory; use App\Models\Content\ContentHistory;
use App\Models\File; use App\Models\FileManager\File;
use App\Models\Module; use App\Models\Module;
use App\Models\Template; use App\Models\Template;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\Contents; namespace App\Http\Controllers\Admin\Contents;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Models\Content; use App\Models\Content\Content;
use App\Models\ContentHistory; use App\Models\Content\ContentHistory;
class History extends Controller class History extends Controller
{ {
@@ -12,6 +12,5 @@ abstract class Controller extends BaseController
*/ */
public function __construct() public function __construct()
{ {
} }
} }
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\CustomFields; namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources; use App\CMS\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes; use App\CMS\Enumerations\CustomFieldTypes;
use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent; use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\NewCustomFieldRequest; use App\Http\Requests\NewCustomFieldRequest;
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\CustomFields; namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources; use App\CMS\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes; use App\CMS\Enumerations\CustomFieldTypes;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Models\CustomField; use App\Models\CustomField;
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\CustomFields; namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources; use App\CMS\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes; use App\CMS\Enumerations\CustomFieldTypes;
use App\Events\DeleteCustomField; use App\Events\DeleteCustomField;
use App\Events\EditCustomField as EditCustomFieldEvent; use App\Events\EditCustomField as EditCustomFieldEvent;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
@@ -4,7 +4,7 @@ namespace App\Http\Controllers\Admin\FileManager;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests; use App\Http\Requests;
use App\Models\Directory; use App\Models\FileManager\Directory;
class CreateNewDirectory extends Controller class CreateNewDirectory extends Controller
{ {
@@ -4,7 +4,7 @@ namespace App\Http\Controllers\Admin\FileManager;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests; use App\Http\Requests;
use App\Models\Directory; use App\Models\FileManager\Directory;
class EditDirectory extends Controller class EditDirectory extends Controller
{ {
@@ -3,10 +3,10 @@
namespace App\Http\Controllers\Admin\FileManager; namespace App\Http\Controllers\Admin\FileManager;
use App\Events\EditFile; use App\Events\EditFile;
use App\Helpers\FileManager; use App\CMS\Helpers\FileManager;
use App\Http\Controllers\Admin\Controller; use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditUploadedFileRequest; use App\Http\Requests\EditUploadedFileRequest;
use App\Models\File; use App\Models\FileManager\File;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

Some files were not shown because too many files have changed in this diff Show More