FIX: lots of bugfixes, sorry for ugly commit
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
<?php
|
||||
namespace App\CMS\Handlers\Registrators;
|
||||
|
||||
use App\CMS\Contracts\Repositories\Template;
|
||||
use App\CMS\Enumerations\TemplatePaths;
|
||||
use App\CMS\Enumerations\Templates;
|
||||
use App\CMS\Contracts\Repositories\Template;
|
||||
use App\Models\Templates\Template as TemplateModel;
|
||||
use App\Models\Templates\TemplatePath;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use Illuminate\Support\Str;
|
||||
@@ -134,7 +135,10 @@ class TemplateRegistrator
|
||||
*/
|
||||
protected function relativePath($directory)
|
||||
{
|
||||
return trim(str_replace(base_path(), '', $directory), '/');
|
||||
$directory = str_replace('/', DIRECTORY_SEPARATOR, $directory);
|
||||
$directory = str_replace('\\', DIRECTORY_SEPARATOR, $directory);
|
||||
|
||||
return trim(str_replace(base_path(), '', $directory), '\\/');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -145,6 +149,10 @@ class TemplateRegistrator
|
||||
*/
|
||||
protected function scanForSubdirectories($directory, $name)
|
||||
{
|
||||
if (!is_dir($directory)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$directories = File::directories($directory);
|
||||
|
||||
foreach ($directories as $dir) {
|
||||
@@ -222,7 +230,7 @@ class TemplateRegistrator
|
||||
];
|
||||
|
||||
// save template into database
|
||||
$newTemplate = Template::create($params);
|
||||
$newTemplate = TemplateModel::create($params);
|
||||
|
||||
// push template into enumeration - so it will not be registered again
|
||||
Templates::push($newTemplate->id, $templateName);
|
||||
@@ -295,12 +303,17 @@ class TemplateRegistrator
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function getTemplateName($template)
|
||||
protected function getTemplateName($template)
|
||||
{
|
||||
$templateName = str_replace($this->registeredPath . DIRECTORY_SEPARATOR, '', $template);
|
||||
$templateName = $template;
|
||||
|
||||
$templateName = str_replace($this->registeredPath, '', $templateName);
|
||||
$templateName = str_replace('\\', DIRECTORY_SEPARATOR, $templateName);
|
||||
$templateName = str_replace('/', DIRECTORY_SEPARATOR, $templateName);
|
||||
$templateName = str_replace(DIRECTORY_SEPARATOR, '.', $templateName);
|
||||
$templateName = str_replace(Template::TEMPLATE_SUFFIX, '', $templateName);
|
||||
$templateName = preg_replace('/\.{2,}/', '.', $templateName);
|
||||
|
||||
return $this->namespace . $templateName;
|
||||
return $this->namespace . trim($templateName, '.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ class WidgetRegistrator
|
||||
{
|
||||
protected $registeredWidgets = [];
|
||||
|
||||
|
||||
/**
|
||||
* Method used for registering new widgets
|
||||
*
|
||||
@@ -51,7 +50,9 @@ class WidgetRegistrator
|
||||
]);
|
||||
|
||||
// install widget (if neccessary)
|
||||
call_user_func($classname . '::install');
|
||||
if (is_callable([$classname, 'install'])) {
|
||||
call_user_func($classname . '::install');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user