Your IP : 216.73.216.79


Current Path : /var/www/html/learn/frontend/controllers/
Upload File :
Current File : /var/www/html/learn/frontend/controllers/NotificationController.php

<?php

namespace frontend\controllers;

use Yii;
use yii\web\Controller;

class NotificationController extends Controller {

    public function actionGetcontent($code = '') {
        $output = \common\models\NotificationTemplate::getcontent($code);
        return $output;
    }

    public function actionUpdateread($noti_id) {
        if (($model = \common\models\NotificationLog::findOne($noti_id)) !== null) {
            $model->noti_read_status = 1;
            $model->updated_at = date("Y-m-d H:i:s");
            $model->updated_by = Yii::$app->user->identity->id;
            $model->updated_user_type = 'frontend_user';
            if ($model->save(false)) {
                return 'success';
            }
        }
    }

    //cron untuk send email
    public function actionSendemail() {
        $model = \common\models\NotificationEmailLog::find()->where(['email_send_status' => 0])->all();
        if (!empty($model)) {
            foreach ($model as $row) {

                $row->email_send_status = 1;
                $row->send_at = date("Y-m-d H:i:s");
                $row->updated_at = date("Y-m-d H:i:s");
                $row->updated_by = 0;
                $row->updated_user_type = 'cron';

                $sendEmail = Yii::$app->emailModule->sendemail($row->email_address, $row->email_subject, $row->email_content);
                if ($sendEmail == 'success') {
                    $row->save(false);
                }
            }
        }
    }

    //cron notification untuk penyelia mengisi borang penilaian
    public function actionReminderevaluation() {
        //get all course participation & belum di evaluate
        $query = "SELECT p.*, i.course_end_date 
        FROM course_participation p 
        INNER JOIN course_info i ON i.course_id=p.participation_course_id 
        LEFT JOIN course_user_evaluation v ON v.evaluation_participation_id=p.participation_id
        WHERE 
            i.course_status = 'done' AND 
            p.participation_course_type = 'course_info' AND 
            p.participation_user_status = 'user_confirm' AND 
            p.participation_supervisor_status = 'supervisor_support' AND 
            p.participation_coordinator_status = 'coordinator_support' AND 
            p.participation_status = 'participate_complete' AND 
            v.evaluation_id IS NULL";
        $model = Yii::$app->db->createCommand($query)->queryAll();
        if (!empty($model)) {
            foreach ($model as $row) {

                //check dah lepas 3 bulan ke belum
                $dateevaluate = date('Y-m-d', strtotime("+3 months", strtotime($row['course_end_date'])));
                if (date('Y-m-d') == $dateevaluate) {

                    $noti_code = 'noti-penyelia-belum-menilai';
                    $email_code = 'email-penyelia-belum-menilai';
                    $noti_receiver_id = $row['participation_supervisor_id'];
                    $noti_sender_id = $row['participation_user_id'];
                    $noti_url = 'index.php?id=1&page_id=43';
                    $data_id = $row['participation_id'];
                    $created_by = 0;
                    $user_type = 'cron';
                    Yii::$app->notification->insertnotificationlog($noti_code, $noti_receiver_id, $noti_sender_id, $noti_url, $email_code, $created_by, $user_type, $data_id);
                }
            }
        }
    }

}