Merge branch 'dev' into module_profiler

This commit is contained in:
Michal Kváček
2017-03-23 23:18:01 +01:00
85 changed files with 1325 additions and 871 deletions
@@ -39,7 +39,8 @@ class ContentOverview extends Controller
// get pages for overview
$handler = $module !== null ? $module->handler : null;
$pages = $this->content->getOverview($handler, [$status]);
$pages = $this->content->getOverview($handler, [$status])
->paginate(setting('paginatedResults', 20));
// get homepage - for checking if homepage is set and available
$homepage = $this->content->getHomepage();
@@ -4,13 +4,13 @@ namespace App\Http\Controllers\Admin\Contents;
use App\CMS\Contracts\Repositories\Content as IContent;
use App\CMS\Contracts\Repositories\Module as IModuleRepository;
use App\CMS\Contracts\Repositories\Template as ITemplate;
use Modules\Categories\Contracts\Repositories\Category as ICategory;
use App\CMS\Enumerations\ContentStatuses;
use App\Cms\Handlers\Interactions\Interaction;
use App\Cms\Interactions\Admin\Content\NewContent;
use App\Http\Controllers\Admin\Controller;
use App\Http\Requests\CreateNewContentRequest;
use App\Http\Requests\Request;
use Modules\Categories\Contracts\Repositories\Category as ICategory;
/**
* Class CreateNewContent
@@ -85,7 +85,8 @@ class CreateNewContent extends Controller
'module' => $module,
'categories' => $categories,
'page' => $page,
'rootPages' => $this->content->getOverview(),
'rootPages' => $this->content->getOverview()
->get(),
'formSectionNames' => call_user_func([$module->handler, 'getExtendedFormSections']),
'formSections' => call_user_func([$module->handler, 'getExtendedFormInputsCreate']),
]);
@@ -103,11 +104,8 @@ class CreateNewContent extends Controller
{
$module = $this->module->getOne($moduleId);
$titlePhoto = $request->file('titlePhoto');
$relatedFiles = $request->all()['files'];
// create new page
Interaction::handle(NewContent::class, $request->all(), $module->handler, $titlePhoto, $relatedFiles);
Interaction::handle(NewContent::class, $request->all(), $module->handler);
return redirect()
->route('content.overview')
@@ -87,9 +87,6 @@ class EditContent extends Controller
$categories = $this->category->getForModule($module);
$history = $this->history->getStructuredHistoryOf($page);
// modify data for edit form according to installed template
CurrentTemplate::beforePopulatingEditForm($page);
// render view
return view('admin.content.edit', [
'pageHeading' => $pageHeading,
@@ -97,7 +94,7 @@ class EditContent extends Controller
'page' => $page,
'module' => $module,
'categories' => $categories,
'rootPages' => $this->content->getOverview(),
'rootPages' => $this->content->getOverview()->get(),
'templates' => $templates,
'formSectionNames' => $this->module->call($module, 'getExtendedFormSections'),
'formSections' => $this->module->call($module, 'getExtendedFormInputsEdit'),
@@ -132,10 +129,7 @@ class EditContent extends Controller
}
// edit page
$titlePhoto = $request->file('titlePhoto');
$relatedFiles = $request->all()['files'];
Interaction::handle(EditContentInteraction::class, $request->all(), $page, $titlePhoto, $relatedFiles);
Interaction::handle(EditContentInteraction::class, $request->all(), $page);
// something was changed, inform user
return redirect()
@@ -12,6 +12,21 @@ use Illuminate\Support\Facades\File;
class EditTemplate extends Controller
{
/**
* @var TemplateRepositoryContract
*/
private $templateRepository;
/**
* EditTemplate constructor.
*
* @param TemplateRepositoryContract $templateRepository
*/
public function __construct(TemplateRepositoryContract $templateRepository)
{
$this->templateRepository = $templateRepository;
}
/**
* Render form for editing template
*
@@ -26,11 +41,10 @@ class EditTemplate extends Controller
*/
$template = Template::findOrFail($template);
$repo = app(TemplateRepositoryContract::class);
$repo->setModel($template);
$this->templateRepository->setModel($template);
// load template content
$absolutePath = $repo->getPathToTemplate();
$absolutePath = $this->templateRepository->getPathToTemplate();
$content = @file_get_contents($absolutePath);
return view('admin.templates.edit', [
@@ -78,9 +92,11 @@ class EditTemplate extends Controller
*/
private function saveContent(Template $template, EditTemplateRequest $request)
{
$this->templateRepository->setModel($template);
// get templates with paths
$originalTemplate = $template->getPathToTemplate();
$customTemplate = $template->getPathToTemplate(Template::CUSTOM_EDIT_DIRECTORY);
$originalTemplate = $this->templateRepository->getPathToTemplate();
$customTemplate = $this->templateRepository->getPathToTemplate(TemplateRepositoryContract::CUSTOM_EDIT_DIRECTORY);
// get paths
$originalDir = dirname($originalTemplate);
+16 -7
View File
@@ -3,7 +3,6 @@
namespace App\Http\Controllers\Visitor;
use App\CMS\Contracts\Repositories\Content;
use App\CMS\Helpers\PageRenderer;
use App\Http\Controllers\Controller;
use App\Models\Content\Content as ContentModel;
use Illuminate\Support\Facades\Auth;
@@ -24,11 +23,20 @@ class ContentPage extends Controller
$this->content = $content;
}
/**
* Load page by URL
*
* This method also caches content
*
* @param $url
*
* @return mixed
*/
public function getPage($url)
{
$contentModel = $this->content;
$page = Cache::remember('content-' . $url, setting('contentCacheLifetime', 5), function () use ($contentModel, $url) {
return $contentModel->getByURL($url);
$contentRepository = $this->content;
$page = Cache::remember('content-' . $url, setting('contentCacheLifetime', 5), function () use ($contentRepository, $url) {
return $contentRepository->getByURL($url);
});
// no page available
@@ -54,9 +62,10 @@ class ContentPage extends Controller
abort(404);
}
// add one new "view" for page
$page->view();
$displayPipeline = app('displayPipeline');
$page = $displayPipeline->run($page);
return Controller::VisitorsView($page->template, ['page' => $page]);
return PageRenderer::render($page);
}
}