We purchased some new workflow software for work and I didn't realise how much I would need to know PHP and JavaScript.
With this in mind I am reading 'PHP in a NutShell' as recommended by another forum however even this is hard to digest as it assumes you understand how loops and functions already work.
I can get the basics of variables and how they are used in the code but arrays, loops and functions are a little hard to grasp. There are a couple of PHP code triggers that I cant seem to get right and below is my code as well as a sample from the support techs, I have designed the forms and allocated users but basically the below code is supposed to email all PDFs uploaded at a particular step to the original requested.
If I want to email the PDFs attached to a single field the below code works:
$caseId = @@APPLICATION; //Unique ID for the current case
$inDocDef = "173362805574c6ebbd80c15022322251"; //change for the Input Document definition's unique ID
$aAttachFiles = array();
$inDocQuery = "SELECT AD.APP_DOC_UID, AD.DOC_VERSION, C.CON_VALUE AS FILENAME FROM APP_DOCUMENT AD, CONTENT C
WHERE AD.APP_UID='$caseId' AND AD.DOC_UID='$inDocDef' AND AD.APP_DOC_STATUS='ACTIVE' AND
AD.APP_DOC_UID = C.CON_ID AND C.CON_CATEGORY = 'APP_DOC_FILENAME'";
$inDocs = executeQuery($inDocQuery);
@@respQuery= $inDocs ;
if (is_array($inDocs)) {
foreach ($inDocs as $inDoc)
{
$ext = pathinfo($inDoc['FILENAME'], PATHINFO_EXTENSION);
$aAttachFiles[$inDoc['FILENAME']] = PATH_DOCUMENT . G::getPathFromUID($caseId) . PATH_SEP .
$inDoc['APP_DOC_UID'] . '_' . $inDoc['DOC_VERSION'] . '.' .$ext;
}
}
@@respfinalArray = $aAttachFiles;
$usr = userInfo(@@USER_LOGGED);
PMFSendMessage(@@APPLICATION, '%server email address%', $usr['mail'], '', '',
'Client documents uploaded', 'emailitinerary.html', array(), $aAttachFiles);
The trouble is when I try to email from 3 input fields that a user uploads PDF's too. I may have completely butchered the code but here is where I am up to:
$usr = userInfo(@@USER_LOGGED);
$caseId = @@APPLICATION; //Unique ID for the current case
$inDocDef = "834960937575e046b8e06e1049453847";
$inDocDef1 = "133361816575e046b8ae8c0018840374";
$inDocDef2 = "887481689575e046b8e5a22014533981";//change for the Input Document definition's unique ID
$aAttachFiles = array();
$inDocQuery = 'SELECT AD.APP_DOC_UID, AD.DOC_VERSION, C.CON_VALUE AS FILENAME FROM APP_DOCUMENT AD, CONTENT C
WHERE AD.APP_UID="$caseId" AND AD.DOC_UID="$inDocDef" AND AD.APP_DOC_STATUS="ACTIVE" AND
AD.APP_DOC_UID = C.CON_ID AND C.CON_CATEGORY = "APP_DOC_FILENAME"';
$inDocQuery1 = 'SELECT AD.APP_DOC_UID, AD.DOC_VERSION, C.CON_VALUE AS FILENAME FROM APP_DOCUMENT AD, CONTENT C
WHERE AD.APP_UID="$caseId" AND AD.DOC_UID="$inDocDef1" AND AD.APP_DOC_STATUS="ACTIVE" AND
AD.APP_DOC_UID = C.CON_ID AND C.CON_CATEGORY = "APP_DOC_FILENAME"';
$inDocQuery2 = 'SELECT AD.APP_DOC_UID, AD.DOC_VERSION, C.CON_VALUE AS FILENAME FROM APP_DOCUMENT AD, CONTENT C
WHERE AD.APP_UID="$caseId" AND AD.DOC_UID="$inDocDef2" AND AD.APP_DOC_STATUS="ACTIVE" AND
AD.APP_DOC_UID = C.CON_ID AND C.CON_CATEGORY = "APP_DOC_FILENAME"';
$inDocs = executeQuery($inDocQuery);
$inDocs1 = executeQuery($inDocQuery1);
$inDocs2 = executeQuery($inDocQuery2);
if (is_array(($inDocs) AND ($inDocs1) AND ($inDocs2)) {
foreach ($inDocs as $inDoc and $inDocs1 as $inDoc1 and $inDocs2 as $inDoc2)
{
$ext = pathinfo($inDoc['FILENAME'], PATHINFO_EXTENSION);
$aAttachFiles[$inDoc['FILENAME']] = PATH_DOCUMENT . G::getPathFromUID($caseId) . PATH_SEP .
$inDoc['APP_DOC_UID'] . '_' . $inDoc['DOC_VERSION'] . '.' .$ext;
}
}
PMFSendMessage(@@APPLICATION, '', '%my email address%', '', '',
'Client documents uploaded', 'emailitinerary.html', array(), $aAttachFiles);
The foreach section is where I am struggling. Any help would be greatly appreciated.