Harden model populate methods
Co-authored-by: LeOSW42 <673670+LeOSW42@users.noreply.github.com>
This commit is contained in:
112
models/d.poi.php
112
models/d.poi.php
@@ -40,6 +40,19 @@ class Poi
|
||||
public $ele;
|
||||
public $author_name;
|
||||
|
||||
private function decodeJsonArray($value) {
|
||||
if ($value === null || $value === '') {
|
||||
return [];
|
||||
}
|
||||
|
||||
$decoded = json_decode($value, true);
|
||||
if (!is_array($decoded)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return $decoded;
|
||||
}
|
||||
|
||||
/*****
|
||||
** Checks if a page at this URL exists and return the ID
|
||||
*****/
|
||||
@@ -117,28 +130,81 @@ class Poi
|
||||
** Populate the object using its ID
|
||||
*****/
|
||||
public function populate($row) {
|
||||
$this->content_id = $row['content_id'];
|
||||
$this->locale_id = $row['locale_id'];
|
||||
$this->source_id = $row['source_id'];
|
||||
$this->version_id = $row['version_id'];
|
||||
$this->permalink = $row['permalink'];
|
||||
$this->version = $row['version'];
|
||||
$this->locale = $row['locale'];
|
||||
$this->creation_date = $row['creation_date'];
|
||||
$this->update_date = $row['update_date'];
|
||||
$this->author = $row['author'];
|
||||
$this->is_public = $row['is_public'];
|
||||
$this->is_archive = $row['is_archive'];
|
||||
$this->is_commentable = $row['is_commentable'];
|
||||
$this->type = $row['type'];
|
||||
$this->poi_type = $row['poi_type'];
|
||||
$this->name = $row['name'];
|
||||
$this->parameters = json_decode($row['parameters'], true);
|
||||
$this->lon = $row['lon'];
|
||||
$this->lat = $row['lat'];
|
||||
$this->ele = $row['ele'];
|
||||
$this->source = $row['source'];
|
||||
$this->remote_source_id = $row['remote_source_id'];
|
||||
if (!is_array($row)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$decodedParameters = null;
|
||||
if (array_key_exists('parameters', $row)) {
|
||||
$decodedParameters = $this->decodeJsonArray($row['parameters']);
|
||||
}
|
||||
|
||||
if (array_key_exists('content_id', $row)) {
|
||||
$this->content_id = $row['content_id'];
|
||||
}
|
||||
if (array_key_exists('locale_id', $row)) {
|
||||
$this->locale_id = $row['locale_id'];
|
||||
}
|
||||
if (array_key_exists('source_id', $row)) {
|
||||
$this->source_id = $row['source_id'];
|
||||
}
|
||||
if (array_key_exists('version_id', $row)) {
|
||||
$this->version_id = $row['version_id'];
|
||||
}
|
||||
if (array_key_exists('permalink', $row)) {
|
||||
$this->permalink = $row['permalink'];
|
||||
}
|
||||
if (array_key_exists('version', $row)) {
|
||||
$this->version = $row['version'];
|
||||
}
|
||||
if (array_key_exists('locale', $row)) {
|
||||
$this->locale = $row['locale'];
|
||||
}
|
||||
if (array_key_exists('creation_date', $row)) {
|
||||
$this->creation_date = $row['creation_date'];
|
||||
}
|
||||
if (array_key_exists('update_date', $row)) {
|
||||
$this->update_date = $row['update_date'];
|
||||
}
|
||||
if (array_key_exists('author', $row)) {
|
||||
$this->author = $row['author'];
|
||||
}
|
||||
if (array_key_exists('is_public', $row)) {
|
||||
$this->is_public = $row['is_public'];
|
||||
}
|
||||
if (array_key_exists('is_archive', $row)) {
|
||||
$this->is_archive = $row['is_archive'];
|
||||
}
|
||||
if (array_key_exists('is_commentable', $row)) {
|
||||
$this->is_commentable = $row['is_commentable'];
|
||||
}
|
||||
if (array_key_exists('type', $row)) {
|
||||
$this->type = $row['type'];
|
||||
}
|
||||
if (array_key_exists('poi_type', $row)) {
|
||||
$this->poi_type = $row['poi_type'];
|
||||
}
|
||||
if (array_key_exists('name', $row)) {
|
||||
$this->name = $row['name'];
|
||||
}
|
||||
if ($decodedParameters !== null) {
|
||||
$this->parameters = $decodedParameters;
|
||||
}
|
||||
if (array_key_exists('lon', $row)) {
|
||||
$this->lon = $row['lon'];
|
||||
}
|
||||
if (array_key_exists('lat', $row)) {
|
||||
$this->lat = $row['lat'];
|
||||
}
|
||||
if (array_key_exists('ele', $row)) {
|
||||
$this->ele = $row['ele'];
|
||||
}
|
||||
if (array_key_exists('source', $row)) {
|
||||
$this->source = $row['source'];
|
||||
}
|
||||
if (array_key_exists('remote_source_id', $row)) {
|
||||
$this->remote_source_id = $row['remote_source_id'];
|
||||
}
|
||||
}
|
||||
|
||||
/*****
|
||||
@@ -454,4 +520,4 @@ class Pois
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user