private function show() { $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : 0; // Identify the target user $users = UsersDB::getUsersBy('user_id', $arguments); $user = $users[0]; if (!is_null($user)) { // Prepare all data to be displayed in the target user's ProfileView // --all of their datasets // --all of the sensors for each dataset // TODO: add 'member since' $datasets = DatasetsDB::getDatasetsBy('user_id', $user->getUserId()); foreach ($datasets as $dataset) { $sensors = SensorsDB::getSensorsBy('dataset_id', $dataset->getDatasetId()); $dataset->setSensors($sensors); } $_SESSION['user'] = $user; $_SESSION['datasets'] = $datasets; ProfileView::show(); } else { $_SESSION['user'] = null; // TODO:: Consider showing a 'Specified user does not exist' page HomeView::show(); } }
public static function run() { $action = array_key_exists('action', $_SESSION) ? $_SESSION['action'] : ""; $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : ""; if (is_numeric($arguments)) { $measurements = MeasurementsDB::getMeasurementsBy('sensor_id', $arguments); if (count($measurements) > 0) { $sensorId = $measurements[0]->getSensorId(); $sensorArray = SensorsDB::getSensorsBy('sensor_id', $sensorId); if (count($sensorArray) > 0) { $sensor = $sensorArray[0]; } else { HomeView::show(); } $datasetArray = DatasetsDB::getDatasetsBy('dataset_id', $sensor->getDatasetId()); if (count($datasetArray) > 0) { $dataset = $datasetArray[0]; } else { HomeView::show(); } $_SESSION['measurements'] = $measurements; $_SESSION['sensor'] = $sensor; $_SESSION['dataset'] = $dataset; } else { HomeView::show(); } switch ($action) { case "column": self::showColumnChart(); break; case "line": self::showLineChart(); break; default: HomeView::show(); } } else { HomeView::show(); } }
public static function run() { $action = array_key_exists('action', $_SESSION) ? $_SESSION['action'] : ""; $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : ""; switch ($action) { case "create": self::newSensor(); break; case "show": if ($arguments == 'all') { $_SESSION['sensors'] = SensorsDB::getSensorsBy(); $_SESSION['headertitle'] = 'Sensor Data Repo | Sensors'; SensorView::showAll(); } else { $sensors = SensorsDB::getSensorsBy('sensor_id', $arguments); if (count($sensors) > 0) { $sensor = $sensors[0]; $_SESSION['sensor'] = $sensor; $datasets = DatasetsDB::getDatasetsBy('dataset_id', $sensor->getDatasetId()); if (count($datasets) > 0) { $_SESSION['dataset'] = $datasets[0]; self::show(); } else { HomeView::show(); } } else { HomeView::show(); } } break; case "update": $sensors = SensorsDB::getSensorsBy('sensor_id', $arguments); $_SESSION['sensor'] = $sensors[0]; self::updateSensor(); break; default: } }
public static function run() { $action = array_key_exists('action', $_SESSION) ? $_SESSION['action'] : ""; $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : ""; switch ($action) { case "create": self::newDataset(); break; case "show": if ($arguments == 'all') { $_SESSION['datasets'] = DatasetsDB::getDatasetsBy(); $_SESSION['headertitle'] = 'Sensor Data Repo | Datasets'; DatasetView::showAll(); } else { $datasets = DatasetsDB::getDatasetsBy('dataset_id', $arguments); if (count($datasets) > 0) { $dataset = $datasets[0]; $_SESSION['dataset'] = $dataset; $users = UsersDB::getUsersBy('user_id', $dataset->getUserId()); if (count($users) > 0) { $_SESSION['user'] = $users[0]; self::show(); } else { HomeView::show(); } } else { HomeView::show(); } } break; case "update": $datasets = DatasetsDB::getDatasetsBy('dataset_id', $arguments); $_SESSION['dataset'] = $datasets[0]; self::updateDataset(); break; default: } }
public static function updateDataset($dataset) { try { $db = Database::getDB(); if (is_null($dataset) || $dataset->getErrorCount() > 0) { return $dataset; } $checkDataset = DatasetsDB::getDatasetsBy('dataset_id', $dataset->getDatasetId()); if (empty($checkDataset)) { $dataset->setError('dataset_id', 'DATASET_DOES_NOT_EXIST'); return $dataset; } if ($dataset->getErrorCount() > 0) { return $dataset; } $query = "UPDATE Datasets SET dataset_name = :dataset_name, \r\n\t\t\t\t\tdescription = :description\r\n\t\t\t\t\tWHERE dataset_id = :dataset_id"; $statement = $db->prepare($query); $statement->bindValue(':dataset_name', $dataset->getDatasetName()); $statement->bindValue(':description', $dataset->getDescription()); $statement->bindValue(':dataset_id', $dataset->getDatasetId()); $statement->execute(); $statement->closeCursor(); } catch (Exception $e) { $dataset->setError('dataset_id', 'DATASET_COULD_NOT_BE_UPDATED'); } return $dataset; }
public function testUpdateDatasetDescription() { $myDb = DBMaker::create('sensordatarepotest'); Database::clearDB(); $db = Database::getDB('sensordatarepotest', 'C:\\xampp\\myConfig.ini'); $testDatasetId = 1; $datasets = DatasetsDB::getDatasetsBy('dataset_id', $testDatasetId); $dataset = $datasets[0]; $this->assertTrue(empty($dataset->getDescription()), 'Before the update, it should have an empty description'); $params = $dataset->getParameters(); $params['description'] = 'Updated description'; $newDataset = new Dataset($params); $newDataset->setDatasetId($testDatasetId); $returnedDataset = DatasetsDB::updateDataset($newDataset); $this->assertEquals($returnedDataset->getDescription(), $params['description'], 'After the update it should have the name ' . $params['description']); }