* [bug#67599, done] 【iOS】Failed to upload 【Attachment】 when creating R & D requirements.
This commit is contained in:
@@ -962,6 +962,36 @@ class fileModel extends model
|
||||
return !dao::isError();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get upload by uid.
|
||||
*
|
||||
* @param array|string|bool $uid
|
||||
* @param string $filesName
|
||||
* @param string $labelsName
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getUploadByUID(array|string|bool $uid, string $filesName = 'files', string $labelsName = 'labels'): array
|
||||
{
|
||||
if(empty($uid)) return array();
|
||||
|
||||
if(is_string($uid)) $uid = array($uid);
|
||||
if(!is_array($uid)) return array();
|
||||
|
||||
$files = array();
|
||||
foreach($uid as $value)
|
||||
{
|
||||
if(empty($_SESSION['album']['used'][$value])) continue;
|
||||
|
||||
$uidFiles = $this->dao->select('id, title')->from(TABLE_FILE)->where('id')->in($_SESSION['album']['used'][$value])->fetchPairs();
|
||||
foreach($uidFiles as $fileID => $fileName)
|
||||
{
|
||||
$files[$fileID] = $fileName;
|
||||
}
|
||||
}
|
||||
return $files;
|
||||
}
|
||||
|
||||
/**
|
||||
* Revert real src.
|
||||
*
|
||||
@@ -1471,6 +1501,13 @@ class fileModel extends model
|
||||
|
||||
$addedFiles = $this->saveUpload($objectType, $oldObject->id, $extra, $filesName, $labelsName);
|
||||
|
||||
if(defined('RUN_MODE') && RUN_MODE === 'api')
|
||||
{
|
||||
$uidFiles = $this->getUploadByUID($this->post->uid, $filesName, $labelsName);
|
||||
|
||||
$addedFiles = $addedFiles + $uidFiles;
|
||||
}
|
||||
|
||||
if(!isset($oldObject->{$filesName})) $oldObject->{$filesName} = array();
|
||||
$files = array_diff(array_keys($oldObject->{$filesName}), array_keys($deleteFiles));
|
||||
$files = array_merge($files, array_keys($addedFiles));
|
||||
|
||||
@@ -559,6 +559,12 @@ class storyModel extends model
|
||||
$this->loadModel('file')->updateObjectID($this->post->uid, $storyID, $story->type);
|
||||
$files = $this->file->saveUpload($story->type, $storyID, 1);
|
||||
|
||||
if(defined('RUN_MODE') && RUN_MODE === 'api')
|
||||
{
|
||||
$uidFiles = $this->file->getUploadByUID($this->post->uid);
|
||||
$files = $files ? ($files + $uidFiles) : $uidFiles;
|
||||
}
|
||||
|
||||
/* Add story spec verify. */
|
||||
$this->storyTao->doCreateSpec($storyID, $story, $files ?: '');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user