Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

297 Zeilen
14KB

  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 yii\helpers\Html;
  38. use yii\bootstrap\Nav;
  39. use yii\bootstrap\NavBar;
  40. use yii\widgets\Breadcrumbs;
  41. use yii\widgets\ActiveForm;
  42. use yii\helpers\ArrayHelper;
  43. use common\helpers\Url;
  44. use common\helpers\GlobalParam;
  45. /* @var $this \yii\web\View */
  46. /* @var $content string */
  47. \common\assets\CommonAsset::register($this);
  48. \backend\assets\AppAsset::register($this);
  49. $producer = null;
  50. if (!Yii::$app->user->isGuest) {
  51. $producer = Producer::findOne(GlobalParam::getCurrentProducerId());
  52. }
  53. ?>
  54. <?php $this->beginPage() ?>
  55. <!DOCTYPE html>
  56. <html lang="<?= Yii::$app->language ?>">
  57. <head>
  58. <meta charset="<?= Yii::$app->charset ?>">
  59. <meta name="viewport" content="width=device-width, initial-scale=1">
  60. <meta name="baseurl" content="<?= Yii::$app->urlManagerBackend->baseUrl; ?>">
  61. <meta name="baseurl-absolute"
  62. content="<?= Yii::$app->urlManagerBackend->getHostInfo() . Yii::$app->urlManagerBackend->baseUrl; ?>">
  63. <link rel="icon" type="image/png" href="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon3.png"/>
  64. <?= Html::csrfMetaTags() ?>
  65. <title><?= Html::encode($this->title) ?> - distrib</title>
  66. <?php $this->head() ?>
  67. </head>
  68. <body>
  69. <?php $this->beginBody() ?>
  70. <div class="wrap">
  71. <?php
  72. NavBar::begin([
  73. 'brandLabel' => '<img class="logo" src="' . Yii::$app->urlManager->getBaseUrl() . '/img/laboulange3.png" />',
  74. 'brandUrl' => Yii::$app->homeUrl,
  75. 'innerContainerOptions' => ['class' => 'container-fluid'],
  76. 'options' => [
  77. 'class' => 'navbar-inverse navbar-fixed-top nav-header',
  78. ],
  79. ]);
  80. $menuItems = [
  81. [
  82. 'label' => '<span class="glyphicon glyphicon-home"></span> Tableau de bord',
  83. 'url' => ['/site/index'],
  84. 'visible' => !Yii::$app->user->isGuest
  85. ],
  86. [
  87. 'label' => '<span class="glyphicon glyphicon-calendar"></span> Commandes',
  88. 'url' => ['/order/index'],
  89. 'visible' => !Yii::$app->user->isGuest,
  90. 'items' => [
  91. [
  92. 'label' => '<span class="glyphicon glyphicon-calendar"></span> Toutes les commandes',
  93. 'url' => ['/order/index'],
  94. 'visible' => !Yii::$app->user->isGuest
  95. ],
  96. [
  97. 'label' => '<span class="glyphicon glyphicon-repeat"></span> Abonnements',
  98. 'url' => ['/subscription/index'],
  99. 'visible' => !Yii::$app->user->isGuest
  100. ],
  101. ]
  102. ],
  103. [
  104. 'label' => '<span class="glyphicon glyphicon-grain"></span> Produits',
  105. 'url' => ['/product/index'],
  106. 'visible' => !Yii::$app->user->isGuest
  107. ],
  108. [
  109. 'label' => '<span class="glyphicon glyphicon-map-marker"></span> Points de vente',
  110. 'url' => ['/point-sale/index'],
  111. 'visible' => !Yii::$app->user->isGuest
  112. ],
  113. [
  114. 'label' => '<span class="glyphicon glyphicon-user"></span> Clients',
  115. 'url' => ['/user/index'],
  116. 'visible' => !Yii::$app->user->isGuest
  117. ],
  118. [
  119. 'label' => '<span class="glyphicon glyphicon-plus"></span>',
  120. 'url' => ['/producer/update'],
  121. 'visible' => !Yii::$app->user->isGuest,
  122. 'items' => [
  123. [
  124. 'label' => '<span class="glyphicon glyphicon-cog"></span> Paramètres',
  125. 'url' => ['/producer/update'],
  126. 'visible' => !Yii::$app->user->isGuest
  127. ],
  128. [
  129. 'label' => '<span class="glyphicon glyphicon-bullhorn"></span> Communiquer',
  130. 'url' => ['/communicate/index'],
  131. 'visible' => !Yii::$app->user->isGuest
  132. ],
  133. [
  134. 'label' => '<span class="glyphicon glyphicon-euro"></span> Mon abonnement',
  135. 'url' => ['/producer/billing'],
  136. 'visible' => !Yii::$app->user->isGuest,
  137. ],
  138. [
  139. 'label' => '<span class="glyphicon glyphicon-stats"></span> Statistiques',
  140. 'url' => ['/stats/index'],
  141. 'visible' => !Yii::$app->user->isGuest,
  142. ],
  143. [
  144. 'label' => '<span class="glyphicon glyphicon-stats"></span> Statistiques produits',
  145. 'url' => ['/stats/products'],
  146. 'visible' => !Yii::$app->user->isGuest,
  147. ],
  148. [
  149. 'label' => '<span class="glyphicon glyphicon-wrench"></span> Développement',
  150. 'url' => ['/development/index'],
  151. 'visible' => !Yii::$app->user->isGuest
  152. ],
  153. ],
  154. ]
  155. ];
  156. if (Yii::$app->user->isGuest) {
  157. $menuItems[] = ['label' => 'Connexion', 'url' => ['/site/login']];
  158. } else {
  159. if (Yii::$app->user->identity->status == User::STATUS_ADMIN) {
  160. $menuItems[] = [
  161. 'label' => '<span class="glyphicon glyphicon-asterisk"></span>',
  162. 'url' => '#',
  163. 'items' => [
  164. [
  165. 'label' => '<span class="glyphicon glyphicon-th-list"></span> Producteurs',
  166. 'url' => ['producer-admin/index'],
  167. 'visible' => !Yii::$app->user->isGuest,
  168. ],
  169. [
  170. 'label' => '<span class="glyphicon glyphicon-euro"></span> Facturation',
  171. 'url' => ['producer-admin/billing'],
  172. 'visible' => false,
  173. ],
  174. ]
  175. ];
  176. }
  177. $menuItems[] = [
  178. 'label' => '<span class="glyphicon glyphicon-off"></span>',
  179. 'url' => ['/site/logout'],
  180. 'linkOptions' => ['data-method' => 'post', 'title' => 'Déconnexion']
  181. ];
  182. $menuItems[] = [
  183. 'label' => '<span class="retour-site">Retour sur le site</span>',
  184. 'url' => Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index', 'slug_producer' => $producer->slug]),
  185. ];
  186. }
  187. echo Nav::widget([
  188. 'options' => ['class' => 'navbar-nav navbar-right'],
  189. 'items' => $menuItems,
  190. 'encodeLabels' => false
  191. ]);
  192. NavBar::end();
  193. ?>
  194. <div class="container-fluid container-body">
  195. <?php if (YII_ENV == 'dev' || YII_ENV == 'demo'): ?>
  196. <div id="env-dev"><?php if (YII_ENV == 'dev'): ?>Dév.<?php elseif (YII_ENV == 'demo'): ?>Démo<?php endif; ?></div>
  197. <?php endif; ?>
  198. <?php if (!Yii::$app->user->isGuest): ?>
  199. <div class="name-producer">
  200. <?php if ( User::getCurrentStatus() == User::STATUS_PRODUCER): ?>
  201. <span><?= Html::encode(Yii::$app->user->identity->getNameProducer()); ?></span>
  202. <?php elseif ( User::getCurrentStatus() == User::STATUS_ADMIN): ?>
  203. <?php $form = ActiveForm::begin(['id' => 'select-producer']); ?>
  204. <?=
  205. Html::dropDownList('select_producer', GlobalParam::getCurrentProducerId(), ArrayHelper::map(ProducerModel::find()->orderBy('name ASC')->all(), 'id', function ($model, $defaultValue) {
  206. return $model->name;
  207. }));
  208. ?>
  209. <?php ActiveForm::end(); ?>
  210. <?php endif; ?>
  211. <?php
  212. $producer = Producer::findOne(GlobalParam::getCurrentProducerId());
  213. if (!$producer->active):
  214. ?>
  215. <span class="label label-danger" data-toggle="tooltip" data-placement="bottom"
  216. data-original-title="Activez votre établissement quand vous le souhaitez afin de la rendre visible à vos clients.">
  217. <?= Html::a('Hors-ligne', ['producer/update']); ?>
  218. </span>
  219. <?php endif; ?>
  220. <div class="clr"></div>
  221. </div>
  222. <?php endif; ?>
  223. <?php if (YII_ENV == 'demo'): ?>
  224. <div id="block-demo">
  225. <div class="container-fluid">
  226. <span class="glyphicon glyphicon-eye-open"></span> <strong>Espace de démonstration</strong> :
  227. Testez la plateforme sans avoir à vous inscrire. Les données sont réinitialisées quotidiennement
  228. &bull; <?= Html::a('Retour', Url::env('prod', 'frontend')) ?>
  229. </div>
  230. </div>
  231. <?php endif; ?>
  232. <?=
  233. Breadcrumbs::widget([
  234. 'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
  235. ])
  236. ?>
  237. <?= $content ?>
  238. </div>
  239. </div>
  240. <div id="alerts-fixed"></div>
  241. <footer class="footer">
  242. <div class="container-fluid">
  243. <p class="pull-left">
  244. <a href="<?php echo Url::frontend('site/contact'); ?>">Contact</a> &bull;
  245. <a href="<?php echo Url::frontend('site/mentions'); ?>">Mentions légales</a> &bull;
  246. <a href="<?php echo Url::frontend('site/cgv'); ?>">CGS</a>
  247. <a id="code-source" href="https://framagit.org/guillaume-bourgeois/laboiteapain">Code source <img
  248. src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-framagit.png"
  249. alt="Hébergé par Framasoft"/> <img
  250. src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-gitlab.png"
  251. alt="Propulsé par Gitlab"/></a>
  252. </p>
  253. <p class="pull-right"><?= Yii::powered() ?></p>
  254. </div>
  255. </footer>
  256. <?php $this->endBody() ?>
  257. <!-- analytics -->
  258. <script>
  259. (function (i, s, o, g, r, a, m) {
  260. i['GoogleAnalyticsObject'] = r;
  261. i[r] = i[r] || function () {
  262. (i[r].q = i[r].q || []).push(arguments)
  263. }, i[r].l = 1 * new Date();
  264. a = s.createElement(o),
  265. m = s.getElementsByTagName(o)[0];
  266. a.async = 1;
  267. a.src = g;
  268. m.parentNode.insertBefore(a, m)
  269. })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
  270. ga('create', 'UA-86917043-1', 'auto');
  271. ga('send', 'pageview');
  272. </script>
  273. </body>
  274. </html>
  275. <?php $this->endPage() ?>