public function run()
{
$id = Yii::$app->request->get($this->idParamName);
if (!$id) {
throw new NotFoundHttpException(Yii::t('fileupload', 'Page not found'));
}
$model = call_user_func([$this->className, 'findOne'], $id);
$response = ['success' => $model->delete()];
if (Yii::$app->request->isPost) {
$shortClassName = strpos($this->className, '\\') === false ? $this->className : substr($this->className, strrpos($this->className, '\\') + 1);
if (Yii::$app->request->isAjax) {
// handling AJAX'ed requests
Yii::$app->response->format = Response::FORMAT_JSON;
$response['success'] = $model->delete();
if ($response['success']) {
$this->unlink($id);
$response['message'] = $shortClassName . ' ' . Yii::t('fileupload', 'successfully removed.');
} else {
$response['message'] = Yii::t('fileupload', 'Unable to remove') . $shortClassName;
$response['errors'] = implode("\n", $this->getModelErrors($model));
}
return $response;
} else {
// handling not AJAX'ed requests
if ($model->delete()) {
Yii::$app->session->addFlash('success', $shortClassName . ' ' . Yii::t('fileupload', 'successfully removed.'));
} else {
Yii::$app->session->addFlash('error', Yii::t('fileupload', 'Unable to remove') . $shortClassName);
}
}
}
return $this->controller->redirect($this->redirectRoute);
}