Harmonize JSON API error messages

This commit is contained in:
2026-08-25 23:44:26 +02:00
parent 0d4b159ab3
commit f1b90a4d83
18 changed files with 254 additions and 175 deletions
+16 -11
View File
@@ -2,19 +2,16 @@
namespace Franzz\Livetrail;
use Franzz\Objects\UploadHandler;
use Franzz\Objects\Translator;
class Uploader extends UploadHandler
{
private Media $oMedia;
private Translator $oLang;
public string $sBody;
function __construct(Media &$oMedia, Translator &$oLang)
function __construct(Media &$oMedia)
{
$this->oMedia = &$oMedia;
$this->oLang = &$oLang;
$this->sBody = '';
parent::__construct(array(
@@ -29,7 +26,9 @@ class Uploader extends UploadHandler
//Check project mode
if(!$this->oMedia->isProjectEditable()) {
$file->error = $this->get_error_message('upload.mode_archived', array($this->oMedia->getProjectCodeName()));
$file->error = true;
$file->desc_lang_id = 'upload.mode_archived';
$file->desc_lang_params = array($this->oMedia->getProjectCodeName());
$bResult = false;
}
@@ -43,13 +42,22 @@ class Uploader extends UploadHandler
if(empty($file->error)) {
$asResult = $this->oMedia->addMedia($file->name);
if(!$asResult['result']) $file->error = $this->get_error_message($asResult['desc'], $asResult['data']);
if(!$asResult['result']) {
$file->error = true;
$file->desc_lang_id = $asResult['desc_lang_id'];
$file->desc_lang_params = $asResult['data'];
}
else {
$file->original_name = basename((string) $name);
$file->id = $this->oMedia->getMediaId();
$file->thumbnail = $asResult['data']['thumb_path'];
}
}
if(!empty($file->error)) {
if(empty($file->desc_lang_id)) $file->desc_lang_id = is_string($file->error)?$file->error:'upload.error';
if(empty($file->desc_lang_params)) $file->desc_lang_params = array();
$file->error = true;
}
return $file;
}
@@ -58,10 +66,7 @@ class Uploader extends UploadHandler
$this->sBody .= $sBodyPart;
}
protected function get_error_message($sError, $asParams=array()) {
$sTranslatedError = $this->oLang->getTranslation($sError, $asParams);
if($sTranslatedError) return $sTranslatedError;
elseif(array_key_exists($sError, $this->error_messages)) return $this->error_messages[$sError];
else return $sError;
protected function get_error_message($sLangId, $asParams=array()) {
return array_key_exists($sLangId, $this->error_messages)?'upload.error':$sLangId;
}
}