CODE STYLE Formating worflow/engine/classes/model/AppFolder.php
CODE STYLE Formating worflow/engine/classes/model/Step.php Change format files in worflow/engine/classes/model/AppFolder.php Change format files in worflow/engine/classes/model/Step.php
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* AppFolder.php
|
||||
*
|
||||
* @package workflow.engine.classes.model
|
||||
*/
|
||||
|
||||
@@ -15,406 +16,414 @@ require_once 'classes/model/Application.php';
|
||||
* You should add additional methods to this class to meet the
|
||||
* application requirements. This class will only be generated as
|
||||
* long as it does not already exist in the output directory.
|
||||
*
|
||||
*/
|
||||
/**
|
||||
*
|
||||
* @author hugo loza
|
||||
* @package workflow.engine.classes.model
|
||||
*/
|
||||
class AppFolder extends BaseAppFolder {
|
||||
class AppFolder extends BaseAppFolder
|
||||
{
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $folderName
|
||||
* @param strin(32) $folderParent
|
||||
* @return Ambigous <>|number
|
||||
*/
|
||||
function createFolder($folderName, $folderParent = "/", $action="createifnotexists") {
|
||||
$validActions=array("createifnotexists","create","update");
|
||||
if(!in_array($action,$validActions)) $action="createifnotexists";
|
||||
function createFolder ($folderName, $folderParent = "/", $action = "createifnotexists")
|
||||
{
|
||||
$validActions = array ("createifnotexists","create","update"
|
||||
);
|
||||
if (! in_array( $action, $validActions )) {
|
||||
$action = "createifnotexists";
|
||||
}
|
||||
|
||||
//Clean Folder and Parent names (delete spaces...)
|
||||
$folderName=trim($folderName);
|
||||
$folderParent=trim($folderParent);
|
||||
$folderName = trim( $folderName );
|
||||
$folderParent = trim( $folderParent );
|
||||
//Try to Load the folder (Foldername+FolderParent)
|
||||
$oCriteria = new Criteria ( 'workflow' );
|
||||
$oCriteria->add ( AppFolderPeer::FOLDER_NAME, $folderName );
|
||||
$oCriteria->add ( AppFolderPeer::FOLDER_PARENT_UID, $folderParent );
|
||||
$oDataset = AppFolderPeer::doSelectRS ( $oCriteria );
|
||||
$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next ();
|
||||
if ($aRow = $oDataset->getRow ()) {//Folder exist, then return the ID
|
||||
$response['success']=false;
|
||||
$response['message']=$response['error']="Can't create folder <br /> A folder with same name already exist. <br /> $folderName";
|
||||
$response['folderUID']=$aRow ['FOLDER_UID'];
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( AppFolderPeer::FOLDER_NAME, $folderName );
|
||||
$oCriteria->add( AppFolderPeer::FOLDER_PARENT_UID, $folderParent );
|
||||
$oDataset = AppFolderPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
if ($aRow = $oDataset->getRow()) {
|
||||
//Folder exist, then return the ID
|
||||
$response['success'] = false;
|
||||
$response['message'] = $response['error'] = "Can't create folder <br /> A folder with same name already exist. <br /> $folderName";
|
||||
$response['folderUID'] = $aRow['FOLDER_UID'];
|
||||
//return ($aRow ['FOLDER_UID']);
|
||||
return ($response);
|
||||
} else {//Folder doesn't exist. Create and return the ID
|
||||
$folderUID = G::GenerateUniqueID ();
|
||||
$tr = new AppFolder ( );
|
||||
$tr->setFolderUid ( $folderUID );
|
||||
$tr->setFolderParentUid ( $folderParent );
|
||||
$tr->setFolderName ( $folderName );
|
||||
$tr->setFolderCreateDate ( 'now' );
|
||||
$tr->setFolderUpdateDate ( 'now' );
|
||||
if ($tr->validate ()) {
|
||||
} else {
|
||||
//Folder doesn't exist. Create and return the ID
|
||||
$folderUID = G::GenerateUniqueID();
|
||||
$tr = new AppFolder();
|
||||
$tr->setFolderUid( $folderUID );
|
||||
$tr->setFolderParentUid( $folderParent );
|
||||
$tr->setFolderName( $folderName );
|
||||
$tr->setFolderCreateDate( 'now' );
|
||||
$tr->setFolderUpdateDate( 'now' );
|
||||
if ($tr->validate()) {
|
||||
// we save it, since we get no validation errors, or do whatever else you like.
|
||||
$res = $tr->save ();
|
||||
$response['success']=true;
|
||||
$response['message']="Folder successfully created. <br /> $folderName";
|
||||
$response['folderUID']=$folderUID;
|
||||
$res = $tr->save();
|
||||
$response['success'] = true;
|
||||
$response['message'] = "Folder successfully created. <br /> $folderName";
|
||||
$response['folderUID'] = $folderUID;
|
||||
return ($response);
|
||||
//return $folderUID;
|
||||
} else {
|
||||
// Something went wrong. We can now get the validationFailures and handle them.
|
||||
$msg = '';
|
||||
$validationFailuresArray = $tr->getValidationFailures ();
|
||||
foreach ( $validationFailuresArray as $objValidationFailure ) {
|
||||
$msg .= $objValidationFailure->getMessage () . "<br/>";
|
||||
$validationFailuresArray = $tr->getValidationFailures();
|
||||
foreach ($validationFailuresArray as $objValidationFailure) {
|
||||
$msg .= $objValidationFailure->getMessage() . "<br/>";
|
||||
}
|
||||
$response['success']=false;
|
||||
|
||||
$response['message']=$response['error']="Can't create folder \n A \n ".$msg;
|
||||
$response['success'] = false;
|
||||
$response['message'] = $response['error'] = "Can't create folder \n A \n " . $msg;
|
||||
return ($response);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $folderPath
|
||||
* @param strin(32) $sessionID
|
||||
* @return string Last Folder ID generated
|
||||
*/
|
||||
function createFromPath($folderPath, $sessionID = "") {
|
||||
if ($sessionID == "")
|
||||
$sessionID = $_SESSION ['APPLICATION'];
|
||||
function createFromPath ($folderPath, $sessionID = "")
|
||||
{
|
||||
if ($sessionID == "") {
|
||||
$sessionID = $_SESSION['APPLICATION'];
|
||||
//Get current Application Fields
|
||||
$oApplication = new Application ( );
|
||||
|
||||
$appFields = $oApplication->Load ( $sessionID );
|
||||
|
||||
$folderPathParsed = G::replaceDataField ( $folderPath, $appFields );
|
||||
$folderPathParsed = G::replaceDataField ( $folderPath, unserialize ( $appFields ['APP_DATA'] ) );
|
||||
|
||||
$folderPathParsedArray = explode ( "/", $folderPathParsed );
|
||||
}
|
||||
|
||||
$oApplication = new Application();
|
||||
$appFields = $oApplication->Load( $sessionID );
|
||||
$folderPathParsed = G::replaceDataField( $folderPath, $appFields );
|
||||
$folderPathParsed = G::replaceDataField( $folderPath, unserialize( $appFields['APP_DATA'] ) );
|
||||
$folderPathParsedArray = explode( "/", $folderPathParsed );
|
||||
$folderRoot = "/"; //Always starting from Root
|
||||
foreach ( $folderPathParsedArray as $folderName ) {
|
||||
if (trim ( $folderName ) != "") {
|
||||
$response = $this->createFolder ( $folderName, $folderRoot );
|
||||
$folderRoot=$response['folderUID'];
|
||||
foreach ($folderPathParsedArray as $folderName) {
|
||||
if (trim( $folderName ) != "") {
|
||||
$response = $this->createFolder( $folderName, $folderRoot );
|
||||
$folderRoot = $response['folderUID'];
|
||||
}
|
||||
}
|
||||
return $folderRoot != "/" ? $folderRoot : "";
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $fileTags
|
||||
* @param string(32) $sessionID Application ID
|
||||
* @return string
|
||||
*/
|
||||
function parseTags($fileTags, $sessionID = "") {
|
||||
function parseTags ($fileTags, $sessionID = "")
|
||||
{
|
||||
|
||||
if ($sessionID == "")
|
||||
$sessionID = $_SESSION ['APPLICATION'];
|
||||
if ($sessionID == "") {
|
||||
$sessionID = $_SESSION['APPLICATION'];
|
||||
//Get current Application Fields
|
||||
$oApplication = new Application ( );
|
||||
|
||||
$appFields = $oApplication->Load ( $sessionID );
|
||||
|
||||
$fileTagsParsed = G::replaceDataField ( $fileTags, $appFields );
|
||||
$fileTagsParsed = G::replaceDataField ( $fileTags, unserialize ( $appFields ['APP_DATA'] ) );
|
||||
}
|
||||
|
||||
$oApplication = new Application();
|
||||
$appFields = $oApplication->Load( $sessionID );
|
||||
$fileTagsParsed = G::replaceDataField( $fileTags, $appFields );
|
||||
$fileTagsParsed = G::replaceDataField( $fileTags, unserialize( $appFields['APP_DATA'] ) );
|
||||
return $fileTagsParsed;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string(32) $folderID
|
||||
* @return multitype:
|
||||
*/
|
||||
function getFolderList($folderID, $limit=0, $start=0) {
|
||||
$Criteria = new Criteria ( 'workflow' );
|
||||
$Criteria->clearSelectColumns ()->clearOrderByColumns ();
|
||||
function getFolderList ($folderID, $limit = 0, $start = 0)
|
||||
{
|
||||
$Criteria = new Criteria( 'workflow' );
|
||||
$Criteria->clearSelectColumns()->clearOrderByColumns();
|
||||
$Criteria->addSelectColumn( AppFolderPeer::FOLDER_UID );
|
||||
$Criteria->addSelectColumn( AppFolderPeer::FOLDER_PARENT_UID );
|
||||
$Criteria->addSelectColumn( AppFolderPeer::FOLDER_NAME );
|
||||
$Criteria->addSelectColumn( AppFolderPeer::FOLDER_CREATE_DATE );
|
||||
$Criteria->addSelectColumn( AppFolderPeer::FOLDER_UPDATE_DATE );
|
||||
$Criteria->add( appFolderPeer::FOLDER_PARENT_UID, $folderID, CRITERIA::EQUAL );
|
||||
$Criteria->addAscendingOrderByColumn( AppFolderPeer::FOLDER_NAME );
|
||||
|
||||
$Criteria->addSelectColumn ( AppFolderPeer::FOLDER_UID );
|
||||
$Criteria->addSelectColumn ( AppFolderPeer::FOLDER_PARENT_UID );
|
||||
$Criteria->addSelectColumn ( AppFolderPeer::FOLDER_NAME );
|
||||
$Criteria->addSelectColumn ( AppFolderPeer::FOLDER_CREATE_DATE );
|
||||
$Criteria->addSelectColumn ( AppFolderPeer::FOLDER_UPDATE_DATE );
|
||||
$response['totalFoldersCount'] = AppFolderPeer::doCount( $Criteria );
|
||||
$response['folders'] = array ();
|
||||
|
||||
$Criteria->add ( appFolderPeer::FOLDER_PARENT_UID, $folderID, CRITERIA::EQUAL );
|
||||
if ($limit != 0) {
|
||||
$Criteria->setLimit( $limit );
|
||||
$Criteria->setOffset( $start );
|
||||
}
|
||||
|
||||
$Criteria->addAscendingOrderByColumn ( AppFolderPeer::FOLDER_NAME );
|
||||
|
||||
$response['totalFoldersCount'] = AppFolderPeer::doCount($Criteria);
|
||||
$response['folders'] = array();
|
||||
|
||||
if($limit != 0){
|
||||
|
||||
$Criteria->setLimit($limit);
|
||||
$Criteria->setOffset($start);
|
||||
}
|
||||
$rs = appFolderPeer::doSelectRS ( $Criteria );
|
||||
$rs->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next ();
|
||||
$rs = appFolderPeer::doSelectRS( $Criteria );
|
||||
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$folderResult = array ();
|
||||
while ( is_array ( $row = $rs->getRow () ) ) {
|
||||
$response['folders'] [] = $row;
|
||||
$rs->next ();
|
||||
while (is_array( $row = $rs->getRow() )) {
|
||||
$response['folders'][] = $row;
|
||||
$rs->next();
|
||||
}
|
||||
return ($response);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string(32) $folderUid
|
||||
* @return array <multitype:, mixed>
|
||||
*/
|
||||
function load($folderUid) {
|
||||
$tr = AppFolderPeer::retrieveByPK ( $folderUid );
|
||||
if ((is_object ( $tr ) && get_class ( $tr ) == 'AppFolder')) {
|
||||
$fields ['FOLDER_UID'] = $tr->getFolderUid ();
|
||||
$fields ['FOLDER_PARENT_UID'] = $tr->getFolderParentUid ();
|
||||
$fields ['FOLDER_NAME'] = $tr->getFolderName ();
|
||||
$fields ['FOLDER_CREATE_DATE'] = $tr->getFolderCreateDate ();
|
||||
$fields ['FOLDER_UPDATE_DATE'] = $tr->getFolderUpdateDate ();
|
||||
function load ($folderUid)
|
||||
{
|
||||
$tr = AppFolderPeer::retrieveByPK( $folderUid );
|
||||
if ((is_object( $tr ) && get_class( $tr ) == 'AppFolder')) {
|
||||
$fields['FOLDER_UID'] = $tr->getFolderUid();
|
||||
$fields['FOLDER_PARENT_UID'] = $tr->getFolderParentUid();
|
||||
$fields['FOLDER_NAME'] = $tr->getFolderName();
|
||||
$fields['FOLDER_CREATE_DATE'] = $tr->getFolderCreateDate();
|
||||
$fields['FOLDER_UPDATE_DATE'] = $tr->getFolderUpdateDate();
|
||||
} elseif ($folderUid == "/") {
|
||||
$fields ['FOLDER_UID'] = "/";
|
||||
$fields ['FOLDER_PARENT_UID'] = "";
|
||||
$fields ['FOLDER_NAME'] = "/";
|
||||
$fields ['FOLDER_CREATE_DATE'] = "";
|
||||
$fields ['FOLDER_UPDATE_DATE'] = "";
|
||||
$fields['FOLDER_UID'] = "/";
|
||||
$fields['FOLDER_PARENT_UID'] = "";
|
||||
$fields['FOLDER_NAME'] = "/";
|
||||
$fields['FOLDER_CREATE_DATE'] = "";
|
||||
$fields['FOLDER_UPDATE_DATE'] = "";
|
||||
} else {
|
||||
// $fields = array ();
|
||||
$fields ['FOLDER_UID'] = "/";
|
||||
$fields ['FOLDER_PARENT_UID'] = "";
|
||||
$fields ['FOLDER_NAME'] = "root";
|
||||
$fields ['FOLDER_CREATE_DATE'] = "";
|
||||
$fields ['FOLDER_UPDATE_DATE'] = "";
|
||||
// $fields = array ();
|
||||
$fields['FOLDER_UID'] = "/";
|
||||
$fields['FOLDER_PARENT_UID'] = "";
|
||||
$fields['FOLDER_NAME'] = "root";
|
||||
$fields['FOLDER_CREATE_DATE'] = "";
|
||||
$fields['FOLDER_UPDATE_DATE'] = "";
|
||||
}
|
||||
return $fields;
|
||||
}
|
||||
function getFolderStructure($folderId) {
|
||||
|
||||
$folderObj = $this->load ( $folderId );
|
||||
$folderArray [$folderObj ['FOLDER_UID']] = array ("NAME" => $folderObj ['FOLDER_NAME'], "PARENT" => $folderObj ['FOLDER_PARENT_UID'] );
|
||||
$folderArray ['PATH_ARRAY'] [] = $folderObj ['FOLDER_NAME'];
|
||||
function getFolderStructure ($folderId)
|
||||
{
|
||||
$folderObj = $this->load( $folderId );
|
||||
$folderArray[$folderObj['FOLDER_UID']] = array ("NAME" => $folderObj['FOLDER_NAME'],"PARENT" => $folderObj['FOLDER_PARENT_UID']
|
||||
);
|
||||
$folderArray['PATH_ARRAY'][] = $folderObj['FOLDER_NAME'];
|
||||
|
||||
while ( $folderObj ['FOLDER_PARENT_UID'] != "" ) {
|
||||
$folderObj = $this->load ( $folderObj ['FOLDER_PARENT_UID'] );
|
||||
$folderArray [$folderObj ['FOLDER_UID']] = array ("NAME" => $folderObj ['FOLDER_NAME'], "PARENT" => $folderObj ['FOLDER_PARENT_UID'] );
|
||||
$folderArray ['PATH_ARRAY'] [] = $folderObj ['FOLDER_NAME'];
|
||||
while ($folderObj['FOLDER_PARENT_UID'] != "") {
|
||||
$folderObj = $this->load( $folderObj['FOLDER_PARENT_UID'] );
|
||||
$folderArray[$folderObj['FOLDER_UID']] = array ("NAME" => $folderObj['FOLDER_NAME'],"PARENT" => $folderObj['FOLDER_PARENT_UID']);
|
||||
$folderArray['PATH_ARRAY'][] = $folderObj['FOLDER_NAME'];
|
||||
}
|
||||
|
||||
$folderArray ['PATH'] = str_replace ( "//", "/", implode ( "/", array_reverse ( $folderArray ['PATH_ARRAY'] ) ) );
|
||||
$folderArray['PATH'] = str_replace( "//", "/", implode( "/", array_reverse( $folderArray['PATH_ARRAY'] ) ) );
|
||||
return $folderArray;
|
||||
}
|
||||
|
||||
function getFolderContent($folderID, $docIdFilter = array(), $keyword = NULL, $searchType = NULL, $limit=0, $start=0, $user='', $onlyActive=false) {
|
||||
function getFolderContent ($folderID, $docIdFilter = array(), $keyword = null, $searchType = null, $limit = 0, $start = 0, $user = '', $onlyActive = false)
|
||||
{
|
||||
require_once ("classes/model/AppDocument.php");
|
||||
require_once ("classes/model/InputDocument.php");
|
||||
require_once ("classes/model/OutputDocument.php");
|
||||
require_once ("classes/model/Users.php");
|
||||
|
||||
G::LoadClass ( 'case' );
|
||||
$oCase = new Cases ( );
|
||||
G::LoadClass ( 'process' );
|
||||
$oProcess = new Process ( );
|
||||
G::LoadClass( 'case' );
|
||||
$oCase = new Cases();
|
||||
G::LoadClass( 'process' );
|
||||
$oProcess = new Process();
|
||||
|
||||
$oAppDocument = new AppDocument ( );
|
||||
$oCriteria = new Criteria ( );
|
||||
$oAppDocument = new AppDocument();
|
||||
$oCriteria = new Criteria();
|
||||
|
||||
if ((is_array ( $docIdFilter )) && (count ( $docIdFilter ) > 0)) { //Search by App Doc UID no matter what Folder it is
|
||||
$oCriteria->add ( AppDocumentPeer::APP_DOC_UID, $docIdFilter, CRITERIA::IN );
|
||||
} elseif ($folderID != NULL) {
|
||||
if($folderID=="/"){
|
||||
$oCriteria->add ( AppDocumentPeer::FOLDER_UID, array('root','',NULL), CRITERIA::IN );
|
||||
}else{
|
||||
$oCriteria->add ( AppDocumentPeer::FOLDER_UID, $folderID );
|
||||
if ((is_array( $docIdFilter )) && (count( $docIdFilter ) > 0)) {
|
||||
//Search by App Doc UID no matter what Folder it is
|
||||
$oCriteria->add( AppDocumentPeer::APP_DOC_UID, $docIdFilter, CRITERIA::IN );
|
||||
} elseif ($folderID != null) {
|
||||
if ($folderID == "/") {
|
||||
$oCriteria->add( AppDocumentPeer::FOLDER_UID, array ('root','',null), CRITERIA::IN );
|
||||
} else {
|
||||
$oCriteria->add( AppDocumentPeer::FOLDER_UID, $folderID );
|
||||
}
|
||||
} elseif ($searchType == "TAG") {
|
||||
$oCriteria->add ( AppDocumentPeer::APP_DOC_TAGS, "%" . $keyword . "%", CRITERIA::LIKE );
|
||||
$oCriteria->add( AppDocumentPeer::APP_DOC_TAGS, "%" . $keyword . "%", CRITERIA::LIKE );
|
||||
}
|
||||
|
||||
if ($user != '') {
|
||||
require_once ("classes/model/AppDelegation.php");
|
||||
$criteria = new Criteria ();
|
||||
$criteria->addSelectColumn (AppDelegationPeer::APP_UID);
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn( AppDelegationPeer::APP_UID );
|
||||
$criteria->setDistinct();
|
||||
|
||||
$conditions = array ();
|
||||
$conditions [] = array (AppDelegationPeer::APP_UID, AppDocumentPeer::APP_UID);
|
||||
$conditions [] = array (AppDelegationPeer::DEL_INDEX, AppDocumentPeer::DEL_INDEX);
|
||||
$conditions[] = array (AppDelegationPeer::APP_UID,AppDocumentPeer::APP_UID);
|
||||
$conditions[] = array (AppDelegationPeer::DEL_INDEX,AppDocumentPeer::DEL_INDEX);
|
||||
|
||||
$criteria->addJoinMC($conditions, Criteria::LEFT_JOIN);
|
||||
$criteria->addJoinMC( $conditions, Criteria::LEFT_JOIN );
|
||||
|
||||
$criteria->add(AppDelegationPeer::USR_UID, $user);
|
||||
$criteria->add( AppDelegationPeer::USR_UID, $user );
|
||||
|
||||
$rs2 = AppDocumentPeer::doSelectRS($criteria);
|
||||
$rs2 = AppDocumentPeer::doSelectRS( $criteria );
|
||||
|
||||
$rs2->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$data = array();
|
||||
$rs2->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$data = array ();
|
||||
while ($rs2->next()) {
|
||||
$row = $rs2->getRow();
|
||||
$data[] = $row['APP_UID'];
|
||||
}
|
||||
$oCriteria->add ( AppDocumentPeer::APP_UID, $data, CRITERIA::IN );
|
||||
$oCriteria->add( AppDocumentPeer::APP_UID, $data, CRITERIA::IN );
|
||||
}
|
||||
if ($onlyActive){
|
||||
$oCriteria->add(AppDocumentPeer::APP_DOC_STATUS, 'ACTIVE');
|
||||
if ($onlyActive) {
|
||||
$oCriteria->add( AppDocumentPeer::APP_DOC_STATUS, 'ACTIVE' );
|
||||
}
|
||||
|
||||
$oCase->verifyTable ();
|
||||
$oCase->verifyTable();
|
||||
|
||||
$oCriteria->addAscendingOrderByColumn( AppDocumentPeer::APP_DOC_INDEX );
|
||||
$oCriteria->addDescendingOrderByColumn( AppDocumentPeer::DOC_VERSION );
|
||||
|
||||
$oCriteria->addAscendingOrderByColumn ( AppDocumentPeer::APP_DOC_INDEX );
|
||||
$oCriteria->addDescendingOrderByColumn ( AppDocumentPeer::DOC_VERSION );
|
||||
$response['totalDocumentsCount'] = AppDocumentPeer::doCount( $oCriteria );
|
||||
$response['documents'] = array ();
|
||||
|
||||
$oCriteria->setLimit( $limit );
|
||||
$oCriteria->setOffset( $start );
|
||||
|
||||
$response['totalDocumentsCount'] = AppDocumentPeer::doCount($oCriteria);
|
||||
$response['documents'] = array();
|
||||
|
||||
|
||||
|
||||
$oCriteria->setLimit($limit);
|
||||
$oCriteria->setOffset($start);
|
||||
|
||||
|
||||
$rs = AppDocumentPeer::doSelectRS ( $oCriteria );
|
||||
$rs->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next ();
|
||||
$rs = AppDocumentPeer::doSelectRS( $oCriteria );
|
||||
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$filesResult = array ();
|
||||
while ( is_array ( $row = $rs->getRow () ) ) {
|
||||
while (is_array( $row = $rs->getRow() )) {
|
||||
//**** start get Doc Info
|
||||
$oApp = new Application ( );
|
||||
if (($oApp->exists ( $row ['APP_UID'] )) || ($row ['APP_UID'] == "00000000000000000000000000000000")) {
|
||||
|
||||
$oApp = new Application();
|
||||
if (($oApp->exists( $row['APP_UID'] )) || ($row['APP_UID'] == "00000000000000000000000000000000")) {
|
||||
//$completeInfo = array("APP_DOC_FILENAME" => $row ["APP_DOC_UID"],"APP_DOC_UID"=>$row ['APP_UID']);
|
||||
$completeInfo = $this->getCompleteDocumentInfo ( $row ['APP_UID'], $row ['APP_DOC_UID'], $row ['DOC_VERSION'], $row ['DOC_UID'], $row ['USR_UID'] );
|
||||
|
||||
$oAppDocument = new AppDocument ( );
|
||||
$lastVersion = $oAppDocument->getLastAppDocVersion ( $row ['APP_DOC_UID'], $row ['APP_UID'] );
|
||||
$completeInfo = $this->getCompleteDocumentInfo( $row['APP_UID'], $row['APP_DOC_UID'], $row['DOC_VERSION'], $row['DOC_UID'], $row['USR_UID'] );
|
||||
$oAppDocument = new AppDocument();
|
||||
$lastVersion = $oAppDocument->getLastAppDocVersion( $row['APP_DOC_UID'], $row['APP_UID'] );
|
||||
//$filesResult [] = $completeInfo;
|
||||
if ($completeInfo ['APP_DOC_STATUS'] != "DELETED") {
|
||||
if ((in_array ( $row ['APP_DOC_UID'], $completeInfo ['INPUT_DOCUMENTS'] )) || (in_array ( $row ['APP_DOC_UID'], $completeInfo ['OUTPUT_DOCUMENTS'] )) || (in_array ( $completeInfo ['USR_UID'], array ($_SESSION ['USER_LOGGED'], '-1' ) ))) {
|
||||
if (count ( $docIdFilter ) > 0) {
|
||||
if (in_array ( $row ['APP_DOC_UID'], $docIdFilter )) {
|
||||
if ($completeInfo['APP_DOC_STATUS'] != "DELETED") {
|
||||
if ((in_array( $row['APP_DOC_UID'], $completeInfo['INPUT_DOCUMENTS'] )) || (in_array( $row['APP_DOC_UID'], $completeInfo['OUTPUT_DOCUMENTS'] )) || (in_array( $completeInfo['USR_UID'], array ($_SESSION['USER_LOGGED'],'-1') ))) {
|
||||
if (count( $docIdFilter ) > 0) {
|
||||
if (in_array( $row['APP_DOC_UID'], $docIdFilter )) {
|
||||
$response['documents'][] = $completeInfo;
|
||||
}
|
||||
} elseif ($lastVersion == $row ['DOC_VERSION']) { //Only Last Document version
|
||||
if ($searchType == "ALL") {// If search in name of docs is active then filter
|
||||
if ((stripos ( $completeInfo ['APP_DOC_FILENAME'], $keyword ) !== false) || (stripos ( $completeInfo ['APP_DOC_TAGS'], $keyword ) !== false)) {
|
||||
} elseif ($lastVersion == $row['DOC_VERSION']) {
|
||||
//Only Last Document version
|
||||
if ($searchType == "ALL") { // If search in name of docs is active then filter
|
||||
if ((stripos( $completeInfo['APP_DOC_FILENAME'], $keyword ) !== false) || (stripos( $completeInfo['APP_DOC_TAGS'], $keyword ) !== false)) {
|
||||
$response['documents'][] = $completeInfo;
|
||||
}
|
||||
} else {//No search filter active
|
||||
} else {
|
||||
//No search filter active
|
||||
$response['documents'][] = $completeInfo;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
$rs->next ();
|
||||
$rs->next();
|
||||
}
|
||||
return ($response);
|
||||
}
|
||||
function getCompleteDocumentInfo($appUid, $appDocUid, $docVersion, $docUid, $usrId) {
|
||||
|
||||
function getCompleteDocumentInfo ($appUid, $appDocUid, $docVersion, $docUid, $usrId)
|
||||
{
|
||||
require_once ("classes/model/AppDocument.php");
|
||||
require_once ("classes/model/InputDocument.php");
|
||||
require_once ("classes/model/OutputDocument.php");
|
||||
require_once ("classes/model/Users.php");
|
||||
//**** start get Doc Info
|
||||
$oApp = new Application ( );
|
||||
$oAppDocument = new AppDocument ( );
|
||||
G::LoadClass ( 'case' );
|
||||
$oCase = new Cases ( );
|
||||
G::LoadClass ( 'process' );
|
||||
$oProcess = new Process ( );
|
||||
if (($oApp->exists ( $appUid )) || ($appUid == "00000000000000000000000000000000")) {
|
||||
$oApp = new Application();
|
||||
$oAppDocument = new AppDocument();
|
||||
G::LoadClass( 'case' );
|
||||
$oCase = new Cases();
|
||||
G::LoadClass( 'process' );
|
||||
$oProcess = new Process();
|
||||
if (($oApp->exists( $appUid )) || ($appUid == "00000000000000000000000000000000")) {
|
||||
if ($appUid == "00000000000000000000000000000000") { //External Files
|
||||
$row1 = $oAppDocument->load ( $appDocUid, $docVersion );
|
||||
$row2 = array ('PRO_TITLE' => G::LoadTranslation ( 'ID_NOT_PROCESS_RELATED' ) );
|
||||
$row3 = array ('APP_TITLE' => G::LoadTranslation ( 'ID_NOT_PROCESS_RELATED' ) );
|
||||
$row1 = $oAppDocument->load( $appDocUid, $docVersion );
|
||||
$row2 = array ('PRO_TITLE' => G::LoadTranslation( 'ID_NOT_PROCESS_RELATED' ));
|
||||
$row3 = array ('APP_TITLE' => G::LoadTranslation( 'ID_NOT_PROCESS_RELATED' ));
|
||||
} else {
|
||||
$row1 = $oAppDocument->load ( $appDocUid, $docVersion );
|
||||
$row2 = $oCase->loadCase ( $appUid );
|
||||
$row3 = $oProcess->Load ( $row2 ['PRO_UID'] );
|
||||
$row1 = $oAppDocument->load( $appDocUid, $docVersion );
|
||||
$row2 = $oCase->loadCase( $appUid );
|
||||
$row3 = $oProcess->Load( $row2['PRO_UID'] );
|
||||
}
|
||||
$lastVersion = $oAppDocument->getLastAppDocVersion ( $appDocUid, $appUid );
|
||||
$lastVersion = $oAppDocument->getLastAppDocVersion( $appDocUid, $appUid );
|
||||
|
||||
switch ($row1 ['APP_DOC_TYPE']) {
|
||||
case "OUTPUT" :
|
||||
$oOutputDocument = new OutputDocument ( );
|
||||
$row4 = $oOutputDocument->load ( $docUid );
|
||||
switch ($row1['APP_DOC_TYPE']) {
|
||||
case "OUTPUT":
|
||||
$oOutputDocument = new OutputDocument();
|
||||
$row4 = $oOutputDocument->load( $docUid );
|
||||
$versioningEnabled = false; //$row4['OUT_DOC_VERSIONING']; //Only enabled for Input or Attached documents. Need to study the best way for Output docs.
|
||||
switch ($row4 ['OUT_DOC_GENERATE']) {
|
||||
case "PDF" :
|
||||
$downloadLink = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=pdf" . "&random=" . rand ();
|
||||
switch ($row4['OUT_DOC_GENERATE']) {
|
||||
case "PDF":
|
||||
$downloadLink = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=pdf" . "&random=" . rand();
|
||||
$downloadLink1 = "";
|
||||
$downloadLabel = ".pdf";
|
||||
$downloadLabel1 = "";
|
||||
break;
|
||||
case "DOC" :
|
||||
$downloadLink = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=doc" . "&random=" . rand ();
|
||||
case "DOC":
|
||||
$downloadLink = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=doc" . "&random=" . rand();
|
||||
$downloadLink1 = "";
|
||||
$downloadLabel = ".doc";
|
||||
$downloadLabel1 = "";
|
||||
break;
|
||||
case "BOTH" :
|
||||
$downloadLink = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=pdf" . "&random=" . rand ();
|
||||
$downloadLink1 = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=doc" . "&random=" . rand ();
|
||||
case "BOTH":
|
||||
$downloadLink = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=pdf" . "&random=" . rand();
|
||||
$downloadLink1 = "../cases/cases_ShowOutputDocument?a=" . $appDocUid . "&v=" . $docVersion . "&ext=doc" . "&random=" . rand();
|
||||
$downloadLabel = ".pdf";
|
||||
$downloadLabel1 = ".doc";
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case "INPUT" :
|
||||
case "INPUT":
|
||||
$oInputDocument = new InputDocument();
|
||||
if ($docUid != - 1) {
|
||||
if ($oInputDocument->InputExists ( $docUid )) {
|
||||
$row4 = $oInputDocument->load ( $docUid );
|
||||
$versioningEnabled = $row4 ['INP_DOC_VERSIONING'];
|
||||
if ($oInputDocument->InputExists( $docUid )) {
|
||||
$row4 = $oInputDocument->load( $docUid );
|
||||
$versioningEnabled = $row4['INP_DOC_VERSIONING'];
|
||||
} else {
|
||||
$row4 = array ();
|
||||
$versioningEnabled = false;
|
||||
}
|
||||
$downloadLink = "../cases/cases_ShowDocument?a=" . $appDocUid . "&v=" . $docVersion;
|
||||
$downloadLink1 = "";
|
||||
$downloadLabel = G::LoadTranslation ( 'ID_DOWNLOAD' );
|
||||
$downloadLabel = G::LoadTranslation( 'ID_DOWNLOAD' );
|
||||
$downloadLabel1 = "";
|
||||
} else {
|
||||
$row4 = array ();
|
||||
$versioningEnabled = false;
|
||||
$downloadLink = "../cases/cases_ShowDocument?a=" . $appDocUid . "&v=" . $docVersion;
|
||||
$downloadLink1 = "";
|
||||
$downloadLabel = G::LoadTranslation ( 'ID_DOWNLOAD' );
|
||||
$downloadLabel = G::LoadTranslation( 'ID_DOWNLOAD' );
|
||||
$downloadLabel1 = "";
|
||||
}
|
||||
|
||||
///////
|
||||
if (!empty($row1["APP_DOC_PLUGIN"])) {
|
||||
if (! empty( $row1["APP_DOC_PLUGIN"] )) {
|
||||
$pluginRegistry = &PMPluginRegistry::getSingleton();
|
||||
|
||||
$pluginName = $row1["APP_DOC_PLUGIN"];
|
||||
$fieldValue = "";
|
||||
|
||||
if (file_exists(PATH_PLUGINS . $pluginName . ".php")) {
|
||||
$pluginDetail = $pluginRegistry->getPluginDetails($pluginName . ".php");
|
||||
if (file_exists( PATH_PLUGINS . $pluginName . ".php" )) {
|
||||
$pluginDetail = $pluginRegistry->getPluginDetails( $pluginName . ".php" );
|
||||
|
||||
if ($pluginDetail) {
|
||||
if ($pluginDetail->enabled) {
|
||||
require_once (PATH_PLUGINS . $pluginName . ".php");
|
||||
|
||||
$pluginNameClass = $pluginName . "Plugin";
|
||||
$objPluginClass = new $pluginNameClass( $pluginName );
|
||||
|
||||
$objPluginClass = new $pluginNameClass($pluginName);
|
||||
|
||||
if (isset($objPluginClass->sMethodGetUrlDownload) && !empty($objPluginClass->sMethodGetUrlDownload)) {
|
||||
if (file_exists(PATH_PLUGINS . $pluginName . PATH_SEP . "class." . $pluginName . ".php")) {
|
||||
if (isset( $objPluginClass->sMethodGetUrlDownload ) && ! empty( $objPluginClass->sMethodGetUrlDownload )) {
|
||||
if (file_exists( PATH_PLUGINS . $pluginName . PATH_SEP . "class." . $pluginName . ".php" )) {
|
||||
require_once (PATH_PLUGINS . $pluginName . PATH_SEP . "class." . $pluginName . ".php");
|
||||
|
||||
$pluginNameClass = $pluginName . "Class";
|
||||
|
||||
$objClass = new $pluginNameClass();
|
||||
|
||||
if (method_exists($objClass, $objPluginClass->sMethodGetUrlDownload)) {
|
||||
eval("\$url = \$objClass->" . $objPluginClass->sMethodGetUrlDownload . "(\"" . $row1["APP_DOC_UID"] . "\");");
|
||||
if (method_exists( $objClass, $objPluginClass->sMethodGetUrlDownload )) {
|
||||
eval( "\$url = \$objClass->" . $objPluginClass->sMethodGetUrlDownload . "(\"" . $row1["APP_DOC_UID"] . "\");" );
|
||||
$downloadLink = $url;
|
||||
|
||||
$fieldValue = $row1["APP_DOC_PLUGIN"];
|
||||
}
|
||||
}
|
||||
@@ -422,122 +431,127 @@ if($limit != 0){
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$row1["APP_DOC_PLUGIN"] = $fieldValue;
|
||||
}
|
||||
break;
|
||||
|
||||
default :
|
||||
default:
|
||||
$row4 = array ();
|
||||
$versioningEnabled = false;
|
||||
$downloadLink = "../cases/cases_ShowDocument?a=" . $appDocUid . "&v=" . $docVersion;
|
||||
$downloadLink1 = "";
|
||||
$downloadLabel = G::LoadTranslation ( 'ID_DOWNLOAD' );
|
||||
$downloadLabel = G::LoadTranslation( 'ID_DOWNLOAD' );
|
||||
$downloadLabel1 = "";
|
||||
break;
|
||||
|
||||
}
|
||||
$oUser = new Users ( );
|
||||
if (($usrId != "-1")&&($oUser->userExists($usrId))) {
|
||||
$row5 = $oUser->load ( $usrId );
|
||||
$oUser = new Users();
|
||||
if (($usrId != "-1") && ($oUser->userExists( $usrId ))) {
|
||||
$row5 = $oUser->load( $usrId );
|
||||
} else {
|
||||
$row5 ['USR_USERNAME'] = "***";
|
||||
$row5['USR_USERNAME'] = "***";
|
||||
}
|
||||
|
||||
//Labels/Links
|
||||
$row6 = array ();
|
||||
$row6 ['DELETE_LABEL'] = G::LoadTranslation('ID_DELETE');
|
||||
$row6 ['DOWNLOAD_LABEL'] = $downloadLabel;
|
||||
$row6 ['DOWNLOAD_LINK'] = $downloadLink;
|
||||
$row6 ['DOWNLOAD_LABEL1'] = $downloadLabel1;
|
||||
$row6 ['DOWNLOAD_LINK1'] = $downloadLink1;
|
||||
$row6['DELETE_LABEL'] = G::LoadTranslation( 'ID_DELETE' );
|
||||
$row6['DOWNLOAD_LABEL'] = $downloadLabel;
|
||||
$row6['DOWNLOAD_LINK'] = $downloadLink;
|
||||
$row6['DOWNLOAD_LABEL1'] = $downloadLabel1;
|
||||
$row6['DOWNLOAD_LINK1'] = $downloadLink1;
|
||||
//if(($docVersion>1)&&($row1['APP_DOC_TYPE']!="OUTPUT")){
|
||||
if (($docVersion > 1)) {
|
||||
$row6 ['VERSIONHISTORY_LABEL'] = G::LoadTranslation ( 'ID_VERSION_HISTORY' );
|
||||
$row6['VERSIONHISTORY_LABEL'] = G::LoadTranslation( 'ID_VERSION_HISTORY' );
|
||||
}
|
||||
if ($versioningEnabled) {
|
||||
$row6 ['NEWVERSION_LABEL'] = G::LoadTranslation ( 'ID_NEW_VERSION' );
|
||||
$row6['NEWVERSION_LABEL'] = G::LoadTranslation( 'ID_NEW_VERSION' );
|
||||
}
|
||||
$row6 ['APP_DOC_UID_VERSION'] = $appDocUid . "_" . $docVersion;
|
||||
$row6['APP_DOC_UID_VERSION'] = $appDocUid . "_" . $docVersion;
|
||||
|
||||
if ($appUid == "00000000000000000000000000000000") { //External Files
|
||||
$row1 ['APP_DOC_TYPE'] = G::LoadTranslation ( 'ID_EXTERNAL_FILE' );
|
||||
if ($appUid == "00000000000000000000000000000000") {
|
||||
//External Files
|
||||
$row1['APP_DOC_TYPE'] = G::LoadTranslation( 'ID_EXTERNAL_FILE' );
|
||||
}
|
||||
//**** End get docinfo
|
||||
|
||||
|
||||
$infoMerged = array_merge ( $row1, $row2, $row3, $row4, $row5, $row6 );
|
||||
$infoMerged = array_merge( $row1, $row2, $row3, $row4, $row5, $row6 );
|
||||
//krumo($infoMerged);
|
||||
//****************************************************************************************************
|
||||
$sUserUID = $_SESSION ['USER_LOGGED'];
|
||||
$sUserUID = $_SESSION['USER_LOGGED'];
|
||||
$aObjectPermissions = array ();
|
||||
if (isset ( $infoMerged ['PRO_UID'] )) {
|
||||
$aObjectPermissions = $oCase->getAllObjects ( $infoMerged ['PRO_UID'], $infoMerged ['APP_UID'], '', $sUserUID );
|
||||
if (isset( $infoMerged['PRO_UID'] )) {
|
||||
$aObjectPermissions = $oCase->getAllObjects( $infoMerged['PRO_UID'], $infoMerged['APP_UID'], '', $sUserUID );
|
||||
}
|
||||
|
||||
if (! is_array ( $aObjectPermissions )) {
|
||||
$aObjectPermissions = array ('DYNAFORMS' => array (- 1 ), 'INPUT_DOCUMENTS' => array (- 1 ), 'OUTPUT_DOCUMENTS' => array (- 1 ) );
|
||||
if (! is_array( $aObjectPermissions )) {
|
||||
$aObjectPermissions = array ('DYNAFORMS' => array (- 1),
|
||||
'INPUT_DOCUMENTS' => array (- 1),
|
||||
'OUTPUT_DOCUMENTS' => array (- 1)
|
||||
);
|
||||
}
|
||||
if (! isset ( $aObjectPermissions ['DYNAFORMS'] )) {
|
||||
$aObjectPermissions ['DYNAFORMS'] = array (- 1 );
|
||||
if (! isset( $aObjectPermissions['DYNAFORMS'] )) {
|
||||
$aObjectPermissions['DYNAFORMS'] = array (- 1);
|
||||
} else {
|
||||
if (! is_array ( $aObjectPermissions ['DYNAFORMS'] )) {
|
||||
$aObjectPermissions ['DYNAFORMS'] = array (- 1 );
|
||||
if (! is_array( $aObjectPermissions['DYNAFORMS'] )) {
|
||||
$aObjectPermissions['DYNAFORMS'] = array (- 1);
|
||||
}
|
||||
}
|
||||
if (! isset ( $aObjectPermissions ['INPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions ['INPUT_DOCUMENTS'] = array (- 1 );
|
||||
if (! isset( $aObjectPermissions['INPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions['INPUT_DOCUMENTS'] = array (- 1);
|
||||
} else {
|
||||
if (! is_array ( $aObjectPermissions ['INPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions ['INPUT_DOCUMENTS'] = array (- 1 );
|
||||
if (! is_array( $aObjectPermissions['INPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions['INPUT_DOCUMENTS'] = array (- 1);
|
||||
}
|
||||
}
|
||||
if (! isset ( $aObjectPermissions ['OUTPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions ['OUTPUT_DOCUMENTS'] = array (- 1 );
|
||||
if (! isset( $aObjectPermissions['OUTPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions['OUTPUT_DOCUMENTS'] = array (- 1);
|
||||
} else {
|
||||
if (! is_array ( $aObjectPermissions ['OUTPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions ['OUTPUT_DOCUMENTS'] = array (- 1 );
|
||||
if (! is_array( $aObjectPermissions['OUTPUT_DOCUMENTS'] )) {
|
||||
$aObjectPermissions['OUTPUT_DOCUMENTS'] = array (- 1);
|
||||
}
|
||||
}
|
||||
//****************************************************************************************************
|
||||
|
||||
|
||||
return array_merge ( $infoMerged, $aObjectPermissions );
|
||||
return array_merge( $infoMerged, $aObjectPermissions );
|
||||
}
|
||||
}
|
||||
function getFolderChilds($folderID, $folderArray) {
|
||||
$folderList = $this->getFolderList ( $folderID );
|
||||
|
||||
function getFolderChilds ($folderID, $folderArray)
|
||||
{
|
||||
$folderList = $this->getFolderList( $folderID );
|
||||
$foldersList = array ();
|
||||
foreach ( $folderList as $key => $folderObj ) {
|
||||
$foldersList [$folderObj ['FOLDER_UID']] = $folderObj ['FOLDER_NAME'];
|
||||
$foldersList = array_merge ( $foldersList, $this->getFolderChilds ( $folderObj ['FOLDER_UID'], $folderArray ) );
|
||||
foreach ($folderList as $key => $folderObj) {
|
||||
$foldersList[$folderObj['FOLDER_UID']] = $folderObj['FOLDER_NAME'];
|
||||
$foldersList = array_merge( $foldersList, $this->getFolderChilds( $folderObj['FOLDER_UID'], $folderArray ) );
|
||||
}
|
||||
return (array_merge ( $folderArray, $foldersList ));
|
||||
return (array_merge( $folderArray, $foldersList ));
|
||||
}
|
||||
|
||||
function getFolderTags($rootFolder) {
|
||||
$folderArray [$rootFolder] = $rootFolder;
|
||||
$foldersToProcess = $this->getFolderChilds ( $rootFolder, $folderArray );
|
||||
function getFolderTags ($rootFolder)
|
||||
{
|
||||
$folderArray[$rootFolder] = $rootFolder;
|
||||
$foldersToProcess = $this->getFolderChilds( $rootFolder, $folderArray );
|
||||
$tagsInfo = array ();
|
||||
|
||||
foreach ( $foldersToProcess as $folderkey => $foldername ) {
|
||||
$filesList = $this->getFolderContent ( $folderkey );
|
||||
foreach ($foldersToProcess as $folderkey => $foldername) {
|
||||
$filesList = $this->getFolderContent( $folderkey );
|
||||
|
||||
foreach ( $filesList as $key => $fileInfo ) {
|
||||
$fileTags = explode ( ",", $fileInfo ['APP_DOC_TAGS'] );
|
||||
foreach ( $fileTags as $key1 => $tag ) {
|
||||
if (! (isset ( $tagsInfo [$tag] )))
|
||||
$tagsInfo [$tag] = 0;
|
||||
$tagsInfo [$tag] ++;
|
||||
foreach ($filesList as $key => $fileInfo) {
|
||||
$fileTags = explode( ",", $fileInfo['APP_DOC_TAGS'] );
|
||||
foreach ($fileTags as $key1 => $tag) {
|
||||
if (! (isset( $tagsInfo[$tag] )))
|
||||
$tagsInfo[$tag] = 0;
|
||||
$tagsInfo[$tag] ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tagsInfo;
|
||||
|
||||
}
|
||||
function remove ($FolderUid, $rootfolder ) {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add ( AppFolderPeer::FOLDER_UID, $FolderUid );
|
||||
AppFolderPeer::doDelete($oCriteria);
|
||||
|
||||
function remove ($FolderUid, $rootfolder)
|
||||
{
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( AppFolderPeer::FOLDER_UID, $FolderUid );
|
||||
AppFolderPeer::doDelete( $oCriteria );
|
||||
}
|
||||
} // AppFolder
|
||||
}
|
||||
// AppFolder
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* Step.php
|
||||
*
|
||||
* @package workflow.engine.classes.model
|
||||
*
|
||||
* ProcessMaker Open Source Edition
|
||||
@@ -26,7 +27,6 @@
|
||||
|
||||
require_once 'classes/model/om/BaseStep.php';
|
||||
|
||||
|
||||
/**
|
||||
* Skeleton subclass for representing a row from the 'STEP' table.
|
||||
*
|
||||
@@ -38,106 +38,105 @@ require_once 'classes/model/om/BaseStep.php';
|
||||
*
|
||||
* @package workflow.engine.classes.model
|
||||
*/
|
||||
class Step extends BaseStep {
|
||||
function create($aData)
|
||||
class Step extends BaseStep
|
||||
{
|
||||
|
||||
public function create ($aData)
|
||||
{
|
||||
$con = Propel::getConnection(StepPeer::DATABASE_NAME);
|
||||
try
|
||||
{
|
||||
if ( isset ( $aData['STEP_UID'] ) && $aData['STEP_UID']== '' )
|
||||
unset ( $aData['STEP_UID'] );
|
||||
if ( isset ( $aData['STEP_UID'] ) )
|
||||
$con = Propel::getConnection( StepPeer::DATABASE_NAME );
|
||||
try {
|
||||
if (isset( $aData['STEP_UID'] ) && $aData['STEP_UID'] == '') {
|
||||
unset( $aData['STEP_UID'] );
|
||||
}
|
||||
if (isset( $aData['STEP_UID'] )) {
|
||||
$sStepUID = $aData['STEP_UID'];
|
||||
else
|
||||
} else {
|
||||
$sStepUID = G::generateUniqueID();
|
||||
}
|
||||
|
||||
$con->begin();
|
||||
$this->setStepUid($sStepUID);
|
||||
$this->setProUid($aData['PRO_UID']);
|
||||
$this->setTasUid($aData['TAS_UID']);
|
||||
$this->setStepUid( $sStepUID );
|
||||
$this->setProUid( $aData['PRO_UID'] );
|
||||
$this->setTasUid( $aData['TAS_UID'] );
|
||||
|
||||
if (isset ( $aData['STEP_TYPE_OBJ'] ))
|
||||
if (isset( $aData['STEP_TYPE_OBJ'] )) {
|
||||
$this->setStepTypeObj( $aData['STEP_TYPE_OBJ'] );
|
||||
else
|
||||
$this->setStepTypeObj("DYNAFORM");
|
||||
} else {
|
||||
$this->setStepTypeObj( "DYNAFORM" );
|
||||
}
|
||||
|
||||
if (isset ( $aData['STEP_UID_OBJ'] ))
|
||||
if (isset( $aData['STEP_UID_OBJ'] )) {
|
||||
$this->setStepUidObj( $aData['STEP_UID_OBJ'] );
|
||||
else
|
||||
$this->setStepUidObj("");
|
||||
} else {
|
||||
$this->setStepUidObj( "" );
|
||||
}
|
||||
|
||||
if (isset ( $aData['STEP_CONDITION'] ))
|
||||
if (isset( $aData['STEP_CONDITION'] )) {
|
||||
$this->setStepCondition( $aData['STEP_CONDITION'] );
|
||||
else
|
||||
$this->setStepCondition("");
|
||||
} else {
|
||||
$this->setStepCondition( "" );
|
||||
}
|
||||
|
||||
if (isset ( $aData['STEP_POSITION'] ))
|
||||
if (isset( $aData['STEP_POSITION'] )) {
|
||||
$this->setStepPosition( $aData['STEP_POSITION'] );
|
||||
else
|
||||
$this->setStepPosition("");
|
||||
} else {
|
||||
$this->setStepPosition( "" );
|
||||
}
|
||||
|
||||
if (isset ( $aData['STEP_MODE'] ))
|
||||
if (isset( $aData['STEP_MODE'] )) {
|
||||
$this->setStepMode( $aData['STEP_MODE'] );
|
||||
else
|
||||
$this->setStepMode("");
|
||||
} else {
|
||||
$this->setStepMode( "" );
|
||||
}
|
||||
|
||||
if($this->validate())
|
||||
{
|
||||
$result=$this->save();
|
||||
if ($this->validate()) {
|
||||
$result = $this->save();
|
||||
$con->commit();
|
||||
return $sStepUID;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
$con->rollback();
|
||||
throw(new Exception("Failed Validation in class ".get_class($this)."."));
|
||||
throw (new Exception( "Failed Validation in class " . get_class( $this ) . "." ));
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
|
||||
} catch (Exception $e) {
|
||||
$con->rollback();
|
||||
throw($e);
|
||||
throw ($e);
|
||||
}
|
||||
}
|
||||
|
||||
public function load($StepUid)
|
||||
public function load ($StepUid)
|
||||
{
|
||||
try {
|
||||
$oRow = StepPeer::retrieveByPK( $StepUid );
|
||||
if (!is_null($oRow))
|
||||
{
|
||||
$aFields = $oRow->toArray(BasePeer::TYPE_FIELDNAME);
|
||||
$this->fromArray($aFields,BasePeer::TYPE_FIELDNAME);
|
||||
$this->setNew(false);
|
||||
if (! is_null( $oRow )) {
|
||||
$aFields = $oRow->toArray( BasePeer::TYPE_FIELDNAME );
|
||||
$this->fromArray( $aFields, BasePeer::TYPE_FIELDNAME );
|
||||
$this->setNew( false );
|
||||
return $aFields;
|
||||
} else {
|
||||
throw (new Exception( "The row '$StepUid' in table StepUid doesn't exist!" ));
|
||||
}
|
||||
else {
|
||||
throw( new Exception( "The row '$StepUid' in table StepUid doesn't exist!" ));
|
||||
}
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
public function loadByProcessTaskPosition($sProUid, $sTasUid, $sPosition )
|
||||
public function loadByProcessTaskPosition ($sProUid, $sTasUid, $sPosition)
|
||||
{
|
||||
try {
|
||||
$c = new Criteria('workflow');
|
||||
$c->add ( StepPeer::PRO_UID, $sProUid );
|
||||
$c->add ( StepPeer::TAS_UID, $sTasUid );
|
||||
$c->add ( StepPeer::STEP_POSITION, $sPosition );
|
||||
if (StepPeer::doCount($c) > 0) {
|
||||
$c = new Criteria( 'workflow' );
|
||||
$c->add( StepPeer::PRO_UID, $sProUid );
|
||||
$c->add( StepPeer::TAS_UID, $sTasUid );
|
||||
$c->add( StepPeer::STEP_POSITION, $sPosition );
|
||||
if (StepPeer::doCount( $c ) > 0) {
|
||||
$rs = StepPeer::doSelect( $c );
|
||||
return $rs[0];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,24 +147,21 @@ class Step extends BaseStep {
|
||||
* @param string $sUID
|
||||
* @return variant
|
||||
*/
|
||||
public function loadByType($sTasUid, $sType, $sUid )
|
||||
public function loadByType ($sTasUid, $sType, $sUid)
|
||||
{
|
||||
try {
|
||||
$c = new Criteria('workflow');
|
||||
$c->add ( StepPeer::TAS_UID, $sTasUid );
|
||||
$c->add ( StepPeer::STEP_TYPE_OBJ, $sType );
|
||||
$c->add ( StepPeer::STEP_UID_OBJ, $sUid );
|
||||
$c = new Criteria( 'workflow' );
|
||||
$c->add( StepPeer::TAS_UID, $sTasUid );
|
||||
$c->add( StepPeer::STEP_TYPE_OBJ, $sType );
|
||||
$c->add( StepPeer::STEP_UID_OBJ, $sUid );
|
||||
$rs = StepPeer::doSelect( $c );
|
||||
if (!is_null($rs) && !is_null($rs[0]))
|
||||
{
|
||||
if (! is_null( $rs ) && ! is_null( $rs[0] )) {
|
||||
return $rs[0];
|
||||
} else {
|
||||
throw (new Exception( "You tried to call to loadByType method without send the Task UID or Type or Object UID !" ));
|
||||
}
|
||||
else {
|
||||
throw( new Exception( "You tried to call to loadByType method without send the Task UID or Type or Object UID !" ));
|
||||
}
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,43 +170,38 @@ class Step extends BaseStep {
|
||||
* @param array $fields
|
||||
* @return variant
|
||||
*/
|
||||
function update($fields)
|
||||
{
|
||||
$con = Propel::getConnection(StepPeer::DATABASE_NAME);
|
||||
try
|
||||
public function update ($fields)
|
||||
{
|
||||
$con = Propel::getConnection( StepPeer::DATABASE_NAME );
|
||||
try {
|
||||
$con->begin();
|
||||
$this->load($fields['STEP_UID']);
|
||||
$this->fromArray($fields,BasePeer::TYPE_FIELDNAME);
|
||||
if($this->validate())
|
||||
{
|
||||
$result=$this->save();
|
||||
$this->load( $fields['STEP_UID'] );
|
||||
$this->fromArray( $fields, BasePeer::TYPE_FIELDNAME );
|
||||
if ($this->validate()) {
|
||||
$result = $this->save();
|
||||
$con->commit();
|
||||
return $result;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
$con->rollback();
|
||||
throw(new Exception("Failed Validation in class ".get_class($this)."."));
|
||||
throw (new Exception( "Failed Validation in class " . get_class( $this ) . "." ));
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
} catch (Exception $e) {
|
||||
$con->rollback();
|
||||
throw($e);
|
||||
throw ($e);
|
||||
}
|
||||
}
|
||||
function remove($sStepUID)
|
||||
|
||||
public function remove ($sStepUID)
|
||||
{
|
||||
require_once('classes/model/StepTrigger.php');
|
||||
require_once ('classes/model/StepTrigger.php');
|
||||
$oStepTriggers = new StepTrigger();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add(StepTriggerPeer::STEP_UID , $sStepUID);
|
||||
$oDataset = StepTriggerPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
while($oDataset->next()){
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( StepTriggerPeer::STEP_UID, $sStepUID );
|
||||
$oDataset = StepTriggerPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
while ($oDataset->next()) {
|
||||
$aRow = $oDataset->getRow();
|
||||
$oStepTriggers->remove($aRow['STEP_UID'], $aRow['TAS_UID'], $aRow['TRI_UID'], $aRow['ST_TYPE']);
|
||||
$oStepTriggers->remove( $aRow['STEP_UID'], $aRow['TAS_UID'], $aRow['TRI_UID'], $aRow['ST_TYPE'] );
|
||||
}
|
||||
/*$con = Propel::getConnection(StepPeer::DATABASE_NAME);
|
||||
try
|
||||
@@ -227,43 +218,41 @@ class Step extends BaseStep {
|
||||
$con->rollback();
|
||||
throw($e);
|
||||
}*/
|
||||
$oConnection = Propel::getConnection(StepPeer::DATABASE_NAME);
|
||||
$oConnection = Propel::getConnection( StepPeer::DATABASE_NAME );
|
||||
try {
|
||||
$oStep = StepPeer::retrieveByPK($sStepUID);
|
||||
if (!is_null($oStep))
|
||||
{
|
||||
$oStep = StepPeer::retrieveByPK( $sStepUID );
|
||||
if (! is_null( $oStep )) {
|
||||
$oConnection->begin();
|
||||
$iResult = $oStep->delete();
|
||||
$oConnection->commit();
|
||||
return $iResult;
|
||||
} else {
|
||||
throw (new Exception( 'This row doesn\'t exist!' ));
|
||||
}
|
||||
else {
|
||||
throw(new Exception('This row doesn\'t exist!'));
|
||||
}
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
} catch (Exception $oError) {
|
||||
$oConnection->rollback();
|
||||
throw($oError);
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
function getNextPosition($sTaskUID) {
|
||||
public function getNextPosition ($sTaskUID)
|
||||
{
|
||||
try {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn('(COUNT(*) + 1) AS POSITION');
|
||||
$oCriteria->add(StepPeer::TAS_UID, $sTaskUID);
|
||||
$oDataset = StepPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->addSelectColumn( '(COUNT(*) + 1) AS POSITION' );
|
||||
$oCriteria->add( StepPeer::TAS_UID, $sTaskUID );
|
||||
$oDataset = StepPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
return (int)$aRow['POSITION'];
|
||||
}
|
||||
catch (Exception $oException) {
|
||||
return (int) $aRow['POSITION'];
|
||||
} catch (Exception $oException) {
|
||||
throw $Exception;
|
||||
}
|
||||
}
|
||||
|
||||
function reOrder($sStepUID, $iPosition) {
|
||||
public function reOrder ($sStepUID, $iPosition)
|
||||
{
|
||||
try {
|
||||
/*$oCriteria1 = new Criteria('workflow');
|
||||
$oCriteria1->add(StepPeer::STEP_POSITION, StepPeer::STEP_POSITION);
|
||||
@@ -271,90 +260,89 @@ class Step extends BaseStep {
|
||||
$oCriteria2->add(StepPeer::TAS_UID, $sTaskUID);
|
||||
$oCriteria2->add(StepPeer::STEP_POSITION, $iPosition, '>');
|
||||
BasePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow'));*/
|
||||
$oStep = StepPeer::retrieveByPK($sStepUID);
|
||||
$oStep = StepPeer::retrieveByPK( $sStepUID );
|
||||
$sTaskUID = $oStep->getTasUid();
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add(StepPeer::TAS_UID, $sTaskUID);
|
||||
$oCriteria->add(StepPeer::STEP_POSITION, $iPosition, '>');
|
||||
$oDataset = StepPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( StepPeer::TAS_UID, $sTaskUID );
|
||||
$oCriteria->add( StepPeer::STEP_POSITION, $iPosition, '>' );
|
||||
$oDataset = StepPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$oStep = StepPeer::retrieveByPK($aRow['STEP_UID']);
|
||||
$oStep->setStepPosition(($aRow['STEP_POSITION']) - 1);
|
||||
$oStep = StepPeer::retrieveByPK( $aRow['STEP_UID'] );
|
||||
$oStep->setStepPosition( ($aRow['STEP_POSITION']) - 1 );
|
||||
$oStep->save();
|
||||
$oDataset->next();
|
||||
}
|
||||
}
|
||||
catch (Exception $oException) {
|
||||
} catch (Exception $oException) {
|
||||
throw $oException;
|
||||
}
|
||||
}
|
||||
|
||||
function up($sStepUID = '', $sTaskUID = '', $iPosition = 0) {
|
||||
public function up ($sStepUID = '', $sTaskUID = '', $iPosition = 0)
|
||||
{
|
||||
try {
|
||||
if ($iPosition > 1) {
|
||||
$oCriteria1 = new Criteria('workflow');
|
||||
$oCriteria1->add(StepPeer::STEP_POSITION, $iPosition);
|
||||
$oCriteria2 = new Criteria('workflow');
|
||||
$oCriteria2->add(StepPeer::TAS_UID, $sTaskUID);
|
||||
$oCriteria2->add(StepPeer::STEP_POSITION, ($iPosition - 1));
|
||||
BasePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow'));
|
||||
$oCriteria1 = new Criteria('workflow');
|
||||
$oCriteria1->add(StepPeer::STEP_POSITION, ($iPosition - 1));
|
||||
$oCriteria2 = new Criteria('workflow');
|
||||
$oCriteria2->add(StepPeer::STEP_UID, $sStepUID);
|
||||
BasePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow'));
|
||||
$oCriteria1 = new Criteria( 'workflow' );
|
||||
$oCriteria1->add( StepPeer::STEP_POSITION, $iPosition );
|
||||
$oCriteria2 = new Criteria( 'workflow' );
|
||||
$oCriteria2->add( StepPeer::TAS_UID, $sTaskUID );
|
||||
$oCriteria2->add( StepPeer::STEP_POSITION, ($iPosition - 1) );
|
||||
BasePeer::doUpdate( $oCriteria2, $oCriteria1, Propel::getConnection( 'workflow' ) );
|
||||
$oCriteria1 = new Criteria( 'workflow' );
|
||||
$oCriteria1->add( StepPeer::STEP_POSITION, ($iPosition - 1) );
|
||||
$oCriteria2 = new Criteria( 'workflow' );
|
||||
$oCriteria2->add( StepPeer::STEP_UID, $sStepUID );
|
||||
BasePeer::doUpdate( $oCriteria2, $oCriteria1, Propel::getConnection( 'workflow' ) );
|
||||
}
|
||||
}
|
||||
catch (Exception $oException) {
|
||||
} catch (Exception $oException) {
|
||||
throw $oException;
|
||||
}
|
||||
}
|
||||
|
||||
function down($sStepUID = '', $sTaskUID = '', $iPosition = 0) {
|
||||
public function down ($sStepUID = '', $sTaskUID = '', $iPosition = 0)
|
||||
{
|
||||
try {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn('COUNT(*) AS MAX_POSITION');
|
||||
$oCriteria->add(StepPeer::TAS_UID, $sTaskUID);
|
||||
$oDataset = StepPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->addSelectColumn( 'COUNT(*) AS MAX_POSITION' );
|
||||
$oCriteria->add( StepPeer::TAS_UID, $sTaskUID );
|
||||
$oDataset = StepPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
if ($iPosition < (int)$aRow['MAX_POSITION']) {
|
||||
$oCriteria1 = new Criteria('workflow');
|
||||
$oCriteria1->add(StepPeer::STEP_POSITION, $iPosition);
|
||||
$oCriteria2 = new Criteria('workflow');
|
||||
$oCriteria2->add(StepPeer::TAS_UID, $sTaskUID);
|
||||
$oCriteria2->add(StepPeer::STEP_POSITION, ($iPosition + 1));
|
||||
BasePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow'));
|
||||
$oCriteria1 = new Criteria('workflow');
|
||||
$oCriteria1->add(StepPeer::STEP_POSITION, ($iPosition + 1));
|
||||
$oCriteria2 = new Criteria('workflow');
|
||||
$oCriteria2->add(StepPeer::STEP_UID, $sStepUID);
|
||||
BasePeer::doUpdate($oCriteria2, $oCriteria1, Propel::getConnection('workflow'));
|
||||
if ($iPosition < (int) $aRow['MAX_POSITION']) {
|
||||
$oCriteria1 = new Criteria( 'workflow' );
|
||||
$oCriteria1->add( StepPeer::STEP_POSITION, $iPosition );
|
||||
$oCriteria2 = new Criteria( 'workflow' );
|
||||
$oCriteria2->add( StepPeer::TAS_UID, $sTaskUID );
|
||||
$oCriteria2->add( StepPeer::STEP_POSITION, ($iPosition + 1) );
|
||||
BasePeer::doUpdate( $oCriteria2, $oCriteria1, Propel::getConnection( 'workflow' ) );
|
||||
$oCriteria1 = new Criteria( 'workflow' );
|
||||
$oCriteria1->add( StepPeer::STEP_POSITION, ($iPosition + 1) );
|
||||
$oCriteria2 = new Criteria( 'workflow' );
|
||||
$oCriteria2->add( StepPeer::STEP_UID, $sStepUID );
|
||||
BasePeer::doUpdate( $oCriteria2, $oCriteria1, Propel::getConnection( 'workflow' ) );
|
||||
}
|
||||
}
|
||||
catch (Exception $oException) {
|
||||
} catch (Exception $oException) {
|
||||
throw $oException;
|
||||
}
|
||||
}
|
||||
|
||||
function removeStep($sType = '', $sObjUID = '') {
|
||||
public function removeStep ($sType = '', $sObjUID = '')
|
||||
{
|
||||
try {
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add(StepPeer::STEP_TYPE_OBJ, $sType);
|
||||
$oCriteria->add(StepPeer::STEP_UID_OBJ, $sObjUID);
|
||||
$oDataset = StepPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( StepPeer::STEP_TYPE_OBJ, $sType );
|
||||
$oCriteria->add( StepPeer::STEP_UID_OBJ, $sObjUID );
|
||||
$oDataset = StepPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$this->reOrder($aRow['STEP_UID'], $aRow['STEP_POSITION']);
|
||||
$this->remove($aRow['STEP_UID']);
|
||||
$this->reOrder( $aRow['STEP_UID'], $aRow['STEP_POSITION'] );
|
||||
$this->remove( $aRow['STEP_UID'] );
|
||||
$oDataset->next();
|
||||
}
|
||||
}
|
||||
catch (Exception $oException) {
|
||||
} catch (Exception $oException) {
|
||||
throw $oException;
|
||||
}
|
||||
}
|
||||
@@ -365,19 +353,18 @@ class Step extends BaseStep {
|
||||
* @param string $sUid the uid of the
|
||||
*/
|
||||
|
||||
function StepExists ( $sUid ) {
|
||||
$con = Propel::getConnection(StepPeer::DATABASE_NAME);
|
||||
public function StepExists ($sUid)
|
||||
{
|
||||
$con = Propel::getConnection( StepPeer::DATABASE_NAME );
|
||||
try {
|
||||
$oObj = StepPeer::retrieveByPk( $sUid );
|
||||
if (is_object($oObj) && get_class ($oObj) == 'Step' ) {
|
||||
if (is_object( $oObj ) && get_class( $oObj ) == 'Step') {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (Exception $oError) {
|
||||
throw($oError);
|
||||
} catch (Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -387,67 +374,66 @@ class Step extends BaseStep {
|
||||
* @param string $sproUid the uid of the process
|
||||
* @param string $sObjUID the uid of the dynaform
|
||||
*/
|
||||
function loadInfoAssigDynaform($sproUid,$sObjUID){
|
||||
public function loadInfoAssigDynaform ($sproUid, $sObjUID)
|
||||
{
|
||||
|
||||
require_once ( "classes/model/DynaformPeer.php" );
|
||||
G::LoadSystem('dynaformhandler');
|
||||
require_once ("classes/model/DynaformPeer.php");
|
||||
G::LoadSystem( 'dynaformhandler' );
|
||||
|
||||
$oC = new Criteria('workflow');
|
||||
$oC->add(DynaformPeer::DYN_UID, $sObjUID);
|
||||
$oC->add(DynaformPeer::PRO_UID, $sproUid);
|
||||
$oDataset = DynaformPeer::doSelectRS($oC);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oC = new Criteria( 'workflow' );
|
||||
$oC->add( DynaformPeer::DYN_UID, $sObjUID );
|
||||
$oC->add( DynaformPeer::PRO_UID, $sproUid );
|
||||
$oDataset = DynaformPeer::doSelectRS( $oC );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
|
||||
if ($aRow['DYN_TYPE'] != 'xmlform') {
|
||||
|
||||
if($aRow['DYN_TYPE']!='xmlform') {
|
||||
|
||||
$oC1 = new Criteria('workflow');
|
||||
$oC1->add(DynaformPeer::PRO_UID, $sproUid);
|
||||
$oC1->add(DynaformPeer::DYN_TYPE, "xmlform");
|
||||
$oDataset = DynaformPeer::doSelectRS($oC1);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
while($oDataset->next()){
|
||||
$oC1 = new Criteria( 'workflow' );
|
||||
$oC1->add( DynaformPeer::PRO_UID, $sproUid );
|
||||
$oC1->add( DynaformPeer::DYN_TYPE, "xmlform" );
|
||||
$oDataset = DynaformPeer::doSelectRS( $oC1 );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
while ($oDataset->next()) {
|
||||
$aRow1 = $oDataset->getRow();
|
||||
//print_r($aRow1);
|
||||
$dynHandler = new dynaFormHandler(PATH_DYNAFORM.$_POST['PRO_UID']."/".$aRow1['DYN_UID'].".xml");
|
||||
$dynHandler = new dynaFormHandler( PATH_DYNAFORM . $_POST['PRO_UID'] . "/" . $aRow1['DYN_UID'] . ".xml" );
|
||||
$dynFields = $dynHandler->getFields();
|
||||
$sxmlgrid = '';
|
||||
$sType = '';
|
||||
$check=0;
|
||||
foreach($dynFields as $field){
|
||||
$sType = $this->getAttribute($field, 'type');
|
||||
if($sType == 'grid'){
|
||||
$sxmlgrid = $this->getAttribute($field, 'xmlgrid');
|
||||
$aGridInfo= explode("/",$sxmlgrid);
|
||||
if($aGridInfo[0] == $sproUid && $aGridInfo[1] == $sObjUID){
|
||||
$check=1;
|
||||
$check = 0;
|
||||
foreach ($dynFields as $field) {
|
||||
$sType = $this->getAttribute( $field, 'type' );
|
||||
if ($sType == 'grid') {
|
||||
$sxmlgrid = $this->getAttribute( $field, 'xmlgrid' );
|
||||
$aGridInfo = explode( "/", $sxmlgrid );
|
||||
if ($aGridInfo[0] == $sproUid && $aGridInfo[1] == $sObjUID) {
|
||||
$check = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ($check==1)?$aGridInfo:'';
|
||||
}else{
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->add(StepPeer::PRO_UID, $sproUid);
|
||||
$oCriteria->add(StepPeer::STEP_UID_OBJ, $sObjUID);
|
||||
$oCriteria->add(StepPeer::STEP_TYPE_OBJ, 'DYNAFORM');
|
||||
$oDataset = StepPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
return ($check == 1) ? $aGridInfo : '';
|
||||
} else {
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( StepPeer::PRO_UID, $sproUid );
|
||||
$oCriteria->add( StepPeer::STEP_UID_OBJ, $sObjUID );
|
||||
$oCriteria->add( StepPeer::STEP_TYPE_OBJ, 'DYNAFORM' );
|
||||
$oDataset = StepPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
return($aRow);
|
||||
return ($aRow);
|
||||
}
|
||||
die;
|
||||
die();
|
||||
}
|
||||
|
||||
function getAttribute($node, $attName){
|
||||
public function getAttribute ($node, $attName)
|
||||
{
|
||||
|
||||
foreach ( $node->attributes as $attribute )
|
||||
{
|
||||
if ( $attribute->name == $attName )
|
||||
{
|
||||
foreach ($node->attributes as $attribute) {
|
||||
if ($attribute->name == $attName) {
|
||||
return $attribute->value;
|
||||
}
|
||||
|
||||
@@ -460,57 +446,58 @@ class Step extends BaseStep {
|
||||
* @param string $sproUid the uid of the process
|
||||
* @param string $sdbsUid the uid of the db connection
|
||||
*/
|
||||
function loadInfoAssigConnecctionDB($sproUid,$sdbsUid){
|
||||
|
||||
require_once ( "classes/model/DynaformPeer.php" );
|
||||
G::LoadSystem('dynaformhandler');
|
||||
public function loadInfoAssigConnecctionDB ($sproUid, $sdbsUid)
|
||||
{
|
||||
require_once ("classes/model/DynaformPeer.php");
|
||||
G::LoadSystem( 'dynaformhandler' );
|
||||
$swDynaform = true;
|
||||
$swTriggers = true;
|
||||
//we are looking for triggers if there is at least one db connection
|
||||
$oC = new Criteria('workflow');
|
||||
$oC->add(TriggersPeer::PRO_UID, $sproUid);
|
||||
$oDataset = TriggersPeer::doSelectRS($oC);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oC = new Criteria( 'workflow' );
|
||||
$oC->add( TriggersPeer::PRO_UID, $sproUid );
|
||||
$oDataset = TriggersPeer::doSelectRS( $oC );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
//print $sproUid;
|
||||
while($aRowT = $oDataset->getRow()){
|
||||
$uidConnection =preg_quote($sdbsUid) ;
|
||||
if( strrpos($uidConnection,$aRowT['TRI_WEBBOT']) ) {
|
||||
while ($aRowT = $oDataset->getRow()) {
|
||||
$uidConnection = preg_quote( $sdbsUid );
|
||||
if (strrpos( $uidConnection, $aRowT['TRI_WEBBOT'] )) {
|
||||
$swTriggers = false;
|
||||
}
|
||||
$oDataset->next();
|
||||
}
|
||||
//we are looking for dynaforms if there is at least one db connection
|
||||
$oC = new Criteria('workflow');
|
||||
$oC->add(DynaformPeer::PRO_UID, $sproUid);
|
||||
$oDataset = DynaformPeer::doSelectRS($oC);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oC = new Criteria( 'workflow' );
|
||||
$oC->add( DynaformPeer::PRO_UID, $sproUid );
|
||||
$oDataset = DynaformPeer::doSelectRS( $oC );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
while($aRow = $oDataset->getRow()){
|
||||
if($aRow['DYN_TYPE']=='xmlform') {
|
||||
$dynHandler = new dynaFormHandler(PATH_DYNAFORM.$aRow['DYN_FILENAME'].".xml");
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
if ($aRow['DYN_TYPE'] == 'xmlform') {
|
||||
$dynHandler = new dynaFormHandler( PATH_DYNAFORM . $aRow['DYN_FILENAME'] . ".xml" );
|
||||
$dynFields = $dynHandler->getFields();
|
||||
$sxmlgrid = '';
|
||||
$sType = '';
|
||||
$check=0;
|
||||
foreach($dynFields as $field){
|
||||
$ssqlConnection = $this->getAttribute($field, 'sqlconnection');
|
||||
if($ssqlConnection==$sdbsUid)
|
||||
$swDynaform=false;
|
||||
}//end foreach
|
||||
$check = 0;
|
||||
foreach ($dynFields as $field) {
|
||||
$ssqlConnection = $this->getAttribute( $field, 'sqlconnection' );
|
||||
if ($ssqlConnection == $sdbsUid)
|
||||
$swDynaform = false;
|
||||
} //end foreach
|
||||
|
||||
}//end if
|
||||
|
||||
} //end if
|
||||
$oDataset->next();
|
||||
}//end while
|
||||
} //end while
|
||||
//is there a connecction?
|
||||
if ($swDynaform && $swTriggers){
|
||||
if ($swDynaform && $swTriggers) {
|
||||
//there is no db connection, you can delete this connection
|
||||
return true;
|
||||
} else {
|
||||
//there is a db connection, you can not delete this connection
|
||||
return false;
|
||||
}
|
||||
die;
|
||||
die();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -518,16 +505,16 @@ class Step extends BaseStep {
|
||||
*
|
||||
* @author Erik A. O. <erik@colosa.com>
|
||||
*/
|
||||
function getAllCaseSteps($PRO_UID, $TAS_UID, $APP_UID)
|
||||
public function getAllCaseSteps ($PRO_UID, $TAS_UID, $APP_UID)
|
||||
{
|
||||
|
||||
$c = new Criteria();
|
||||
$c->addSelectColumn('*');
|
||||
$c->add(StepPeer::PRO_UID, $PRO_UID);
|
||||
$c->add(StepPeer::TAS_UID, $TAS_UID);
|
||||
$c->addAscendingOrderByColumn (StepPeer::STEP_POSITION);
|
||||
$c->addSelectColumn( '*' );
|
||||
$c->add( StepPeer::PRO_UID, $PRO_UID );
|
||||
$c->add( StepPeer::TAS_UID, $TAS_UID );
|
||||
$c->addAscendingOrderByColumn( StepPeer::STEP_POSITION );
|
||||
|
||||
return StepPeer::doSelect($c);
|
||||
return StepPeer::doSelect( $c );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -537,42 +524,42 @@ class Step extends BaseStep {
|
||||
* @param string $sdbsUid the uid of the db connection
|
||||
* @author krlos <carlos@colosa.com>
|
||||
*/
|
||||
function lookingforUidGrids($sproUid,$sObjUID) {
|
||||
public function lookingforUidGrids ($sproUid, $sObjUID)
|
||||
{
|
||||
|
||||
require_once ( "classes/model/DynaformPeer.php" );
|
||||
G::LoadSystem('dynaformhandler');
|
||||
$uidsGrids=array();
|
||||
$oC = new Criteria('workflow');
|
||||
$oC->add(DynaformPeer::DYN_UID, $sObjUID);
|
||||
$oC->add(DynaformPeer::PRO_UID, $sproUid);
|
||||
$oDataset = DynaformPeer::doSelectRS($oC);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
require_once ("classes/model/DynaformPeer.php");
|
||||
G::LoadSystem( 'dynaformhandler' );
|
||||
$uidsGrids = array ();
|
||||
$oC = new Criteria( 'workflow' );
|
||||
$oC->add( DynaformPeer::DYN_UID, $sObjUID );
|
||||
$oC->add( DynaformPeer::PRO_UID, $sproUid );
|
||||
$oDataset = DynaformPeer::doSelectRS( $oC );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
|
||||
if($aRow['DYN_TYPE']=='xmlform') {
|
||||
|
||||
$oC1 = new Criteria('workflow');
|
||||
$oC1->add(DynaformPeer::PRO_UID, $sproUid);
|
||||
$oC1->add(DynaformPeer::DYN_TYPE, "xmlform");
|
||||
$oDataset = DynaformPeer::doSelectRS($oC1);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
while($oDataset->next()){
|
||||
if ($aRow['DYN_TYPE'] == 'xmlform') {
|
||||
$oC1 = new Criteria( 'workflow' );
|
||||
$oC1->add( DynaformPeer::PRO_UID, $sproUid );
|
||||
$oC1->add( DynaformPeer::DYN_TYPE, "xmlform" );
|
||||
$oDataset = DynaformPeer::doSelectRS( $oC1 );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
while ($oDataset->next()) {
|
||||
$aRow1 = $oDataset->getRow();
|
||||
|
||||
$dynHandler = new dynaFormHandler(PATH_DYNAFORM.$sproUid."/".$sObjUID.".xml");
|
||||
$dynHandler = new dynaFormHandler( PATH_DYNAFORM . $sproUid . "/" . $sObjUID . ".xml" );
|
||||
$dynFields = $dynHandler->getFields();
|
||||
$sxmlgrid = '';
|
||||
$sType = '';
|
||||
$check=0;
|
||||
foreach($dynFields as $field){
|
||||
$sType = $this->getAttribute($field, 'type');
|
||||
$check = 0;
|
||||
foreach ($dynFields as $field) {
|
||||
$sType = $this->getAttribute( $field, 'type' );
|
||||
|
||||
if($sType == 'grid'){
|
||||
$sxmlgrid = $this->getAttribute($field, 'xmlgrid');
|
||||
if ($sType == 'grid') {
|
||||
$sxmlgrid = $this->getAttribute( $field, 'xmlgrid' );
|
||||
//print_r($sxmlgrid);print"<hr>";
|
||||
$aGridInfo= explode("/",$sxmlgrid);
|
||||
$uidsGrids[]=$aGridInfo[1];
|
||||
$aGridInfo = explode( "/", $sxmlgrid );
|
||||
$uidsGrids[] = $aGridInfo[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -581,21 +568,6 @@ class Step extends BaseStep {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} // Step
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
// Step
|
||||
|
||||
|
||||
Reference in New Issue
Block a user