diff --git a/application/include/actions/DefaultAction.php b/application/include/actions/DefaultAction.php index 10b6781..74f5cda 100644 --- a/application/include/actions/DefaultAction.php +++ b/application/include/actions/DefaultAction.php @@ -1,51 +1,86 @@ render('action', array('var1' => $var1, 'var2' => $var2, 'var3' => $var3)); } - - public function variableSlug($data) + public function defaultBlade($data1,$data2,$data3) { - /**your action algorythm**/ - if (isset($data[0])) { - $var1 = $data[0]; + if (isset($data1)) { + $var1 = $data1; } else { $var1 = 1; } - if (isset($data[1])) { - $var2 = $data[1]; + if (isset($data2)) { + $var2 = $data2; } else { $var2 = 2; } - if (isset($data[2])) { - $var3 = $data[2]; + if (isset($data3)) { + $var3 = $data3; + } else { + $var3 = 3; + } + + return $this->render('action', array('var1' => $var1, 'var2' => $var2, 'var3' => $var3),'blade'); + } + public function defaultTwig($data1,$data2,$data3) + { + /**your action algorythm**/ + if (isset($data1)) { + $var1 = $data1; + } else { + $var1 = 1; + } + if (isset($data2)) { + $var2 = $data2; + } else { + $var2 = 2; + } + if (isset($data3)) { + $var3 = $data3; + } else { + $var3 = 3; + } + + return $this->render('action', array('var1' => $var1, 'var2' => $var2, 'var3' => $var3),'twig'); + } + + public function variableSlug($data1,$data2,$data3) + { + /**your action algorythm**/ + if (isset($data1)) { + $var1 = $data1; + } else { + $var1 = 1; + } + if (isset($data2)) { + $var2 = $data2; + } else { + $var2 = 2; + } + if (isset($data3)) { + $var3 = $data3; } else { $var3 = 3; } @@ -58,10 +93,10 @@ class DefaultAction extends Action $data = array('myval' => 25); //Dumper::dump($data); \MVC\Classe\Logger::addLog('action', 'http11 make request'); - $request = new HttpMethodRequete(); - $request->setUrl(Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->get($data); - $request->setUrl(Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->post($data); - $request->setUrl(Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->put($data); - $request->setUrl(Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->delete($data); + $request = new \MVC\Classe\HttpMethodRequete(); + $request->setUrl(\MVC\Classe\Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->get($data); + $request->setUrl(\MVC\Classe\Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->post($data); + $request->setUrl(\MVC\Classe\Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->put($data); + $request->setUrl(\MVC\Classe\Url::absolute_link_rewrite(false, 'accueil', ['var10'=>'val10']))->delete($data); } } diff --git a/application/include/vues/view/action.html.twig b/application/include/vues/view/action.html.twig new file mode 100644 index 0000000..b0031ed --- /dev/null +++ b/application/include/vues/view/action.html.twig @@ -0,0 +1 @@ +{{var1}}::{{var2}}::{{var3}} \ No newline at end of file diff --git a/application/include/vues/view/index.blade.php b/application/include/vues/view/index.blade.php index bbefd78..969169d 100644 --- a/application/include/vues/view/index.blade.php +++ b/application/include/vues/view/index.blade.php @@ -14,7 +14,7 @@ {{$templating_a}}::{{$templating_b}}::{{$templating_c}} {{\MVC\Classe\ControlleurAction::inserer('default',[])}} - {{\MVC\Classe\ControlleurAction::inserer('default.default',[4,5,6])}} + {{\MVC\Classe\ControlleurAction::inserer('default.defaultBlade',[4,5,6])}} {{\MVC\Classe\ControlleurAction::inserer('default.variableSlug',['var1','var2','var3'])}} @endsection diff --git a/application/include/vues/view/index.html.twig b/application/include/vues/view/index.html.twig index 3160e9f..67ed8a8 100644 --- a/application/include/vues/view/index.html.twig +++ b/application/include/vues/view/index.html.twig @@ -6,5 +6,5 @@



{{templating_a}}::{{templating_b}}::{{templating_c}} -{{ action('default.default',[4,5,6]) }} +{{ action('default.defaultTwig',[4,5,6]) }} {% endblock %} \ No newline at end of file diff --git a/console/command/Sand/Module.php b/console/command/Sand/Module.php index 8e9dd3e..0cccfea 100644 --- a/console/command/Sand/Module.php +++ b/console/command/Sand/Module.php @@ -22,16 +22,30 @@ class Module public static function add() { print "adding module...\n\n"; - print "Quel est le module a ajouter ?\n1.Symfony\n2.Wordpress\n3.Prestashop\n4.PhpList\n5.Wanewsletter\n6.PHPmyNewletter\n>"; + print "Quel est le module a ajouter ?\n0.Laravel\n1.Symfony\n2.Wordpress\n3.Prestashop\n4.PhpList\n5.Wanewsletter\n6.PHPmyNewletter\n>"; $module = trim(fgets(STDIN)); switch ($module) { + case 0: + print "Quel est le nom du module laravel à ajouter (default : laravel) ? "; + $name = trim(fgets(STDIN)); + if ($name !== '' && preg_match('#(.)+#', $name)) { + Module::addLaravel($name); + } else { + Module::addLaravel('symfony'); + } + break; case 1: print "Quel est le nom du module symfony à ajouter (default : symfony) ? "; $name = trim(fgets(STDIN)); + print "Quel est la version de Symfony à ajouter (default : 4.4) ? "; + $version = trim(fgets(STDIN)); + if ($version == '' && !preg_match('#(.)\.(.)\.(.)\.(.)#', $version)) { + $version = "4.4"; + } if ($name !== '' && preg_match('#(.)+#', $name)) { - Module::addSymfony($name); + Module::addSymfony($name,$version); } else { - Module::addSymfony('symfony'); + Module::addSymfony('symfony',$version); } break; case 2: @@ -117,33 +131,86 @@ class Module } } - private static function addSymfony($name = 'symfony') + private static function addLaravel($name = 'laravel') { - $git_clone = shell_exec('cd '.MODULES_PATH.' && composer create-project symfony/website-skeleton '.$name); + $git_clone = shell_exec('cd '.MODULES_PATH.' && composer create-project laravel/laravel '.$name); print $git_clone; - $git_chmod = shell_exec('sudo chmod 775 '.MODULES_PATH.'/'.$name.' -R'); + $git_chmod = shell_exec('chmod 775 '.MODULES_PATH.'/'.$name.' -R'); print $git_chmod; - $git_chown = shell_exec('sudo chown acksop:www-data '.MODULES_PATH.'/'.$name.' -R'); + $git_chown = shell_exec('chown acksop:www-data '.MODULES_PATH.'/'.$name.' -R'); print $git_chown; - $git_controlleur = shell_exec('cp '.CONSOLE_PATH.'/skel/module_symfony.php '.CONTROLLERS_PATH.'/'.$name.'.php'); + $git_controlleur = shell_exec('cp '.CONSOLE_PATH.'/skel/module.laravel.php '.CONTROLLERS_PATH.'/'.$name.'.php'); $controlleur = file_get_contents(CONTROLLERS_PATH.'/'.$name.'.php'); - $controlleur = preg_replace('%MODULE%', $name, $controlleur); + $controlleur = preg_replace('/%%MODULE_NAME%%/', $name, $controlleur); + $controlleur = preg_replace('/%%MODULE%%/', 'laravel', $controlleur); file_put_contents(CONTROLLERS_PATH.'/'.$name.'.php', $controlleur); print $git_controlleur; - $git_modele = shell_exec('cp '.CONSOLE_PATH.'/skel/module.model '.MODELS_PATH.'/'.$name.'.model'); + $git_modele = shell_exec('cp '.CONSOLE_PATH.'/skel/module.laravel.model '.MODELS_PATH.'/'.$name.'.model'); $modele = file_get_contents(MODELS_PATH.'/'.$name.'.model'); - $modele = preg_replace('%MODULE%', $name, $modele); + $modele = preg_replace('/%%MODULE_NAME%%/', $name, $modele); + $modele = preg_replace('/%%MODULE%%/', 'laravel', $modele); file_put_contents(MODELS_PATH.'/'.$name.'.model', $modele); print $git_modele; - $git_view = shell_exec('cp '.CONSOLE_PATH.'/skel/module.blade.php '.VIEW_PATH.'/view/'.$name.'.blade.php'); + $git_view = shell_exec('cp '.CONSOLE_PATH.'/skel/module.laravel.html.twig '.VIEW_PATH.'/view/'.$name.'.blade.php'); + $vue = file_get_contents(VIEW_PATH.'/view/'.$name.'.html.twig'); + $vue = preg_replace('/%%MODULE_NAME%%/', $name, $vue); + $vue = preg_replace('/%%MODULE%%/', 'laravel', $vue); + file_put_contents(VIEW_PATH.'/view/'.$name.'.html.twig', $vue); + print $git_view; + + //stabilize symfony application + //print "stabilize symfony module...\n\n"; + //$symfony_module = shell_exec('cp '.CONSOLE_PATH.'/skel/symfony-app/* '.MODULES_PATH.'/'.$name.' -Rf'); + //$symfony_composer = shell_exec('cd '.MODULES_PATH.'/'.$name.' && composer update'); + + print "\n\nN'oubliez pas d'ajouter au fichier '/application/modules/setup/registre.model' :" + ."\n'.$name.' : Application permettant d'intégrer un module avec symfony" + ."\n " + ."\n et de créer la base de données!\n"; + } + public static function removeLaravel($name = 'laravel') + { + $git_clone = system('rm -Rf '.MODULES_PATH.'/'.$name, $git_clone_retval); + print $git_clone_retval; + $git_controlleur = system('rm -f '.CONTROLLERS_PATH.'/'.$name.'.php', $git_controlleur_retval); + print $git_controlleur_retval; + $git_modele = system('rm -f '.MODELS_PATH.'/'.$name.'.model', $git_modele_retval); + print $git_modele_retval; + $git_view = system('rm -f '.VIEW_PATH.'/view/'.$name.'.html.twig', $git_view_retval); + print $git_view_retval; + } + + private static function addSymfony($name = 'symfony',$version="4.4") + { + $git_clone = shell_exec('cd '.MODULES_PATH.' && composer create-project symfony/website-skeleton:"^'.$version.'" '.$name); + print $git_clone; + $git_chmod = shell_exec('chmod 775 '.MODULES_PATH.'/'.$name.' -R'); + print $git_chmod; + $git_chown = shell_exec('chown acksop:www-data '.MODULES_PATH.'/'.$name.' -R'); + print $git_chown; + $git_controlleur = shell_exec('cp '.CONSOLE_PATH.'/skel/module.symfony.php '.CONTROLLERS_PATH.'/'.$name.'.php'); + $controlleur = file_get_contents(CONTROLLERS_PATH.'/'.$name.'.php'); + $controlleur = preg_replace('/%%MODULE_NAME%%/', $name, $controlleur); + $controlleur = preg_replace('/%%MODULE%%/', 'symfony', $controlleur); + file_put_contents(CONTROLLERS_PATH.'/'.$name.'.php', $controlleur); + print $git_controlleur; + $git_modele = shell_exec('cp '.CONSOLE_PATH.'/skel/module.symfony.model '.MODELS_PATH.'/'.$name.'.model'); + $modele = file_get_contents(MODELS_PATH.'/'.$name.'.model'); + $modele = preg_replace('/%%MODULE_NAME%%/', $name, $modele); + $modele = preg_replace('/%%MODULE%%/', 'symfony', $modele); + file_put_contents(MODELS_PATH.'/'.$name.'.model', $modele); + print $git_modele; + $git_view = shell_exec('cp '.CONSOLE_PATH.'/skel/module.symfony.blade.php '.VIEW_PATH.'/view/'.$name.'.blade.php'); $vue = file_get_contents(VIEW_PATH.'/view/'.$name.'.blade.php'); - $vue = preg_replace('%MODULE%', 'symfony', $vue); + $vue = preg_replace('/%%MODULE_NAME%%/', $name, $vue); + $vue = preg_replace('/%%MODULE%%/', 'symfony', $vue); file_put_contents(VIEW_PATH.'/view/'.$name.'.blade.php', $vue); print $git_view; //stabilize symfony application - include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Symfony.php'; - $symfony_composer = shell_exec('cd '.MODULES_PATH.'/'.$name.' && composer update'); + //print "stabilize symfony module...\n\n"; + //$symfony_module = shell_exec('cp '.CONSOLE_PATH.'/skel/symfony-app/* '.MODULES_PATH.'/'.$name.' -Rf'); + //$symfony_composer = shell_exec('cd '.MODULES_PATH.'/'.$name.' && composer update'); print "\n\nN'oubliez pas d'ajouter au fichier '/application/modules/setup/registre.model' :" ."\n'.$name.' : Application permettant d'intégrer un module avec symfony" diff --git a/console/skel/module.html.twig b/console/skel/module.html.twig new file mode 100644 index 0000000..2b6b585 --- /dev/null +++ b/console/skel/module.html.twig @@ -0,0 +1 @@ +{{ subcall( app, 'load', ['%%MODULE%%'] ) | raw }} \ No newline at end of file diff --git a/console/skel/module.laravel.html.twig b/console/skel/module.laravel.html.twig new file mode 100644 index 0000000..9031a1e --- /dev/null +++ b/console/skel/module.laravel.html.twig @@ -0,0 +1,7 @@ +{% extends "body.html.twig" %} + +{% block content %} + +{{ subcall( app, 'load', ['%%MODULE%%'] ) | raw }} + +{% endblock %} \ No newline at end of file diff --git a/console/skel/module.laravel.model b/console/skel/module.laravel.model new file mode 100644 index 0000000..7959b13 --- /dev/null +++ b/console/skel/module.laravel.model @@ -0,0 +1,8 @@ +name : %%MODULE_NAME%% +page_title : module_title +description : module_description +engine : twig +authentification : no +ariane : {%%MODULE%%} +arianelink : {%%MODULE_NAME%%} + diff --git a/console/skel/module.laravel.php b/console/skel/module.laravel.php new file mode 100644 index 0000000..3405910 --- /dev/null +++ b/console/skel/module.laravel.php @@ -0,0 +1,3 @@ + $app); diff --git a/console/skel/module.model b/console/skel/module.model index 00b3cd3..9955fc6 100644 --- a/console/skel/module.model +++ b/console/skel/module.model @@ -1,6 +1,6 @@ -name : %%MODULE%% +name : %%MODULE_NAME%% page_title : module_title description : module_description ariane : {%%MODULE%%} -arianelink : {%%MODULE%%} +arianelink : {%%MODULE_NAME%%} diff --git a/console/skel/module.symfony.blade.php b/console/skel/module.symfony.blade.php new file mode 100644 index 0000000..03ed5a8 --- /dev/null +++ b/console/skel/module.symfony.blade.php @@ -0,0 +1,5 @@ +@extends('body') + +@section('content') + {{$app->load('%%MODULE%%')}} +@endsection \ No newline at end of file diff --git a/console/skel/module.symfony.model b/console/skel/module.symfony.model new file mode 100644 index 0000000..5f3ebe1 --- /dev/null +++ b/console/skel/module.symfony.model @@ -0,0 +1,8 @@ +name : %%MODULE_NAME%% +page_title : module_title +description : module_description +engine : blade +authentification : no +ariane : {%%MODULE%%} +arianelink : {%%MODULE_NAME%%} + diff --git a/console/skel/module.symfony.php b/console/skel/module.symfony.php new file mode 100644 index 0000000..3405910 --- /dev/null +++ b/console/skel/module.symfony.php @@ -0,0 +1,3 @@ + $app); diff --git a/console/skel/page.html.twig b/console/skel/page.html.twig index 9e48139..a17814b 100644 --- a/console/skel/page.html.twig +++ b/console/skel/page.html.twig @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "body.html.twig" %} {% block top-css %} {{ parent() }}