diff --git a/.env b/.env new file mode 100644 index 0000000000000000000000000000000000000000..d958fc60f4b80b9166903ed685c72bbce18f9fc3 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +MYSQL_ROOT_PASSWORD=r00tracoin +MYSQL_USER=racoin +MYSQL_PASSWORD=racoin +MYSQL_DATABASE=racoin diff --git a/composer.json b/composer.json index 9654d2f7e4bfc0280c26ac9b4dbf5d3a9a15223a..87174f0f95a154c4d1264cefe46bdda83da35394 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "require": { - "slim/slim": "2.*", + "slim/slim": "3.*", "twig/twig": "~1.0", "illuminate/database": "4.2.9" }, diff --git a/config/.empty b/config/.empty deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/db/connection.php b/db/connection.php index 331d60644c40f45bc2c4c0fe682264e50b933d48..4fc0063dbd05de3e192b629775e757269fe8d034 100644 --- a/db/connection.php +++ b/db/connection.php @@ -10,7 +10,7 @@ class connection { public static function createConn() { $capsule = new DB; - $capsule->addConnection(parse_ini_file("./config/config.ini")); + $capsule->addConnection(parse_ini_file("../config/config.ini")); $capsule->setAsGlobal(); $capsule->bootEloquent(); } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..6e5189c9143827406eaa2e01d0d70dc11f87802a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,42 @@ +version: '3' +networks: + racoin.net: + driver: bridge +services: + + # + # service administration des bases sql + # + adminer: + image: adminer + command: php -S 0.0.0.0:8080 -t /var/www/html + ports: + - '8081:8080' ## 40510 + networks: + - racoin.net + + db: + image: 'mariadb:latest' + command: '--default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_general_ci' + env_file: .env + ports: + - '3309:3306' ## 40508 + networks: + - racoin.net + volumes: + - ./db/sql:/var/sql + + php: + image: 'canals/php:7.4' + restart: always + env_file: .env + ports: + - '80:80' + volumes: + - ./public:/var/www/html + - ./:/var/www + working_dir: /var/www/ + networks: + - racoin.net + depends_on: + - db \ No newline at end of file diff --git a/notes.md b/notes.md new file mode 100644 index 0000000000000000000000000000000000000000..f2d8e94630ce9a7f7ab3fcb306014b3412120a10 --- /dev/null +++ b/notes.md @@ -0,0 +1,12 @@ +## Langage : php, js, css, html +## framework : symfony, slim + twig +## But générale : application de petites annonces et de ventes en ligne (leboncoin) +## Faire fonctionner l'application : +### - installer les dépendances via composer +### - créer et remplir le fichier ./config/config.ini pour lier l'appliction à la bd + +## Mode d'emploi : + +## Dépendances non maintenu : +### - Carbon 1 à migrer vers Carbon 2 +### - upgrade slim \ No newline at end of file diff --git a/.htaccess b/public/.htaccess similarity index 100% rename from .htaccess rename to public/.htaccess diff --git a/font/SourceSansPro-Regular.ttf b/public/font/SourceSansPro-Regular.ttf old mode 100755 new mode 100644 similarity index 100% rename from font/SourceSansPro-Regular.ttf rename to public/font/SourceSansPro-Regular.ttf diff --git a/img/EOS_5D_Mark_III_Default_tcm79-932815.jpg b/public/img/EOS_5D_Mark_III_Default_tcm79-932815.jpg similarity index 100% rename from img/EOS_5D_Mark_III_Default_tcm79-932815.jpg rename to public/img/EOS_5D_Mark_III_Default_tcm79-932815.jpg diff --git a/img/bin.png b/public/img/bin.png similarity index 100% rename from img/bin.png rename to public/img/bin.png diff --git a/img/canon5d.png b/public/img/canon5d.png similarity index 100% rename from img/canon5d.png rename to public/img/canon5d.png diff --git a/img/canoneos5dmark.png b/public/img/canoneos5dmark.png similarity index 100% rename from img/canoneos5dmark.png rename to public/img/canoneos5dmark.png diff --git a/img/edit.png b/public/img/edit.png similarity index 100% rename from img/edit.png rename to public/img/edit.png diff --git a/img/email.png b/public/img/email.png similarity index 100% rename from img/email.png rename to public/img/email.png diff --git a/img/email.svg b/public/img/email.svg similarity index 100% rename from img/email.svg rename to public/img/email.svg diff --git a/img/email2.png b/public/img/email2.png similarity index 100% rename from img/email2.png rename to public/img/email2.png diff --git a/img/menu.svg b/public/img/menu.svg similarity index 100% rename from img/menu.svg rename to public/img/menu.svg diff --git a/img/moon.jpg b/public/img/moon.jpg similarity index 100% rename from img/moon.jpg rename to public/img/moon.jpg diff --git a/img/noimg.png b/public/img/noimg.png similarity index 100% rename from img/noimg.png rename to public/img/noimg.png diff --git a/img/ratcoin.png b/public/img/ratcoin.png similarity index 100% rename from img/ratcoin.png rename to public/img/ratcoin.png diff --git a/img/ratcoin2.png b/public/img/ratcoin2.png similarity index 100% rename from img/ratcoin2.png rename to public/img/ratcoin2.png diff --git a/img/search.png b/public/img/search.png similarity index 100% rename from img/search.png rename to public/img/search.png diff --git a/img/stamps.jpg b/public/img/stamps.jpg similarity index 100% rename from img/stamps.jpg rename to public/img/stamps.jpg diff --git a/img/voilier.jpg b/public/img/voilier.jpg similarity index 100% rename from img/voilier.jpg rename to public/img/voilier.jpg diff --git a/img/watch.jpg b/public/img/watch.jpg similarity index 100% rename from img/watch.jpg rename to public/img/watch.jpg diff --git a/img/watch.png b/public/img/watch.png similarity index 100% rename from img/watch.png rename to public/img/watch.png diff --git a/index.php b/public/index.php similarity index 96% rename from index.php rename to public/index.php index 9913d6c73e8705c6955aed17d363b1af37cc72f7..4c9873328f8e4c688a0cc8c898e43cdd7d16a3b8 100644 --- a/index.php +++ b/public/index.php @@ -1,5 +1,5 @@ <?php -require 'vendor/autoload.php'; +require '../vendor/autoload.php'; use db\connection; use Slim\Extras\Middleware\CsrfGuard; @@ -14,7 +14,7 @@ use model\Departement; connection::createConn(); -$app = new \Slim\Slim(array( +$app = new \Slim\App(array( 'mode' => 'development' )); @@ -33,7 +33,7 @@ if (!isset($_SESSION['token'])) { //$app->add(new CsrfGuard()); -$loader = new Twig_Loader_Filesystem('template'); +$loader = new Twig_Loader_Filesystem('../template'); $twig = new Twig_Environment($loader); $menu = array( @@ -82,11 +82,11 @@ $app->post('/item/:id/edit', function ($id) use ($twig, $app, $menu, $chemin, $c $item->modifyPost($twig,$menu,$chemin, $id, $allPostVars, $cat->getCategories(), $dpt->getAllDepartments()); }); -$app->map('/item/:id/confirm', function ($id) use ($twig, $app, $menu, $chemin) { +$app->map(['GET', 'POST'],'/item/:id/confirm', function ($id) use ($twig, $app, $menu, $chemin) { $allPostVars = $app->request->post(); $item = new \controller\item(); $item->edit($twig,$menu,$chemin, $id, $allPostVars); -})->name('confirm')->via('GET', 'POST'); +})->setName('confirm'); $app->get('/search/', function () use ($twig, $menu, $chemin, $cat) { $s = new controller\Search(); diff --git a/js/annonce.js b/public/js/annonce.js similarity index 100% rename from js/annonce.js rename to public/js/annonce.js diff --git a/js/classie.js b/public/js/classie.js similarity index 100% rename from js/classie.js rename to public/js/classie.js diff --git a/js/del.js b/public/js/del.js similarity index 100% rename from js/del.js rename to public/js/del.js diff --git a/js/jquery-1.11.1.min.js b/public/js/jquery-1.11.1.min.js similarity index 100% rename from js/jquery-1.11.1.min.js rename to public/js/jquery-1.11.1.min.js diff --git a/scss/_breadcrumb.scss b/public/scss/_breadcrumb.scss similarity index 100% rename from scss/_breadcrumb.scss rename to public/scss/_breadcrumb.scss diff --git a/scss/_component.scss b/public/scss/_component.scss old mode 100755 new mode 100644 similarity index 100% rename from scss/_component.scss rename to public/scss/_component.scss diff --git a/scss/_global.scss b/public/scss/_global.scss similarity index 100% rename from scss/_global.scss rename to public/scss/_global.scss diff --git a/scss/_grid.scss b/public/scss/_grid.scss similarity index 100% rename from scss/_grid.scss rename to public/scss/_grid.scss diff --git a/scss/_hgtable.scss b/public/scss/_hgtable.scss similarity index 100% rename from scss/_hgtable.scss rename to public/scss/_hgtable.scss diff --git a/scss/_mixins.scss b/public/scss/_mixins.scss similarity index 100% rename from scss/_mixins.scss rename to public/scss/_mixins.scss diff --git a/scss/_pagination.scss b/public/scss/_pagination.scss similarity index 100% rename from scss/_pagination.scss rename to public/scss/_pagination.scss diff --git a/scss/_reset.scss b/public/scss/_reset.scss similarity index 100% rename from scss/_reset.scss rename to public/scss/_reset.scss diff --git a/scss/_typo.scss b/public/scss/_typo.scss similarity index 100% rename from scss/_typo.scss rename to public/scss/_typo.scss diff --git a/scss/_variables.scss b/public/scss/_variables.scss similarity index 100% rename from scss/_variables.scss rename to public/scss/_variables.scss diff --git a/scss/master.scss b/public/scss/master.scss similarity index 100% rename from scss/master.scss rename to public/scss/master.scss diff --git a/stylesheets/master.css b/public/stylesheets/master.css similarity index 100% rename from stylesheets/master.css rename to public/stylesheets/master.css diff --git a/stylesheets/master.css.map b/public/stylesheets/master.css.map similarity index 100% rename from stylesheets/master.css.map rename to public/stylesheets/master.css.map diff --git a/template/item.html.twig b/template/item.html.twig index 6626cbf2fdf27829e605ecdef83d69bcdfefd212..e2218218bc96853a0d2de5d1c05008a5a1b855a8 100644 --- a/template/item.html.twig +++ b/template/item.html.twig @@ -47,15 +47,15 @@ <div class="tocontact"> <p>Contacter <br/>l'annonceur</p> </div> - <a href="mailto:{{ annonceur.email }}"><img src="../img/email2.png" alt="email" title="Contacter l'annonceur"/></a> + <a href="mailto:{{ annonceur.email }}"><img src="../public/img/email2.png" alt="email" title="Contacter l'annonceur"/></a> </div> <div class="columns modify sm-hide-only align-center"> <div class="tomodify"> <p>Modifier/Supprimer <br/>l'annonce</p> </div> <div class="align-center"> - <a href="{{ chemin }}del/{{ annonce.id_annonce }}"><img src="../img/bin.png" alt="bin" title="Supprimer"/></a> - <a href="{{ chemin }}item/{{ annonce.id_annonce }}/edit"><img src="../img/edit.png" alt="bin" title="Modifier"/></a> + <a href="{{ chemin }}del/{{ annonce.id_annonce }}"><img src="../public/img/bin.png" alt="bin" title="Supprimer"/></a> + <a href="{{ chemin }}item/{{ annonce.id_annonce }}/edit"><img src="../public/img/edit.png" alt="bin" title="Modifier"/></a> </div> </div> </div> @@ -77,5 +77,5 @@ </a> </div> <div id="zoomImg"><div id="zoomClose">x</div><img src="{{ photo.first.url_photo }}" alt=""/></div> - <script src="../js/annonce.js" id="sln_bar"></script> + <script src="../public/js/annonce.js" id="sln_bar"></script> {% endblock %} \ No newline at end of file diff --git a/template/main.html.twig b/template/main.html.twig index b1f95fc212449df629d24080c00afddd528b25d0..6aa0e62d4eac27331852bbca11567d7ce16ea5c1 100644 --- a/template/main.html.twig +++ b/template/main.html.twig @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <link rel="stylesheet" href="{{ chemin }}stylesheets/master.css"/> <link rel="stylesheet" type="text/css" href="{{ chemin }}stylesheets/component.css"/> - <script src="../js/jquery-1.11.1.min.js" id="sln_bar"></script> + <script src="../public/js/jquery-1.11.1.min.js" id="sln_bar"></script> <title>RatCoin</title> </head> <body> diff --git a/template/main_min.html.twig b/template/main_min.html.twig index ab1d164727031148a5f539215c1678f3a0173af1..0ba57be354dd7608370f8b1ffb077a3d352aa01f 100644 --- a/template/main_min.html.twig +++ b/template/main_min.html.twig @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <link rel="stylesheet" href="{{ chemin }}stylesheets/master.css"/> <link rel="stylesheet" type="text/css" href="{{ chemin }}stylesheets/component.css"/> - <script src="../js/jquery-1.11.1.min.js" id="sln_bar"></script> + <script src="../public/js/jquery-1.11.1.min.js" id="sln_bar"></script> <title>RatCoin</title> </head> <body>