@@ -1179,15 +1179,6 @@ class Cases
|
||||
//$oPluginRegistry = & PMPluginRegistry::getSingleton();
|
||||
$listing = $oPluginRegistry->executeTriggers(PM_CASE_DOCUMENT_LIST, $folderData);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$licensedFeatures = &\PMLicensedFeatures::getSingleton();
|
||||
$enablePMGmail = false;
|
||||
if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
|
||||
G::LoadClass( "pmDrive" );
|
||||
$pmDrive = new \PMDrive();
|
||||
$enablePMGmail = $pmDrive->getStatusService();
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$aObjectPermissions = $cases->getAllObjects($sProcessUID, $sApplicationUID, $sTasKUID, $sUserUID);
|
||||
if (!is_array($aObjectPermissions)) {
|
||||
$aObjectPermissions = array(
|
||||
@@ -1307,15 +1298,6 @@ class Cases
|
||||
}
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//change donwload link - drive
|
||||
$driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']);
|
||||
if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('INPUT',
|
||||
$driveDownload) && $enablePMGmail
|
||||
) {
|
||||
$aFields['DOWNLOAD_LINK'] = $driveDownload['INPUT'];
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
if ($lastVersion == $aRow['DOC_VERSION']) {
|
||||
//Show only last version
|
||||
$aInputDocuments[] = $aFields;
|
||||
@@ -1387,15 +1369,7 @@ class Cases
|
||||
}
|
||||
$aFields['DOWNLOAD_LABEL'] = G::LoadTranslation('ID_DOWNLOAD');
|
||||
$aFields['DOWNLOAD_LINK'] = "cases/cases_ShowDocument?a=" . $aRow['APP_DOC_UID'];
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//change donwload link - drive
|
||||
$driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']);
|
||||
if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('ATTACHED',
|
||||
$driveDownload) && $enablePMGmail
|
||||
) {
|
||||
$aFields['DOWNLOAD_LINK'] = $driveDownload['ATTACHED'];
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
if ($lastVersion == $aRow['DOC_VERSION']) {
|
||||
//Show only last version
|
||||
$aInputDocuments[] = $aFields;
|
||||
@@ -1459,15 +1433,7 @@ class Cases
|
||||
}
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//change donwload link - drive
|
||||
$driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']);
|
||||
if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('INPUT',
|
||||
$driveDownload) && $enablePMGmail
|
||||
) {
|
||||
$aFields['DOWNLOAD_LINK'] = $driveDownload['INPUT'];
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
if ($lastVersion == $aRow['DOC_VERSION']) {
|
||||
//Show only last version
|
||||
$aInputDocuments[] = $aFields;
|
||||
@@ -1511,15 +1477,6 @@ class Cases
|
||||
//$oPluginRegistry = & PMPluginRegistry::getSingleton();
|
||||
$listing = $oPluginRegistry->executeTriggers(PM_CASE_DOCUMENT_LIST, $folderData);
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$licensedFeatures = &\PMLicensedFeatures::getSingleton();
|
||||
$enablePMGmail = false;
|
||||
if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
|
||||
G::LoadClass( "pmDrive" );
|
||||
$pmDrive = new \PMDrive();
|
||||
$enablePMGmail = $pmDrive->getStatusService();
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$aObjectPermissions = $cases->getAllObjects($sProcessUID, $sApplicationUID, $sTasKUID, $sUserUID);
|
||||
if (!is_array($aObjectPermissions)) {
|
||||
$aObjectPermissions = array('DYNAFORMS' => array(-1),'INPUT_DOCUMENTS' => array(-1),'OUTPUT_DOCUMENTS' => array(-1));
|
||||
@@ -1665,20 +1622,6 @@ class Cases
|
||||
} catch (\Exception $oException) {
|
||||
$sUser = '(USER DELETED)';
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//change donwload link - drive
|
||||
$driveDownload = @unserialize($aRow['APP_DOC_DRIVE_DOWNLOAD']);
|
||||
if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_DOC',
|
||||
$driveDownload) && $enablePMGmail
|
||||
) {
|
||||
$fileDoc = $driveDownload['OUTPUT_DOC'];
|
||||
}
|
||||
if ($driveDownload !== false && is_array($driveDownload) && array_key_exists('OUTPUT_PDF',
|
||||
$driveDownload) && $enablePMGmail
|
||||
) {
|
||||
$filePdf = $driveDownload['OUTPUT_PDF'];
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//if both documents were generated, we choose the pdf one, only if doc was
|
||||
//generate then choose the doc file.
|
||||
$firstDocLink = $filePdf;
|
||||
|
||||
@@ -307,16 +307,6 @@ class InputDocument
|
||||
$rsCriteria = \AppDocumentPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$licensedFeatures = &\PMLicensedFeatures::getSingleton();
|
||||
$enablePMGmail = false;
|
||||
if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
|
||||
\G::LoadClass( "pmDrive" );
|
||||
$pmDrive = new \PMDrive();
|
||||
$enablePMGmail = $pmDrive->getStatusService();
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
|
||||
@@ -327,19 +317,6 @@ class InputDocument
|
||||
$row["APP_DOC_FILENAME"] = $arrayAppDocument["APP_DOC_FILENAME"];
|
||||
$row["APP_DOC_CREATE_USER"] = $configuraction->usersNameFormatBySetParameters($confEnvSetting["format"], $arrayUserData["USR_USERNAME"], $arrayUserData["USR_FIRSTNAME"], $arrayUserData["USR_LASTNAME"]);
|
||||
$row["APP_DOC_LINK"] = "cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"];
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//change donwload link - drive
|
||||
$driveDownload = @unserialize($arrayAppDocument['APP_DOC_DRIVE_DOWNLOAD']);
|
||||
if ($driveDownload !== false && is_array($driveDownload) && $enablePMGmail
|
||||
) {
|
||||
if (array_key_exists('INPUT', $driveDownload)) {
|
||||
$row['APP_DOC_LINK'] = $driveDownload['INPUT'];
|
||||
} else if (array_key_exists('ATTACHED', $driveDownload)) {
|
||||
$row['APP_DOC_LINK'] = $driveDownload['ATTACHED'];
|
||||
}
|
||||
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
$arrayInputDocument[] = $this->getAppDocumentDataFromRecord($row);
|
||||
}
|
||||
@@ -394,15 +371,6 @@ class InputDocument
|
||||
$rsCriteria = \AppDocumentPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$licensedFeatures = &\PMLicensedFeatures::getSingleton();
|
||||
$enablePMGmail = false;
|
||||
if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
|
||||
\G::LoadClass( "pmDrive" );
|
||||
$pmDrive = new \PMDrive();
|
||||
$enablePMGmail = $pmDrive->getStatusService();
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
|
||||
@@ -417,19 +385,6 @@ class InputDocument
|
||||
$row["APP_DOC_FILENAME"] = $arrayAppDocument["APP_DOC_FILENAME"];
|
||||
$row["APP_DOC_CREATE_USER"] = $sUser;
|
||||
$row["APP_DOC_LINK"] = "cases/cases_ShowDocument?a=" . $row["APP_DOC_UID"] . "&v=" . $row["DOC_VERSION"];
|
||||
/*----------------------------------********---------------------------------*/
|
||||
//change donwload link - drive
|
||||
$driveDownload = @unserialize($arrayAppDocument['APP_DOC_DRIVE_DOWNLOAD']);
|
||||
if ($driveDownload !== false && is_array($driveDownload) && $enablePMGmail
|
||||
) {
|
||||
if (array_key_exists('INPUT', $driveDownload)) {
|
||||
$row['APP_DOC_LINK'] = $driveDownload['INPUT'];
|
||||
} else if (array_key_exists('ATTACHED', $driveDownload)) {
|
||||
$row['APP_DOC_LINK'] = $driveDownload['ATTACHED'];
|
||||
}
|
||||
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
$arrayInputDocument[] = $this->getAppDocumentDataFromRecord($row);
|
||||
}
|
||||
|
||||
@@ -404,128 +404,6 @@ class OutputDocument
|
||||
}
|
||||
$this->generate( $outputID, $Fields['APP_DATA'], $pathOutput, $sFilename, $aOD['OUT_DOC_TEMPLATE'], (boolean) $aOD['OUT_DOC_LANDSCAPE'], $aOD['OUT_DOC_GENERATE'], $aProperties , $applicationUid);
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$licensedFeatures = &\PMLicensedFeatures::getSingleton();
|
||||
if ($licensedFeatures->verifyfeature('7qhYmF1eDJWcEdwcUZpT0k4S0xTRStvdz09')) {
|
||||
\G::LoadClass( "pmDrive" );
|
||||
$pmDrive = new \PMDrive();
|
||||
if ($pmDrive->getStatusService()) {
|
||||
$app = new \Application();
|
||||
$user = new \Users();
|
||||
$dataUser = $user->load($userUid);
|
||||
$pmDrive->setDriveUser($dataUser['USR_EMAIL']);
|
||||
|
||||
$appData = $app->Load($applicationUid);
|
||||
if ($appData['APP_DRIVE_FOLDER_UID'] == null) {
|
||||
$process = new \Process();
|
||||
$process->setProUid($appData['PRO_UID']);
|
||||
|
||||
$result = $pmDrive->createFolder($process->getProTitle() . ' - ' . G::LoadTranslation("ID_CASE") . ' #' . $appData['APP_NUMBER'],
|
||||
$pmDrive->getFolderIdPMDrive($userUid));
|
||||
$appData['APP_DRIVE_FOLDER_UID'] = $result->id;
|
||||
$app->update($appData);
|
||||
}
|
||||
|
||||
$fileIdDriveDoc = '';
|
||||
$fileIdDrivePdf = '';
|
||||
$sFilenameOriginal = preg_replace('[^A-Za-z0-9_]', '_',
|
||||
\G::replaceDataField($aOD['OUT_DOC_FILENAME'], $Fields['APP_DATA']));
|
||||
switch ($aOD['OUT_DOC_GENERATE']) {
|
||||
case "BOTH":
|
||||
$result = $pmDrive->uploadFile('application/pdf', $pathOutput . $sFilename . '.pdf',
|
||||
$sFilenameOriginal . '.pdf', $appData['APP_DRIVE_FOLDER_UID']);
|
||||
$oAppDocument->setDriveDownload('OUTPUT_PDF', $result->webContentLink);
|
||||
$fileIdDrivePdf = $result->id;
|
||||
$result = $pmDrive->uploadFile('application/doc', $pathOutput . $sFilename . '.doc',
|
||||
$sFilenameOriginal . '.doc', $appData['APP_DRIVE_FOLDER_UID']);
|
||||
$oAppDocument->setDriveDownload('OUTPUT_DOC', $result->webContentLink);
|
||||
$fileIdDriveDoc = $result->id;
|
||||
break;
|
||||
case "PDF":
|
||||
$result = $pmDrive->uploadFile('application/pdf', $pathOutput . $sFilename . '.pdf',
|
||||
$sFilenameOriginal . '.pdf', $appData['APP_DRIVE_FOLDER_UID']);
|
||||
$oAppDocument->setDriveDownload('OUTPUT_PDF', $result->webContentLink);
|
||||
$fileIdDrivePdf = $result->id;
|
||||
break;
|
||||
case "DOC":
|
||||
$result = $pmDrive->uploadFile('application/doc', $pathOutput . $sFilename . '.doc',
|
||||
$sFilenameOriginal . '.doc', $appData['APP_DRIVE_FOLDER_UID']);
|
||||
$oAppDocument->setDriveDownload('OUTPUT_DOC', $result->webContentLink);
|
||||
$fileIdDriveDoc = $result->id;
|
||||
break;
|
||||
}
|
||||
$aFields['DOC_VERSION'] = $oAppDocument->getDocVersion();// $docVersion;
|
||||
$aFields['APP_DOC_UID'] = $oAppDocument->getAppDocUid();//$appDocUid;
|
||||
$appDocUid = $aFields['APP_DOC_UID'];
|
||||
|
||||
$oAppDocument->update($aFields);
|
||||
//$option = 'pmDrive';
|
||||
|
||||
|
||||
//add permissions
|
||||
$criteria = new \Criteria('workflow');
|
||||
$criteria->addSelectColumn(\ApplicationPeer::PRO_UID);
|
||||
$criteria->addSelectColumn(\TaskUserPeer::TAS_UID);
|
||||
$criteria->addSelectColumn(\TaskUserPeer::USR_UID);
|
||||
$criteria->addSelectColumn(\TaskUserPeer::TU_RELATION);
|
||||
|
||||
$criteria->add(\ApplicationPeer::APP_UID, $applicationUid);
|
||||
$criteria->addJoin(\ApplicationPeer::PRO_UID, \TaskPeer::PRO_UID, \Criteria::LEFT_JOIN);
|
||||
$criteria->addJoin(\TaskPeer::TAS_UID, \TaskUserPeer::TAS_UID, \Criteria::LEFT_JOIN);
|
||||
|
||||
|
||||
$dataset = \ApplicationPeer::doSelectRS($criteria);
|
||||
$dataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
$userPermission = array();
|
||||
$case = new \Cases();
|
||||
|
||||
while ($dataset->next()) {
|
||||
$row = $dataset->getRow();
|
||||
if ($row['TU_RELATION'] == 1) {
|
||||
//users
|
||||
$dataUser = $user->load($row['USR_UID']);
|
||||
if (array_search($dataUser['USR_EMAIL'], $userPermission) === false) {
|
||||
$objectPermissions = $case->getAllObjects($row['PRO_UID'], $applicationUid,
|
||||
$row['TAS_UID'], $row['USR_UID']);
|
||||
if (array_search($appDocUid, $objectPermissions['OUTPUT_DOCUMENTS']) !== false) {
|
||||
$userPermission[] = $dataUser['USR_EMAIL'];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//Groups
|
||||
$criteria = new \Criteria('workflow');
|
||||
$criteria->addSelectColumn(\UsersPeer::USR_EMAIL);
|
||||
$criteria->addSelectColumn(\UsersPeer::USR_UID);
|
||||
$criteria->add(\GroupUserPeer::GRP_UID, $row['USR_UID']);
|
||||
$criteria->addJoin(\GroupUserPeer::USR_UID, \UsersPeer::USR_UID, \Criteria::LEFT_JOIN);
|
||||
|
||||
$oDataset = \AppDelegationPeer::doSelectRS($criteria);
|
||||
$oDataset->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ( $oDataset->next()) {
|
||||
$aRow = $oDataset->getRow();
|
||||
if (array_search($aRow['USR_EMAIL'], $userPermission) === false) {
|
||||
$objectPermissions = $case->getAllObjects($row['PRO_UID'], $applicationUid,
|
||||
$row['TAS_UID'], $aRow['USR_UID']);
|
||||
if (array_search($appDocUid, $objectPermissions['OUTPUT_DOCUMENTS']) !== false) {
|
||||
$userPermission[] = $aRow['USR_EMAIL'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$userPermission = array_unique($userPermission);
|
||||
|
||||
foreach ($userPermission as $key => $val) {
|
||||
$pmDrive->setPermission($appData['APP_DRIVE_FOLDER_UID'], $val, 'user', 'writer');
|
||||
$pmDrive->setPermission($fileIdDrivePdf, $val);
|
||||
$pmDrive->setPermission($fileIdDriveDoc, $val);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
//Plugin Hook PM_UPLOAD_DOCUMENT for upload document
|
||||
//G::LoadClass('plugin');
|
||||
$oPluginRegistry = & \PMPluginRegistry::getSingleton();
|
||||
|
||||
@@ -188,11 +188,14 @@ class Pmgmail {
|
||||
|
||||
$subject = "[PM] " .$proName. " (" . $index . ") Case: ". $appNumber;
|
||||
|
||||
//getting the default email server
|
||||
$defaultEmail = $this->emailAccount();
|
||||
|
||||
require_once (PATH_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "class.wsBase.php");
|
||||
$ws = new \wsBase();
|
||||
$resultMail = $ws->sendMessage(
|
||||
$app_uid,
|
||||
'inbox.pm@processmaker.com', //From,
|
||||
$defaultEmail, //From,
|
||||
$mail,//To,
|
||||
'',
|
||||
'',
|
||||
|
||||
Reference in New Issue
Block a user