mirror of
https://github.com/silverstripe/silverstripe-reports
synced 2024-10-02 22:28:38 +02:00
BUGFIX Fixed AssetAdmin->doUpload() javascript callbacks
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@92815 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
f12db2706b
commit
97ece94acf
@ -122,7 +122,7 @@ JS
|
|||||||
Requirements::javascript(SAPPHIRE_DIR . "/javascript/prototype_improvements.js");
|
Requirements::javascript(SAPPHIRE_DIR . "/javascript/prototype_improvements.js");
|
||||||
//Requirements::javascript(CMS_DIR . "/javascript/LeftAndMain.js");
|
//Requirements::javascript(CMS_DIR . "/javascript/LeftAndMain.js");
|
||||||
Requirements::javascript(CMS_DIR . "/thirdparty/multifile/multifile.js");
|
Requirements::javascript(CMS_DIR . "/thirdparty/multifile/multifile.js");
|
||||||
Requirements::css(THIRDPARTY_DIR . "/multifile/multifile.css");
|
Requirements::css(CMS_DIR . "/thirdparty/multifile/multifile.css");
|
||||||
Requirements::css(CMS_DIR . "/css/typography.css");
|
Requirements::css(CMS_DIR . "/css/typography.css");
|
||||||
Requirements::css(CMS_DIR . "/css/layout.css");
|
Requirements::css(CMS_DIR . "/css/layout.css");
|
||||||
Requirements::css(CMS_DIR . "/css/cms_left.css");
|
Requirements::css(CMS_DIR . "/css/cms_left.css");
|
||||||
@ -196,15 +196,13 @@ JS
|
|||||||
|
|
||||||
$newFiles = array();
|
$newFiles = array();
|
||||||
$fileSizeWarnings = '';
|
$fileSizeWarnings = '';
|
||||||
$uploadErrors = '';
|
$errorsArr = '';
|
||||||
$jsErrors = '';
|
|
||||||
$status = '';
|
$status = '';
|
||||||
$statusMessage = '';
|
$statusMessage = '';
|
||||||
|
|
||||||
foreach($processedFiles as $tmpFile) {
|
foreach($processedFiles as $tmpFile) {
|
||||||
if($tmpFile['error'] == UPLOAD_ERR_NO_TMP_DIR) {
|
if($tmpFile['error'] == UPLOAD_ERR_NO_TMP_DIR) {
|
||||||
$status = 'bad';
|
$errorsArr[] = _t('AssetAdmin.NOTEMP', 'There is no temporary folder for uploads. Please set upload_tmp_dir in php.ini.');
|
||||||
$statusMessage = _t('AssetAdmin.NOTEMP', 'There is no temporary folder for uploads. Please set upload_tmp_dir in php.ini.');
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,14 +219,11 @@ JS
|
|||||||
$valid = true;
|
$valid = true;
|
||||||
} else {
|
} else {
|
||||||
$upload = new Upload();
|
$upload = new Upload();
|
||||||
$upload->setAllowedExtensions(self::$allowed_extensions);
|
$upload->setAllowedExtensions(array('gif'));
|
||||||
$upload->setAllowedMaxFileSize(self::$allowed_max_file_size);
|
$upload->setAllowedMaxFileSize(self::$allowed_max_file_size);
|
||||||
$valid = $upload->validate($tmpFile);
|
$valid = $upload->validate($tmpFile);
|
||||||
if(!$valid) {
|
if(!$valid) {
|
||||||
$errors = $upload->getErrors();
|
$errorsArr = $upload->getErrors();
|
||||||
if($errors) foreach($errors as $error) {
|
|
||||||
$jsErrors .= "alert('" . Convert::raw2js($error) . "');";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -236,12 +231,15 @@ JS
|
|||||||
if($valid) $newFiles[] = $folder->addUploadToFolder($tmpFile);
|
if($valid) $newFiles[] = $folder->addUploadToFolder($tmpFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($newFiles) {
|
if($newFiles) {
|
||||||
$numFiles = sizeof($newFiles);
|
$numFiles = sizeof($newFiles);
|
||||||
$statusMessage = sprintf(_t('AssetAdmin.UPLOADEDX',"Uploaded %s files"),$numFiles) ;
|
$statusMessage = sprintf(_t('AssetAdmin.UPLOADEDX',"Uploaded %s files"),$numFiles) ;
|
||||||
$status = "good";
|
$status = "good";
|
||||||
} else if($status != 'bad') {
|
} else if($errorsArr) {
|
||||||
|
$statusMessage = implode('\n', $errorsArr);
|
||||||
|
$status = 'bad';
|
||||||
|
} else {
|
||||||
$statusMessage = _t('AssetAdmin.NOTHINGTOUPLOAD','There was nothing to upload');
|
$statusMessage = _t('AssetAdmin.NOTHINGTOUPLOAD','There was nothing to upload');
|
||||||
$status = "";
|
$status = "";
|
||||||
}
|
}
|
||||||
@ -256,19 +254,12 @@ JS
|
|||||||
$fileNames[] = $fileObj->Name;
|
$fileNames[] = $fileObj->Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sFileIDs = implode(',', $fileIDs);
|
// TODO Replace with clientside logic which doesn't have assumptions in the response
|
||||||
$sFileNames = implode(',', $fileNames);
|
|
||||||
|
|
||||||
echo <<<HTML
|
echo <<<HTML
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
/* IDs: $sFileIDs */
|
var url = parent.document.getElementById('sitetree').getTreeNodeByIdx( "{$folder->ID}" ).getElementsByTagName('a')[0].href;
|
||||||
/* Names: $sFileNames */
|
parent.jQuery('#Form_EditForm').concrete('ss').loadForm(url);
|
||||||
|
|
||||||
var form = parent.document.getElementById('Form_EditForm');
|
|
||||||
form.getPageFromServer(form.elements.ID.value);
|
|
||||||
parent.statusMessage("{$statusMessage}","{$status}");
|
parent.statusMessage("{$statusMessage}","{$status}");
|
||||||
$jsErrors
|
|
||||||
parent.document.getElementById('sitetree').getTreeNodeByIdx( "{$folder->ID}" ).getElementsByTagName('a')[0].className += ' contents';
|
|
||||||
</script>
|
</script>
|
||||||
HTML;
|
HTML;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user