public function actionDelTask($id)
 {
     $task = Tasks::findOne($id);
     if ($task->delete()) {
         Yii::$app->getSession()->setFlash('success', 'Задача удалена');
     } else {
         Yii::$app->getSession()->setFlash('error', 'Возникли проблемы. Попробуйте позже');
     }
     return $this->redirect(['/certificates/index']);
 }
 public function createCompaniesZip($tasks_id)
 {
     $task = Tasks::findOne($tasks_id);
     foreach ($task->requests as $request) {
         $name = $this->translit($request->company->name) . '_' . $tasks_id . '.zip';
         $zip = new ZipArchive();
         $destination = 'uploads/certificates/companies_zip/' . $name;
         if ($zip->open($destination, ZipArchive::CREATE) !== true) {
             return false;
         }
         foreach ($request->requestedCertificates as $requested_certificate) {
             $wagons = preg_split('/[\\s,]+/', $requested_certificate->wagons);
             foreach ($wagons as $wagon) {
                 if ($lost = CertificatesLost::find()->where(['tasks_id' => $tasks_id, 'wagon' => $wagon, 'certificates_id' => $requested_certificate->certificate->id])->one()) {
                     $lost->delete();
                 }
                 if (!$zip->addFile('uploads/certificates/certificates_txt/' . $requested_certificate->certificate->code . '_' . $wagon . '.txt', $requested_certificate->certificate->code . '_' . $wagon . '.txt')) {
                     $lost = new CertificatesLost();
                     $lost->tasks_id = $tasks_id;
                     $lost->wagon = $wagon;
                     $lost->certificates_id = $requested_certificate->certificate->id;
                     $lost->save();
                 }
             }
         }
         $zip->close();
         if (file_exists($destination)) {
             $this->writeFilePath($destination, $name, 'companies-zip', $tasks_id);
         }
     }
     $this->clearCertificatesTxtFolder();
 }