[ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['post'], ], ], 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'allow' => true, 'roles' => ['?'], ] ], ], ]; } public function actionSendCommandes($key = '') { if($key == '64ac0bdab7e9f5e48c4d991ec5201d57') { $heure = date('H') ; if($heure == '00') { $date = date('Y-m-d') ; } else { $date = date('Y-m-d', time()+24*60*60) ; } $etablissements = Etablissement::find()->all() ; foreach($etablissements as $e) { $production = Production::findOne([ 'date' => $date, 'actif' => 1, 'id_etablissement' => $e['id'], ]) ; if($production && $heure == $e['heure_limite_commande']) { $commandes = Commande::find() ->with('commandeProduits', 'user') ->joinWith('production') ->where(['production.date' => $date]) ->andWhere(['production.id_etablissement' => $e['id']]) ->orderBy('date ASC') ->all(); $user = User::findOne(['id_etablissement' => $e['id']]) ; $mail = Yii::$app->mailer->compose() ->setTo($user->email) ->setFrom(['contact@laboiteapain.net' => 'La boîte à pain']) ; if(count($commandes)) { $sujet = '[La boîte à pain] Commandes du '.date('d/m',strtotime($date)) ; if(count($commandes) > 1) $sujet .= 's' ; // génération du pdf de commande Yii::$app->runAction('commande/report-cron', [ 'date' => $date, 'save' => true, 'id_etablissement' => $e['id'] , 'key' => '64ac0bdab7e9f5e48c4d991ec5201d57' ]); $mail->attach(Yii::getAlias('@app/web/pdf/Commandes-'.$date.'-'.$e['id'].'.pdf')) ; $message = 'Bonjour, Voici en pièce jointe le récapitulatif des commandes ('.count($commandes).') du '.date('d/m',strtotime($date)).'. À bientôt, La boîte à pain ' ; } else { $sujet = '[La boîte à pain] Aucune commande' ; $message = 'Bonjour, Vous n\'avez aucune commande pour le '.date('d/m',strtotime($date)).'. À bientôt, La boîte à pain ' ; } $mail->setSubject($sujet) ->setTextBody($message) ->send(); } } } } }