FSN#41529 Upload mogelijkheid voor xxxx.xsl

svn path=/Website/trunk/; revision=34844
This commit is contained in:
Jos Groot Lipman
2017-08-07 11:21:10 +00:00
parent 3e9db52876
commit fcbac73ae0
5 changed files with 35 additions and 21 deletions

View File

@@ -43,7 +43,7 @@
{ {
var url = "../shared/BijlagenForm.asp?module=" + module; var url = "../shared/BijlagenForm.asp?module=" + module;
var proturl = protectQS.create(url); var proturl = protectQS.create(url);
CreateButton(label, "bl('" + safe.jsstring(proturl) + "')"); CreateButton("{0} ({1})".format(label, module), "bl('" + safe.jsstring(proturl) + "')");
} }
} }
@@ -62,6 +62,7 @@
bijlagen("WEB_PRSSYS", "Marktplaats foto's", "MRK"); bijlagen("WEB_PRSSYS", "Marktplaats foto's", "MRK");
bijlagen("WEB_PRSSYS", "Menu plaatjes", "MENU"); bijlagen("WEB_PRSSYS", "Menu plaatjes", "MENU");
bijlagen("WEB_PRSSYS", "Opdrachtverstrekking bijlagen", "BDRADR"); bijlagen("WEB_PRSSYS", "Opdrachtverstrekking bijlagen", "BDRADR");
bijlagen("WEB_FACFAC", custpath + "/xsl bestanden", "CUSTXSL");
BLOCK_END(); BLOCK_END();

View File

@@ -78,7 +78,7 @@ if (params.extFilter)
function MatchFile(fName) function MatchFile(fName)
{ {
if (vFileName.toLowerCase() == 'web.config') // die nooit tonen if (fName.toLowerCase() == 'web.config') // die nooit tonen
return false; return false;
if (showFilter=="") if (showFilter=="")
@@ -102,24 +102,18 @@ if (fso.FolderExists(params.AttachPath))
// fso.DeleteFolder(params.AttachPath, true); // fso.DeleteFolder(params.AttachPath, true);
} }
function FileToAdd(vFileName, vDateStr, vFileSize)
{
this.vFileName = vFileName;
this.vDateStr = vDateStr;
this.vFileSize = vFileSize;
}
for (; !fc.atEnd(); fc.moveNext()) for (; !fc.atEnd(); fc.moveNext())
{ {
fsoFile = fc.item(); fsoFile = fc.item();
vFileName = fsoFile.Name if (!MatchFile(fsoFile.Name))
if (!MatchFile(vFileName))
continue; continue;
var fdata = { vFileName: fsoFile.Name,
vDateStr: fsoFile.DateLastModified,
vFileSize: fsoFile.Size }
if (fsoFile.Name.match(/_20[0-9]{6}_[0-9]{6}\./))
fdata.ishistory = true;
vFileDate = fsoFile.DateLastModified fileArray.push(fdata);
vFileSize = fsoFile.Size
vDateStr = vFileDate // Right("0" & DatePart("d",vFileDate),2) & "/" & Right("0" & DatePart("m",vFileDate),2) & "/" & DatePart("yyyy",vFileDate)
fileArray.push(new FileToAdd(vFileName, vDateStr, vFileSize));
} }
// Sorteer afhankelijk van de setting S("flexFilesOrdering") twee FileToAdd 'record's // Sorteer afhankelijk van de setting S("flexFilesOrdering") twee FileToAdd 'record's
@@ -310,7 +304,7 @@ if (fso.FolderExists(params.AttachPath))
</TD> </TD>
<TD align='right'><%=toDateTimeString(fileArray[i].vDateStr)%></TD> <TD align='right'><%=toDateTimeString(fileArray[i].vDateStr)%></TD>
<TD align='right'><%=fileArray[i].vFileSize%></TD> <TD align='right'><%=fileArray[i].vFileSize%></TD>
<% if (!pReado) <% if (!pReado && (!params.keephistory || fileArray[i].ishistory))
{ %> { %>
<td align=center><span onClick="DeleteFile('<%=safe.jsstring(fileArray[i].vFileName)%>', '<%=safe.jsstring(protectQS.create("Bijlagenform_delete.asp?DoDelete="+Server.URLEncode(fileArray[i].vFileName)+transitParam))%>')" <td align=center><span onClick="DeleteFile('<%=safe.jsstring(fileArray[i].vFileName)%>', '<%=safe.jsstring(protectQS.create("Bijlagenform_delete.asp?DoDelete="+Server.URLEncode(fileArray[i].vFileName)+transitParam))%>')"
class='fa fa-trash fa-lg' title='<%=L("lcl_filedelete")%>'></span> class='fa fa-trash fa-lg' title='<%=L("lcl_filedelete")%>'></span>
@@ -342,7 +336,7 @@ if (fso.FolderExists(params.AttachPath))
<% } %> <% } %>
</tbody> </tbody>
<script type="text/javascript"> <script type="text/javascript">
window.return_data = { cnt: <%=fileArray.length%>, fileName: '<%=safe.jsstring(fileArray.length > 0? vFileName : "")%>'}; window.return_data = { cnt: <%=fileArray.length%>, fileName: '<%=safe.jsstring(fileArray.length > 0? fileArray[0].vFileName : "")%>'};
FcltMgr.setCloseParams(window.return_data); // Zelfs als je kruisje gebruikt FcltMgr.setCloseParams(window.return_data); // Zelfs als je kruisje gebruikt
$(document).ready(function () $(document).ready(function ()
{ {

View File

@@ -42,6 +42,9 @@ DOCTYPE_Disable = 1; // ook al volgt straks een response.Clear
var pcontentdp = getQParam("contentdp", "attachment"); var pcontentdp = getQParam("contentdp", "attachment");
var pDosave = getQParam("dosave", 0)==1; var pDosave = getQParam("dosave", 0)==1;
// Doet whitelist van pModule, kan S("flexAllowedExt") overrulen
params = flexProps(pModule, pKey, String(pKenmerk_key), pNiveau);
// Zonder extensie downloaden keuren we goed // Zonder extensie downloaden keuren we goed
// (ook al staan we sinds 5.2.1 uploaden niet meer toe) // (ook al staan we sinds 5.2.1 uploaden niet meer toe)
if (pFileName.indexOf(".") >= 0 && !new RegExp(S("flexAllowedExt"), "ig").test(pFileName)) if (pFileName.indexOf(".") >= 0 && !new RegExp(S("flexAllowedExt"), "ig").test(pFileName))
@@ -49,9 +52,6 @@ DOCTYPE_Disable = 1; // ook al volgt straks een response.Clear
INTERNAL_ERROR_BAD_EXT; INTERNAL_ERROR_BAD_EXT;
} }
// Doet whitelist van pModule
params = flexProps(pModule, pKey, String(pKenmerk_key), pNiveau);
Response.CacheControl = "private"; // UWVA#38548: Anders problemen met IE8 Response.CacheControl = "private"; // UWVA#38548: Anders problemen met IE8
// Bestanden zijn nu te vinden on ...cust/*/flexfiles/[module]/[key]/ // Bestanden zijn nu te vinden on ...cust/*/flexfiles/[module]/[key]/

View File

@@ -313,6 +313,15 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
result.multi = true; result.multi = true;
result.extFilter = S("flexExtensionFilter"); // Mag in principe alles zijn result.extFilter = S("flexExtensionFilter"); // Mag in principe alles zijn
break; break;
case "CUSTXSL":
result.AttachRootPath = Server.MapPath(custpath + "/xsl");
result.AttachPath = result.AttachRootPath + "/";
result.multi = true;
result.extFilter = "xsl";
result.keephistory = true;
settings.overrule_setting("flexAllowedExt", "xsl"); // tijdelijk xsl toestaan
settings.overrule_setting("flexFilesOrdering", 0);
break;
default: default:
INTERNAL_ERROR_MODULE; INTERNAL_ERROR_MODULE;
} }

View File

@@ -51,6 +51,7 @@ if (params.extFilter)
regFilter = regFilter.replace(/( |,|;)/g,"|"); // Altijd | karakter regFilter = regFilter.replace(/( |,|;)/g,"|"); // Altijd | karakter
regFilter = ".*\\." + "(" + regFilter + ")$"; // er moet een punt voor en extensie is aan het einde regFilter = ".*\\." + "(" + regFilter + ")$"; // er moet een punt voor en extensie is aan het einde
} }
var fso = Server.CreateObject("Scripting.FileSystemObject")
%> %>
@@ -156,6 +157,16 @@ if (params.extFilter)
// Save binary data To disk // Save binary data To disk
__Log("Saving to: " + params.AttachPath + safefilename); __Log("Saving to: " + params.AttachPath + safefilename);
CreateFullPath(params.AttachPath); CreateFullPath(params.AttachPath);
if (params.keephistory && fso.FileExists(params.AttachPath + safefilename))
{
var jsDate = new Date();
var backupTime = String(jsDate.getFullYear()) + padout(jsDate.getMonth() + 1) + padout(jsDate.getDate()) + "_"
+ padout(jsDate.getHours()) + padout(jsDate.getMinutes())+ padout(jsDate.getSeconds());
// backupTime vlak voor de extensie plakken
var backupName = safefilename.replace(/(\.[a-z]*)$/i, "_" + backupTime + "$1");
fso.MoveFile(params.AttachPath + safefilename, params.AttachPath + backupName);
__DoLog("Replaced {0}, previous version in {1}".format(params.AttachPath + safefilename, backupName));
}
BinaryStream.SaveToFile(params.AttachPath + safefilename, 2); // adSaveCreateOverWrite BinaryStream.SaveToFile(params.AttachPath + safefilename, 2); // adSaveCreateOverWrite
} }
catch(e) catch(e)
@@ -201,7 +212,6 @@ if (params.extFilter)
} }
else else
{ {
var fso = Server.CreateObject("Scripting.FileSystemObject")
var f = fso.GetFolder(params.AttachPath); var f = fso.GetFolder(params.AttachPath);
for (fc = new Enumerator(f.files); !fc.atEnd(); fc.moveNext()) for (fc = new Enumerator(f.files); !fc.atEnd(); fc.moveNext())
{ {