- Work done on the console to have at least some working functionality from every parts
This commit is contained in:
1 parent
e78492d398
commit
24e5490c71
18 files changed
+352
-27
No files matched your search
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Lean\Console\Controller;
|
||||
|
||||
use League\Route\Router;
|
||||
use Picea\Caching\Opcache;
|
||||
use Picea\FileFetcher;
|
||||
use Picea\Picea;
|
||||
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
|
||||
|
||||
use Notes\Route\Annotation\Object\Route as RouteParam,
|
||||
Notes\Route\Annotation\Method\Route,
|
||||
Notes\Security\Annotation\Security,
|
||||
Notes\Tell\Annotation\Language;
|
||||
|
||||
use Lean\Console\{ Form, Lib };
|
||||
|
||||
use Picea\Extension\UrlExtension;
|
||||
|
||||
use function Home\View\{ _, lang, url, route, form };
|
||||
|
||||
/**
|
||||
* @Language("lean.caching")
|
||||
*/
|
||||
class Caching extends Console {
|
||||
use Lib\ConsoleControllerTrait;
|
||||
|
||||
/**
|
||||
* @Route("/caching/picea", "name" => "lean.console:caching")
|
||||
*/
|
||||
public function picea(ServerRequestInterface $request, array $arguments) : ResponseInterface
|
||||
{
|
||||
$list = [];
|
||||
|
||||
if ( isset($this->picea) ) {
|
||||
form(new Form\Caching\Picea($this->picea, $list), $this->pushContext(new Lib\FormContext($request, "caching.picea")));
|
||||
}
|
||||
|
||||
return $this->renderView("lean-console/page/caching/picea", get_defined_vars());
|
||||
}
|
||||
}
|
||||
@@ -28,10 +28,7 @@ class Storage extends Console {
|
||||
use Lib\ConsoleControllerTrait;
|
||||
|
||||
/**
|
||||
* @Route("/storage/database", "name" => "lean.console:request.route")
|
||||
* @param ServerRequestInterface $request
|
||||
* @param array $arguments
|
||||
* @return ResponseInterface
|
||||
* @Route("/storage/database", "name" => "lean.console:storage.database")
|
||||
*/
|
||||
public function database(ServerRequestInterface $request, array $arguments) : ResponseInterface
|
||||
{
|
||||
@@ -45,6 +42,40 @@ class Storage extends Console {
|
||||
return $this->renderView("lean-console/page/storage/database", get_defined_vars());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/storage/session", "name" => "lean.console:storage.session")
|
||||
*/
|
||||
public function session(ServerRequestInterface $request, array $arguments) : ResponseInterface
|
||||
{
|
||||
$path = ini_get("session.save_path");
|
||||
|
||||
$sessions = preg_grep("/^sess_/", scandir($path));
|
||||
|
||||
return $this->renderView("lean-console/page/storage/session", get_defined_vars());
|
||||
}
|
||||
|
||||
/**
|
||||
* #Taxus('admin')
|
||||
* @Route("/storage/session/content/{hash}", "name" => "lean.console:storage.session_content")
|
||||
*/
|
||||
public function sessionContent(ServerRequestInterface $request, array $arguments) : ResponseInterface
|
||||
{
|
||||
$sess = session_encode();
|
||||
|
||||
session_decode(file_get_contents($this->sessionPath() . $arguments['hash']));
|
||||
|
||||
$data = array_combine(array_keys($_SESSION), array_values($_SESSION));
|
||||
|
||||
session_decode($sess);
|
||||
|
||||
return $this->renderJson($data);
|
||||
}
|
||||
|
||||
protected function sessionPath() : string
|
||||
{
|
||||
return rtrim(ini_get("session.save_path"), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
|
||||
}
|
||||
|
||||
public function createTable() : void
|
||||
{
|
||||
foreach($migrations->entities as $table) {
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace Lean\Console\Controller;
|
||||
|
||||
use League\Route\Router;
|
||||
use Picea\FileFetcher;
|
||||
use Picea\Picea;
|
||||
use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
|
||||
|
||||
use Notes\Route\Annotation\Object\Route as RouteParam,
|
||||
Notes\Route\Annotation\Method\Route,
|
||||
Notes\Security\Annotation\Security,
|
||||
Notes\Tell\Annotation\Language;
|
||||
|
||||
use \Lean\Console\Lib;
|
||||
|
||||
use Picea\Extension\UrlExtension;
|
||||
|
||||
/**
|
||||
* @Language("lean.templating")
|
||||
*/
|
||||
class Templating extends Console {
|
||||
use Lib\ConsoleControllerTrait;
|
||||
|
||||
/**
|
||||
* @Route("/templating/picea", "name" => "lean.console:templating.picea")
|
||||
*/
|
||||
public function picea(ServerRequestInterface $request, array $arguments) : ResponseInterface
|
||||
{
|
||||
$picea = $this->container->has(Picea::class) ? $this->container->get(Picea::class) : false;
|
||||
|
||||
$list = $picea->fileFetcher->getFileList();
|
||||
|
||||
return $this->renderView("lean-console/page/templating/picea", get_defined_vars());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace Lean\Console\Form\Caching;
|
||||
|
||||
use Picea\Ui\Method\{ FormInterface, FormContext, FormContextInterface };
|
||||
|
||||
use \Lean\Console\Lib;
|
||||
|
||||
use Picea\{Caching\Opcache, Compiler\Context };
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Ulmus\Common\EntityResolver;
|
||||
use \Ulmus\Entity\InformationSchema\Table;
|
||||
|
||||
use RecursiveIteratorIterator, RecursiveDirectoryIterator;
|
||||
|
||||
class Picea implements FormInterface
|
||||
{
|
||||
|
||||
public \Picea\Picea $picea;
|
||||
|
||||
public array $folders;
|
||||
|
||||
public function __construct(\Picea\Picea $picea, array &$folders)
|
||||
{
|
||||
$this->folders = &$folders;
|
||||
$this->picea = $picea;
|
||||
}
|
||||
|
||||
public function initialize(FormContextInterface $context) : void
|
||||
{
|
||||
if ($this->picea->cache instanceof Opcache) {
|
||||
$path = $this->picea->cache->cachePath() . "/";
|
||||
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST, RecursiveIteratorIterator::CATCH_GET_CHILD);
|
||||
|
||||
foreach ($iterator as $file) {
|
||||
if ($file->isFile() && in_array($file->getExtension(), [ 'php' ])) {
|
||||
$this->folders[$path][] = $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function validate(FormContextInterface $context) : bool
|
||||
{
|
||||
return $context->valid();
|
||||
}
|
||||
|
||||
public function execute(FormContextInterface $context) : void
|
||||
{
|
||||
$deleted = $failed = 0;
|
||||
|
||||
foreach($this->folders as $path => $files) {
|
||||
foreach($files as $file)
|
||||
{
|
||||
unlink($file->getPathname()) ? $deleted++ : $failed++;
|
||||
}
|
||||
}
|
||||
|
||||
if ($deleted) {
|
||||
# $context->pushMessage();
|
||||
}
|
||||
|
||||
if ($failed) {
|
||||
# $context->pushMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,6 @@ class Database implements FormInterface
|
||||
continue;
|
||||
}
|
||||
|
||||
#<<<<<<< HEAD
|
||||
$tableEntity = $adapter->schemaTable($databaseName, $tableName);
|
||||
|
||||
if ( $tableEntity ) {
|
||||
@@ -59,6 +58,8 @@ class Database implements FormInterface
|
||||
# }
|
||||
#>>>>>>> 7194a33bec884d745e838c8ac2693b353e95a3ce
|
||||
}
|
||||
|
||||
$alter =false;
|
||||
|
||||
if ( $alter ) {
|
||||
$context->status[$entity] = [
|
||||
|
||||
@@ -11,8 +11,8 @@ use Picea;
|
||||
/**
|
||||
* @Language("lean.route")
|
||||
* @RouteParam("methods" => [ 'GET', 'POST', 'DELETE' ], "base" => "/~")
|
||||
* @Security('locked' => true)
|
||||
* @Taxus("admin")
|
||||
* @Security('locked' => false)
|
||||
* @Taxus("dev")
|
||||
*/
|
||||
trait ConsoleControllerTrait
|
||||
{
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace Lean\Console\Lib;
|
||||
|
||||
class FormContext extends \Picea\Ui\Method\FormContext { }
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
class Triggers
|
||||
{
|
||||
public function onUpdateCurrentTimestamp(string $table) : string
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user