Improve admin page (add new projects)

This commit is contained in:
2020-02-08 21:13:52 +01:00
parent 68bdbb4014
commit d81b4a2428
12 changed files with 312 additions and 79 deletions

View File

@@ -338,30 +338,73 @@ class Spot extends Main
}
public function getAdminSettings() {
return self::getJsonResult(true, '', array('projects'=>$this->oProject->getProjects()));
$oFeed = new Feed($this->oDb);
return self::getJsonResult(true, '', array(
'project' => $this->oProject->getProjects(),
'feed' => $oFeed->getFeeds(),
'spot' => $oFeed->getSpots()
));
}
public function setAdminSettings($sField, $sValue) {
public function setAdminSettings($sType, $iId, $sField, $sValue) {
$bSuccess = false;
$sDesc = '';
switch($sField) {
case 'codename':
$bSuccess = $this->oProject->setProjectCodeName($sValue);
switch($sType) {
case 'project':
$oProject = new Project($this->oDb, $iId);
switch($sField) {
case 'name':
$bSuccess = $oProject->setProjectName($sValue);
break;
case 'codename':
$bSuccess = $oProject->setProjectCodeName($sValue);
break;
case 'active_from':
$bSuccess = $oProject->setActivePeriod($sValue.' 00:00:00', 'from');
break;
case 'active_to':
$bSuccess = $oProject->setActivePeriod($sValue.' 23:59:59', 'to');
break;
case 'timezone':
$bSuccess = $oProject->setTimeZone($sValue);
break;
}
$asResult = $oProject->getProject();
break;
case 'active_from':
$bSuccess = $this->oProject->setActivePeriod($sValue.' 00:00:00', 'from');
break;
case 'active_to':
$bSuccess = $this->oProject->setActivePeriod($sValue.' 23:59:59', 'to');
break;
case 'timezone':
$bSuccess = $this->oProject->setTimeZone($sValue);
case 'feed':
case 'spot':
$oFeed = new Feed($this->oDb, $iId);
switch($sField) {
case 'ref_feed_id':
$bSuccess = $oFeed->setRefFeedId($sValue);
break;
case 'spot_id':
$bSuccess = $oFeed->setSpotId($sValue);
break;
case 'project_id':
$bSuccess = $oFeed->setProjectId($sValue);
break;
}
$asResult = $oFeed->getFeed();
break;
}
if(!$bSuccess) $sDesc = Mask::LANG_PREFIX.'error_commit_db';
return self::getJsonResult($bSuccess, $sDesc, array('values'=>$this->oProject->getProject()));
return self::getJsonResult($bSuccess, $sDesc, array($sType=>array($asResult)));
}
public function createProject() {
$oProject = new Project($this->oDb);
$iNewProjectId = $oProject->createProjectId();
$oFeed = new Feed($this->oDb);
$oFeed->createFeedId($iNewProjectId);
return self::getJsonResult($iNewProjectId>0, '', array(
'project' => array($oProject->getProject()),
'feed' => array($oFeed->getFeed())
));
}
public function convertGpxToGeojson($sGeoFileName) {
@@ -385,7 +428,7 @@ class Spot extends Main
//Seconds
$fSecond = round($dLeft * 3600, 1);
return $iDegree.'°'.$iMinute.'\''.$fSecond.'"'.$sDirection;
return $iDegree.'°'.$iMinute."'".$fSecond.'"'.$sDirection;
}
public function getTimeFormat($iTime) {