Преглед изворни кода

Link to the form must be with a absolute path

ahwelp пре 3 година
родитељ
комит
e063895ccb
1 измењених фајлова са 70 додато и 63 уклоњено
  1. 70 63
      app/core/generator/GeneratorController.php

+ 70 - 63
app/core/generator/GeneratorController.php

@@ -3,18 +3,19 @@
 namespace App\Core\Generator;
 
 class GeneratorController {
-    
-    private $langBase = 
+
+    private $langBase =
             <<<EOL
             <?php
                 \$lang["{{PLUGIN_NAME}}"]["module_name"] = "{{PLUGIN_NAME_PRETTY}}";
             EOL;
-    
-    private $migrationBase = 
+
+    private $migrationBase =
             <<<EOL
             <?php
 
             use Schema\Wrapper as Wrapper;
+            use App\Core\Sanity\MigratorController as Migrator;
 
             function {{PLUGIN_NAME}}_upgrade(\$pluginversion) {
                 if (\$pluginversion < "0.0.1") {
@@ -25,18 +26,18 @@ class GeneratorController {
                     \$table->addTimestamps();
                     \$table->addSoftDelete();
                     \$table->create();
-        
+
                     Migrator::getInstance()->update_plugin_version("{{PLUGIN_NAME}}", "1.0.0");
                     return;
                 }
-            
+
                 //if (\$pluginversion < "0.0.2") {
                     //\$table = Wrapper::get_table("{{PLUGIN_NAME}}");
                     //Migrator::getInstance()->update_plugin_version("{{PLUGIN_NAME}}", "1.0.1");
                     //return;
                 //}
             }
-            
+
             function {{PLUGIN_NAME}}_rollback(\$pluginversion) {
                 if(\$pluginversion > "0.0.1"){
                     \$table = Wrapper::get_table("{{PLUGIN_NAME}}");
@@ -45,18 +46,18 @@ class GeneratorController {
                 }
             }
             EOL;
-    
-    private $versionBase = 
+
+    private $versionBase =
             <<<EOL
             <?php
 
             \$plugin->name = "{{PLUGIN_NAME}}";
             \$plugin->version = "0.0.1";
-            
+
             //\$plugin->require = Array( ["name" => "plugin_name", "version" => "x.x.x"] );
             EOL;
-    
-    private $controllerBase = 
+
+    private $controllerBase =
             <<<EOL
             <?php
 
@@ -64,11 +65,11 @@ class GeneratorController {
 
             use \App\Core\Template\Output as Output;
             use \{{NAMESPACE}}\Classes\{{OBJECT}} as {{OBJECT}};
-            
+
             class {{CONTROLLER}} {
-                
+
                 /**
-                * Index 
+                * Index
                 *   Show the main {{OBJECT}} list
                 */
                 function index(){
@@ -85,27 +86,27 @@ class GeneratorController {
                     Output::addValue('list', \$list );
                     Output::render();
                 }
-            
+
                 /**
                 * Create
                 *
                 * Render the main {{OBJECT}} formulary
-                */            
+                */
                 function create(){
                     Output::setView('form', ['id' => 0]);
-                    Output::render();                     
+                    Output::render();
                 }
-            
+
                 /**
-                * Store 
+                * Store
                 *
                 * Store the param on the database
                 * @param {{OBJECT}} \${{OBJECT_LOWER}}
                 */
                 function store({{OBJECT}} \${{OBJECT_LOWER}}){
-                    
+
                 }
-            
+
                 /**
                 * Show
                 *
@@ -114,9 +115,9 @@ class GeneratorController {
                 * @param {{OBJECT}} \${{OBJECT_LOWER}}
                 */
                 function show({{OBJECT}} \${{OBJECT_LOWER}}){
-                    
+
                 }
-            
+
                 /**
                 * Edit
                 *
@@ -128,27 +129,27 @@ class GeneratorController {
                     Output::setView('form', \${{OBJECT_LOWER}});
                     Output::render();
                 }
-            
+
                 /**
-                * Update 
+                * Update
                 * Store the changes of the param on the database
                 *
                 * @param {{OBJECT}} \${{OBJECT_LOWER}}
-                */            
+                */
                 function update({{OBJECT}} \${{OBJECT_LOWER}}){
-                    
+
                 }
-            
+
                 /**
                 * Destroy
-                * If the object has soft delete. 
+                * If the object has soft delete.
                 *
                 * @param {{OBJECT}} \${{OBJECT_LOWER}}
                 */
                 function destroy({{OBJECT}} \${{OBJECT_LOWER}}){
-                    
+
                 }
-            
+
                 /**
                 * Purge
                 * Remove object even with soft delete.
@@ -156,13 +157,13 @@ class GeneratorController {
                 * @param {{OBJECT}} \${{OBJECT_LOWER}}
                 */
                 function purge({{OBJECT}} \${{OBJECT_LOWER}}){
-                    
+
                 }
             }
             EOL;
-    
-    
-    private $objectBase = 
+
+
+    private $objectBase =
             <<<EOL
             <?php
 
@@ -171,25 +172,31 @@ class GeneratorController {
             use ORM\Entity as Entity;
 
             class {{OBJECT}} extends Entity {
-                
+
                 //const _idPolice = Array("type" => "", "min" => 0, "max" => 100000, "step" => 2);
-                
+
                 const _tableName = "{{TABLE_NAME}}";
                 //const _properties = Array("id", "name");
-            
+
                 //const _timestamps = true;
                 //const _softdelete = true;
-            
+
                 //const _connectionName = "";
             }
             EOL;
-    
-    private $routeBase = 
+
+    private $routeBase =
             <<<EOL
             <?php
 
+            use App\Core\Template\Output as Output;
             use Routes\RouteCollection as RouteCollection;
 
+            //Menu itens
+            RouteCollection::get('*', function() {
+                Output::addMenu('/{{PLUGIN_NAME}}', '{{PLUGIN_NAME}}', "<i class='fa fa-fa-cubes'></i>", ['class' => 'nav-link']);
+            }, -10)->doIgnore();
+
             RouteCollection::group("/{{PLUGIN_NAME}}", function(){
                 RouteCollection::get   ("/",            "\{{NAMESPACE}}\{{CONTROLLER}}@index");
                 RouteCollection::get   ("/form",        "\{{NAMESPACE}}\{{CONTROLLER}}@create");
@@ -200,10 +207,10 @@ class GeneratorController {
                 RouteCollection::delete("/[i:id]",      "\{{NAMESPACE}}\{{CONTROLLER}}@destroy");
             });
             EOL;
-    
+
     private $indexTemplate =
             <<<EOL
-            <a href='{{ENDPOINT}}/form' >Adicionar </a>
+            <a href='/{{ENDPOINT}}/form' >Adicionar </a>
             <div class="table-responsive">
                 <table class='table'>
 
@@ -232,7 +239,7 @@ class GeneratorController {
                 </table>
             </div>
             EOL;
-    
+
     private $formTemplate =
             <<<EOL
             {{@ if( {{id}} ): @}}
@@ -246,9 +253,9 @@ class GeneratorController {
 
             </form>
             EOL;
-    
-    
-    private $ctagsHeader = 
+
+
+    private $ctagsHeader =
         <<<EOL
         !_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
         !_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
@@ -270,50 +277,50 @@ class GeneratorController {
             mkdir(DIR_APP.$subname . "/" . $name . "/lang",    0755, true);
             mkdir(DIR_APP.$subname . "/" . $name . "/classes", 0755, true);
             mkdir(DIR_APP.$subname . "/" . $name . "/db",      0755, true);
-            mkdir(DIR_APP.$subname . "/" . $name . "/views",   0755, true);            
+            mkdir(DIR_APP.$subname . "/" . $name . "/views",   0755, true);
         }
-        
+
         $plugin_name = $name;
         $namespace = "App\\".ucfirst($subname)."\\".ucfirst($name);
         $plugin_name_pretty = ucwords(str_replace("_", " ", $name));
         $object      = ucfirst( $name );
         $controller  = $object."Controller";
-        
+
         $this->langBase = str_replace("{{PLUGIN_NAME}}",        $plugin_name,        $this->langBase);
         $this->langBase = str_replace("{{PLUGIN_NAME_PRETTY}}", $plugin_name_pretty, $this->langBase);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/lang/en.php",           $this->langBase);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/lang/".APP_LANG.".php", $this->langBase);
-        
-        $this->migrationBase = str_replace("{{PLUGIN_NAME}}", $plugin_name,   $this->migrationBase);
+
+        $this->migrationBase = str_replace("{{PLUGIN_NAME}}", $subname."_".$plugin_name,   $this->migrationBase);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/db/Migrate.php", $this->migrationBase);
-        
+
         $this->routeBase = str_replace("{{NAMESPACE}}",   $namespace,     $this->routeBase);
         $this->routeBase = str_replace("{{PLUGIN_NAME}}", $plugin_name,   $this->routeBase);
         $this->routeBase = str_replace("{{CONTROLLER}}",  $controller,    $this->routeBase);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/Routes.php", $this->routeBase);
-       
+
         $this->objectBase = str_replace("{{NAMESPACE}}",   $namespace."\Classes",   $this->objectBase);
         $this->objectBase = str_replace("{{OBJECT}}",      $object,                 $this->objectBase);
         $this->objectBase = str_replace("{{TABLE_NAME}}",  $name,                   $this->objectBase);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/classes/$object.php",  $this->objectBase);
-        
+
         $this->controllerBase = str_replace("{{NAMESPACE}}",   $namespace,            $this->controllerBase);
         $this->controllerBase = str_replace("{{OBJECT}}",      $object,               $this->controllerBase);
         $this->controllerBase = str_replace("{{OBJECT_LOWER}}",strtolower($object),   $this->controllerBase);
         $this->controllerBase = str_replace("{{CONTROLLER}}",  $controller,           $this->controllerBase);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/$controller.php",        $this->controllerBase);
-        
+
         $this->versionBase = str_replace("{{PLUGIN_NAME}}", $subname."_".$plugin_name,   $this->versionBase);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/version.php", $this->versionBase);
-        
+
         $this->indexTemplate = str_replace("{{ENDPOINT}}", $plugin_name, $this->indexTemplate);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/views/index.mustache", $this->indexTemplate);
-        
+
         $this->formTemplate = str_replace("{{ENDPOINT}}", $plugin_name, $this->formTemplate);
         file_put_contents(DIR_APP.$subname . "/" . $name . "/views/form.mustache", $this->formTemplate);
-                
+
     }
-    
+
     function listRoutes(){
         echo str_pad("VERB",     10, " ", STR_PAD_BOTH) .  "||";
         echo str_pad("URI" ,     35, " ", STR_PAD_BOTH) .  "||";
@@ -348,7 +355,7 @@ class GeneratorController {
         }
 
         file_put_contents(DIR_ROOT."tags", $return);
-    } 
-    
+    }
+
 }