public function indexAction($id)
 {
     $res_month = $this->database->query("\n             \n            select  max(brightery_invoices.due_date) AS due_date  ,brightery_invoices.`status` AS status,brightery_products_subscriptions.period AS period,DATE_ADD(MAX(brightery_invoices.due_date), INTERVAL brightery_products_subscriptions.period MONTH) AS date_add,(DATEDIFF( DATE_ADD(MAX(brightery_invoices.due_date), INTERVAL brightery_products_subscriptions.period MONTH), NOW())) AS date_substract,\n            `brightery_licenses`.`brightery_license_id`\n             from brightery_invoices join `brightery_licenses` \n             ON `brightery_licenses`.`brightery_license_id`=`brightery_invoices`.`brightery_license_id`\n             join brightery_products_subscriptions \n             ON brightery_licenses.brightery_products_subscription_id=brightery_products_subscriptions.brightery_products_subscription_id\n            WHERE`brightery_licenses`.`brightery_products_subscription_id` NOT IN ('null')\n             AND  `brightery_products_subscriptions`.`period_cycle` ='Month'\n                AND brightery_invoices.`status` != 'canceled'\n             GROUP BY  brightery_invoices.brightery_license_id  \n             HAVING (DATEDIFF( DATE_ADD(MAX(brightery_invoices.due_date), INTERVAL brightery_products_subscriptions.period MONTH), NOW()))  <=4\n    \n            ")->result();
     $res_year = $this->database->query("\n                    select  max(brightery_invoices.due_date) AS due_date  ,brightery_invoices.`status` AS status,brightery_products_subscriptions.period AS period,DATE_ADD(MAX(brightery_invoices.due_date), INTERVAL brightery_products_subscriptions.period year) AS date_add,(DATEDIFF( NOW() ,DATE_ADD(MAX(brightery_invoices.due_date), INTERVAL brightery_products_subscriptions.period year))) AS date_substract,\n            `brightery_licenses`.`brightery_license_id`\n             from brightery_invoices join `brightery_licenses` \n             ON `brightery_licenses`.`brightery_license_id`=`brightery_invoices`.`brightery_license_id`\n             join brightery_products_subscriptions \n             ON brightery_licenses.brightery_products_subscription_id=brightery_products_subscriptions.brightery_products_subscription_id\n            WHERE`brightery_licenses`.`brightery_products_subscription_id` NOT IN ('null')\n             AND  `brightery_products_subscriptions`.`period_cycle` ='Year'\n                AND brightery_invoices.`status` != 'canceled'\n             GROUP BY  brightery_invoices.brightery_license_id  \n             HAVING (DATEDIFF( DATE_ADD(MAX(brightery_invoices.due_date), INTERVAL brightery_products_subscriptions.period YEAR), NOW()))  <=30\n    \n             ")->result();
     print_r($res_year);
     $model = new \modules\brightery\models\brightery_invoices(FALSE);
     foreach ($res_month as $val) {
         //
         echo $val->due_date . '<br>';
         echo $val->status . '<br>';
         echo $val->period . '<br>';
         echo $val->date_substract . '<br>';
         echo $val->brightery_license_id . '<br>';
         $model->attributes = ['brightery_license_id' => $val->brightery_license_id, 'due_date' => $val->date_add, 'status' => 'due'];
         if ($model->save(true)) {
             echo 'yes';
         }
     }
     foreach ($res_year as $val) {
         echo 'ojiji';
         //
         echo $val->due_date . '<br>';
         echo $val->status . '<br>';
         echo $val->period . '<br>';
         echo $val->date_substract . '<br>';
         echo $val->brightery_license_id . '<br>';
         $model->attributes = ['brightery_license_id' => $val->brightery_license_id, 'due_date' => $val->date_add, 'status' => 'due'];
         if ($model->save(true)) {
             echo 'yes';
         }
     }
     //        $to = '*****@*****.**';
     //        $subject = 'Sample Subject';
     //        $message = 'Hi. This is a sample message.';
     //        $headers = 'From: webmaster@royyuuki.elementfx.com' . "\r\n" .
     //                'Reply-To: no-reply@royyuuki.elementfx.com' . "\r\n" .
     //                'X-Mailer: PHP/' . phpversion();
     //
     //        echo (mail($to, $subject, $message, $headers)) ? 'Message sent!' : 'Message not sent!';
 }
 public function manageAction($id = false)
 {
     $this->permission('manage');
     $this->language->load("license");
     if ($id) {
         $model = new Brightery_licenses('edit');
     } else {
         $model = new Brightery_licenses('add');
     }
     $product = Form_helper::queryToDropdown('brightery_products', 'brightery_product_id', 'title');
     $user = Form_helper::queryToDropdown('users', 'user_id', 'fullname');
     $payment_type;
     if ($this->input->post('payment_type') == 'fixed') {
         $payment_type = 'fixed';
         $brightery_products_subscription_id = null;
     } else {
         $payment_type = 'subscription';
         $brightery_products_subscription_id = $this->input->post('subscription_status');
     }
     if ($_POST) {
         $model->attributes = ['license_code' => $this->input->post('license_code'), 'brightery_product_id' => $this->input->post('brightery_product_id'), 'domain' => $this->input->post('domain'), 'user_id' => $this->input->post('user_id'), 'payment_type' => $payment_type];
         if ($brightery_products_subscription_id) {
             $model->attributes['brightery_products_subscription_id'] = $brightery_products_subscription_id;
         }
     }
     if ($id) {
         $model->brightery_license_id = $id;
     }
     if ($r = $model->save()) {
         if ($id) {
             echo $id;
             Uri_helper::redirect("management/brightery_licenses");
         } else {
             $model11 = new \modules\brightery\models\brightery_invoices(FALSE);
             $model11->attributes = ['brightery_license_id' => $r, 'due_date' => date('Y-m-d'), 'status' => 'due'];
             if ($model11->save()) {
                 Uri_helper::redirect("management/brightery_licenses");
             }
         }
     }
     return $this->render('license/manage', ['item' => $model->get(), 'product' => $product, 'user' => $user]);
 }