Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

main.php 12KB

8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <?php
  2. /**
  3. * Copyright distrib (2018)
  4. *
  5. * contact@opendistrib.net
  6. *
  7. * Ce logiciel est un programme informatique servant à aider les producteurs
  8. * à distribuer leur production en circuits courts.
  9. *
  10. * Ce logiciel est régi par la licence CeCILL soumise au droit français et
  11. * respectant les principes de diffusion des logiciels libres. Vous pouvez
  12. * utiliser, modifier et/ou redistribuer ce programme sous les conditions
  13. * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
  14. * sur le site "http://www.cecill.info".
  15. *
  16. * En contrepartie de l'accessibilité au code source et des droits de copie,
  17. * de modification et de redistribution accordés par cette licence, il n'est
  18. * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
  19. * seule une responsabilité restreinte pèse sur l'auteur du programme, le
  20. * titulaire des droits patrimoniaux et les concédants successifs.
  21. *
  22. * A cet égard l'attention de l'utilisateur est attirée sur les risques
  23. * associés au chargement, à l'utilisation, à la modification et/ou au
  24. * développement et à la reproduction du logiciel par l'utilisateur étant
  25. * donné sa spécificité de logiciel libre, qui peut le rendre complexe à
  26. * manipuler et qui le réserve donc à des développeurs et des professionnels
  27. * avertis possédant des connaissances informatiques approfondies. Les
  28. * utilisateurs sont donc invités à charger et tester l'adéquation du
  29. * logiciel à leurs besoins dans des conditions permettant d'assurer la
  30. * sécurité de leurs systèmes et ou de leurs données et, plus généralement,
  31. * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
  32. *
  33. * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
  34. * pris connaissance de la licence CeCILL, et que vous en avez accepté les
  35. * termes.
  36. */
  37. use common\helpers\GlobalParam;
  38. use yii\helpers\Html;
  39. use yii\bootstrap\Nav;
  40. use yii\bootstrap\NavBar;
  41. use yii\widgets\Breadcrumbs;
  42. use common\widgets\Alert;
  43. use common\helpers\Url;
  44. use common\logic\Producer\Producer\Producer;
  45. use common\logic\User\User\User;
  46. /* @var $this \yii\web\View */
  47. /* @var $content string */
  48. $isHome = (Yii::$app->controller->id == 'site' && \Yii::$app->controller->action->id == 'index');
  49. \common\assets\CommonAsset::register($this);
  50. \frontend\assets\AppAsset::register($this);
  51. $producer = null;
  52. if (!Yii::$app->user->isGuest && \Yii::$app->user->identity->id_producer > 0) {
  53. $producer = Producer::searchOne(['id' => \Yii::$app->user->identity->id_producer]);
  54. }
  55. ?>
  56. <?php $this->beginPage() ?>
  57. <!DOCTYPE html>
  58. <head>
  59. <title><?php if ($isHome): ?>Opendistrib | <?= Html::encode($this->title) ?><?php else: ?><?= Html::encode($this->title) ?> | Opendistrib<?php endif; ?></title>
  60. <meta charset="utf-8">
  61. <meta name="viewport" content="width=device-width, initial-scale=1">
  62. <?= Html::csrfMetaTags() ?>
  63. <link rel="icon" type="image/png" href="<?= $this->getUrlManager()->getBaseUrl(); ?>/img/favicon-distrib.png"/>
  64. <!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="<?= \Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon.ico" /><![endif]-->
  65. <?php $this->head() ?>
  66. <!--[if lt IE 9]>
  67. <script src="<?= $this->getUrlManager()->getBaseUrl(); ?>/js/html5shiv.min.js"></script>
  68. <link href="<?= $this->getUrlManager()->getBaseUrl(); ?>/css/ie.css" rel="stylesheet">
  69. <![endif]-->
  70. <!--[if IE 7]>
  71. <link href="<?= $this->getUrlManager()->getBaseUrl(); ?>/css/ie7.css" rel="stylesheet">
  72. <![endif]-->
  73. </head>
  74. <body class="<?php if ($isHome): echo 'home'; endif; ?><?php if (!Yii::$app->user->isGuest): ?> connected<?php endif; ?>">
  75. <?php $this->beginBody() ?>
  76. <div id="back"></div>
  77. <?php if (YII_ENV == 'demo'): ?>
  78. <div id="block-demo">
  79. <div class="container">
  80. <span class="glyphicon glyphicon-eye-open"></span> <strong>Espace de démonstration</strong> :
  81. Testez la plateforme sans avoir à vous inscrire. Les données sont réinitialisées quotidiennement
  82. &bull; <?= Html::a('Retour', Url::env('prod', 'frontend')) ?>
  83. </div>
  84. </div>
  85. <?php endif; ?>
  86. <header id="header">
  87. <nav class="navbar navbar-default">
  88. <div id="the-header" class="container">
  89. <div class="navbar-header">
  90. <a id="link-home" href="<?= $this->getUrlManager()->createUrl('site/index'); ?>">
  91. <img src="<?php echo $this->getUrlManager()->getBaseUrl(); ?>/img/logo-distrib.png" alt=""/>
  92. </a>
  93. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#w0-collapse"><span
  94. class="sr-only">Toggle navigation</span>
  95. <span class="icon-bar"></span>
  96. <span class="icon-bar"></span>
  97. <span class="icon-bar"></span>
  98. </button>
  99. </div>
  100. <div id="w0-collapse" class="collapse navbar-collapse">
  101. <?php
  102. echo Nav::widget([
  103. 'encodeLabels' => false,
  104. 'options' => ['class' => 'nav nav-pills navbar-nav navbar-right'],
  105. 'items' => [
  106. [
  107. 'label' => '<span class="glyphicon glyphicon-home"></span> Accueil',
  108. 'url' => $this->getUrlManager()->createUrl(['site/index']),
  109. 'active' => $this->getControllerAction() == 'site/index',
  110. 'options' => ['id' => 'li-home']
  111. ],
  112. [
  113. 'label' => '<span class="glyphicon glyphicon-search"></span> Producteurs',
  114. 'url' => $this->getUrlManager()->createUrl(['site/producers']),
  115. 'active' => $this->getControllerAction() == 'site/producers',
  116. 'options' => ['id' => 'li-producteurs']
  117. ],
  118. [
  119. 'label' => '<span class="glyphicon glyphicon-eur"></span> Tarifs',
  120. 'url' => $this->getUrlManager()->createUrl(['site/prices']),
  121. 'active' => $this->getControllerAction() == 'site/prices',
  122. 'options' => ['id' => 'li-producteurs']
  123. ],
  124. [
  125. 'label' => '<span class="glyphicon glyphicon-envelope"></span> Contact',
  126. 'url' => $this->getUrlManager()->createUrl(['site/contact']),
  127. 'active' => $this->getControllerAction() == 'site/contact',
  128. 'options' => ['id' => 'li-contact']
  129. ],
  130. [
  131. 'label' => '<span class="glyphicon glyphicon-flag"></span> ' . ($producer ? Html::encode($producer->name) : ''),
  132. 'url' => '#',
  133. 'items' => [
  134. [
  135. 'label' => '<span class="glyphicon glyphicon-th-large"></span> Mon espace',
  136. 'url' => $this->getUrlManagerProducer()->createAbsoluteUrl(['site/index', 'slug_producer' => $producer ? $producer->slug : '']),
  137. ],
  138. [
  139. 'label' => '<span class="glyphicon glyphicon-cog"></span> Administration',
  140. 'url' => $this->getUrlManagerBackend()->createAbsoluteUrl(['site/index']),
  141. ]
  142. ],
  143. 'visible' => !Yii::$app->user->isGuest && $producer
  144. ],
  145. [
  146. 'label' => '<span class="glyphicon glyphicon-log-in"></span> Connexion',
  147. 'url' => $this->getUrlManager()->createUrl(['site/login']),
  148. 'visible' => \Yii::$app->user->isGuest,
  149. 'active' => $this->getControllerAction() == 'site/login'
  150. ],
  151. [
  152. 'label' => '<span class="glyphicon glyphicon-user"></span> Inscription',
  153. 'url' => $this->getUrlManager()->createUrl(['site/signup']),
  154. 'visible' => \Yii::$app->user->isGuest,
  155. 'active' => $this->getControllerAction() == 'site/signup'
  156. ],
  157. [
  158. 'label' => '<span class="glyphicon glyphicon-user"></span> ' . ((!Yii::$app->user->isGuest) ? Html::encode(Yii::$app->user->identity->name . ' ' . strtoupper(substr(Yii::$app->user->identity->lastname, 0, 1))) : '') . '. ',
  159. 'options' => ['id' => 'label1'],
  160. 'url' => '#',
  161. 'items' => [
  162. [
  163. 'label' => '<span class="glyphicon glyphicon-user"></span> Profil',
  164. 'url' => $this->getUrlManager()->createUrl(['user/update']),
  165. ],
  166. [
  167. 'label' => '<span class="glyphicon glyphicon-off"></span> Déconnexion',
  168. 'url' => $this->getUrlManager()->createUrl(['site/logout']),
  169. ]
  170. ],
  171. 'visible' => !Yii::$app->user->isGuest
  172. ],
  173. ]
  174. ]);
  175. ?>
  176. </div>
  177. </div>
  178. </nav>
  179. </header>
  180. <?php if (!Yii::$app->user->isGuest): ?>
  181. <section id="bookmarked-producers">
  182. <div class="container">
  183. <?php
  184. $producersArray = Producer::find()
  185. ->joinWith(['userProducer user_producer'])
  186. ->where([
  187. 'user_producer.id_user' => GlobalParam::getCurrentUserId(),
  188. 'user_producer.bookmark' => 1,
  189. ])
  190. ->all();
  191. ?>
  192. <?php if (count($producersArray)): ?>
  193. <h2>Mes producteurs &gt;</h2>
  194. <div id="producers">
  195. <?php foreach ($producersArray as $producer): ?>
  196. <a class="btn btn-xs btn-default"
  197. href="<?= \Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index', 'slug_producer' => $producer->slug]); ?>"><?= Html::encode($producer->name); ?></a>
  198. <?php endforeach; ?>
  199. </div>
  200. <?php else: ?>
  201. <div id="discover">
  202. <p>Vous n'avez aucun producteur dans vos favoris : </p>
  203. <a class="btn btn-default btn-lg"
  204. href="<?= $this->getUrlManager()->createUrl(['site/producers']); ?>"><span
  205. class="glyphicon glyphicon-grain"></span> Découvrez les producteurs</a>
  206. </div>
  207. <?php endif; ?>
  208. <div class="clr"></div>
  209. </div>
  210. </section>
  211. <?php endif; ?>
  212. <div id="main">
  213. <section class="container" id="content">
  214. <?php if (Yii::$app->session->hasFlash('error')): ?>
  215. <div class="alert alert-danger" role="alert">
  216. <?= \Yii::$app->session->getFlash('error') ?>
  217. </div>
  218. <?php endif; ?>
  219. <?php if (Yii::$app->session->hasFlash('success')): ?>
  220. <div class="alert alert-success" role="alert">
  221. <?= \Yii::$app->session->getFlash('success') ?>
  222. </div>
  223. <?php endif; ?>
  224. <?= $content ?>
  225. </section>
  226. </div>
  227. <footer id="footer">
  228. <div class="container">
  229. <a href="<?php echo $this->getUrlManager()->createUrl('site/contact'); ?>">Contact</a> &bull;
  230. <a href="<?php echo $this->getUrlManager()->createUrl('site/mentions'); ?>">Mentions légales</a> &bull;
  231. <a href="<?php echo $this->getUrlManager()->createUrl('site/cgv'); ?>">CGS</a> &bull;
  232. <a id="code-source" href="https://forge.laclic.fr/Laclic/Opendistrib">Code source</a>
  233. </div>
  234. </footer>
  235. <?php $this->endBody() ?>
  236. </body>
  237. </html>
  238. <?php $this->endPage() ?>