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
namespace App\Handlers\Contracts;
namespace App\CMS\Handlers\Contracts;
use App\Http\Requests\Request;
use App\Models\Content;
use App\Models\Content\Content;
interface AppHandler extends BaseModuleHandler
{
@@ -1,5 +1,5 @@
<?php
namespace App\Handlers\Contracts;
namespace App\CMS\Handlers\Contracts;
use App\Models\User;
@@ -1,7 +1,7 @@
<?php
namespace App\Handlers\Contracts;
namespace App\CMS\Handlers\Contracts;
use App\Models\Content;
use App\Models\Content\Content;
/**
* 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
* page.
*
* @package App\Handlers\Contracts
* @package App\CMS\Handlers\Contracts
*/
interface ContentTitles
{
@@ -1,5 +1,5 @@
<?php
namespace App\Handlers\Contracts;
namespace App\CMS\Handlers\Contracts;
interface HistoryHandler
{
@@ -1,5 +1,5 @@
<?php
namespace App\Handlers\Contracts;
namespace App\CMS\Handlers\Contracts;
interface SearchHandler {
public function getId();
@@ -1,5 +1,5 @@
<?php
namespace App\Handlers\Contracts;
namespace App\CMS\Handlers\Contracts;
interface SearchPresenterHandler
{
@@ -1,8 +1,8 @@
<?php
namespace App\Handlers\Contracts;
namespace App\CMS\Handlers\Contracts;
use App\Http\Requests\Request;
use App\Models\Content;
use App\Models\Content\Content;
use App\Models\Module;
/**
@@ -10,7 +10,7 @@ use App\Models\Module;
*
* Inerface used for registering template into CMS core.
*
* @package App\Handlers\Contracts
* @package App\CMS\Handlers\Contracts
*/
interface TemplateHandler extends BaseModuleHandler
{
@@ -1,5 +1,5 @@
<?php
namespace App\Widgets\Contracts;
namespace App\CMS\Contracts\Widgets;
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
namespace App\Widgets\Contracts;
namespace App\CMS\Widgets\Contracts;
interface MenuExtensionHandler {
@@ -1,8 +1,7 @@
<?php
namespace App\Widgets\Contracts;
namespace App\CMS\Contracts\Widgets;
use App\Http\Requests\Request;
use App\Models\Widget;
use App\Models\Widgets\Widget;
interface PublicWidget
{
@@ -28,22 +27,10 @@ interface PublicWidget
public static function getPresenter();
/**
* @param Widget $widget
* @param Widget $widget
* @param \stdClass $data
*
* @return mixed
*/
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
namespace App\Widgets\Contracts;
namespace App\CMS\Contracts\Widgets;
use App\Models\Widget;
use App\Models\WidgetType;
use App\Models\Widgets\Widget;
use App\Models\Widgets\WidgetType;
interface WidgetRenderer
{
@@ -11,7 +11,7 @@ interface WidgetRenderer
*
* This method renders some HTML code for displaying.
*
* @param object $settings
* @param Widget $settings
*
* @return mixed
*/
+6
View File
@@ -0,0 +1,6 @@
<?php
namespace App\CMS\CustomFields;
class BaseField {
}
@@ -1,5 +1,5 @@
<?php
namespace App\CustomFields;
namespace App\CMS\CustomFields;
class Date extends BaseField {
@@ -1,5 +1,5 @@
<?php
namespace App\CustomFields;
namespace App\CMS\CustomFields;
class Number extends BaseField {
@@ -1,5 +1,5 @@
<?php
namespace App\CustomFields;
namespace App\CMS\CustomFields;
class SelectboxList extends BaseField {
@@ -1,5 +1,5 @@
<?php
namespace App\CustomFields;
namespace App\CMS\CustomFields;
class String extends BaseField {
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\ActionLogType;
@@ -1,7 +1,7 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\ActionLogType;
use App\Models\ActionLog\ActionLogType;
class ActionLogTypesForLogger extends BaseEnumeration
{
@@ -1,7 +1,7 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Enumerations\Exceptions\EnumerationExistsException;
use App\CMS\Exceptions\Enumerations\EnumerationExistsException;
abstract class BaseEnumeration
{
@@ -1,7 +1,7 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\Content;
use App\Models\Content\Content;
class ContentStatuses extends BaseEnumeration
{
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\CustomFieldResource;
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\CustomFieldType;
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\Module;
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\Module;
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\Module;
@@ -6,7 +6,7 @@
* Time: 10:33
*/
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\TemplatePath;
@@ -6,7 +6,7 @@
* Time: 10:33
*/
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\TemplatePath;
@@ -6,7 +6,7 @@
* Time: 10:33
*/
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\TemplatePath;
@@ -6,7 +6,7 @@
* Time: 15:50
*/
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\Template;
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\User;
@@ -6,7 +6,7 @@
* Time: 23:20
*/
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\User;
@@ -1,7 +1,7 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\WidgetType;
use App\Models\Widgets\WidgetType;
class WidgetTypes extends BaseEnumeration
{
@@ -1,7 +1,7 @@
<?php
namespace App\Enumerations;
namespace App\CMS\Enumerations;
use App\Models\WidgetType;
use App\Models\Widgets\WidgetType;
class WidgetTypesWithHandlers extends BaseEnumeration
{
@@ -1,5 +1,5 @@
<?php
namespace App\Enumerations\Exceptions;
namespace App\CMS\Exceptions\Enumerations;
class EnumerationExistsException extends \Exception {
@@ -1,5 +1,5 @@
<?php
namespace App\Widgets\Exceptions;
namespace App\CMS\Widgets\Exceptions;
use Exception;
@@ -1,5 +1,5 @@
<?php
namespace App\Widgets\Exceptions;
namespace App\CMS\Widgets\Exceptions;
use Exception;
@@ -1,10 +1,10 @@
<?php
namespace App\Handlers;
namespace App\CMS\Handlers;
use App\Enumerations\TemplatePathsHumanReadableRootOnly;
use App\Enumerations\WidgetTypes;
use App\Handlers\Contracts\AppHandler;
use App\Handlers\Contracts\BaseModuleHandler;
use App\CMS\Enumerations\TemplatePathsHumanReadableRootOnly;
use App\CMS\Enumerations\WidgetTypes;
use App\CMS\Handlers\Contracts\AppHandler;
use App\CMS\Handlers\Contracts\BaseModuleHandler;
use App\Models\User;
abstract class BaseHandler implements BaseModuleHandler
@@ -1,9 +1,9 @@
<?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\Models\Content;
use App\Models\Content\Content;
/**
* 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
* done by some abstract magic.
*
* @package App\Handlers
* @package App\CMS\Handlers\
*/
abstract class Handler extends BaseHandler implements AppHandler
{
@@ -1,9 +1,9 @@
<?php
namespace App\Handlers;
namespace App\CMS\Handlers;
use App\Enumerations\ContentStatuses;
use App\Handlers\Contracts\HistoryHandler;
use App\Helpers\Differ;
use App\CMS\Enumerations\ContentStatuses;
use App\CMS\Handlers\Contracts\HistoryHandler;
use App\CMS\Helpers\Differ;
class History implements HistoryHandler
{
@@ -1,5 +1,5 @@
<?php
namespace App\Handlers\Registrators\Items;
namespace App\CMS\Handlers\Registrators\Items;
class SettingExtension
{
@@ -1,7 +1,7 @@
<?php
namespace App\Handlers\Registrators;
namespace App\CMS\Handlers\Registrators;
use App\Widgets\Contracts\MenuExtensionHandler;
use App\CMS\Widgets\Contracts\MenuExtensionHandler;
class MenuExtensionRegistrator {
@@ -1,10 +1,10 @@
<?php
namespace App\Handlers\Registrators;
namespace App\CMS\Handlers\Registrators;
use App\Enumerations\Exceptions\EnumerationExistsException;
use App\Handlers\Contracts\SearchHandler;
use App\Handlers\Contracts\SearchPresenterHandler;
use App\Handlers\Registrators\Items\SearchEngine;
use App\CMS\Enumerations\Exceptions\EnumerationExistsException;
use App\CMS\Handlers\Contracts\SearchHandler;
use App\CMS\Handlers\Contracts\SearchPresenterHandler;
use App\CMS\Handlers\Registrators\Items\SearchEngine;
use Symfony\Component\Process\Exception\InvalidArgumentException;
class SearchEngineRegistrator
@@ -1,8 +1,8 @@
<?php
namespace App\Handlers\Registrators;
namespace App\CMS\Handlers\Registrators;
use App\Enumerations\Exceptions\EnumerationExistsException;
use App\Handlers\Registrators\Items\SettingExtension;
use App\CMS\Enumerations\Exceptions\EnumerationExistsException;
use App\CMS\Handlers\Registrators\Items\SettingExtension;
class SettingsExtensionRegistrator
{
@@ -1,8 +1,8 @@
<?php
namespace App\Handlers\Registrators;
namespace App\CMS\Handlers\Registrators;
use App\Enumerations\TemplatePaths;
use App\Enumerations\Templates;
use App\CMS\Enumerations\TemplatePaths;
use App\CMS\Enumerations\Templates;
use App\Models\Template;
use App\Models\TemplatePath;
use Illuminate\Support\Facades\File;
@@ -194,7 +194,7 @@ class TemplateRegistrator
* @param $path
* @param $templatePathId
*
* @throws \App\Enumerations\Exceptions\EnumerationExistsException
* @throws \App\CMS\Enumerations\Exceptions\EnumerationExistsException
*/
protected function registerTemplates($path, $templatePathId)
{
@@ -238,7 +238,7 @@ class TemplateRegistrator
* @param null $parent
*
* @return mixed|null
* @throws \App\Enumerations\Exceptions\EnumerationExistsException
* @throws \App\CMS\Enumerations\Exceptions\EnumerationExistsException
*/
protected function saveTemplatePath($path, $name, $parent = null)
{
@@ -1,8 +1,8 @@
<?php
namespace App\Handlers\Registrators;
namespace App\CMS\Handlers\Registrators;
use App\Enumerations\WidgetTypesWithHandlers;
use App\Models\WidgetType;
use App\CMS\Enumerations\WidgetTypesWithHandlers;
use App\Models\Widgets\WidgetType;
class WidgetRegistrator
{
@@ -1,7 +1,7 @@
<?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
{
@@ -1,7 +1,7 @@
<?php
namespace App\Handlers\Search;
namespace App\CMS\Handlers\Search;
use App\Models\File;
use App\Models\FileManager\File;
class Files extends Search
{
@@ -1,8 +1,8 @@
<?php
namespace App\Handlers\Search\Presenters;
namespace App\CMS\Handlers\Search\Presenters;
use App\Enumerations\ContentStatuses;
use App\Handlers\Contracts\SearchPresenterHandler;
use App\CMS\Enumerations\ContentStatuses;
use App\CMS\Handlers\Contracts\SearchPresenterHandler;
class AdminContent implements SearchPresenterHandler
{
@@ -1,7 +1,7 @@
<?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
{
@@ -1,7 +1,7 @@
<?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;
abstract class Search implements SearchHandler
@@ -1,5 +1,5 @@
<?php
namespace App\Helpers;
namespace App\CMS\Helpers;
use App\Models\Module;
use DebugBar\Bridge\MonologCollector;
@@ -1,5 +1,5 @@
<?php
namespace App\Helpers;
namespace App\CMS\Helpers;
class Date
{
@@ -1,5 +1,5 @@
<?php
namespace App\Helpers;
namespace App\CMS\Helpers;
/*
Paul's Simple Differ Algorithm v 0.1
@@ -1,7 +1,7 @@
<?php
namespace App\Helpers;
namespace App\CMS\Helpers;
use App\Models\File;
use App\Models\FileManager\File;
class FileManager
{
@@ -17,7 +17,7 @@ class FileManager
switch ($type) {
case 'image':
$url = Template::thumbnail($file->filename);
$url = Path::thumbnail($file->filename);
return '<img src="' . $url . '" alt="' . $file->description . '" />';
break;
@@ -1,5 +1,5 @@
<?php
namespace App\Helpers;
namespace App\CMS\Helpers;
class Gravatar
{
@@ -1,8 +1,8 @@
<?php
namespace App\Helpers;
namespace App\CMS\Helpers;
use App\Handlers\Contracts\AppHandler;
use App\Models\Content;
use App\CMS\Handlers\Contracts\AppHandler;
use App\Models\Content\Content;
use Webwizo\Shortcodes\Facades\Shortcode;
/**
@@ -10,7 +10,7 @@ use Webwizo\Shortcodes\Facades\Shortcode;
*
* Simple class for rendering page for visitor
*
* @package App\Helpers
* @package App\CMS\Helpers
*/
class PageRenderer
{
@@ -1,48 +1,11 @@
<?php
namespace App\Helpers;
namespace App\CMS\Helpers;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
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
*
@@ -95,25 +58,4 @@ class Template
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
namespace App\Helpers;
namespace App\CMS\Helpers;
use App\Models\Settings as SettingsModel;
@@ -9,7 +9,7 @@ use App\Models\Settings as SettingsModel;
*
* Helper class for easier obtaining system settings
*
* @package App\Helpers
* @package App\CMS\Helpers
*/
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
namespace App\Helpers;
namespace App\CMS\Helpers;
use App\Models\WidgetArea;
use App\Models\Widgets\WidgetArea;
class WidgetAreas
{
@@ -17,11 +17,7 @@ class WidgetAreas
if (!isset(self::$widgetAreas[$widget->widget_area_code]))
self::$widgetAreas[$widget->widget_area_code] = '';
$handler = $widget->widget_type_handler;
$widget->settings = json_decode($widget->settings);
$presenter = call_user_func([$handler, 'getPresenter']);
self::$widgetAreas[$widget->widget_area_code] .= call_user_func([$presenter, 'render'], $widget);
self::$widgetAreas[$widget->widget_area_code] .= Widget::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 null $default
@@ -22,7 +22,7 @@ function e($value)
* @return null|string
*/
function setting($key, $default = null) {
return \App\Helpers\Settings::get($key, $default);
return \App\CMS\Helpers\Settings::get($key, $default);
}
function asset_path($path) {
@@ -1,5 +1,5 @@
<?php
namespace App\MenuPresenters;
namespace App\CMS\MenuPresenters;
use Pingpong\Menus\MenuItem;
use Pingpong\Menus\Presenters\Presenter;
@@ -1,5 +1,5 @@
<?php
namespace App\MenuPresenters;
namespace App\CMS\MenuPresenters;
use Pingpong\Menus\Presenters\Presenter;
@@ -1,5 +1,5 @@
<?php
namespace App\MenuPresenters;
namespace App\CMS\MenuPresenters;
class FoundationInitializedDropdownMenuPresenter extends FoundationDropdownMenuPresenter
{
@@ -1,5 +1,5 @@
<?php
namespace App\MenuPresenters;
namespace App\CMS\MenuPresenters;
use Pingpong\Menus\MenuItem;
use Pingpong\Menus\Presenters\Presenter;
@@ -1,5 +1,5 @@
<?php
namespace App\MenuPresenters;
namespace App\CMS\MenuPresenters;
use Pingpong\Menus\MenuItem;
use Pingpong\Menus\Presenters\Presenter;
@@ -1,7 +1,7 @@
<?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;
class Widget
@@ -1,13 +1,12 @@
<?php
namespace App\Widgets\HtmlCode;
namespace App\CMS\Widgets\HtmlCode;
use App\Http\Requests\Request;
use App\Models\Widget;
use App\Widgets\Contracts\WidgetRenderer;
use App\Widgets\Exceptions\MissingParameterException;
use App\Widgets\NonInstallableWidget;
use App\CMS\Contracts\Widgets\PublicWidget;
use App\CMS\Widgets\Contracts\WidgetRenderer;
use App\CMS\Widgets\Exceptions\MissingParameterException;
use App\Models\Widgets\Widget;
class HtmlCode extends NonInstallableWidget
class HtmlCode implements PublicWidget
{
/**
* Name getter
@@ -40,7 +39,7 @@ class HtmlCode extends NonInstallableWidget
}
/**
* @param Widget $widget
* @param Widget $widget
* @param \stdClass $data
*
* @return Widget
@@ -1,9 +1,9 @@
<?php
namespace App\Widgets\HtmlCode\Presenters;
namespace App\CMS\Widgets\HtmlCode\Presenters;
use App\Models\Widget;
use App\Models\WidgetType;
use App\Widgets\Contracts\WidgetRenderer;
use App\Models\Widgets\Widget;
use App\Models\Widgets\WidgetType;
use App\CMS\Contracts\Widgets\WidgetRenderer;
class HtmlCode implements WidgetRenderer
{
@@ -1,7 +1,7 @@
<?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 {
public function getPossibleValues()
@@ -1,13 +1,14 @@
<?php
namespace App\Widgets\Menu;
namespace App\CMS\Widgets\Menu;
use App\Models\Content;
use App\Widgets\Contracts\WidgetRenderer;
use App\Widgets\Exceptions\MissingParameterException;
use App\Widgets\NonInstallableWidget;
use App\CMS\Contracts\Widgets\PublicWidget;
use App\CMS\Widgets\Contracts\WidgetRenderer;
use App\CMS\Widgets\Exceptions\MissingParameterException;
use App\Models\Content\Content;
use App\Models\Widgets\Widget;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
class Menu extends NonInstallableWidget
class Menu implements PublicWidget
{
/**
* Name getter
@@ -45,7 +46,7 @@ class Menu extends NonInstallableWidget
*
* @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)) {
throw new MissingParameterException('settings');
@@ -1,13 +1,12 @@
<?php
namespace App\Widgets\Menu\Presenters;
namespace App\CMS\Widgets\Menu\Presenters;
use App\Models\Content;
use App\Models\Widget;
use App\Models\WidgetType;
use App\Widgets\Contracts\WidgetRenderer;
use App\Widgets\Menu\Menu as WidgetMenu;
use App\CMS\Contracts\Widgets\WidgetRenderer;
use App\CMS\Widgets\Menu\Menu as WidgetMenu;
use App\Models\Content\Content;
use App\Models\Widgets\Widget;
use App\Models\Widgets\WidgetType;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Route;
@@ -43,8 +42,9 @@ class Menu implements WidgetRenderer
$code = '<ul class="menu ' . $widget->container_class . '"';
if ($widget->container_id)
$code .= ' id="'.e($widget->container_id).'"';
if ($widget->container_id) {
$code .= ' id="' . e($widget->container_id) . '"';
}
$code .= '>';
@@ -108,8 +108,6 @@ class Menu implements WidgetRenderer
*/
public static function renderEditForm(Widget $widget)
{
// $extensions = App::make('registerMenuExtension')
// ->get();
$content = new Content();
// get list of all pages
@@ -117,11 +115,10 @@ class Menu implements WidgetRenderer
->get();
// make object from JSON
$widget->settingsObj = json_decode($widget->settings);
if (!isset($widget->settingsObj->links)) {
if (!isset($widget->settings->links)) {
$links = new \stdClass();
} else {
$links = (array)$widget->settingsObj->links;
$links = (array)$widget->settings->links;
}
// sort links using "order"
@@ -129,7 +126,7 @@ class Menu implements WidgetRenderer
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]);
}
+17 -9
View File
@@ -14,13 +14,13 @@ class ChangePassword extends Command
*
* @var string
*/
protected $signature = 'user:change-password {userID} {newPassword}';
protected $signature = 'user:change-password {email}';
/**
* The console command description.
*
* @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.
@@ -29,18 +29,26 @@ class ChangePassword extends Command
*/
public function handle()
{
$id = $this->argument('userID');
$newPassword = $this->argument('newPassword');
$email = $this->argument('email');
try {
$user = User::findOrFail($id);
$user = User::where(['email' => $email])
->first();
} catch (ModelNotFoundException $e) {
$this->error('Invalid user ID ' . $id . '. Please see table `users` for correct IDs.');
exit(1);
$this->error('Invalid user ' . $email . '.');
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
$user->password = Hash::make($newPassword);
$user->password = Hash::make($password);
$user->save();
$this->info('Password successfully changed.');
+27 -11
View File
@@ -2,11 +2,10 @@
namespace App\Console\Commands;
use App\Enumerations\UserRoles;
use App\CMS\Enumerations\UserRoles;
use App\Models\User;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Hash;
use Symfony\Component\Console\Exception\InvalidArgumentException;
class NewUser extends Command
{
@@ -15,7 +14,7 @@ class NewUser extends Command
*
* @var string
*/
protected $signature = 'user:new {email} {password} {role}';
protected $signature = 'user:new {email}';
/**
* The console command description.
*
@@ -25,21 +24,38 @@ class NewUser extends Command
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$email = $this->argument('email');
$password = $this->argument('password');
$role = $this->argument('role');
// check if given role is valid
$roles = UserRoles::getSimple();
if (!in_array($role, $roles)) {
throw new InvalidArgumentException('Invalid role specified. valid roles are: ' . implode(', ', $roles));
// check if username is really email
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$this->error($email . ' is not a valid e-mail!');
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
$user = new User();
$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;
use App\Models\Widget;
use App\Models\Widgets\Widget;
use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels;
+1 -1
View File
@@ -3,7 +3,7 @@
namespace App\Events;
use App\Events\Event;
use App\Models\Content;
use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events;
use App\Models\Widget;
use App\Models\Widgets\Widget;
use Illuminate\Queue\SerializesModels;
class CreateNewWidget extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events;
use App\Models\Content;
use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels;
class DeleteContent extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events;
use App\Models\Content;
use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels;
class EditContent extends Event
+1 -1
View File
@@ -3,7 +3,7 @@
namespace App\Events;
use App\Events\Event;
use App\Models\File;
use App\Models\FileManager\File;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events;
use App\Models\Widget;
use App\Models\Widgets\Widget;
use Illuminate\Queue\SerializesModels;
class EditWidget extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events;
use App\Models\Content;
use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels;
class MakeDraftFromContent extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events;
use App\Models\Content;
use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels;
class PublishContent extends Event
+1 -1
View File
@@ -2,7 +2,7 @@
namespace App\Events;
use App\Models\Widget;
use App\Models\Widgets\Widget;
use App\Models\WidgetArea;
use Illuminate\Queue\SerializesModels;
+1 -1
View File
@@ -3,7 +3,7 @@
namespace App\Events;
use App\Events\Event;
use App\Models\Content;
use App\Models\Content\Content;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
@@ -3,7 +3,7 @@
namespace App\Http\Controllers\Admin\ActionLog;
use App\Http\Controllers\Admin\Controller;
use App\Models\ActionLog;
use App\Models\ActionLog\ActionLog;
use App\Models\User;
use Illuminate\Support\Facades\Input;
@@ -1,9 +1,9 @@
<?php
namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses;
use App\CMS\Enumerations\ContentStatuses;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content;
use App\Models\Content\Content;
use App\Models\Module;
use Illuminate\Support\Facades\Input;
@@ -1,13 +1,13 @@
<?php
namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses;
use App\CMS\Enumerations\ContentStatuses;
use App\Events\CreateNewContent as CreateNewContentEvent;
use App\Helpers\CurrentTemplate;
use App\CMS\Helpers\CurrentTemplate;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\CreateNewContentRequest;
use App\Models\Content;
use App\Models\File;
use App\Models\Content\Content;
use App\Models\FileManager\File;
use App\Models\Module;
use App\Models\Template;
use Illuminate\Support\Facades\Event;
@@ -1,20 +1,20 @@
<?php
namespace App\Http\Controllers\Admin\Contents;
use App\Enumerations\ContentStatuses;
use App\CMS\Enumerations\ContentStatuses;
use App\Events\AttemptToEditInvalidContent;
use App\Events\DeleteContent;
use App\Events\EditContent as EditContentEvent;
use App\Events\MakeDraftFromContent;
use App\Events\PublishContent;
use App\Events\SetHomepage;
use App\Helpers\CurrentTemplate;
use App\CMS\Helpers\CurrentTemplate;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditContentRequest;
use App\Http\Requests\Request;
use App\Models\Content;
use App\Models\ContentHistory;
use App\Models\File;
use App\Models\Content\Content;
use App\Models\Content\ContentHistory;
use App\Models\FileManager\File;
use App\Models\Module;
use App\Models\Template;
use Illuminate\Support\Facades\Event;
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\Contents;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content;
use App\Models\ContentHistory;
use App\Models\Content\Content;
use App\Models\Content\ContentHistory;
class History extends Controller
{
@@ -12,6 +12,5 @@ abstract class Controller extends BaseController
*/
public function __construct()
{
}
}
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes;
use App\CMS\Enumerations\CustomFieldResources;
use App\CMS\Enumerations\CustomFieldTypes;
use App\Events\CreateNewCustomField as CreateNewCustomFieldEvent;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\NewCustomFieldRequest;
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes;
use App\CMS\Enumerations\CustomFieldResources;
use App\CMS\Enumerations\CustomFieldTypes;
use App\Http\Controllers\Admin\Controller;
use App\Models\CustomField;
@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Admin\CustomFields;
use App\Enumerations\CustomFieldResources;
use App\Enumerations\CustomFieldTypes;
use App\CMS\Enumerations\CustomFieldResources;
use App\CMS\Enumerations\CustomFieldTypes;
use App\Events\DeleteCustomField;
use App\Events\EditCustomField as EditCustomFieldEvent;
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\Requests;
use App\Models\Directory;
use App\Models\FileManager\Directory;
class CreateNewDirectory extends Controller
{
@@ -4,7 +4,7 @@ namespace App\Http\Controllers\Admin\FileManager;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests;
use App\Models\Directory;
use App\Models\FileManager\Directory;
class EditDirectory extends Controller
{
@@ -3,10 +3,10 @@
namespace App\Http\Controllers\Admin\FileManager;
use App\Events\EditFile;
use App\Helpers\FileManager;
use App\CMS\Helpers\FileManager;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\EditUploadedFileRequest;
use App\Models\File;
use App\Models\FileManager\File;
use Illuminate\Support\Facades\Event;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

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