Bug Id:6205

Backward compatibilty ready and also friendly messages when the file doesn't exist
This commit is contained in:
Hugo Loza
2011-02-22 14:21:00 +00:00
parent 496b153c4a
commit 4c78d6d503
3 changed files with 150 additions and 46 deletions

View File

@@ -55,11 +55,43 @@
$bDownload = true;
}
$realPath = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/' . $sAppDocUid .'_'.$iDocVersion . '.' . $ext ;
if(!file_exists ( $realPath )){//For Backward compatibility
$realPath = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/' . $sAppDocUid . '.' . $ext ;
$realPath1 = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/' . $sAppDocUid . '.' . $ext ;
$sw_file_exists=false;
if(file_exists($realPath)){
$sw_file_exists=true;
}elseif(file_exists($realPath1)){
$sw_file_exists=true;
$realPath=$realPath1;
}
if(!$sw_file_exists){
$error_message="'".$oAppDocument->Fields['APP_DOC_FILENAME']. "' ".G::LoadTranslation('ID_ERROR_STREAMING_FILE');
if((isset($_POST['request']))&&($_POST['request']==true)){
$res ['success'] = 'failure';
$res ['message'] = $error_message;
print G::json_encode ( $res );
}else{
G::SendMessageText($error_message, "ERROR");
$backUrlObj=explode("sys".SYS_SYS,$_SERVER['HTTP_REFERER']);
G::header("location: "."/sys".SYS_SYS.$backUrlObj[1]);
die;
}
}else{
if((isset($_POST['request']))&&($_POST['request']==true)){
$res ['success'] = 'success';
$res ['message'] = $oAppDocument->Fields['APP_DOC_FILENAME'];
print G::json_encode ( $res );
}else{
G::streamFile ( $realPath, $bDownload, $oAppDocument->Fields['APP_DOC_FILENAME'] );
}
}
?>

View File

@@ -47,9 +47,43 @@
}
}
$ver= (isset($_GET['v']) && $_GET['v']!='') ? '_'.$_GET['v'] : '';
//$var = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/outdocs/' . $sAppDocUid .$ver. '.' . $ext;
$realPath = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/outdocs/' . $sAppDocUid .$ver. '.' . $ext ; G::streamFile ( $realPath, true );
$realPath = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/outdocs/' . $sAppDocUid .$ver. '.' . $ext ;
$realPath1 = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/outdocs/' . $info['basename'] .$ver. '.' . $ext ;
$realPath2 = PATH_DOCUMENT . $oAppDocument->Fields['APP_UID'] . '/outdocs/' . $info['basename']. '.' . $ext ;
$sw_file_exists=false;
if(file_exists($realPath)){
$sw_file_exists=true;
}elseif(file_exists($realPath1)){
$sw_file_exists=true;
$realPath=$realPath1;
}elseif(file_exists($realPath2)){
$sw_file_exists=true;
$realPath=$realPath2;
}
if(!$sw_file_exists){
$error_message="'".$info['basename'] .$ver. '.' . $ext."' ".G::LoadTranslation('ID_ERROR_STREAMING_FILE');
if((isset($_POST['request']))&&($_POST['request']==true)){
$res ['success'] = 'failure';
$res ['message'] = $error_message;
print G::json_encode ( $res );
}else{
G::SendMessageText($error_message, "ERROR");
$backUrlObj=explode("sys".SYS_SYS,$_SERVER['HTTP_REFERER']);
G::header("location: "."/sys".SYS_SYS.$backUrlObj[1]);
die;
}
}else{
if((isset($_POST['request']))&&($_POST['request']==true)){
$res ['success'] = 'success';
$res ['message'] = $info['basename'] .$ver. '.' . $ext;
print G::json_encode ( $res );
}else{
G::streamFile ( $realPath, true ,$info['basename'] .$ver. '.' . $ext );
}
}
//G::streamFile ( $realPath, true);
?>

View File

@@ -28,6 +28,44 @@ catch(z){rc=/^(true|false|null|\[.*\]|\{.*\}|".*"|\d+|\d+\.\d+)$/;}
var conn = new Ext.data.Connection();
streamFilefromPM=function(fileStream) {
Ext.Ajax.request({
url:fileStream,
params: {request:true},
success: function(response) {
results = Ext.decode(response.responseText);
if(results.success=='success'){
messageText="Downloading file "+results.message;
statusBarMessage( messageText, true, true );
try {
Ext.destroy(Ext.get('downloadIframe'));
}
catch(e) {}
Ext.DomHelper.append(document.body, {
tag: 'iframe',
id:'downloadIframe',
frameBorder: 0,
width: 0,
height: 0,
css: 'display:none;visibility:hidden;height:0px;',
src: fileStream
});
}else{
msgbox = Ext.Msg.alert('Error', results.message);
msgbox.setIcon( Ext.MessageBox.ERROR );
}
},
failure: function() {
if (results.message) {
Ext.Msg.alert('Infomation',results.message);
}
}
});
};
function chDir( directory, loadGridOnly ) {
// console.info("**** Changing Directory: "+directory+" --
// "+loadGridOnly);
@@ -319,13 +357,13 @@ function openActionDialog( caller, action ) {
fileName=ext_itemgrid.getSelectionModel().getSelected().get('name');
//alert(ext_itemgrid.getSelectionModel().getSelected().get('downloadLink'));
//alert(ext_itemgrid.getSelectionModel().getSelected().get('downloadLabel'));
if(document.location = ext_itemgrid.getSelectionModel().getSelected().get('downloadLink')){
streamFilefromPM(ext_itemgrid.getSelectionModel().getSelected().get('downloadLink'));
/*if(document.location = ext_itemgrid.getSelectionModel().getSelected().get('downloadLink')){
messageText="Downloading file "+fileName;
statusBarMessage( messageText, false, true );
}else{
alert("sadasd");
}
}*/
break;
}
}
@@ -486,11 +524,11 @@ function handleCallback(requestParams, node) {
}
if( success ) {
statusBar.setStatus({
text: 'success: ' + msg,
text: 'Success: ' + msg,
iconCls: 'success',
clear: true
});
Ext.msgBoxSlider.msg('success', msg );
Ext.msgBoxSlider.msg('Success', msg );
} else {
statusBar.setStatus({
text: 'error: ' + msg,