test fixes and changes for release

This commit is contained in:
Dennis Eichhorn 2022-12-25 00:06:17 +01:00
parent ca4297af14
commit 237d88ee7b
3 changed files with 45 additions and 18 deletions

View File

@ -160,7 +160,7 @@ final class ApiController extends Controller
. '"' . '"'
, true); , true);
$response->header->set('Content-Type', MimeType::M_PDF, true); $response->header->set('Content-Type', MimeType::M_PDF, true);
$view->setTemplate('/' . \substr($view->getData('tcoll')['pdf']?->getPath(), 0, -8), 'pdf.php'); $view->setTemplate('/' . \substr($view->getData('tcoll')['pdf']->getPath(), 0, -8), 'pdf.php');
break; break;
case 'csv': case 'csv':
if (!isset($view->getData('tcoll')['csv'])) { if (!isset($view->getData('tcoll')['csv'])) {
@ -174,7 +174,7 @@ final class ApiController extends Controller
. '"' . '"'
, true); , true);
$response->header->set('Content-Type', MimeType::M_CONF, true); $response->header->set('Content-Type', MimeType::M_CONF, true);
$view->setTemplate('/' . \substr($view->getData('tcoll')['csv']?->getPath(), 0, -8), 'csv.php'); $view->setTemplate('/' . \substr($view->getData('tcoll')['csv']->getPath(), 0, -8), 'csv.php');
break; break;
case 'xls': case 'xls':
case 'xlsx': case 'xlsx':
@ -189,7 +189,7 @@ final class ApiController extends Controller
. '"' . '"'
, true); , true);
$response->header->set('Content-Type', MimeType::M_XLSX, true); $response->header->set('Content-Type', MimeType::M_XLSX, true);
$view->setTemplate('/' . \substr($view->getData('tcoll')['excel']?->getPath(), 0, -8), 'xls.php'); $view->setTemplate('/' . \substr($view->getData('tcoll')['excel']->getPath(), 0, -8), 'xls.php');
break; break;
case 'doc': case 'doc':
case 'docx': case 'docx':
@ -204,7 +204,7 @@ final class ApiController extends Controller
. '"' . '"'
, true); , true);
$response->header->set('Content-Type', MimeType::M_XLSX, true); $response->header->set('Content-Type', MimeType::M_XLSX, true);
$view->setTemplate('/' . \substr($view->getData('tcoll')['word']?->getPath(), 0, -8), 'doc.php'); $view->setTemplate('/' . \substr($view->getData('tcoll')['word']->getPath(), 0, -8), 'doc.php');
break; break;
case 'ppt': case 'ppt':
case 'pptx': case 'pptx':
@ -219,7 +219,7 @@ final class ApiController extends Controller
. '"' . '"'
, true); , true);
$response->header->set('Content-Type', MimeType::M_XLSX, true); $response->header->set('Content-Type', MimeType::M_XLSX, true);
$view->setTemplate('/' . \substr($view->getData('tcoll')['powerpoint']?->getPath(), 0, -8), 'ppt.php'); $view->setTemplate('/' . \substr($view->getData('tcoll')['powerpoint']->getPath(), 0, -8), 'ppt.php');
break; break;
case 'json': case 'json':
if (!isset($view->getData('tcoll')['json'])) { if (!isset($view->getData('tcoll')['json'])) {
@ -227,7 +227,7 @@ final class ApiController extends Controller
} }
$response->header->set('Content-Type', MimeType::M_JSON, true); $response->header->set('Content-Type', MimeType::M_JSON, true);
$view->setTemplate('/' . \substr($view->getData('tcoll')['json']?->getPath(), 0, -9), 'json.php'); $view->setTemplate('/' . \substr($view->getData('tcoll')['json']->getPath(), 0, -9), 'json.php');
break; break;
default: default:
if (!isset($view->getData('tcoll')['template'])) { if (!isset($view->getData('tcoll')['template'])) {
@ -235,24 +235,26 @@ final class ApiController extends Controller
} }
$response->header->set('Content-Type', 'text/html; charset=utf-8'); $response->header->set('Content-Type', 'text/html; charset=utf-8');
$view->setTemplate('/' . \substr($view->getData('tcoll')['template']?->getPath(), 0, -8)); $view->setTemplate('/' . \substr($view->getData('tcoll')['template']->getPath(), 0, -8));
} }
} }
/** /**
* Create media directory path * Create media directory path
* *
* @param Template $template Template * @param string $name Name
* *
* @return string * @return string
* *
* @since 1.0.0 * @since 1.0.0
*/ */
private function createHelperDir(Template $template) : string private function createHelperDir(string $name) : string
{ {
$dt = new \DateTime('now');
return '/Modules/Helper/' return '/Modules/Helper/'
. $template->getId() . ' ' . $dt->format('Y-m-d') . '_'
. $template->name; . $name;
} }
/** /**
@ -270,8 +272,10 @@ final class ApiController extends Controller
*/ */
private function createView(Template $template, RequestAbstract $request, ResponseAbstract $response) : View private function createView(Template $template, RequestAbstract $request, ResponseAbstract $response) : View
{ {
/** @var array<string, \Modules\Media\Models\Media|\Modules\Media\Models\Media[]> $tcoll */ /** @var array{lang?:\Modules\Media\Models\Media, cfg?:\Modules\Media\Models\Media, excel?:\Modules\Media\Models\Media, word?:\Modules\Media\Models\Media, powerpoint?:\Modules\Media\Models\Media, pdf?:\Modules\Media\Models\Media, csv?:\Modules\Media\Models\Media, json?:\Modules\Media\Models\Media, template?:\Modules\Media\Models\Media, css?:array<string, \Modules\Media\Models\Media>, js?:array<string, \Modules\Media\Models\Media>, db?:array<string, \Modules\Media\Models\Media>, other?:array<string, \Modules\Media\Models\Media>} $tcoll */
$tcoll = []; $tcoll = [];
/** @var \Modules\Media\Models\Media[] $files */
$files = $template->source->getSources(); $files = $template->source->getSources();
/** @var \Modules\Media\Models\Media $tMedia */ /** @var \Modules\Media\Models\Media $tMedia */
@ -317,6 +321,10 @@ final class ApiController extends Controller
$tcoll['css'][$tMedia->name] = $tMedia; $tcoll['css'][$tMedia->name] = $tMedia;
break; break;
case StringUtils::endsWith($lowerPath, '.js'): case StringUtils::endsWith($lowerPath, '.js'):
if (!isset($tcoll['js'])) {
$tcoll['js'] = [];
}
$tcoll['js'][$tMedia->name] = $tMedia; $tcoll['js'][$tMedia->name] = $tMedia;
break; break;
case StringUtils::endsWith($lowerPath, '.sqlite'): case StringUtils::endsWith($lowerPath, '.sqlite'):
@ -404,7 +412,7 @@ final class ApiController extends Controller
return; return;
} }
$path = '/Modules/Helper/' . $request->getData('name'); $path = $this->createHelperDir($request->getData('name'));
/** @var \Modules\Media\Models\Media[] $uploaded */ /** @var \Modules\Media\Models\Media[] $uploaded */
$uploaded = $this->app->moduleManager->get('Media')->uploadFiles( $uploaded = $this->app->moduleManager->get('Media')->uploadFiles(

View File

@ -160,9 +160,13 @@ final class BackendController extends Controller
$view->setTemplate('/Modules/Helper/Theme/Backend/helper-single'); $view->setTemplate('/Modules/Helper/Theme/Backend/helper-single');
/** @var array<string, \Modules\Media\Models\Media> $tcoll */
$tcoll = []; $tcoll = [];
/** @var \Modules\Media\Models\Media[] $files */
$files = $template->source->getSources(); $files = $template->source->getSources();
/** @var \Modules\Media\Models\Media $tMedia */
foreach ($files as $tMedia) { foreach ($files as $tMedia) {
$lowerPath = \strtolower($tMedia->getPath()); $lowerPath = \strtolower($tMedia->getPath());
@ -191,11 +195,7 @@ final class BackendController extends Controller
} elseif (StringUtils::endsWith($lowerPath, '.js')) { } elseif (StringUtils::endsWith($lowerPath, '.js')) {
$tcoll['js'] = $tMedia; $tcoll['js'] = $tMedia;
} elseif (StringUtils::endsWith($lowerPath, '.sqlite') || StringUtils::endsWith($lowerPath, '.db')) { } elseif (StringUtils::endsWith($lowerPath, '.sqlite') || StringUtils::endsWith($lowerPath, '.db')) {
if (!isset($tcoll['db'])) { $tcoll['db'] = $tMedia;
$tcoll['db'] = [];
}
$tcoll['db'][] = $tMedia;
} }
} }

View File

@ -257,6 +257,25 @@ $CONFIG = [
'root' => '/', 'root' => '/',
'https' => false, 'https' => false,
], ],
'app' => [
'path' => __DIR__,
'default' => [
'app' => 'Backend',
'id' => 'backend',
'lang' => 'en',
'theme' => 'Backend',
'org' => 1,
],
'domains' => [
'127.0.0.1' => [
'app' => 'Backend',
'id' => 'backend',
'lang' => 'en',
'theme' => 'Backend',
'org' => 1,
],
],
],
'socket' => [ 'socket' => [
'master' => [ 'master' => [
'host' => '127.0.0.1', 'host' => '127.0.0.1',