Skip to content

Commit

Permalink
Store site ID
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel-WWU-IT committed Mar 26, 2021
1 parent 705b627 commit 9631650
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 26 deletions.
3 changes: 3 additions & 0 deletions appinfo/Migrations/Version20210324134421.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ public function changeSchema(Schema $schema, array $options)
$table->addColumn('siteurl', 'string', [
'notnull' => true,
]);
$table->addColumn('siteid', 'string', [
'notnull' => false,
]);
$table->addColumn('country', 'string', [
'notnull' => true,
'length' => 3,
Expand Down
52 changes: 26 additions & 26 deletions controller/settingscontroller.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ public function index()
"apikey" => "",
"sitename" => "",
"siteurl" => "",
"siteid" => "",
"country" => "",
"iopurl" => "",
"numusers" => 0,
Expand All @@ -88,35 +89,40 @@ public function index()
*/
public function saveSettings($apikey, $sitename, $siteurl, $country, $iopurl, $numusers, $numfiles, $numstorage)
{
// store settings in DB
$this->deleteSettings();
$ok = $this->storeSettings($apikey, $sitename, $siteurl, $country, $iopurl, $numusers, $numfiles, $numstorage);
if (!$ok) {
return new DataResponse([
'error' => 'error storing settings, check server logs'
]);
}
$siteid = null;

// submit settings to Mentix (if they are valid)
if ($apikey !== "" && $sitename !== "" && $siteurl !== "" && $iopurl !== "") {
$err = $this->submitSettings($apikey, $sitename, $siteurl, $country, $iopurl);
if ($err != null) {
try {
$siteid = $this->submitSettings($apikey, $sitename, $siteurl, $country, $iopurl);
} catch (\Exception $e) {
return new DataResponse([
'error' => $err
'error' => $e->getMessage()
]);
}
}

return new DataResponse([]);
// store settings in DB
$this->deleteSettings();
try {
$this->storeSettings($apikey, $sitename, $siteurl, $siteid, $country, $iopurl, $numusers, $numfiles, $numstorage);
} catch (\Exception $e) {
return new DataResponse([
'error' => 'error storing settings: ' . $e->getMessage()
]);
}

return new DataResponse(["siteid" => $siteid]);
}

private function storeSettings($apikey, $sitename, $siteurl, $country, $iopurl, $numusers, $numfiles, $numstorage)
private function storeSettings($apikey, $sitename, $siteurl, $siteid, $country, $iopurl, $numusers, $numfiles, $numstorage)
{
$query = \OC::$server->getDatabaseConnection()->getQueryBuilder();
$query->insert('sciencemesh')
->setValue('apikey', $query->createNamedParameter($apikey))
->setValue('sitename', $query->createNamedParameter($sitename))
->setValue('siteurl', $query->createNamedParameter($siteurl))
->setValue('siteid', $query->createNamedParameter($siteid))
->setValue('country', $query->createNamedParameter($country))
->setValue('iopurl', $query->createNamedParameter($iopurl))
->setValue('numusers', $query->createNamedParameter($numusers))
Expand All @@ -125,11 +131,9 @@ private function storeSettings($apikey, $sitename, $siteurl, $country, $iopurl,
$result = $query->execute();

if (!$result) {
\OC::$server->getLogger()->error('sciencemesh database cound not be updated',
['app' => 'sciencemesh']);
return false;
\OC::$server->getLogger()->error('sciencemesh database cound not be updated', ['app' => 'sciencemesh']);
throw new \Exception('sciencemesh database cound not be updated');
}
return true;
}

private function deleteSettings()
Expand Down Expand Up @@ -172,19 +176,15 @@ private function submitSettings($apikey, $sitename, $siteurl, $country, $iopurl)
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($curl);
$respData = json_decode($response, true);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

if ($status != 200) {
try {
$respData = json_decode($response, true);
return $respData["error"];
} catch (\Exception $e) {
return $e->getMessage();
}
if ($status == 200) {
return $respData["id"];
} else {
throw new \Exception($respData["error"]);
}

return null;
}

/**
Expand Down

0 comments on commit 9631650

Please sign in to comment.