<% /*
    $Revision$
    $Id$

    File:               UploadBijlage.inc
    Description:        Een bijlage wordt geupload in Mareon (Facilitor)
    Parameters:        
    Result              
    Context:
    Note:               
*/
%>

<%

function marx_get_bijlagen_key (p_module, p_mld_opdr_key, p_fac_bijlagen_kenmerk_key, p_fac_bijlagen_filename)
{ 
  var l_fac_bijlagen_key;
  if (p_mld_opdr_key){
    var sql = "SELECT fac_bijlagen_key fac_bijlagen_key" 
            + " FROM fac_bijlagen"
            + " WHERE fac_bijlagen_module = " + safe.quoted_sql(p_module)
            + " AND fac_bijlagen_refkey = " + p_mld_opdr_key
            + " AND fac_bijlagen_kenmerk_key = " + p_fac_bijlagen_kenmerk_key
            + " AND fac_bijlagen_filename = " + safe.quoted_sql(p_fac_bijlagen_filename);
    var oRs = Oracle.Execute(sql);
    if (!oRs.eof)
    {
        l_fac_bijlagen_key = oRs("fac_bijlagen_key").Value;
    }
    oRs.close();
  }
  return(l_fac_bijlagen_key);
}

// Functie die uit imp_shared.js is overgenomen (gedeelte uit extractAttachments).
function marx_upload_bijlage(p_module, p_ref_key, p_kenmerk_key, p_niveau, p_bestandsnaam, p_bijlage_base64)
{
  var l_bijlagen_key = marx_get_bijlagen_key (p_module, p_ref_key, p_kenmerk_key, p_bestandsnaam);                       
                       
  if (!l_bijlagen_key)
  {
    // Deze bijlage bestaat nog niet, die gaan we toevoegen (we doen geen Digest-check vooralsnog).
    var params = flexProps(p_module, p_ref_key, p_kenmerk_key, p_niveau);
    var safefilename = safe.filename(p_bestandsnaam);
    if (!params.isAllowedName(safefilename))
    {
        // TODO: Misschien ook terugkoppelen in IMP_LOG?
        __Log("Onbekende extensie upload bijlage: {0}. Bestand is niet opgeslagen.".format(safefilename));
    }
    else
    {
        __Log("Bijlage {0} mag naar {1}".format(safefilename, params.AttachPath));
        if (p_bijlage_base64)
        {
            CreateFullPath(params.AttachPath);
            encodedString2File(params.AttachPath + safefilename, p_bijlage_base64, "bin.base64");
            add2bijlagen(p_module, p_kenmerk_key, p_ref_key, safefilename, params);
            __Log("Done saving: " + params.AttachPath + safefilename);
        }
        else
            __Log("Empty file skipped: " + safefilename);
    }
  }
}



%>