/** Get the list of all attachments */ public function actionAllattachment() { if (Yii::$app->request->post()) { $value = \Yii::$app->request->post(); $congress = $value['congress']; $sda_id = isset($value['sda_id']) && $value['sda_id'] > 0 ? $value['sda_id'] : ""; if ($congress) { if ($sda_id > 0) { $records_sda = \backend\models\SdaAttachments::find()->where(['congress_id' => $congress, 'sda_id' => $sda_id, 'sda_feedback_id' => null])->all(); } else { $records_sda = \backend\models\SdaAttachments::find()->where(['congress_id' => $congress])->all(); } $records_meeting = \backend\models\MeetingAttachments::find()->where(['congress_id' => $_POST['congress']])->all(); $return = []; $data = []; foreach ($records_sda as $row) { $protocol = stripos($_SERVER['SERVER_PROTOCOL'], 'https') === true ? 'https://' : 'https://'; $host = $_SERVER['HTTP_HOST']; $congressname = CongressDetails::findOne($row['congress_id'])->name; unset($row['sda_feedback_id']); unset($row['session_id']); $row = $row->toArray(); $filename = explode("/", $row['path']); $filenames = end(explode(".", $filename[1])); $data['filename'] = str_replace($filenames, "", $filename[1]); $data['filename'] = str_replace(".", "", $filename[1]); $data['filetype'] = $filenames; $data['path'] = $protocol . $host . "/rest/backend/web/" . $row['path']; $data['exits'] = file_exists($_SERVER['DOCUMENT_ROOT'] . '/rest/backend/web/' . $row['path']); $return['sda'][] = $data; } $data2 = []; foreach ($records_meeting as $row) { $protocol = stripos($_SERVER['SERVER_PROTOCOL'], 'https') === true ? 'https://' : 'https://'; $host = $_SERVER['HTTP_HOST']; $row = $row->toArray(); $type = \backend\models\MeetingTypes::findOne($row['meeting_type_id']); $congressname = CongressDetails::findOne($row['congress_id'])->name; unset($row['meeting_type_id']); $filename = explode("/", $row['path']); $filenames = end(explode(".", $filename[1])); $data2['filename'] = str_replace($filenames, "", $filename[1]); $data2['filename'] = str_replace(".", "", $filename[1]); $data2['filetype'] = $filenames; $data2['path'] = $protocol . $host . "/rest/backend/web/" . $row['path']; $data2['exits'] = file_exists($_SERVER['DOCUMENT_ROOT'] . '/rest/backend/web/' . $row['path']); $return['meeting'][] = $data2; } return $return; } else { return "parameter missing"; } } else { return 'invalid method'; } }
/** * Upload attachment for Meeting * @param int $id * @return mixed */ public function actionUploadmeeting($id) { $id = (int) $id; $model1 = new MeetingAttachments(); if ($model1->load(Yii::$app->request->post())) { //If request is post $model1->path = UploadedFile::getInstances($model1, 'path'); foreach ($model1->path as $files) { $filesize = $files->size; if ($files->saveAs('uploads/' . $files->baseName . '.' . $files->extension)) { $model1->congress_id = $id; $path = "uploads/" . $files->name; $filetype = $files->extension; $cong = MeetingDetails::find()->where(['id' => $id])->one(); $congressid = $cong['congress_id']; Yii::$app->db->createCommand("insert into meeting_attachments(meeting_id,path,congress_id,size,type)values('{$id}','{$path}','{$congressid}',' {$filesize}','{$filetype}')")->execute(); } } return $this->redirect(array("meeting/update", 'id' => $id)); } }
/** * @return \yii\db\ActiveQuery */ public function getMeetingAttachments() { return $this->hasMany(MeetingAttachments::className(), ['meeting_id' => 'id']); }