Kaynağa Gözat

Altering housekeeping modules

ahwelp 2 yıl önce
ebeveyn
işleme
17f9fda294

+ 16 - 5
app/core/sanity/MigratorController.php

@@ -62,12 +62,13 @@ class MigratorController {
         return false;
     }
 
-    private function is_satisfy_array($array) {
-        foreach ($array as $item) {
-            if (!self::is_satisfy($item->name, $item->version)) {
+    private function is_satisfy_array($array) {        
+        foreach ($array as $item) {            
+            if (!self::is_satisfy($item['name'], $item['version'])) {                
                 return false;
             }
         }
+        
         return true;
     }
 
@@ -82,7 +83,7 @@ class MigratorController {
         $this->instaled[$name]->version = $version;
     }
 
-    private function load_installed_plugins() {
+    private function load_installed_plugins() {        
         $installed = parse_ini_file(DIR_CONFIG . 'modules.ini', true);
 
         foreach ($installed as $key => $item) {
@@ -103,9 +104,12 @@ class MigratorController {
                 $module_configs[] = str_replace('version.php', '', $file);
             }
         }
-        foreach ($module_configs as $module_config) {
+        foreach ($module_configs as $module_config) {            
             $plugin = new \stdClass();
             include $module_config . 'version.php';
+            if($plugin->version == '0.0.0'){
+                continue;
+            }
             $plugins[$plugin->name] = $plugin;
             if (is_file($module_config . 'db/Migrate.php')) {
                 include $module_config . 'db/Migrate.php';
@@ -195,5 +199,12 @@ class MigratorController {
         }
         $this->save();
     }
+    
+    /*
+     * Rollback Everything
+     */
+    function reset(){
+        var_dump( $this->load_installed_plugins() );
+    }
 
 }

+ 28 - 3
app/core/sanity/Routes.php

@@ -3,16 +3,41 @@
 use Routes\RouteCollection as RouteCollection;
 use ORM\Connections as Connections;
 use Schema\Wrapper as Wrapper;
+use App\Core\Template\Output as Output;
+
+RouteCollection::get('*', function () {
+    Output::addOnSubmenu('dev', '/paths', "Caminhos", "", ['class' => 'nav-link']);
+}, -10)->doIgnore();
 
 RouteCollection::cli('sanity/install', function() {
-    
     Wrapper::set_driver(Connections::getConnection());
+    Wrapper::begin();
+    App\Core\Sanity\MigratorController::getInstance()->execute_plan();
+    Wrapper::commit();
+
+})->middlewareIgnore('auth');
+
+RouteCollection::cli('install', function() {
+    Wrapper::set_driver(Connections::getConnection());
+    Wrapper::begin();
     App\Core\Sanity\MigratorController::getInstance()->execute_plan();
     Wrapper::commit();
-    
 })->middlewareIgnore('auth');
 
+RouteCollection::cli('install/[d:module]', function() {
+    Wrapper::set_driver(Connections::getConnection());
+    Wrapper::begin();
+    App\Core\Sanity\MigratorController::getInstance()->execute_plan();
+    Wrapper::commit();
+})->middlewareIgnore('auth');
+
+RouteCollection::cli('reset', function() {
+    Wrapper::set_driver(Connections::getConnection());
+    Wrapper::begin();
+    App\Core\Sanity\MigratorController::getInstance()->reset();
+    Wrapper::commit();
+});
 
 RouteCollection::add('*', '*', function() {
     App\Core\Sanity\MigratorController::getInstance()->sentinel();
-}, -19)->doIgnore()->middlewareIgnore('auth');
+}, -19)->doIgnore()->middlewareIgnore('auth');

+ 18 - 10
app/core/sanity/lib.php

@@ -5,19 +5,27 @@ use Routes\RouteCollection as RouteCollection;
 
 //Menu itens
 RouteCollection::get('*', function() {
-
-    Output::headAdd('/', 'Dashboard');
-    // Output::addMenu('/', 'Dashboard', "<i class='fa fa-dashboard'></i>", ['class' => 'nav-link']);
-    Output::addSubMenu('dashboard', 'Dashboard', "<i class='fa fa-dashboard'></i>", ['class' => 'nav-link']);
-    Output::addOnSubMenu('dashboard', '/',      'Dashboard', "<i class='fa fa-dashboard'></i>", ['class' => 'nav-link']);
-    Output::addOnSubMenu('dashboard', '/teste', 'Test',      "<i class='fa fa-dashboard'></i>", ['class' => 'nav-link']);
-
+    Output::addMenu('/', 'Dashboard', "<i class='fa fa-dashboard'></i>", ['class' => 'nav-link'], -10);
+    Output::addMenu('/dre', 'DRE', "<i class='fa fa-bar-chart'></i>", ['class' => 'nav-link'], -10);
 }, -10)->doIgnore();
 
 RouteCollection::onHttpError('404', function($code){
-    Output::setView(404)->render();
+    http_response_code(404);
+    Output::setTemplate('NullTemplate');
+    Output::render('404');
 });
 
-RouteCollection::add('get', '/', '\App\Core\Welcome\WelcomeController@welcome');//->middlewareIgnore('auth');
+RouteCollection::add('get', '/', '\App\Core\Welcome\WelcomeController@welcome');
 RouteCollection::add('get', '/teste', '\App\Core\Welcome\WelcomeController@teste');
-//RouteCollection::add('get', '/welcome', 'WellcomeController@welcome');
+RouteCollection::add('get', '/dre', '\App\Core\Welcome\WelcomeController@dre');
+//Filters
+
+RouteCollection::addDefaultMiddleware('fillpost', function () {
+
+    if(isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST'){
+        return;
+    }
+
+    $_POST = array_merge( $_POST, (array) json_decode( file_get_contents('php://input')) );
+
+});

+ 5 - 1
app/core/welcome/WelcomeController.php

@@ -10,8 +10,12 @@ class WelcomeController {
         Output::render();
     }
 
+    function dre() {
+        Output::render('dre');
+    }
+
     function teste(){
-        echo 'saddsaadsdsa';
+        var_dump($_SESSION);
     }
 
 }

+ 1 - 0
app/core/welcome/lang/en.php

@@ -0,0 +1 @@
+<iframe src="http://192.168.0.100:3000/=nhfjg1alnf" style="width: 100%; min-height: 900px;"></iframe>

+ 3 - 1
app/core/welcome/views/welcome.mustache

@@ -3,4 +3,6 @@
 </div>
 {{string.welcome}} to hell...
 <br />
-I shal be your guide {{palavrinha}}
+I shal be your guide {{palavrinha}}
+
+<i class='fa fa-dashboard'></i>