Esempio n. 1
0
 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;
 }