return [ | return [ | ||||
'id' => 'app-backend', | 'id' => 'app-backend', | ||||
'name' => "Distrib", | |||||
'basePath' => dirname(__DIR__), | 'basePath' => dirname(__DIR__), | ||||
'controllerNamespace' => 'backend\controllers', | 'controllerNamespace' => 'backend\controllers', | ||||
'defaultRoute' => 'site/index', | 'defaultRoute' => 'site/index', | ||||
'errorAction' => 'site/error', | 'errorAction' => 'site/error', | ||||
], | ], | ||||
'urlManager' => $common_config_main['components']['urlManagerBackend'], | 'urlManager' => $common_config_main['components']['urlManagerBackend'], | ||||
'assetManager' => [ | |||||
'bundles' => [ | |||||
'dmstr\web\AdminLteAsset' => [ | |||||
'skin' => 'skin-red', | |||||
], | |||||
], | |||||
], | |||||
], | ], | ||||
'params' => $params, | 'params' => $params, | ||||
]; | ]; |
<?php | |||||
/** | |||||
Copyright La boîte à pain (2018) | |||||
contact@laboiteapain.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use yii\widgets\Breadcrumbs; | |||||
use dmstr\widgets\Alert; | |||||
?> | |||||
<div class="content-wrapper"> | |||||
<section class="content-header"> | |||||
<?php if (isset($this->blocks['content-header'])) { ?> | |||||
<h1><?= $this->blocks['content-header'] ?></h1> | |||||
<?php } else { ?> | |||||
<h1> | |||||
<?php | |||||
if ($this->title !== null) { | |||||
echo \yii\helpers\Html::encode($this->title); | |||||
} else { | |||||
echo \yii\helpers\Inflector::camel2words( | |||||
\yii\helpers\Inflector::id2camel($this->context->module->id) | |||||
); | |||||
echo ($this->context->module->id !== \Yii::$app->id) ? '<small>Module</small>' : ''; | |||||
} ?> | |||||
</h1> | |||||
<?php } ?> | |||||
<?= | |||||
Breadcrumbs::widget( | |||||
[ | |||||
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], | |||||
] | |||||
) ?> | |||||
</section> | |||||
<section class="content"> | |||||
<?= Alert::widget() ?> | |||||
<?= $content ?> | |||||
</section> | |||||
</div> | |||||
<footer class="main-footer"> | |||||
<div class="pull-right hidden-xs"> | |||||
<b>Version</b> 2.0 | |||||
</div> | |||||
<strong>Copyright © 2014-2015 <a href="http://almsaeedstudio.com">Almsaeed Studio</a>.</strong> All rights | |||||
reserved. | |||||
</footer> | |||||
<!-- Control Sidebar --> | |||||
<aside class="control-sidebar control-sidebar-dark"> | |||||
<!-- Create the tabs --> | |||||
<ul class="nav nav-tabs nav-justified control-sidebar-tabs"> | |||||
<li><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li> | |||||
<li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li> | |||||
</ul> | |||||
<!-- Tab panes --> | |||||
<div class="tab-content"> | |||||
<!-- Home tab content --> | |||||
<div class="tab-pane" id="control-sidebar-home-tab"> | |||||
<h3 class="control-sidebar-heading">Recent Activity</h3> | |||||
<ul class='control-sidebar-menu'> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<i class="menu-icon fa fa-birthday-cake bg-red"></i> | |||||
<div class="menu-info"> | |||||
<h4 class="control-sidebar-subheading">Langdon's Birthday</h4> | |||||
<p>Will be 23 on April 24th</p> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<i class="menu-icon fa fa-user bg-yellow"></i> | |||||
<div class="menu-info"> | |||||
<h4 class="control-sidebar-subheading">Frodo Updated His Profile</h4> | |||||
<p>New phone +1(800)555-1234</p> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<i class="menu-icon fa fa-envelope-o bg-light-blue"></i> | |||||
<div class="menu-info"> | |||||
<h4 class="control-sidebar-subheading">Nora Joined Mailing List</h4> | |||||
<p>nora@example.com</p> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<i class="menu-icon fa fa-file-code-o bg-green"></i> | |||||
<div class="menu-info"> | |||||
<h4 class="control-sidebar-subheading">Cron Job 254 Executed</h4> | |||||
<p>Execution time 5 seconds</p> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
</ul> | |||||
<!-- /.control-sidebar-menu --> | |||||
<h3 class="control-sidebar-heading">Tasks Progress</h3> | |||||
<ul class='control-sidebar-menu'> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<h4 class="control-sidebar-subheading"> | |||||
Custom Template Design | |||||
<span class="label label-danger pull-right">70%</span> | |||||
</h4> | |||||
<div class="progress progress-xxs"> | |||||
<div class="progress-bar progress-bar-danger" style="width: 70%"></div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<h4 class="control-sidebar-subheading"> | |||||
Update Resume | |||||
<span class="label label-success pull-right">95%</span> | |||||
</h4> | |||||
<div class="progress progress-xxs"> | |||||
<div class="progress-bar progress-bar-success" style="width: 95%"></div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<h4 class="control-sidebar-subheading"> | |||||
Laravel Integration | |||||
<span class="label label-waring pull-right">50%</span> | |||||
</h4> | |||||
<div class="progress progress-xxs"> | |||||
<div class="progress-bar progress-bar-warning" style="width: 50%"></div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href='javascript::;'> | |||||
<h4 class="control-sidebar-subheading"> | |||||
Back End Framework | |||||
<span class="label label-primary pull-right">68%</span> | |||||
</h4> | |||||
<div class="progress progress-xxs"> | |||||
<div class="progress-bar progress-bar-primary" style="width: 68%"></div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
</ul> | |||||
<!-- /.control-sidebar-menu --> | |||||
</div> | |||||
<!-- /.tab-pane --> | |||||
<!-- Settings tab content --> | |||||
<div class="tab-pane" id="control-sidebar-settings-tab"> | |||||
<form method="post"> | |||||
<h3 class="control-sidebar-heading">General Settings</h3> | |||||
<div class="form-group"> | |||||
<label class="control-sidebar-subheading"> | |||||
Report panel usage | |||||
<input type="checkbox" class="pull-right" checked/> | |||||
</label> | |||||
<p> | |||||
Some information about this general settings option | |||||
</p> | |||||
</div> | |||||
<!-- /.form-group --> | |||||
<div class="form-group"> | |||||
<label class="control-sidebar-subheading"> | |||||
Allow mail redirect | |||||
<input type="checkbox" class="pull-right" checked/> | |||||
</label> | |||||
<p> | |||||
Other sets of options are available | |||||
</p> | |||||
</div> | |||||
<!-- /.form-group --> | |||||
<div class="form-group"> | |||||
<label class="control-sidebar-subheading"> | |||||
Expose author name in posts | |||||
<input type="checkbox" class="pull-right" checked/> | |||||
</label> | |||||
<p> | |||||
Allow the user to show his name in blog posts | |||||
</p> | |||||
</div> | |||||
<!-- /.form-group --> | |||||
<h3 class="control-sidebar-heading">Chat Settings</h3> | |||||
<div class="form-group"> | |||||
<label class="control-sidebar-subheading"> | |||||
Show me as online | |||||
<input type="checkbox" class="pull-right" checked/> | |||||
</label> | |||||
</div> | |||||
<!-- /.form-group --> | |||||
<div class="form-group"> | |||||
<label class="control-sidebar-subheading"> | |||||
Turn off notifications | |||||
<input type="checkbox" class="pull-right"/> | |||||
</label> | |||||
</div> | |||||
<!-- /.form-group --> | |||||
<div class="form-group"> | |||||
<label class="control-sidebar-subheading"> | |||||
Delete chat history | |||||
<a href="javascript::;" class="text-red pull-right"><i class="fa fa-trash-o"></i></a> | |||||
</label> | |||||
</div> | |||||
<!-- /.form-group --> | |||||
</form> | |||||
</div> | |||||
<!-- /.tab-pane --> | |||||
</div> | |||||
</aside><!-- /.control-sidebar --> | |||||
<!-- Add the sidebar's background. This div must be placed | |||||
immediately after the control sidebar --> | |||||
<div class='control-sidebar-bg'></div> |
<?php | |||||
/** | |||||
Copyright La boîte à pain (2018) | |||||
contact@laboiteapain.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use yii\helpers\Html; | |||||
/* @var $this \yii\web\View */ | |||||
/* @var $content string */ | |||||
?> | |||||
<header class="main-header"> | |||||
<?= Html::a('<span class="logo-mini">APP</span><span class="logo-lg">' . Yii::$app->name . '</span>', Yii::$app->homeUrl, ['class' => 'logo']) ?> | |||||
<nav class="navbar navbar-static-top" role="navigation"> | |||||
<a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"> | |||||
<span class="sr-only">Toggle navigation</span> | |||||
</a> | |||||
<div class="navbar-custom-menu"> | |||||
<ul class="nav navbar-nav"> | |||||
<!-- Messages: style can be found in dropdown.less--> | |||||
<li class="dropdown messages-menu"> | |||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> | |||||
<i class="fa fa-envelope-o"></i> | |||||
<span class="label label-success">4</span> | |||||
</a> | |||||
<ul class="dropdown-menu"> | |||||
<li class="header">You have 4 messages</li> | |||||
<li> | |||||
<!-- inner menu: contains the actual data --> | |||||
<ul class="menu"> | |||||
<li><!-- start message --> | |||||
<a href="#"> | |||||
<div class="pull-left"> | |||||
<img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="img-circle" | |||||
alt="User Image"/> | |||||
</div> | |||||
<h4> | |||||
Support Team | |||||
<small><i class="fa fa-clock-o"></i> 5 mins</small> | |||||
</h4> | |||||
<p>Why not buy a new awesome theme?</p> | |||||
</a> | |||||
</li> | |||||
<!-- end message --> | |||||
<li> | |||||
<a href="#"> | |||||
<div class="pull-left"> | |||||
<img src="<?= $directoryAsset ?>/img/user3-128x128.jpg" class="img-circle" | |||||
alt="user image"/> | |||||
</div> | |||||
<h4> | |||||
AdminLTE Design Team | |||||
<small><i class="fa fa-clock-o"></i> 2 hours</small> | |||||
</h4> | |||||
<p>Why not buy a new awesome theme?</p> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#"> | |||||
<div class="pull-left"> | |||||
<img src="<?= $directoryAsset ?>/img/user4-128x128.jpg" class="img-circle" | |||||
alt="user image"/> | |||||
</div> | |||||
<h4> | |||||
Developers | |||||
<small><i class="fa fa-clock-o"></i> Today</small> | |||||
</h4> | |||||
<p>Why not buy a new awesome theme?</p> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#"> | |||||
<div class="pull-left"> | |||||
<img src="<?= $directoryAsset ?>/img/user3-128x128.jpg" class="img-circle" | |||||
alt="user image"/> | |||||
</div> | |||||
<h4> | |||||
Sales Department | |||||
<small><i class="fa fa-clock-o"></i> Yesterday</small> | |||||
</h4> | |||||
<p>Why not buy a new awesome theme?</p> | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#"> | |||||
<div class="pull-left"> | |||||
<img src="<?= $directoryAsset ?>/img/user4-128x128.jpg" class="img-circle" | |||||
alt="user image"/> | |||||
</div> | |||||
<h4> | |||||
Reviewers | |||||
<small><i class="fa fa-clock-o"></i> 2 days</small> | |||||
</h4> | |||||
<p>Why not buy a new awesome theme?</p> | |||||
</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
<li class="footer"><a href="#">See All Messages</a></li> | |||||
</ul> | |||||
</li> | |||||
<li class="dropdown notifications-menu"> | |||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> | |||||
<i class="fa fa-bell-o"></i> | |||||
<span class="label label-warning">10</span> | |||||
</a> | |||||
<ul class="dropdown-menu"> | |||||
<li class="header">You have 10 notifications</li> | |||||
<li> | |||||
<!-- inner menu: contains the actual data --> | |||||
<ul class="menu"> | |||||
<li> | |||||
<a href="#"> | |||||
<i class="fa fa-users text-aqua"></i> 5 new members joined today | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#"> | |||||
<i class="fa fa-warning text-yellow"></i> Very long description here that may | |||||
not fit into the page and may cause design problems | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#"> | |||||
<i class="fa fa-users text-red"></i> 5 new members joined | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#"> | |||||
<i class="fa fa-shopping-cart text-green"></i> 25 sales made | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#"> | |||||
<i class="fa fa-user text-red"></i> You changed your username | |||||
</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
<li class="footer"><a href="#">View all</a></li> | |||||
</ul> | |||||
</li> | |||||
<!-- Tasks: style can be found in dropdown.less --> | |||||
<li class="dropdown tasks-menu"> | |||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> | |||||
<i class="fa fa-flag-o"></i> | |||||
<span class="label label-danger">9</span> | |||||
</a> | |||||
<ul class="dropdown-menu"> | |||||
<li class="header">You have 9 tasks</li> | |||||
<li> | |||||
<!-- inner menu: contains the actual data --> | |||||
<ul class="menu"> | |||||
<li><!-- Task item --> | |||||
<a href="#"> | |||||
<h3> | |||||
Design some buttons | |||||
<small class="pull-right">20%</small> | |||||
</h3> | |||||
<div class="progress xs"> | |||||
<div class="progress-bar progress-bar-aqua" style="width: 20%" | |||||
role="progressbar" aria-valuenow="20" aria-valuemin="0" | |||||
aria-valuemax="100"> | |||||
<span class="sr-only">20% Complete</span> | |||||
</div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<!-- end task item --> | |||||
<li><!-- Task item --> | |||||
<a href="#"> | |||||
<h3> | |||||
Create a nice theme | |||||
<small class="pull-right">40%</small> | |||||
</h3> | |||||
<div class="progress xs"> | |||||
<div class="progress-bar progress-bar-green" style="width: 40%" | |||||
role="progressbar" aria-valuenow="20" aria-valuemin="0" | |||||
aria-valuemax="100"> | |||||
<span class="sr-only">40% Complete</span> | |||||
</div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<!-- end task item --> | |||||
<li><!-- Task item --> | |||||
<a href="#"> | |||||
<h3> | |||||
Some task I need to do | |||||
<small class="pull-right">60%</small> | |||||
</h3> | |||||
<div class="progress xs"> | |||||
<div class="progress-bar progress-bar-red" style="width: 60%" | |||||
role="progressbar" aria-valuenow="20" aria-valuemin="0" | |||||
aria-valuemax="100"> | |||||
<span class="sr-only">60% Complete</span> | |||||
</div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<!-- end task item --> | |||||
<li><!-- Task item --> | |||||
<a href="#"> | |||||
<h3> | |||||
Make beautiful transitions | |||||
<small class="pull-right">80%</small> | |||||
</h3> | |||||
<div class="progress xs"> | |||||
<div class="progress-bar progress-bar-yellow" style="width: 80%" | |||||
role="progressbar" aria-valuenow="20" aria-valuemin="0" | |||||
aria-valuemax="100"> | |||||
<span class="sr-only">80% Complete</span> | |||||
</div> | |||||
</div> | |||||
</a> | |||||
</li> | |||||
<!-- end task item --> | |||||
</ul> | |||||
</li> | |||||
<li class="footer"> | |||||
<a href="#">View all tasks</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
<!-- User Account: style can be found in dropdown.less --> | |||||
<li class="dropdown user user-menu"> | |||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> | |||||
<img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="user-image" alt="User Image"/> | |||||
<span class="hidden-xs">Alexander Pierce</span> | |||||
</a> | |||||
<ul class="dropdown-menu"> | |||||
<!-- User image --> | |||||
<li class="user-header"> | |||||
<img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="img-circle" | |||||
alt="User Image"/> | |||||
<p> | |||||
Alexander Pierce - Web Developer | |||||
<small>Member since Nov. 2012</small> | |||||
</p> | |||||
</li> | |||||
<!-- Menu Body --> | |||||
<li class="user-body"> | |||||
<div class="col-xs-4 text-center"> | |||||
<a href="#">Followers</a> | |||||
</div> | |||||
<div class="col-xs-4 text-center"> | |||||
<a href="#">Sales</a> | |||||
</div> | |||||
<div class="col-xs-4 text-center"> | |||||
<a href="#">Friends</a> | |||||
</div> | |||||
</li> | |||||
<!-- Menu Footer--> | |||||
<li class="user-footer"> | |||||
<div class="pull-left"> | |||||
<a href="#" class="btn btn-default btn-flat">Profile</a> | |||||
</div> | |||||
<div class="pull-right"> | |||||
<?= Html::a( | |||||
'Sign out', | |||||
['/site/logout'], | |||||
['data-method' => 'post', 'class' => 'btn btn-default btn-flat'] | |||||
) ?> | |||||
</div> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
<!-- User Account: style can be found in dropdown.less --> | |||||
<li> | |||||
<a href="#" data-toggle="control-sidebar"><i class="fa fa-gears"></i></a> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
</nav> | |||||
</header> |
<?php | |||||
/** | |||||
Copyright La boîte à pain (2018) | |||||
contact@laboiteapain.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
?> | |||||
<aside class="main-sidebar"> | |||||
<section class="sidebar"> | |||||
<?= dmstr\widgets\Menu::widget( | |||||
[ | |||||
'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'], | |||||
'items' => [ | |||||
['label' => 'Tableau de bord','icon' => 'dashboard','url' => ['/site/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Distributions','icon' => 'calendar','url' => ['/order/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Abonnements','icon' => 'repeat','url' => ['/subscription/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Produits','icon' => 'clone','url' => ['/product/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Points de vente','icon' => 'map-marker','url' => ['/point-sale/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Clients','icon' => 'users','url' => ['/user/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Paramètres','icon' => 'cog','url' => ['/producer/update'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Communiquer','icon' => 'bullhorn','url' => ['/communicate/index'], 'visible' => User::isCurrentProducer()], | |||||
[ | |||||
'label' => 'Statistiques', | |||||
'icon' => 'line-chart', | |||||
'url' => '#', | |||||
'items' => [ | |||||
['label' => 'Chiffre d\'affaire','icon' => 'line-chart','url' => ['/stats/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Produits','icon' => 'table','url' => ['/stats/products'], 'visible' => User::isCurrentProducer()], | |||||
], | |||||
], | |||||
['label' => 'Développement','icon' => 'wrench','url' => ['/development/index'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Mon abonnement','icon' => 'euro','url' => ['/producer/billing'], 'visible' => User::isCurrentProducer()], | |||||
['label' => 'Administration', 'options' => ['class' => 'header'], 'visible' => User::isCurrentAdmin()], | |||||
['label' => 'Producteurs','icon' => 'th-list','url' => ['/producer-admin/index'], 'visible' => User::isCurrentAdmin()], | |||||
['label' => 'Outils', 'options' => ['class' => 'header'], 'visible' => User::isCurrentAdmin()], | |||||
['label' => 'Gii', 'icon' => 'file-code-o', 'url' => ['/gii'], 'visible' => User::isCurrentAdmin()], | |||||
['label' => 'Debug', 'icon' => 'dashboard', 'url' => ['/debug'], 'visible' => User::isCurrentAdmin()], | |||||
['label' => 'Login', 'url' => ['site/login'], 'visible' => !User::isCurrentConnected()], | |||||
/*[ | |||||
'label' => 'Some tools', | |||||
'icon' => 'share', | |||||
'url' => '#', | |||||
'items' => [ | |||||
['label' => 'Gii', 'icon' => 'file-code-o', 'url' => ['/gii'],], | |||||
['label' => 'Debug', 'icon' => 'dashboard', 'url' => ['/debug'],], | |||||
[ | |||||
'label' => 'Level One', | |||||
'icon' => 'circle-o', | |||||
'url' => '#', | |||||
'items' => [ | |||||
['label' => 'Level Two', 'icon' => 'circle-o', 'url' => '#',], | |||||
[ | |||||
'label' => 'Level Two', | |||||
'icon' => 'circle-o', | |||||
'url' => '#', | |||||
'items' => [ | |||||
['label' => 'Level Three', 'icon' => 'circle-o', 'url' => '#',], | |||||
['label' => 'Level Three', 'icon' => 'circle-o', 'url' => '#',], | |||||
], | |||||
], | |||||
], | |||||
], | |||||
], | |||||
],*/ | |||||
], | |||||
] | |||||
) ?> | |||||
</section> | |||||
</aside> |
<?php | |||||
/** | |||||
Copyright La boîte à pain (2018) | |||||
contact@laboiteapain.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use backend\assets\AppAsset; | |||||
use yii\helpers\Html; | |||||
/* @var $this \yii\web\View */ | |||||
/* @var $content string */ | |||||
dmstr\web\AdminLteAsset::register($this); | |||||
?> | |||||
<?php $this->beginPage() ?> | |||||
<!DOCTYPE html> | |||||
<html lang="<?= Yii::$app->language ?>"> | |||||
<head> | |||||
<meta charset="<?= Yii::$app->charset ?>"/> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||||
<?= Html::csrfMetaTags() ?> | |||||
<title><?= Html::encode($this->title) ?></title> | |||||
<?php $this->head() ?> | |||||
</head> | |||||
<body class="login-page"> | |||||
<?php $this->beginBody() ?> | |||||
<?= $content ?> | |||||
<?php $this->endBody() ?> | |||||
</body> | |||||
</html> | |||||
<?php $this->endPage() ?> |
<?php | |||||
/** | |||||
Copyright La boîte à pain (2018) | |||||
contact@laboiteapain.net | |||||
Ce logiciel est un programme informatique servant à aider les producteurs | |||||
à distribuer leur production en circuits courts. | |||||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||||
sur le site "http://www.cecill.info". | |||||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||||
de modification et de redistribution accordés par cette licence, il n'est | |||||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||||
titulaire des droits patrimoniaux et les concédants successifs. | |||||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||||
associés au chargement, à l'utilisation, à la modification et/ou au | |||||
développement et à la reproduction du logiciel par l'utilisateur étant | |||||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||||
avertis possédant des connaissances informatiques approfondies. Les | |||||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||||
termes. | |||||
*/ | |||||
use yii\helpers\Html; | |||||
use yii\bootstrap\Nav; | |||||
use yii\bootstrap\NavBar; | |||||
use yii\widgets\Breadcrumbs; | |||||
use common\models\Producer; | |||||
use common\models\User; | |||||
use yii\widgets\ActiveForm; | |||||
use yii\helpers\ArrayHelper; | |||||
use common\helpers\Url; | |||||
/* @var $this \yii\web\View */ | |||||
/* @var $content string */ | |||||
\common\assets\CommonAsset::register($this); | |||||
\backend\assets\AppAsset::register($this); | |||||
$producer = null ; | |||||
if(!Yii::$app->user->isGuest) { | |||||
$producer = Producer::findOne(Producer::getId()) ; | |||||
} | |||||
?> | |||||
<?php $this->beginPage() ?> | |||||
<!DOCTYPE html> | |||||
<html lang="<?= Yii::$app->language ?>"> | |||||
<head> | |||||
<meta charset="<?= Yii::$app->charset ?>"> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||||
<meta name="baseurl" content="<?= Yii::$app->urlManagerBackend->baseUrl ; ?>"> | |||||
<meta name="baseurl-absolute" content="<?= Yii::$app->urlManagerBackend->getHostInfo().Yii::$app->urlManagerBackend->baseUrl; ?>"> | |||||
<link rel="icon" type="image/png" href="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon3.png" /> | |||||
<?= Html::csrfMetaTags() ?> | |||||
<title><?= Html::encode($this->title) ?> - La boîte à pain</title> | |||||
<?php $this->head() ?> | |||||
</head> | |||||
<body> | |||||
<?php $this->beginBody() ?> | |||||
<div class="wrap"> | |||||
<?php | |||||
NavBar::begin([ | |||||
'brandLabel' => '<img class="logo" src="' . Yii::$app->urlManager->getBaseUrl() . '/img/laboulange3.png" />', | |||||
'brandUrl' => Yii::$app->homeUrl, | |||||
'innerContainerOptions' => ['class' => 'container-fluid'], | |||||
'options' => [ | |||||
'class' => 'navbar-inverse navbar-fixed-top nav-header', | |||||
], | |||||
]); | |||||
$menuItems = [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-home"></span> Tableau de bord', | |||||
'url' => ['/site/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-calendar"></span> Commandes', | |||||
'url' => ['/order/index'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
'items' => [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-calendar"></span> Toutes les commandes', | |||||
'url' => ['/order/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-repeat"></span> Abonnements', | |||||
'url' => ['/subscription/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
] | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-grain"></span> Produits', | |||||
'url' => ['/product/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-map-marker"></span> Points de vente', | |||||
'url' => ['/point-sale/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-user"></span> Clients', | |||||
'url' => ['/user/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-plus"></span>', | |||||
'url' => ['/producer/update'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
'items' => [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-cog"></span> Paramètres', | |||||
'url' => ['/producer/update'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-bullhorn"></span> Communiquer', | |||||
'url' => ['/communicate/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-euro"></span> Mon abonnement', | |||||
'url' => ['/producer/billing'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-stats"></span> Statistiques', | |||||
'url' => ['/stats/index'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-stats"></span> Statistiques produits', | |||||
'url' => ['/stats/products'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-wrench"></span> Développement', | |||||
'url' => ['/development/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
], | |||||
] | |||||
]; | |||||
if (Yii::$app->user->isGuest) { | |||||
$menuItems[] = ['label' => 'Connexion', 'url' => ['/site/login']]; | |||||
} else { | |||||
if (Yii::$app->user->identity->status == USER::STATUS_ADMIN) { | |||||
$menuItems[] = [ | |||||
'label' => '<span class="glyphicon glyphicon-asterisk"></span>', | |||||
'url' => '#', | |||||
'items' => [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-th-list"></span> Producteurs', | |||||
'url' => ['producer-admin/index'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-euro"></span> Facturation', | |||||
'url' => ['producer-admin/billing'], | |||||
'visible' => false, | |||||
], | |||||
] | |||||
]; | |||||
} | |||||
$menuItems[] = [ | |||||
'label' => '<span class="glyphicon glyphicon-off"></span>', | |||||
'url' => ['/site/logout'], | |||||
'linkOptions' => ['data-method' => 'post', 'title' => 'Déconnexion'] | |||||
]; | |||||
$menuItems[] = [ | |||||
'label' => '<span class="retour-site">Retour sur le site</span>', | |||||
'url' => Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index','slug_producer' => $producer->slug]), | |||||
]; | |||||
} | |||||
echo Nav::widget([ | |||||
'options' => ['class' => 'navbar-nav navbar-right'], | |||||
'items' => $menuItems, | |||||
'encodeLabels' => false | |||||
]); | |||||
NavBar::end(); | |||||
?> | |||||
<div class="container-fluid container-body"> | |||||
<?php if (YII_ENV == 'dev' || YII_ENV == 'demo'): ?> | |||||
<div id="env-dev"><?php if (YII_ENV == 'dev'): ?>Dév.<?php elseif (YII_ENV == 'demo'): ?>Démo<?php endif; ?></div> | |||||
<?php endif; ?> | |||||
<?php if (!Yii::$app->user->isGuest): ?> | |||||
<div class="name-producer"> | |||||
<?php if (User::getCurrentStatus() == User::STATUS_PRODUCER): ?> | |||||
<span><?= Html::encode(Yii::$app->user->identity->getNameProducer()); ?></span> | |||||
<?php elseif (User::getCurrentStatus() == User::STATUS_ADMIN): ?> | |||||
<?php $form = ActiveForm::begin(['id' => 'select-producer']); ?> | |||||
<?= | |||||
Html::dropDownList('select_producer', Producer::getId(), ArrayHelper::map(Producer::find()->orderBy('name ASC')->all(), 'id', function($model, $defaultValue) { | |||||
return $model->name; | |||||
})); | |||||
?> | |||||
<?php ActiveForm::end(); ?> | |||||
<?php endif; ?> | |||||
<?php | |||||
$producer = Producer::findOne(Producer::getId()); | |||||
if (!$producer->active): | |||||
?> | |||||
<span class="label label-danger" data-toggle="tooltip" data-placement="bottom" data-original-title="Activez votre établissement quand vous le souhaitez afin de la rendre visible à vos clients."> | |||||
<?= Html::a('Hors-ligne', ['producer/update']); ?> | |||||
</span> | |||||
<?php endif; ?> | |||||
<div class="clr"></div> | |||||
</div> | |||||
<?php endif; ?> | |||||
<?php if (YII_ENV == 'demo'): ?> | |||||
<div id="block-demo"> | |||||
<div class="container-fluid"> | |||||
<span class="glyphicon glyphicon-eye-open"></span> <strong>Espace de démonstration</strong> : | |||||
Testez la plateforme sans avoir à vous inscrire. Les données sont réinitialisées quotidiennement • <?= Html::a('Retour', Url::env('prod', 'frontend')) ?> | |||||
</div> | |||||
</div> | |||||
<?php endif; ?> | |||||
<?= | |||||
Breadcrumbs::widget([ | |||||
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], | |||||
]) | |||||
?> | |||||
<?= $content ?> | |||||
</div> | |||||
</div> | |||||
<div id="alerts-fixed"></div> | |||||
<footer class="footer"> | |||||
<div class="container-fluid"> | |||||
<p class="pull-left"> | |||||
<a href="<?php echo Url::frontend('site/contact'); ?>">Contact</a> • | |||||
<a href="<?php echo Url::frontend('site/mentions'); ?>">Mentions légales</a> • | |||||
<a href="<?php echo Url::frontend('site/cgv'); ?>">CGS</a> | |||||
<a id="code-source" href="https://framagit.org/guillaume-bourgeois/laboiteapain">Code source <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-framagit.png" alt="Hébergé par Framasoft" /> <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-gitlab.png" alt="Propulsé par Gitlab" /></a> | |||||
</p> | |||||
<p class="pull-right"><?= Yii::powered() ?></p> | |||||
</div> | |||||
</footer> | |||||
<?php $this->endBody() ?> | |||||
<!-- analytics --> | |||||
<script> | |||||
(function (i, s, o, g, r, a, m) { | |||||
i['GoogleAnalyticsObject'] = r; | |||||
i[r] = i[r] || function () { | |||||
(i[r].q = i[r].q || []).push(arguments) | |||||
}, i[r].l = 1 * new Date(); | |||||
a = s.createElement(o), | |||||
m = s.getElementsByTagName(o)[0]; | |||||
a.async = 1; | |||||
a.src = g; | |||||
m.parentNode.insertBefore(a, m) | |||||
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); | |||||
ga('create', 'UA-86917043-1', 'auto'); | |||||
ga('send', 'pageview'); | |||||
</script> | |||||
</body> | |||||
</html> | |||||
<?php $this->endPage() ?> |
*/ | */ | ||||
use yii\helpers\Html; | use yii\helpers\Html; | ||||
use yii\bootstrap\Nav; | |||||
use yii\bootstrap\NavBar; | |||||
use yii\widgets\Breadcrumbs; | |||||
use common\models\Producer; | |||||
use common\models\User; | |||||
use yii\widgets\ActiveForm; | |||||
use yii\helpers\ArrayHelper; | |||||
use common\helpers\Url; | |||||
/* @var $this \yii\web\View */ | /* @var $this \yii\web\View */ | ||||
/* @var $content string */ | /* @var $content string */ | ||||
\common\assets\CommonAsset::register($this); | |||||
\backend\assets\AppAsset::register($this); | |||||
$producer = null ; | |||||
if(!Yii::$app->user->isGuest) { | |||||
$producer = Producer::findOne(Producer::getId()) ; | |||||
} | |||||
?> | |||||
<?php $this->beginPage() ?> | |||||
<!DOCTYPE html> | |||||
<html lang="<?= Yii::$app->language ?>"> | |||||
if (Yii::$app->controller->action->id === 'login') { | |||||
/** | |||||
* Do not use this code in your template. Remove it. | |||||
* Instead, use the code $this->layout = '//main-login'; in your controller. | |||||
*/ | |||||
echo $this->render( | |||||
'main-login', | |||||
['content' => $content] | |||||
); | |||||
} else { | |||||
if (class_exists('backend\assets\AppAsset')) { | |||||
backend\assets\AppAsset::register($this); | |||||
} else { | |||||
app\assets\AppAsset::register($this); | |||||
} | |||||
dmstr\web\AdminLteAsset::register($this); | |||||
$directoryAsset = Yii::$app->assetManager->getPublishedUrl('@vendor/almasaeed2010/adminlte/dist'); | |||||
?> | |||||
<?php $this->beginPage() ?> | |||||
<!DOCTYPE html> | |||||
<html lang="<?= Yii::$app->language ?>"> | |||||
<head> | <head> | ||||
<meta charset="<?= Yii::$app->charset ?>"> | |||||
<meta charset="<?= Yii::$app->charset ?>"/> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1"> | <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
<meta name="baseurl" content="<?= Yii::$app->urlManagerBackend->baseUrl ; ?>"> | |||||
<meta name="baseurl-absolute" content="<?= Yii::$app->urlManagerBackend->getHostInfo().Yii::$app->urlManagerBackend->baseUrl; ?>"> | |||||
<link rel="icon" type="image/png" href="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon3.png" /> | |||||
<?= Html::csrfMetaTags() ?> | <?= Html::csrfMetaTags() ?> | ||||
<title><?= Html::encode($this->title) ?> - La boîte à pain</title> | |||||
<?php $this->head() ?> | |||||
<title><?= Html::encode($this->title) ?></title> | |||||
<?php $this->head() ?> | |||||
</head> | </head> | ||||
<body> | |||||
<?php $this->beginBody() ?> | |||||
<div class="wrap"> | |||||
<?php | |||||
NavBar::begin([ | |||||
'brandLabel' => '<img class="logo" src="' . Yii::$app->urlManager->getBaseUrl() . '/img/laboulange3.png" />', | |||||
'brandUrl' => Yii::$app->homeUrl, | |||||
'innerContainerOptions' => ['class' => 'container-fluid'], | |||||
'options' => [ | |||||
'class' => 'navbar-inverse navbar-fixed-top nav-header', | |||||
], | |||||
]); | |||||
$menuItems = [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-home"></span> Tableau de bord', | |||||
'url' => ['/site/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-calendar"></span> Commandes', | |||||
'url' => ['/order/index'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
'items' => [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-calendar"></span> Toutes les commandes', | |||||
'url' => ['/order/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-repeat"></span> Abonnements', | |||||
'url' => ['/subscription/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
] | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-grain"></span> Produits', | |||||
'url' => ['/product/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-map-marker"></span> Points de vente', | |||||
'url' => ['/point-sale/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-user"></span> Clients', | |||||
'url' => ['/user/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-plus"></span>', | |||||
'url' => ['/producer/update'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
'items' => [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-cog"></span> Paramètres', | |||||
'url' => ['/producer/update'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-bullhorn"></span> Communiquer', | |||||
'url' => ['/communicate/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-euro"></span> Mon abonnement', | |||||
'url' => ['/producer/billing'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-stats"></span> Statistiques', | |||||
'url' => ['/stats/index'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-stats"></span> Statistiques produits', | |||||
'url' => ['/stats/products'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-wrench"></span> Développement', | |||||
'url' => ['/development/index'], | |||||
'visible' => !Yii::$app->user->isGuest | |||||
], | |||||
], | |||||
] | |||||
]; | |||||
if (Yii::$app->user->isGuest) { | |||||
$menuItems[] = ['label' => 'Connexion', 'url' => ['/site/login']]; | |||||
} else { | |||||
if (Yii::$app->user->identity->status == USER::STATUS_ADMIN) { | |||||
$menuItems[] = [ | |||||
'label' => '<span class="glyphicon glyphicon-asterisk"></span>', | |||||
'url' => '#', | |||||
'items' => [ | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-th-list"></span> Producteurs', | |||||
'url' => ['producer-admin/index'], | |||||
'visible' => !Yii::$app->user->isGuest, | |||||
], | |||||
[ | |||||
'label' => '<span class="glyphicon glyphicon-euro"></span> Facturation', | |||||
'url' => ['producer-admin/billing'], | |||||
'visible' => false, | |||||
], | |||||
] | |||||
]; | |||||
} | |||||
$menuItems[] = [ | |||||
'label' => '<span class="glyphicon glyphicon-off"></span>', | |||||
'url' => ['/site/logout'], | |||||
'linkOptions' => ['data-method' => 'post', 'title' => 'Déconnexion'] | |||||
]; | |||||
$menuItems[] = [ | |||||
'label' => '<span class="retour-site">Retour sur le site</span>', | |||||
'url' => Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index','slug_producer' => $producer->slug]), | |||||
]; | |||||
} | |||||
echo Nav::widget([ | |||||
'options' => ['class' => 'navbar-nav navbar-right'], | |||||
'items' => $menuItems, | |||||
'encodeLabels' => false | |||||
]); | |||||
NavBar::end(); | |||||
?> | |||||
<div class="container-fluid container-body"> | |||||
<?php if (YII_ENV == 'dev' || YII_ENV == 'demo'): ?> | |||||
<div id="env-dev"><?php if (YII_ENV == 'dev'): ?>Dév.<?php elseif (YII_ENV == 'demo'): ?>Démo<?php endif; ?></div> | |||||
<?php endif; ?> | |||||
<?php if (!Yii::$app->user->isGuest): ?> | |||||
<div class="name-producer"> | |||||
<?php if (User::getCurrentStatus() == User::STATUS_PRODUCER): ?> | |||||
<span><?= Html::encode(Yii::$app->user->identity->getNameProducer()); ?></span> | |||||
<?php elseif (User::getCurrentStatus() == User::STATUS_ADMIN): ?> | |||||
<?php $form = ActiveForm::begin(['id' => 'select-producer']); ?> | |||||
<?= | |||||
Html::dropDownList('select_producer', Producer::getId(), ArrayHelper::map(Producer::find()->orderBy('name ASC')->all(), 'id', function($model, $defaultValue) { | |||||
return $model->name; | |||||
})); | |||||
?> | |||||
<?php ActiveForm::end(); ?> | |||||
<?php endif; ?> | |||||
<?php | |||||
$producer = Producer::findOne(Producer::getId()); | |||||
if (!$producer->active): | |||||
?> | |||||
<span class="label label-danger" data-toggle="tooltip" data-placement="bottom" data-original-title="Activez votre établissement quand vous le souhaitez afin de la rendre visible à vos clients."> | |||||
<?= Html::a('Hors-ligne', ['producer/update']); ?> | |||||
</span> | |||||
<?php endif; ?> | |||||
<div class="clr"></div> | |||||
</div> | |||||
<?php endif; ?> | |||||
<?php if (YII_ENV == 'demo'): ?> | |||||
<div id="block-demo"> | |||||
<div class="container-fluid"> | |||||
<span class="glyphicon glyphicon-eye-open"></span> <strong>Espace de démonstration</strong> : | |||||
Testez la plateforme sans avoir à vous inscrire. Les données sont réinitialisées quotidiennement • <?= Html::a('Retour', Url::env('prod', 'frontend')) ?> | |||||
</div> | |||||
</div> | |||||
<?php endif; ?> | |||||
<?= | |||||
Breadcrumbs::widget([ | |||||
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], | |||||
]) | |||||
?> | |||||
<?= $content ?> | |||||
</div> | |||||
</div> | |||||
<body class="hold-transition <?= \dmstr\helpers\AdminLteHelper::skinClass() ?> sidebar-mini"> | |||||
<?php $this->beginBody() ?> | |||||
<div class="wrapper"> | |||||
<div id="alerts-fixed"></div> | |||||
<?= $this->render( | |||||
'header.php', | |||||
['directoryAsset' => $directoryAsset] | |||||
) ?> | |||||
<footer class="footer"> | |||||
<div class="container-fluid"> | |||||
<p class="pull-left"> | |||||
<a href="<?php echo Url::frontend('site/contact'); ?>">Contact</a> • | |||||
<a href="<?php echo Url::frontend('site/mentions'); ?>">Mentions légales</a> • | |||||
<a href="<?php echo Url::frontend('site/cgv'); ?>">CGS</a> | |||||
<a id="code-source" href="https://framagit.org/guillaume-bourgeois/laboiteapain">Code source <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-framagit.png" alt="Hébergé par Framasoft" /> <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-gitlab.png" alt="Propulsé par Gitlab" /></a> | |||||
</p> | |||||
<p class="pull-right"><?= Yii::powered() ?></p> | |||||
</div> | |||||
</footer> | |||||
<?= $this->render( | |||||
'left.php', | |||||
['directoryAsset' => $directoryAsset] | |||||
) | |||||
?> | |||||
<?php $this->endBody() ?> | |||||
<?= $this->render( | |||||
'content.php', | |||||
['content' => $content, 'directoryAsset' => $directoryAsset] | |||||
) ?> | |||||
<!-- analytics --> | |||||
<script> | |||||
(function (i, s, o, g, r, a, m) { | |||||
i['GoogleAnalyticsObject'] = r; | |||||
i[r] = i[r] || function () { | |||||
(i[r].q = i[r].q || []).push(arguments) | |||||
}, i[r].l = 1 * new Date(); | |||||
a = s.createElement(o), | |||||
m = s.getElementsByTagName(o)[0]; | |||||
a.async = 1; | |||||
a.src = g; | |||||
m.parentNode.insertBefore(a, m) | |||||
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); | |||||
</div> | |||||
ga('create', 'UA-86917043-1', 'auto'); | |||||
ga('send', 'pageview'); | |||||
</script> | |||||
<?php $this->endBody() ?> | |||||
</body> | </body> | ||||
</html> | |||||
<?php $this->endPage() ?> | |||||
</html> | |||||
<?php $this->endPage() ?> | |||||
<?php } ?> |
$this->title = $name; | $this->title = $name; | ||||
?> | ?> | ||||
<div class="site-error"> | |||||
<section class="content"> | |||||
<h1><?= Html::encode($this->title) ?></h1> | |||||
<div class="error-page"> | |||||
<h2 class="headline text-info"><i class="fa fa-warning text-yellow"></i></h2> | |||||
<div class="alert alert-danger"> | |||||
<?= nl2br(Html::encode($message)) ?> | |||||
</div> | |||||
<div class="error-content"> | |||||
<h3><?= $name ?></h3> | |||||
<p> | |||||
<?= nl2br(Html::encode($message)) ?> | |||||
</p> | |||||
<p> | |||||
The above error occurred while the Web server was processing your request. | |||||
Please contact us if you think this is a server error. Thank you. | |||||
Meanwhile, you may <a href='<?= Yii::$app->homeUrl ?>'>return to dashboard</a> or try using the search | |||||
form. | |||||
</p> | |||||
<p> | |||||
The above error occurred while the Web server was processing your request. | |||||
</p> | |||||
<p> | |||||
Please contact us if you think this is a server error. Thank you. | |||||
</p> | |||||
<form class='search-form'> | |||||
<div class='input-group'> | |||||
<input type="text" name="search" class='form-control' placeholder="Search"/> | |||||
<div class="input-group-btn"> | |||||
<button type="submit" name="submit" class="btn btn-primary"><i class="fa fa-search"></i> | |||||
</button> | |||||
</div> | |||||
</div> | |||||
</form> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</section> |
termes. | termes. | ||||
*/ | */ | ||||
use yii\helpers\Html; | use yii\helpers\Html; | ||||
use yii\bootstrap\ActiveForm; | use yii\bootstrap\ActiveForm; | ||||
/* @var $form yii\bootstrap\ActiveForm */ | /* @var $form yii\bootstrap\ActiveForm */ | ||||
/* @var $model \common\models\LoginForm */ | /* @var $model \common\models\LoginForm */ | ||||
$this->title = 'Connexion'; | |||||
$this->params['breadcrumbs'][] = $this->title; | |||||
$this->title = 'Sign In'; | |||||
$fieldOptions1 = [ | |||||
'options' => ['class' => 'form-group has-feedback'], | |||||
'inputTemplate' => "{input}<span class='glyphicon glyphicon-envelope form-control-feedback'></span>" | |||||
]; | |||||
$fieldOptions2 = [ | |||||
'options' => ['class' => 'form-group has-feedback'], | |||||
'inputTemplate' => "{input}<span class='glyphicon glyphicon-lock form-control-feedback'></span>" | |||||
]; | |||||
?> | ?> | ||||
<div class="site-login"> | |||||
<h1><?= Html::encode($this->title) ?></h1> | |||||
<div class="row"> | |||||
<div class="col-lg-5"> | |||||
<?php if(YII_ENV == 'demo') : ?> | |||||
<div class="alert alert-warning"> | |||||
Identifiant : <strong>producteur@laboiteapain.net</strong><br /> | |||||
Mot de passe : <strong>laboiteapain</strong> | |||||
</div> | |||||
<?php endif; ?> | |||||
<?php $form = ActiveForm::begin(['id' => 'login-form']); ?> | |||||
<?= $form->field($model, 'email') ?> | |||||
<?= $form->field($model, 'password')->passwordInput() ?> | |||||
<div class="login-box"> | |||||
<div class="login-logo"> | |||||
<a href="#"><b>Admin</b>LTE</a> | |||||
</div> | |||||
<!-- /.login-logo --> | |||||
<div class="login-box-body"> | |||||
<p class="login-box-msg">Sign in to start your session</p> | |||||
<?php $form = ActiveForm::begin(['id' => 'login-form', 'enableClientValidation' => false]); ?> | |||||
<?= $form | |||||
->field($model, 'username', $fieldOptions1) | |||||
->label(false) | |||||
->textInput(['placeholder' => $model->getAttributeLabel('username')]) ?> | |||||
<?= $form | |||||
->field($model, 'password', $fieldOptions2) | |||||
->label(false) | |||||
->passwordInput(['placeholder' => $model->getAttributeLabel('password')]) ?> | |||||
<div class="row"> | |||||
<div class="col-xs-8"> | |||||
<?= $form->field($model, 'rememberMe')->checkbox() ?> | <?= $form->field($model, 'rememberMe')->checkbox() ?> | ||||
<div class="form-group"> | |||||
<?= Html::submitButton('Connexion', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?> | |||||
</div> | |||||
<?php ActiveForm::end(); ?> | |||||
</div> | |||||
<!-- /.col --> | |||||
<div class="col-xs-4"> | |||||
<?= Html::submitButton('Sign in', ['class' => 'btn btn-primary btn-block btn-flat', 'name' => 'login-button']) ?> | |||||
</div> | |||||
<!-- /.col --> | |||||
</div> | </div> | ||||
<?php ActiveForm::end(); ?> | |||||
<div class="social-auth-links text-center"> | |||||
<p>- OR -</p> | |||||
<a href="#" class="btn btn-block btn-social btn-facebook btn-flat"><i class="fa fa-facebook"></i> Sign in | |||||
using Facebook</a> | |||||
<a href="#" class="btn btn-block btn-social btn-google-plus btn-flat"><i class="fa fa-google-plus"></i> Sign | |||||
in using Google+</a> | |||||
</div> | |||||
<!-- /.social-auth-links --> | |||||
<a href="#">I forgot my password</a><br> | |||||
<a href="register.html" class="text-center">Register a new membership</a> | |||||
</div> | </div> | ||||
</div> | |||||
<!-- /.login-box-body --> | |||||
</div><!-- /.login-box --> |
} | } | ||||
/** | /** | ||||
* Retourne si l'utilisateur est un boulanger ou non. | |||||
* Retourne l'utilisateur courant. | |||||
* | |||||
* @return User | |||||
*/ | |||||
public static function getCurrent() | |||||
{ | |||||
if(!Yii::$app->user->isGuest) { | |||||
return Yii::$app->user->identity ; | |||||
} | |||||
return false ; | |||||
} | |||||
/** | |||||
* Retourne si l'utilisateur courant est connecté ou non. | |||||
* | |||||
* @return boolean | |||||
*/ | |||||
public static function isCurrentConnected() | |||||
{ | |||||
return !Yii::$app->user->isGuest ; | |||||
} | |||||
/** | |||||
* Retourne si l'utilisateur est un producteur ou non. | |||||
* | * | ||||
* @return boolean | * @return boolean | ||||
*/ | */ | ||||
{ | { | ||||
return ($this->status == User::STATUS_ADMIN || $this->status == User::STATUS_PRODUCER) && $this->id_producer; | return ($this->status == User::STATUS_ADMIN || $this->status == User::STATUS_PRODUCER) && $this->id_producer; | ||||
} | } | ||||
/** | |||||
* Retourne si l'utilisateur courant est un producteur ou non. | |||||
* | |||||
* @return boolean | |||||
*/ | |||||
public static function isCurrentProducer() | |||||
{ | |||||
$user = User::getCurrent() ; | |||||
if($user) { | |||||
return $user->isProducer() ; | |||||
} | |||||
return false ; | |||||
} | |||||
/** | |||||
* Retourne si l'utilisateur est un admin ou non. | |||||
* | |||||
* @return boolean | |||||
*/ | |||||
public function isAdmin() { | |||||
return $this->status == User::STATUS_ADMIN ; | |||||
} | |||||
/** | |||||
* Retourne si l'utilisateur courant est un admin ou non. | |||||
* | |||||
* @return boolean | |||||
*/ | |||||
public static function isCurrentAdmin() | |||||
{ | |||||
$user = User::getCurrent() ; | |||||
if($user) { | |||||
return $user->isAdmin() ; | |||||
} | |||||
return false ; | |||||
} | |||||
/** | /** | ||||
* Retourne le nom du producteur. | * Retourne le nom du producteur. |