public function actionSamples_detected() { if (!Yii::app()->request->isPostRequest) { throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.'); } $action = $_GET['action']; if (isset($_POST['extendedSelect'])) { AdvancedSelectableGridView::mapUrlToGET(); $dataProvider = SampleDetected::searchDataProvider(); $criteria = AdvancedSelectableGridView::getExtendedSelectCriteria('SampleDetected', $dataProvider); if (!$criteria->condition) { $criteria->condition = "1=1"; } if ($action == 'rescan') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET pending_action_sde='Rescan' WHERE " . $criteria->condition . " LIMIT 50000")->execute($criteria->params); Yii::app()->user->setFlash('_success', $nr . ' samples will be rescan!'); } elseif ($action == 'delete') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET pending_action_sde='Delete' WHERE " . $criteria->condition . " LIMIT 50000")->execute($criteria->params); Yii::app()->user->setFlash('_success', $nr . ' samples will be deleted!'); } elseif ($action == 'enable') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET enabled_sde=1 WHERE " . $criteria->condition . " LIMIT 50000")->execute($criteria->params); Yii::app()->user->setFlash('_success', $nr . ' samples have been enabled!'); } elseif ($action == 'disable') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET enabled_sde=0 WHERE " . $criteria->condition . " LIMIT 50000")->execute($criteria->params); Yii::app()->user->setFlash('_success', $nr . ' samples have been disabled!'); } } elseif (isset($_POST['selected']) && is_array($_POST['selected']) && count($_POST['selected'])) { foreach ($_POST['selected'] as $k => $v) { // value must be integer $_POST['selected'][$k] = (int) $v; } if (count($_POST['selected']) == 1) { $condition = "id_sde=" . $_POST['selected'][0]; } else { $condition = "id_sde='" . implode("' OR id_sde='", $_POST['selected']) . '\''; } if ($action == 'rescan') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET pending_action_sde='Rescan' WHERE " . $condition . " LIMIT 50000")->execute(); Yii::app()->user->setFlash('_success', $nr . ' samples will be rescan!'); } elseif ($action == 'delete') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET pending_action_sde='Delete' WHERE " . $condition . " LIMIT 50000")->execute(); Yii::app()->user->setFlash('_success', $nr . ' samples will be deleted!'); } elseif ($action == 'enable') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET enabled_sde=1 WHERE " . $condition . " LIMIT 50000")->execute(); Yii::app()->user->setFlash('_success', $nr . ' samples have been enabled!'); } elseif ($action == 'disable') { $nr = Yii::app()->db->createCommand("UPDATE samples_detected_sde SET enabled_sde=0 WHERE " . $condition . " LIMIT 50000")->execute(); Yii::app()->user->setFlash('_success', $nr . ' samples have been disabled!'); } } else { throw new CHttpException(400, 'Bad request.'); } header("Location: " . $_SERVER['HTTP_REFERER']); die; }