diff --git a/workflow/engine/classes/AppSolr.php b/workflow/engine/classes/AppSolr.php index 17860b5bc..2cf504d1d 100644 --- a/workflow/engine/classes/AppSolr.php +++ b/workflow/engine/classes/AppSolr.php @@ -77,7 +77,7 @@ require_once "classes/model/AppSolrQueue.php"; */ public function isSolrEnabled() { - $searchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost); + $searchIndex = new BpmnEngineServicesSearchIndex ($this->_solrIsEnabled, $this->_solrHost); // execute query $solrStatusResult = $searchIndex->isEnabled ($this->_solrInstance); return $solrStatusResult; @@ -409,7 +409,7 @@ require_once "classes/model/AppSolrQueue.php"; ); $solrRequestData = Entity_SolrRequestData::createForRequestPagination ($data); // use search index to return list of cases - $searchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost); + $searchIndex = new BpmnEngineServicesSearchIndex ($this->_solrIsEnabled, $this->_solrHost); // execute query $solrQueryResult = $searchIndex->getDataTablePaginatedList ($solrRequestData); if($this->debug) @@ -946,7 +946,7 @@ require_once "classes/model/AppSolrQueue.php"; // search the first - $searchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost); + $searchIndex = new BpmnEngineServicesSearchIndex ($this->_solrIsEnabled, $this->_solrHost); // execute query $ListFieldsInfo = $searchIndex->getIndexFields ($this->_solrInstance); @@ -1240,7 +1240,7 @@ require_once "classes/model/AppSolrQueue.php"; ); $oSolrUpdateDocument = Entity_SolrUpdateDocument::createForRequest ($data); - $oSearchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost); + $oSearchIndex = new BpmnEngineServicesSearchIndex ($this->_solrIsEnabled, $this->_solrHost); $oSearchIndex->updateIndexDocument ($oSolrUpdateDocument); @@ -1350,7 +1350,7 @@ require_once "classes/model/AppSolrQueue.php"; try{ - $oSearchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost); + $oSearchIndex = new BpmnEngineServicesSearchIndex ($this->_solrIsEnabled, $this->_solrHost); foreach ($aaAPPUIDs as $aAPPUID) { $idQuery = "APP_UID:" . $aAPPUID ['APP_UID']; @@ -2889,7 +2889,7 @@ require_once "classes/model/AppSolrQueue.php"; */ public function getCountApplicationsSearchIndex() { - $searchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost); + $searchIndex = new BpmnEngineServicesSearchIndex ($this->_solrIsEnabled, $this->_solrHost); // execute query $count = $searchIndex->getNumberDocuments ($this->_solrInstance); @@ -2903,7 +2903,7 @@ require_once "classes/model/AppSolrQueue.php"; */ public function optimizeSearchIndex() { - $searchIndex = new BpmnEngine_Services_SearchIndex ($this->_solrIsEnabled, $this->_solrHost); + $searchIndex = new BpmnEngineServicesSearchIndex ($this->_solrIsEnabled, $this->_solrHost); // execute query $searchIndex->optimizeIndexChanges ($this->_solrInstance); } diff --git a/workflow/engine/classes/BpmnEngineServicesSearchIndex.php b/workflow/engine/classes/BpmnEngineServicesSearchIndex.php new file mode 100644 index 000000000..21df3695c --- /dev/null +++ b/workflow/engine/classes/BpmnEngineServicesSearchIndex.php @@ -0,0 +1,346 @@ +_solrIsEnabled = $solrIsEnabled; + $this->_solrHost = $solrHost; + } + + /** + * Verify if the Solr service is available + * + * @gearman = false + * @rest = false + * @background = false no input parameters @param[in] + * @param [out] bool true if index service is enabled false in other case + */ + public function isEnabled($workspace) + { + require_once('class.solr.php'); + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + return $solr->isEnabled($workspace); + } + + /** + * Get the list of facets in base to the specified query and filter + * + * @gearman = true + * @rest = false + * @background = false + * @param [in] Entity_FacetRequest facetRequestEntity Facet request entity + * @param [out] array FacetGroup + */ + public function getFacetsList($facetRequestEntity) + { + require_once('class.solr.php'); + require_once('entities/FacetGroup.php'); + require_once('entities/FacetItem.php'); + require_once('entities/SelectedFacetGroupItem.php'); + require_once('entities/FacetResult.php'); + + // get array of selected facet groups + $facetRequestEntity->selectedFacetsString = str_replace(',,', ',', $facetRequestEntity->selectedFacetsString); + // remove descriptions of selected facet groups + + $aGroups = explode(',', $facetRequestEntity->selectedFacetsString); + + $aGroups = array_filter($aGroups); // remove empty items + + $aSelectedFacetGroups = array(); + foreach ($aGroups as $i => $value) { + $gi = explode(':::', $value); + $gr = explode('::', $gi [0]); + $it = explode('::', $gi [1]); + + // create string for remove condition + $count = 0; + $removeCondition = str_replace($value . ',', '', $facetRequestEntity->selectedFacetsString, $count); + if ($count == 0) { + $removeCondition = str_replace($value, '', $facetRequestEntity->selectedFacetsString, $count); + } + $selectedFacetGroupData = array( + 'selectedFacetGroupName' => $gr [0], + 'selectedFacetGroupPrintName' => $gr [1], + 'selectedFacetItemName' => $it [0], + 'selectedFacetItemPrintName' => $it [1], + 'selectedFacetRemoveCondition' => $removeCondition + ); + + $aSelectedFacetGroups [] = Entity_SelectedFacetGroupItem::createForRequest($selectedFacetGroupData); + } + + // convert request to index request + // create filters + $filters = array(); + if (!empty($aSelectedFacetGroups)) { + // exclude facetFields and facetDates included in filter from the next + // list of facets + foreach ($aSelectedFacetGroups as $value) { + $facetRequestEntity->facetFields = array_diff($facetRequestEntity->facetFields, array( + $value->selectedFacetGroupName + )); + $facetRequestEntity->facetDates = array_diff($facetRequestEntity->facetDates, array( + $value->selectedFacetGroupName + )); + } + + foreach ($aSelectedFacetGroups as $group) { + $filters [] = $group->selectedFacetGroupName . ':' . urlencode($group->selectedFacetItemName); + } + } + $facetRequestEntity->filters = $filters; + + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + + // create list of facets + $facetsList = $solr->getFacetsList($facetRequestEntity); + + $numFound = $facetsList->response->numFound; + + $facetCounts = $facetsList->facet_counts; + + $facetGroups = array(); + + // convert facet fields result to objects + // include facet field results + $facetFieldsResult = $facetsList->facet_counts->facet_fields; + if (!empty($facetFieldsResult)) { + foreach ($facetFieldsResult as $facetGroup => $facetvalues) { + if (count($facetvalues) > 0) { // if the group have facets included + $data = array( + 'facetGroupName' => $facetGroup + ); + $data ['facetGroupPrintName'] = $facetGroup; + $data ['facetGroupType'] = 'field'; + $facetItems = array(); + for ($i = 0; $i < count($facetvalues); $i += 2) { + $dataItem = array(); + $dataItem ['facetName'] = $facetvalues [$i]; + $dataItem ['facetPrintName'] = $facetvalues [$i]; + $dataItem ['facetCount'] = $facetvalues [$i + 1]; + $dataItem ['facetSelectCondition'] = $facetRequestEntity->selectedFacetsString . (empty($facetRequestEntity->selectedFacetsString) ? '' : ',') . $data ['facetGroupName'] . '::' . $data ['facetGroupPrintName'] . ':::' . $dataItem ['facetName'] . '::' . $dataItem ['facetPrintName']; + $newFacetItem = Entity_FacetItem::createForInsert($dataItem); + $facetItems [] = $newFacetItem; + } + $data ['facetItems'] = $facetItems; + $newFacetGroup = Entity_FacetGroup::createForInsert($data); + + $facetGroups [] = $newFacetGroup; + } + } + } + + // include facet date ranges results + $facetDatesResult = $facetsList->facet_counts->facet_dates; + if (!empty($facetDatesResult)) { + foreach ($facetDatesResult as $facetGroup => $facetvalues) { + if (count((array) $facetvalues) > 3) { // if the group have any facets included + // besides start, end and gap + $data = array( + 'facetGroupName' => $facetGroup + ); + $data ['facetGroupPrintName'] = $facetGroup; + $data ['facetGroupType'] = 'daterange'; + $facetItems = array(); + $facetvalueskeys = array_keys((array) $facetvalues); + foreach ($facetvalueskeys as $i => $k) { + if ($k != 'gap' && $k != 'start' && $k != 'end') { + $dataItem = array(); + if ($i < count($facetvalueskeys) - 4) { + $dataItem ['facetName'] = '[' . $k . '%20TO%20' . $facetvalueskeys [$i + 1] . ']'; + $dataItem ['facetPrintName'] = '[' . $k . '%20TO%20' . $facetvalueskeys [$i + 1] . ']'; + } else { + // the last group + $dataItem ['facetName'] = '[' . $k . '%20TO%20' . $facetvalues->end . ']'; + $dataItem ['facetPrintName'] = '[' . $k . '%20TO%20' . $facetvalues->end . ']'; + } + + $dataItem ['facetCount'] = $facetvalues->$k; + $dataItem ['facetSelectCondition'] = $facetRequestEntity->selectedFacetsString . (empty($facetRequestEntity->selectedFacetsString) ? '' : ',') . $data ['facetGroupName'] . '::' . $data ['facetGroupPrintName'] . ':::' . $dataItem ['facetName'] . '::' . $dataItem ['facetPrintName']; + $newFacetItem = Entity_FacetItem::createForInsert($dataItem); + $facetItems [] = $newFacetItem; + } + } + + $data ['facetItems'] = $facetItems; + $newFacetGroup = Entity_FacetGroup::createForInsert($data); + + $facetGroups [] = $newFacetGroup; + } + } + } + // TODO:convert facet queries + // Create a filter string used in the filter of results of a datatable + $filterText = ''; // the list of selected filters used for filtering result, + // send in ajax + foreach ($aSelectedFacetGroups as $selectedFacetGroup) { + $filterText .= $selectedFacetGroup->selectedFacetGroupName . ':' . urlencode($selectedFacetGroup->selectedFacetItemName) . ','; + } + $filterText = substr_replace($filterText, '', - 1); + + // Create result + $dataFacetResult = array( + 'aFacetGroups' => $facetGroups, + 'aSelectedFacetGroups' => $aSelectedFacetGroups, + 'sFilterText' => $filterText + ); + $facetResult = Entity_FacetResult::createForRequest($dataFacetResult); + + return $facetResult; + } + + /** + * Get the total number of documents in search server + * @param string $workspace + * @return integer number of documents + * + */ + public function getNumberDocuments($workspace) + { + require_once('class.solr.php'); + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + + // create list of facets + $numberDocuments = $solr->getNumberDocuments($workspace); + + return $numberDocuments; + } + + /** + * Update document Index + * @param SolrUpdateDocumentEntity $solrUpdateDocumentEntity + */ + public function updateIndexDocument($solrUpdateDocumentEntity) + { + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + + // create list of facets + $solr->updateDocument($solrUpdateDocumentEntity); + } + + /** + * Delete document from index + * @param string $workspace + * @param string $idQuery + */ + public function deleteDocumentFromIndex($workspace, $idQuery) + { + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + + // create list of facets + $solr->deleteDocument($workspace, $idQuery); + } + + /** + * Commit index changes + * @param string $workspace + */ + public function commitIndexChanges($workspace) + { + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + + // commit + $solr->commitChanges($workspace); + } + + /** + * Optimize index changes + * @param string $workspace + */ + public function optimizeIndexChanges($workspace) + { + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + + // commit + $solr->optimizeChanges($workspace); + } + + /** + * Call Solr server to return the list of paginated pages. + * @param FacetRequest $solrRequestData + * @return Entity_SolrQueryResult + */ + public function getDataTablePaginatedList($solrRequestData) + { + require_once('class.solr.php'); + require_once('entities/SolrRequestData.php'); + require_once('entities/SolrQueryResult.php'); + + // execute query + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + $solrPaginatedResult = $solr->executeQuery($solrRequestData); + + // get total number of documents in index + $numTotalDocs = $solr->getNumberDocuments($solrRequestData->workspace); + + // create the Datatable response of the query + $numFound = $solrPaginatedResult->response->numFound; + + $docs = $solrPaginatedResult->response->docs; + + // insert list of names in docs result + $data = array( + "sEcho" => '', // must be completed in response + "iTotalRecords" => intval($numTotalDocs), // we must get the + // total number of documents + "iTotalDisplayRecords" => $numFound, + "aaData" => array() + ); + // copy result document or add placeholders to result + foreach ($docs as $i => $doc) { + $data ['aaData'] [$i] = array(); + foreach ($solrRequestData->includeCols as $columnName) { + if ($columnName == '') { + $data ['aaData'] [$i] [] = ''; // placeholder + } else { + if (isset($doc->$columnName)) { + $data ['aaData'] [$i] [$columnName] = $doc->$columnName; + } else { + $data ['aaData'] [$i] [$columnName] = ''; + } + } + } + } + + $solrQueryResponse = Entity_SolrQueryResult::createForRequest($data); + + return $solrQueryResponse; + } + + /** + * Return the list of stored fields in the index. + * @param string $workspace + * @return array of index fields + */ + public function getIndexFields($workspace) + { + require_once('class.solr.php'); + + $solr = new BpmnEngine_SearchIndexAccess_Solr($this->_solrIsEnabled, $this->_solrHost); + + $solrFieldsData = $solr->getListIndexedStoredFields($workspace); + // copy list of arrays + $listFields = array(); + foreach ($solrFieldsData->fields as $key => $fieldData) { + if (array_key_exists('dynamicBase', $fieldData)) { + $originalFieldName = substr($key, 0, - strlen($fieldData->dynamicBase) + 1); + + // Maintain case sensitive variable names + $listFields [$originalFieldName] = $key; + } else { + // Maintain case sensitive variable names + $listFields [$key] = $key; + } + } + + return $listFields; + } +} diff --git a/workflow/engine/classes/BzipFile.php b/workflow/engine/classes/BzipFile.php new file mode 100644 index 000000000..98da97790 --- /dev/null +++ b/workflow/engine/classes/BzipFile.php @@ -0,0 +1,59 @@ +tar_file($name); + $this->options['type'] = "bzip"; + } + + /** + * This function is employed to create files . + * bzip + * + * @return boolean + */ + public function create_bzip() + { + if ($this->options['inmemory'] == 0) { + $pwd = getcwd(); + chdir($this->options['basedir']); + if ($fp = bzopen($this->options['name'], "wb")) { + fseek($this->archive, 0); + while ($temp = fread($this->archive, 1048576)) { + bzwrite($fp, $temp); + } + bzclose($fp); + chdir($pwd); + } else { + $this->error[] = "Could not open {$this->options['name']} for writing."; + chdir($pwd); + return 0; + } + } else { + $this->archive = bzcompress($this->archive, $this->options['level']); + } + return 1; + } + + /** + * This function open a archive of the class bzip_file + * + * @return void + */ + public function open_archive() + { + return @bzopen($this->options['name'], "rb"); + } +} diff --git a/workflow/engine/classes/Bzip_File.php b/workflow/engine/classes/Bzip_File.php deleted file mode 100644 index 760ccbd72..000000000 --- a/workflow/engine/classes/Bzip_File.php +++ /dev/null @@ -1,80 +0,0 @@ -tar_file( $name ); - $this->options['type'] = "bzip"; - } - - /** - * This function is employed to create files . - * bzip - * - * @return boolean - */ - public function create_bzip () - { - if ($this->options['inmemory'] == 0) { - $pwd = getcwd(); - chdir( $this->options['basedir'] ); - if ($fp = bzopen( $this->options['name'], "wb" )) { - fseek( $this->archive, 0 ); - while ($temp = fread( $this->archive, 1048576 )) { - bzwrite( $fp, $temp ); - } - bzclose( $fp ); - chdir( $pwd ); - } else { - $this->error[] = "Could not open {$this->options['name']} for writing."; - chdir( $pwd ); - return 0; - } - } else { - $this->archive = bzcompress( $this->archive, $this->options['level'] ); - } - return 1; - } - - /** - * This function open a archive of the class bzip_file - * - * @return void - */ - public function open_archive () - { - return @bzopen( $this->options['name'], "rb" ); - } -} diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php index 953a66956..763655ad5 100644 --- a/workflow/engine/classes/Cases.php +++ b/workflow/engine/classes/Cases.php @@ -1,32 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ - use ProcessMaker\Plugins\PluginRegistry; /** @@ -34,14 +8,8 @@ use ProcessMaker\Plugins\PluginRegistry; * This object is applied to Task * @package workflow.engine.classes */ - -/** - * A Cases object where you can do start, load, update, refresh about cases - * This object is applied to Task - * @package workflow.engine.classes - */class Cases +class Cases { - private $appSolr = null; public $dir = 'ASC'; public $sort = 'APP_MSG_DATE'; @@ -172,7 +140,7 @@ use ProcessMaker\Plugins\PluginRegistry; $c->addSelectColumn(TaskPeer::TAS_TITLE); $c->addSelectColumn(TaskPeer::PRO_UID); $c->addSelectColumn(ProcessPeer::PRO_TITLE); - $c->addJoin (TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); + $c->addJoin(TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); $c->add(TaskPeer::TAS_UID, $tasks, Criteria::IN); $c->addAscendingOrderByColumn(ProcessPeer::PRO_TITLE); $c->addAscendingOrderByColumn(TaskPeer::TAS_TITLE); @@ -283,7 +251,7 @@ use ProcessMaker\Plugins\PluginRegistry; $aConditions[] = array('PCS.PRO_CATEGORY', 'PCSCAT.CATEGORY_UID'); $c->addJoinMC($aConditions, Criteria::LEFT_JOIN); } - $c->addJoin (TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); + $c->addJoin(TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); $c->add(TaskPeer::TAS_UID, $tasks, Criteria::IN); $c->add(ProcessPeer::PRO_SUBPROCESS, '0'); $c->addAscendingOrderByColumn(ProcessPeer::PRO_TITLE); @@ -390,7 +358,7 @@ use ProcessMaker\Plugins\PluginRegistry; $c->addSelectColumn(TaskPeer::TAS_TITLE); $c->addSelectColumn(TaskPeer::PRO_UID); $c->addSelectColumn(ProcessPeer::PRO_TITLE); - $c->addJoin (TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); + $c->addJoin(TaskPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN); $c->add(TaskPeer::TAS_UID, $tasks, Criteria::IN); $c->addAscendingOrderByColumn(ProcessPeer::PRO_TITLE); $c->addAscendingOrderByColumn(TaskPeer::TAS_TITLE); @@ -543,14 +511,13 @@ use ProcessMaker\Plugins\PluginRegistry; $aFields['CURRENT_USER'] = implode(" - ", array_values($aFields['CURRENT_USER'])); $tasksArray = array_filter(explode('|', $aFields['TAS_UID'])); - if(count($tasksArray) == 1) { + if (count($tasksArray) == 1) { $aFields['TAS_UID'] = $tasksArray[0]; } } else { $oCurUser->load($aAppDel['USR_UID']); $aFields['CURRENT_USER'] = $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname(); } - } catch (Exception $oError) { $aFields['CURRENT_USER'] = ''; } @@ -719,7 +686,7 @@ use ProcessMaker\Plugins\PluginRegistry; $cri->addSelectColumn(AppDelegationPeer::TAS_UID); $cri->add(AppDelegationPeer::APP_UID, $sAppUid); $cri->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN"); - if(isset($fields['DEL_INDEX'])){ + if (isset($fields['DEL_INDEX'])) { $cri->add(AppDelegationPeer::DEL_INDEX, $fields['DEL_INDEX']); } $rsCri = AppDelegationPeer::doSelectRS($cri); @@ -848,7 +815,8 @@ use ProcessMaker\Plugins\PluginRegistry; return $aReturn; } - public function array_key_intersect(&$a, &$b) { + public function array_key_intersect(&$a, &$b) + { $array = array(); while (list($key, $value) = each($a)) { if (isset($b[$key])) { @@ -898,7 +866,7 @@ use ProcessMaker\Plugins\PluginRegistry; if (isset($Fields['APP_DESCRIPTION'])) { $appFields['APP_DESCRIPTION'] = $Fields['APP_DESCRIPTION']; } - if(isset($Fields['DEL_INDEX'])){ + if (isset($Fields['DEL_INDEX'])) { $appFields['DEL_INDEX'] = $Fields['DEL_INDEX']; } @@ -913,9 +881,9 @@ use ProcessMaker\Plugins\PluginRegistry; //Add fields that weren't in previous version foreach ($aApplicationFields as $key => $value) { if (is_array($value) && isset($fieldsOnBoth[$key]) && is_array($fieldsOnBoth[$key])) { - $afieldDifference = $this->arrayRecursiveDiff($value,$fieldsOnBoth[$key]); - $dfieldDifference = $this->arrayRecursiveDiff($fieldsOnBoth[$key],$value); - if ($afieldDifference || $dfieldDifference){ + $afieldDifference = $this->arrayRecursiveDiff($value, $fieldsOnBoth[$key]); + $dfieldDifference = $this->arrayRecursiveDiff($fieldsOnBoth[$key], $value); + if ($afieldDifference || $dfieldDifference) { $FieldsDifference[$key] = $value; } } else { @@ -1020,8 +988,8 @@ use ProcessMaker\Plugins\PluginRegistry; } /*----------------------------------********---------------------------------*/ - if(!isset($Fields['DEL_INDEX'])){ - $Fields['DEL_INDEX'] = 1; + if (!isset($Fields['DEL_INDEX'])) { + $Fields['DEL_INDEX'] = 1; } $inbox = new ListInbox(); unset($Fields['DEL_INIT_DATE']); @@ -1051,7 +1019,7 @@ use ProcessMaker\Plugins\PluginRegistry; $oAppDocument = new AppDocument(); - if($deleteDelegation) { + if ($deleteDelegation) { //Delete the delegations of a application $this->deleteDelegation($sAppUid); } @@ -1108,7 +1076,7 @@ use ProcessMaker\Plugins\PluginRegistry; $oDerivation = new Derivation(); $oDerivation->verifyIsCaseChild($sAppUid); } - } catch(Exception $e) { + } catch (Exception $e) { Bootstrap::registerMonolog('DeleteCases', 200, 'Error in sub-process when trying to route a child case related to the case', ['application_uid' => $sAppUid, 'error' => $e->getMessage()], SYS_SYS, 'processmaker.log'); } @@ -1251,13 +1219,13 @@ use ProcessMaker\Plugins\PluginRegistry; } - /* - * Determines if the all threads of a multiinstance task are closed - * - * @$appUid string appUid of the instance to be tested - * @$tasUid string task uid of the multiinstance task - * @$previousDelIndex int previous del index of the instance corresponding to the multiinstance task - */ + /* + * Determines if the all threads of a multiinstance task are closed + * + * @$appUid string appUid of the instance to be tested + * @$tasUid string task uid of the multiinstance task + * @$previousDelIndex int previous del index of the instance corresponding to the multiinstance task + */ public function multiInstanceIsCompleted($appUid, $tasUid, $previousDelIndex) { @@ -1272,15 +1240,14 @@ use ProcessMaker\Plugins\PluginRegistry; $rs = AppDelegationPeer::doSelectRs($c); if ($rs->next()) { - $result = false; + $result = false; } else { $result = true; } - } catch (exception $e) { throw ($e); } finally { - return $result; + return $result; } } @@ -1439,7 +1406,8 @@ use ProcessMaker\Plugins\PluginRegistry; * @param array $previousTasks * @return array $taskReviewed */ - public function getReviewedTasksRecursive($taskUid, $appUid, $previousTasks) { + public function getReviewedTasksRecursive($taskUid, $appUid, $previousTasks) + { $taskReviewed = array(); $oCriteria = new Criteria('workflow'); $oCriteria->add(RoutePeer::ROU_NEXT_TASK, $taskUid); @@ -1499,11 +1467,11 @@ use ProcessMaker\Plugins\PluginRegistry; //If exist paused cases $closedTasks[] = $row; $aIndex[] = $row['DEL_INDEX']; - $res = $this->GetAllOpenDelegation( array('APP_UID'=>$sAppUid, 'APP_THREAD_PARENT'=>$row['DEL_PREVIOUS']), 'NONE' ); + $res = $this->GetAllOpenDelegation(array('APP_UID'=>$sAppUid, 'APP_THREAD_PARENT'=>$row['DEL_PREVIOUS']), 'NONE'); foreach ($res as $in) { $aIndex[] = $in['DEL_INDEX']; } - $pausedTasks = $this->getReviewedTasksPaused($sAppUid,$aIndex); + $pausedTasks = $this->getReviewedTasksPaused($sAppUid, $aIndex); } } @@ -1521,7 +1489,7 @@ use ProcessMaker\Plugins\PluginRegistry; * @return array within the paused tasks * false -> when has not any delegation started for that task */ - public function getReviewedTasksPaused($sAppUid,$aDelIndex) + public function getReviewedTasksPaused($sAppUid, $aDelIndex) { $oCriteria = new Criteria('workflow'); $oCriteria->add(AppDelayPeer::APP_UID, $sAppUid); @@ -2162,19 +2130,19 @@ use ProcessMaker\Plugins\PluginRegistry; $aUserFields = array(); $taskAssignType = $task->getTasAssignType(); $nextTaskAssignVariable = $task->getTasAssignVariable(); - if($taskAssignType == "MULTIPLE_INSTANCE" || $taskAssignType == "MULTIPLE_INSTANCE_VALUE_BASED"){ + if ($taskAssignType == "MULTIPLE_INSTANCE" || $taskAssignType == "MULTIPLE_INSTANCE_VALUE_BASED") { switch ($taskAssignType) { case 'MULTIPLE_INSTANCE': $userFields = $oDerivation->getUsersFullNameFromArray($oDerivation->getAllUsersFromAnyTask($sTasUid)); break; default: - throw (new Exception( 'Invalid Task Assignment method' )); + throw (new Exception('Invalid Task Assignment method')); break; } $userFields = $oDerivation->getUsersFullNameFromArray($oDerivation->getAllUsersFromAnyTask($sTasUid)); $count = 0; - foreach($userFields as $rowUser){ - if($rowUser["USR_UID"] != $sUsrUid){ + foreach ($userFields as $rowUser) { + if ($rowUser["USR_UID"] != $sUsrUid) { //appDelegation $AppDelegation = new AppDelegation; $iAppThreadIndex ++; // Start Thread @@ -2198,13 +2166,13 @@ use ProcessMaker\Plugins\PluginRegistry; (empty($user)) ? 0 : $user->getUsrId(), $this->Process->getProId() ); - //appThread - $AppThread = new AppThread; - $iAppThreadIndex = $AppThread->createAppThread($sAppUid, $iDelIndex1, 0); - //Save Information - $aUserFields[$count] = $rowUser; - $aUserFields[$count]["DEL_INDEX"] = $iDelIndex1; - $count++; + //appThread + $AppThread = new AppThread; + $iAppThreadIndex = $AppThread->createAppThread($sAppUid, $iDelIndex1, 0); + //Save Information + $aUserFields[$count] = $rowUser; + $aUserFields[$count]["DEL_INDEX"] = $iDelIndex1; + $count++; } } } @@ -2348,7 +2316,6 @@ use ProcessMaker\Plugins\PluginRegistry; $iPosition += 1; $aNextStep = null; if ($iPosition <= $iLastStep) { - while ($iPosition <= $iLastStep) { $bAccessStep = false; //step @@ -2379,25 +2346,25 @@ use ProcessMaker\Plugins\PluginRegistry; $sAction = ''; break; } - if(array_key_exists('gmail',$_SESSION) || (array_key_exists('gmail',$_GET) && $_GET['gmail'] == 1)){ - $aNextStep = array( - 'TYPE' => $oStep->getStepTypeObj(), - 'UID' => $oStep->getStepUidObj(), - 'POSITION' => $oStep->getStepPosition(), - 'PAGE' => 'cases_Step?TYPE=' . $oStep->getStepTypeObj() . '&UID=' . - $oStep->getStepUidObj() . '&POSITION=' . $oStep->getStepPosition() . - '&ACTION=' . $sAction . - '&gmail=1' - ); - } else{ - $aNextStep = array( - 'TYPE' => $oStep->getStepTypeObj(), - 'UID' => $oStep->getStepUidObj(), - 'POSITION' => $oStep->getStepPosition(), - 'PAGE' => 'cases_Step?TYPE=' . $oStep->getStepTypeObj() . '&UID=' . - $oStep->getStepUidObj() . '&POSITION=' . $oStep->getStepPosition() . - '&ACTION=' . $sAction - ); + if (array_key_exists('gmail', $_SESSION) || (array_key_exists('gmail', $_GET) && $_GET['gmail'] == 1)) { + $aNextStep = array( + 'TYPE' => $oStep->getStepTypeObj(), + 'UID' => $oStep->getStepUidObj(), + 'POSITION' => $oStep->getStepPosition(), + 'PAGE' => 'cases_Step?TYPE=' . $oStep->getStepTypeObj() . '&UID=' . + $oStep->getStepUidObj() . '&POSITION=' . $oStep->getStepPosition() . + '&ACTION=' . $sAction . + '&gmail=1' + ); + } else { + $aNextStep = array( + 'TYPE' => $oStep->getStepTypeObj(), + 'UID' => $oStep->getStepUidObj(), + 'POSITION' => $oStep->getStepPosition(), + 'PAGE' => 'cases_Step?TYPE=' . $oStep->getStepTypeObj() . '&UID=' . + $oStep->getStepUidObj() . '&POSITION=' . $oStep->getStepPosition() . + '&ACTION=' . $sAction + ); } $iPosition = $iLastStep; } @@ -2406,21 +2373,21 @@ use ProcessMaker\Plugins\PluginRegistry; } } if (!$aNextStep) { - if(array_key_exists('gmail',$_SESSION) || (array_key_exists('gmail',$_GET) && $_GET['gmail'] == 1)){ - $aNextStep = array( - 'TYPE' => 'DERIVATION', - 'UID' => -1, - 'POSITION' => ($iLastStep + 1), - 'PAGE' => 'cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN&gmail=1' - ); - }else { - $aNextStep = array( - 'TYPE' => 'DERIVATION', - 'UID' => -1, - 'POSITION' => ($iLastStep + 1), - 'PAGE' => 'cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN' - ); - } + if (array_key_exists('gmail', $_SESSION) || (array_key_exists('gmail', $_GET) && $_GET['gmail'] == 1)) { + $aNextStep = array( + 'TYPE' => 'DERIVATION', + 'UID' => -1, + 'POSITION' => ($iLastStep + 1), + 'PAGE' => 'cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN&gmail=1' + ); + } else { + $aNextStep = array( + 'TYPE' => 'DERIVATION', + 'UID' => -1, + 'POSITION' => ($iLastStep + 1), + 'PAGE' => 'cases_Step?TYPE=ASSIGN_TASK&UID=-1&POSITION=10000&ACTION=ASSIGN' + ); + } } return $aNextStep; } catch (exception $e) { @@ -2626,7 +2593,6 @@ use ProcessMaker\Plugins\PluginRegistry; ///-- $c->addAsColumn('USR_NAME', "CONCAT(USR_LASTNAME, ' ', USR_FIRSTNAME)"); $sDataBase = 'database_' . strtolower(DB_ADAPTER); if (G::LoadSystemExist($sDataBase)) { - $oDataBase = new database(); $c->addAsColumn('USR_NAME', $oDataBase->concatString("USR_LASTNAME", "' '", "USR_FIRSTNAME")); $c->addAsColumn( @@ -3378,7 +3344,7 @@ use ProcessMaker\Plugins\PluginRegistry; if (!is_null($oApplication)) { return $oApplication->getDelIndex(); } - throw ( new Exception('This case has 0 current delegations') ); + throw (new Exception('This case has 0 current delegations')); } /* @@ -4016,11 +3982,12 @@ use ProcessMaker\Plugins\PluginRegistry; * @param string $iDelegation * @return boolean */ - public static function isUnassignedPauseCase($sAppUid, $iDelegation){ + public static function isUnassignedPauseCase($sAppUid, $iDelegation) + { $oAppDelegation = new AppDelegation(); $aFieldsDel = $oAppDelegation->Load($sAppUid, $iDelegation); $usrUid = $aFieldsDel['USR_UID']; - if($usrUid === ''){ + if ($usrUid === '') { return true; } else { return false; @@ -4041,8 +4008,8 @@ use ProcessMaker\Plugins\PluginRegistry; public function pauseCase($sApplicationUID, $iDelegation, $sUserUID, $sUnpauseDate = null, $appTitle = null) { // Check if the case is unassigned - if($this->isUnassignedPauseCase($sApplicationUID, $iDelegation)){ - throw new Exception( G::LoadTranslation("ID_CASE_NOT_PAUSED", array(G::LoadTranslation("ID_UNASSIGNED_STATUS"))) ); + if ($this->isUnassignedPauseCase($sApplicationUID, $iDelegation)) { + throw new Exception(G::LoadTranslation("ID_CASE_NOT_PAUSED", array(G::LoadTranslation("ID_UNASSIGNED_STATUS")))); } $oApplication = new Application(); @@ -4300,7 +4267,7 @@ use ProcessMaker\Plugins\PluginRegistry; $this->appSolr->updateApplicationSearchIndex($sApplicationUID); } /*----------------------------------********---------------------------------*/ - $data = array ( + $data = array( 'APP_UID' => $sApplicationUID, 'DEL_INDEX' => $iIndex, 'USR_UID' => $user_logged, @@ -5604,10 +5571,10 @@ use ProcessMaker\Plugins\PluginRegistry; { $sTo = null; $sCc = null; - $arrayResp = array (); + $arrayResp = array(); $tasks = new Tasks(); - $group = new Groups (); - $oUser = new Users (); + $group = new Groups(); + $oUser = new Users(); $task = TaskPeer::retrieveByPK($taskUid); @@ -5698,14 +5665,14 @@ use ProcessMaker\Plugins\PluginRegistry; $arrayResp['to'] = $to; $arrayResp['cc'] = $cc; break; - case "MULTIPLE_INSTANCE" : + case "MULTIPLE_INSTANCE": $to = null; $cc = null; $sw = 1; - $oDerivation = new Derivation (); - $userFields = $oDerivation->getUsersFullNameFromArray ( $oDerivation->getAllUsersFromAnyTask ( $taskUid ) ); - if (isset ( $userFields )) { - foreach ( $userFields as $row ) { + $oDerivation = new Derivation(); + $userFields = $oDerivation->getUsersFullNameFromArray($oDerivation->getAllUsersFromAnyTask($taskUid)); + if (isset($userFields)) { + foreach ($userFields as $row) { $toAux = ((($row ["USR_FIRSTNAME"] != "") || ($row ["USR_LASTNAME"] != "")) ? $row ["USR_FIRSTNAME"] . " " . $row ["USR_LASTNAME"] . " " : "") . "<" . $row ["USR_EMAIL"] . ">"; if ($sw == 1) { $to = $toAux; @@ -5718,19 +5685,19 @@ use ProcessMaker\Plugins\PluginRegistry; $arrayResp ['cc'] = $cc; } break; - case "MULTIPLE_INSTANCE_VALUE_BASED" : - $oTask = new Task (); - $aTaskNext = $oTask->load ( $taskUid ); - if (isset ( $aTaskNext ["TAS_ASSIGN_VARIABLE"] ) && ! empty ( $aTaskNext ["TAS_ASSIGN_VARIABLE"] )) { + case "MULTIPLE_INSTANCE_VALUE_BASED": + $oTask = new Task(); + $aTaskNext = $oTask->load($taskUid); + if (isset($aTaskNext ["TAS_ASSIGN_VARIABLE"]) && ! empty($aTaskNext ["TAS_ASSIGN_VARIABLE"])) { $to = null; $cc = null; $sw = 1; - $nextTaskAssignVariable = trim ( $aTaskNext ["TAS_ASSIGN_VARIABLE"], " @#" ); + $nextTaskAssignVariable = trim($aTaskNext ["TAS_ASSIGN_VARIABLE"], " @#"); $arrayUsers = $arrayData [$nextTaskAssignVariable]; - $oDerivation = new Derivation (); - $userFields = $oDerivation->getUsersFullNameFromArray ( $arrayUsers ); + $oDerivation = new Derivation(); + $userFields = $oDerivation->getUsersFullNameFromArray($arrayUsers); - foreach ( $userFields as $row ) { + foreach ($userFields as $row) { $toAux = ((($row ["USR_FIRSTNAME"] != "") || ($row ["USR_LASTNAME"] != "")) ? $row ["USR_FIRSTNAME"] . " " . $row ["USR_LASTNAME"] . " " : "") . "<" . $row ["USR_EMAIL"] . ">"; if ($sw == 1) { $to = $toAux; @@ -5743,7 +5710,7 @@ use ProcessMaker\Plugins\PluginRegistry; $arrayResp ['cc'] = $cc; } break; - default : + default: if (isset($userUid) && !empty($userUid)) { $aUser = $oUser->load($userUid); @@ -5767,9 +5734,9 @@ use ProcessMaker\Plugins\PluginRegistry; */ public function getAllObjects($PRO_UID, $APP_UID, $TAS_UID = '', $USR_UID = '', $delIndex = 0) { - $ACTIONS = Array('VIEW', 'BLOCK', 'DELETE'); //TO COMPLETE - $MAIN_OBJECTS = Array(); - $RESULT_OBJECTS = Array(); + $ACTIONS = array('VIEW', 'BLOCK', 'DELETE'); //TO COMPLETE + $MAIN_OBJECTS = array(); + $RESULT_OBJECTS = array(); foreach ($ACTIONS as $action) { $MAIN_OBJECTS[$action] = $this->getAllObjectsFrom($PRO_UID, $APP_UID, $TAS_UID, $USR_UID, $action, $delIndex); @@ -5993,9 +5960,9 @@ use ProcessMaker\Plugins\PluginRegistry; "OUTPUT_DOCUMENTS" => $result['OUTPUT'], "CASES_NOTES" => $result['CASES_NOTES'], "MSGS_HISTORY" => $result['MSGS_HISTORY'] - /*----------------------------------********---------------------------------*/ + /*----------------------------------********---------------------------------*/ ,"SUMMARY_FORM" => $result['SUMMARY_FORM'] - /*----------------------------------********---------------------------------*/ + /*----------------------------------********---------------------------------*/ ); } @@ -6421,7 +6388,7 @@ use ProcessMaker\Plugins\PluginRegistry; $oCriteria = new Criteria('dbarray'); $oCriteria->setDBArrayTable('messages'); - usort( $aMessages, array($this, "ordProcess") ); + usort($aMessages, array($this, "ordProcess")); return $aMessages; } @@ -6460,7 +6427,7 @@ use ProcessMaker\Plugins\PluginRegistry; public function getAllObjectsFromProcess($PRO_UID, $OBJ_TYPE = '%') { - $RESULT = Array(); + $RESULT = array(); $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_UID); $oCriteria->addSelectColumn(AppDocumentPeer::APP_UID); @@ -6758,7 +6725,7 @@ use ProcessMaker\Plugins\PluginRegistry; $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); if (isset($sumary) && $sumary === true) { - $sumary = Array(); + $sumary = array(); while ($rs->next()) { $nCount++; $row = $rs->getRow(); @@ -6769,7 +6736,7 @@ use ProcessMaker\Plugins\PluginRegistry; $sumary[$row['PRO_UID']]['name'] = $row['APP_PRO_TITLE']; } } - return Array('count' => $nCount, 'sumary' => $sumary); + return array('count' => $nCount, 'sumary' => $sumary); } else { while ($rs->next()) { $nCount++; @@ -6788,7 +6755,7 @@ use ProcessMaker\Plugins\PluginRegistry; */ public function getAllConditionCasesCount($types, $sumary = null) { - $aResult = Array(); + $aResult = array(); foreach ($types as $type) { $aResult[$type] = $this->getConditionCasesCount($type, $sumary); } @@ -6895,7 +6862,7 @@ use ProcessMaker\Plugins\PluginRegistry; $c = new Criteria(); $c->add(AppDelegationPeer::APP_UID, $aData['APP_UID']); $c->add(AppDelegationPeer::DEL_PREVIOUS, $aData['APP_THREAD_PARENT']); - if($status === 'OPEN'){ + if ($status === 'OPEN') { $c->add(AppDelegationPeer::DEL_THREAD_STATUS, 'OPEN'); } $rs = AppDelegationPeer::doSelectRs($c); @@ -6959,7 +6926,7 @@ use ProcessMaker\Plugins\PluginRegistry; global $RBAC; //Adding the actual user if this has the PM_SUPERVISOR permission assigned. if ($RBAC->userCanAccess('PM_SUPERVISOR') == 1) { - if(!in_array($RBAC->aUserInfo['USER_INFO']['USR_UID'], $row)) { + if (!in_array($RBAC->aUserInfo['USER_INFO']['USR_UID'], $row)) { $row[] = $RBAC->aUserInfo['USER_INFO']['USR_UID']; } } @@ -6974,7 +6941,7 @@ use ProcessMaker\Plugins\PluginRegistry; $rs = UsersPeer::doSelectRs($c); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $rows = Array(); + $rows = array(); while ($rs->next()) { $rows[] = $rs->getRow(); } @@ -7000,8 +6967,8 @@ use ProcessMaker\Plugins\PluginRegistry; $flagSupervisors = false; if ($oDataset->next()) { - if (!in_array($USR_UID,$row)) { - $rows[] = $oDataset->getRow(); + if (!in_array($USR_UID, $row)) { + $rows[] = $oDataset->getRow(); } $flagSupervisors = true; } @@ -7030,7 +6997,7 @@ use ProcessMaker\Plugins\PluginRegistry; $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); if ($oDataset->next()) { - if (!in_array($USR_UID,$row)) { + if (!in_array($USR_UID, $row)) { $rows[] = $oDataset->getRow(); } } @@ -7056,7 +7023,7 @@ use ProcessMaker\Plugins\PluginRegistry; $c->addSelectColumn(UsersPeer::USR_USERNAME); $c->addSelectColumn(UsersPeer::USR_EMAIL); - if($usrStatus != '') { + if ($usrStatus != '') { $c->add(UsersPeer::USR_STATUS, $usrStatus, CRITERIA::EQUAL); } @@ -7069,7 +7036,7 @@ use ProcessMaker\Plugins\PluginRegistry; $rs->next(); while ($row = $rs->getRow()) { //In some cases the thread does not have a User Script task, Itee - if($row['USR_UID'] !== ''){ + if ($row['USR_UID'] !== '') { $rows[$row['USR_UID']] = $row; } $rs->next(); @@ -7081,7 +7048,7 @@ use ProcessMaker\Plugins\PluginRegistry; public function getCaseNotes($applicationID, $type = 'array', $userUid = '') { - require_once ( "classes/model/AppNotes.php" ); + require_once("classes/model/AppNotes.php"); $appNotes = new AppNotes(); $appNotes = $appNotes->getNotesList($applicationID, $userUid); $response = ''; @@ -7206,27 +7173,26 @@ use ProcessMaker\Plugins\PluginRegistry; $pmTableName = $pmTable->toCamelCase($tableName); //DELETE - require_once (PATH_WORKSPACE . "classes" . PATH_SEP . "$pmTableName.php"); + require_once(PATH_WORKSPACE . "classes" . PATH_SEP . "$pmTableName.php"); $criteria3 = new Criteria("workflow"); eval("\$criteria3->add(" . $pmTableName . "Peer::APP_UID, \$applicationUid);"); eval($pmTableName . "Peer::doDelete(\$criteria3);"); - } catch (Exception $e) { throw $e; } } } - public function ordProcess ($a, $b) + public function ordProcess($a, $b) { - if ($this->sort == '') { - $this->sort = 'APP_MSG_DATE'; - } - if ($this->dir=='ASC') { - if ($a[$this->sort] > $b[$this->sort]) { - return 1; + if ($this->sort == '') { + $this->sort = 'APP_MSG_DATE'; + } + if ($this->dir=='ASC') { + if ($a[$this->sort] > $b[$this->sort]) { + return 1; } elseif ($a[$this->sort] < $b[$this->sort]) { return - 1; } else { @@ -7234,16 +7200,17 @@ use ProcessMaker\Plugins\PluginRegistry; } } else { if ($a[$this->sort] > $b[$this->sort]) { - return - 1; + return - 1; } elseif ($a[$this->sort] < $b[$this->sort]) { - return 1; + return 1; } else { - return 0; + return 0; } } } - public function unserializeData($data) { + public function unserializeData($data) + { $unserializedData = @unserialize($data); // BUG 8134, FIX!// for single/double quote troubles // Unserialize with utf8 content get trouble @@ -7315,26 +7282,27 @@ use ProcessMaker\Plugins\PluginRegistry; } } - private function orderStartCasesByCategoryAndName ($rows) { + private function orderStartCasesByCategoryAndName($rows) + { //now we order in category, proces_name order: $comparatorSequence = array( - function($a, $b) { + function ($a, $b) { $retval = 0; - if(array_key_exists('catname', $a) && array_key_exists('catname', $b)) { + if (array_key_exists('catname', $a) && array_key_exists('catname', $b)) { $retval = strcmp($a['catname'], $b['catname']); } return $retval; } - , function($a, $b) { - $retval = 0; - if(array_key_exists('value', $a) && array_key_exists('value', $b)) { - $retval = strcmp($a['value'], $b['value']); - } - return $retval; + , function ($a, $b) { + $retval = 0; + if (array_key_exists('value', $a) && array_key_exists('value', $b)) { + $retval = strcmp($a['value'], $b['value']); } + return $retval; + } ); - usort($rows, function($a, $b) use ($comparatorSequence) { + usort($rows, function ($a, $b) use ($comparatorSequence) { foreach ($comparatorSequence as $cmpFn) { $diff = call_user_func($cmpFn, $a, $b); if ($diff !== 0) { diff --git a/workflow/engine/classes/Configurations.php b/workflow/engine/classes/Configurations.php index ccaf3c984..b7b798749 100644 --- a/workflow/engine/classes/Configurations.php +++ b/workflow/engine/classes/Configurations.php @@ -1,50 +1,14 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ -// -// It works with the table CONFIGURATION in a WF dataBase -// Copyright (C) 2007 COLOSA -// License: LGPL, see LICENSE -//////////////////////////////////////////////////// - - -/** - * ProcessConfiguration - ProcessConfiguration /** + * ProcessConfiguration - ProcessConfiguration * Extends Configuration * - * - * @copyright 2007 COLOSA * @version Release: @package_version@ * @package workflow.engine.ProcessMaker - */class Configurations // extends Configuration + */ +class Configurations // extends Configuration { - public $aConfig = array(); private $Configuration = null; private $UserConfig = null; @@ -74,16 +38,16 @@ $this->arrayClone($object[$k], $cloneObject[$k]); } } else { - if (is_object( $object )) { + if (is_object($object)) { } else { $cloneObject = null; } } } - public function exists($cfgID,$objID='') + public function exists($cfgID, $objID='') { - return $this->Configuration->exists($cfgID,$objID,'','',''); + return $this->Configuration->exists($cfgID, $objID, '', '', ''); } /** @@ -162,7 +126,6 @@ try { $this->Fields = $this->Configuration->load($cfg, $obj, $pro, $usr, $app); } catch (Exception $e) { - } // the configuration does not exist @@ -171,7 +134,7 @@ } if (!is_array($this->aConfig)) { - $this->aConfig = Array(); + $this->aConfig = array(); } return $this->aConfig; @@ -318,8 +281,8 @@ $theFormat = $this->UserConfig['format']; $fname = $oUser->getUsrFirstname(); $lname = $oUser->getUsrLastname(); - if (strpos($theFormat, ',') !== false && ( trim($fname) == '' || trim($lname) == '')) { - $theFormat = str_replace(',', '', $theFormat); + if (strpos($theFormat, ',') !== false && (trim($fname) == '' || trim($lname) == '')) { + $theFormat = str_replace(',', '', $theFormat); } $aux = str_replace('@userName', trim($username), $theFormat); @@ -530,15 +493,15 @@ public function getUserNameFormats() { - $formats[] = Array('id' => '@firstName @lastName', //the id , don't translate + $formats[] = array('id' => '@firstName @lastName', //the id , don't translate 'name' => G::loadTranslation('ID_USERNAME_FORMAT_1') //label displayed, can be translated ); - $formats[] = Array('id' => '@firstName @lastName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_2')); - $formats[] = Array('id' => '@userName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_3')); - $formats[] = Array('id' => '@userName (@firstName @lastName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_4')); - $formats[] = Array('id' => '@lastName @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_5')); - $formats[] = Array('id' => '@lastName, @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_6')); - $formats[] = Array('id' => '@lastName, @firstName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_7')); + $formats[] = array('id' => '@firstName @lastName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_2')); + $formats[] = array('id' => '@userName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_3')); + $formats[] = array('id' => '@userName (@firstName @lastName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_4')); + $formats[] = array('id' => '@lastName @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_5')); + $formats[] = array('id' => '@lastName, @firstName', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_6')); + $formats[] = array('id' => '@lastName, @firstName (@userName)', 'name' => G::loadTranslation('ID_USERNAME_FORMAT_7')); return $formats; } @@ -553,9 +516,9 @@ $creationDateMask = ($creationDateMask == '') ? $dateFormat : $creationDateMask; if ($creationDateMask != '') { if (strpos($dateTime, ' ') !== false) { - list ($date, $time) = explode(' ', $dateTime); - list ($y, $m, $d) = explode('-', $date); - list ($h, $i, $s) = explode(':', $time); + list($date, $time) = explode(' ', $dateTime); + list($y, $m, $d) = explode('-', $date); + list($h, $i, $s) = explode(':', $time); $newCreation = ''; $maskTime = array('d' => '%d', 'D' => '%A', 'j' => '%d', 'l' => '%A', 'G' => '%I', 'g' => '%i', 'N' => '%u', 'S' => '%d', 'w' => '%w', 'z' => '%j', 'W' => '%W', 'F' => '%B', 'm' => '%m', 'M' => '%B', 'n' => '%m', 'o' => '%Y', 'Y' => '%Y', 'y' => '%g', 'a' => '%p', 'A' => '%p', 'g' => '%I', 'G' => '%H', 'h' => '%I', 'H' => '%H', 'i' => '%M', 's' => '%S'); $creationDateMask = trim($creationDateMask); @@ -582,9 +545,9 @@ if (G::toLower(PHP_OS) == 'linux' || G::toLower(PHP_OS) == 'darwin') { if (SYS_LANG == 'es') { $langLocate = 'es_ES'; - } else if (strlen(SYS_LANG) > 2) { + } elseif (strlen(SYS_LANG) > 2) { $langLocate = str_replace('-', '_', SYS_LANG); - } else if ($location != '') { + } elseif ($location != '') { $langLocate = SYS_LANG.'_'.$location; } else { $langLocate = 'en_US'; diff --git a/workflow/engine/classes/DashletRssReader.php b/workflow/engine/classes/DashletRssReader.php index 5006b170e..d00e4d543 100644 --- a/workflow/engine/classes/DashletRssReader.php +++ b/workflow/engine/classes/DashletRssReader.php @@ -1,9 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * / - * - * /* - * Created on 21/01/2008 - * This -/** - * - * @package workflow.engine.classes - */class dates +class Dates { private $holidays = array(); diff --git a/workflow/engine/classes/DbConnections.php b/workflow/engine/classes/DbConnections.php index 28ac7788b..76332fe50 100644 --- a/workflow/engine/classes/DbConnections.php +++ b/workflow/engine/classes/DbConnections.php @@ -1,15 +1,6 @@ - * Description:This is a -/** - * dbConnections - * - * - * @copyright 2008 Colosa - * @package workflow.engine.classes - * - */class DbConnections + +class DbConnections { private $PRO_UID; public $connections; diff --git a/workflow/engine/classes/Derivation.php b/workflow/engine/classes/Derivation.php index 8ebabe561..8e5326f42 100644 --- a/workflow/engine/classes/Derivation.php +++ b/workflow/engine/classes/Derivation.php @@ -1,13 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ -/** - * Created on 21/12/2007 - * Dynaform - Dynaform -/** - * - * @package workflow.engine.classes - */class dynaformEditor extends WebResource +class DynaformEditor extends WebResource { private $isOldCopy = false; diff --git a/workflow/engine/classes/PMLicensedFeatures.php b/workflow/engine/classes/PMLicensedFeatures.php index dccd3348f..1ff84d78a 100644 --- a/workflow/engine/classes/PMLicensedFeatures.php +++ b/workflow/engine/classes/PMLicensedFeatures.php @@ -1,6 +1,5 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - use ProcessMaker\Plugins\PluginRegistry; -/** - * - * @package workflow.engine.classes - */ - -require_once 'class.plugin.php'; - - - -/** - * - * @package workflow.engine.classes - */class PMPluginRegistry +class PMPluginRegistry { private $_aPluginDetails = array (); private $_aPlugins = array (); @@ -1137,9 +1099,6 @@ require_once 'class.plugin.php'; public function setupPlugins () { try { - require_once(PATH_CORE . "methods" . PATH_SEP . "enterprise" . PATH_SEP . "enterprise.php"); - require_once("class.serverConfiguration.php"); - $iPlugins = 0; $oServerConf = & serverConf::getSingleton(); $oServerConf->addPlugin( SYS_SYS, $this->_aPluginDetails ); diff --git a/workflow/engine/classes/PMmemcached.php b/workflow/engine/classes/PMmemcached.php index 9b34ed7d8..74098d33c 100644 --- a/workflow/engine/classes/PMmemcached.php +++ b/workflow/engine/classes/PMmemcached.php @@ -1,37 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ -/** - * The ProcessMaker memcached -/** - * The ProcessMaker memcached class - * - * @package workflow.engine.ProcessMaker - */class PMmemcached +class PMmemcached { const ONE_MINUTE = 60; const ONE_HOUR = 3600; diff --git a/workflow/engine/classes/Padl.php b/workflow/engine/classes/Padl.php index dfa760ebd..9f18840d0 100644 --- a/workflow/engine/classes/Padl.php +++ b/workflow/engine/classes/Padl.php @@ -53,7 +53,8 @@ * @version 0.1 * @history--------------------------------------------- * see CHANGELOG - */class padl + */ +class Padl { /** * hash key 1 used to encrypt the generate key data. diff --git a/workflow/engine/classes/Patch.php b/workflow/engine/classes/Patch.php index 597a1cf02..1ebd9ddb7 100644 --- a/workflow/engine/classes/Patch.php +++ b/workflow/engine/classes/Patch.php @@ -5,12 +5,7 @@ * @author reav * */ - -/** - * class, helping to set some not desirable settings but necesary - * @author reav - * - */abstract class patch +abstract class Patch { static protected $isPathchable = false; static public $dbAdapter = 'mysql'; diff --git a/workflow/engine/classes/WsBase.php b/workflow/engine/classes/WsBase.php index 85fdb8da8..e64c43a11 100644 --- a/workflow/engine/classes/WsBase.php +++ b/workflow/engine/classes/WsBase.php @@ -322,7 +322,7 @@ class WsBase ); //Use search index to return list of cases - $searchIndex = new BpmnEngine_Services_SearchIndex($appSolr->isSolrEnabled(), $solrEnv["solr_host"]); + $searchIndex = new BpmnEngineServicesSearchIndex($appSolr->isSolrEnabled(), $solrEnv["solr_host"]); //Execute query $solrQueryResult = $searchIndex->getDataTablePaginatedList($solrRequestData); diff --git a/workflow/engine/classes/WsCreateUserResponse.php b/workflow/engine/classes/WsCreateUserResponse.php index e4a2b4058..6ac4061ad 100644 --- a/workflow/engine/classes/WsCreateUserResponse.php +++ b/workflow/engine/classes/WsCreateUserResponse.php @@ -1,41 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - -/** - * - * @package workflow.engine.classes - */ - - -/** - * Class wsCreateUserResponse - * - * @package workflow.engine.classes - */class wsCreateUserResponse +class WsCreateUserResponse { public $status_code = 0; public $message = ''; diff --git a/workflow/engine/classes/WsGetCaseNotesResponse.php b/workflow/engine/classes/WsGetCaseNotesResponse.php index cbf612504..eb8fa7f6e 100644 --- a/workflow/engine/classes/WsGetCaseNotesResponse.php +++ b/workflow/engine/classes/WsGetCaseNotesResponse.php @@ -1,41 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - -/** - * - * @package workflow.engine.classes - */ - - -/** - * Class wsGetCaseNotesResponse - * - * @package workflow.engine.classes - */class wsGetCaseNotesResponse +class WsGetCaseNotesResponse { public $status_code = 0; public $message = ''; diff --git a/workflow/engine/classes/WsGetVariableResponse.php b/workflow/engine/classes/WsGetVariableResponse.php index 0c08c76b6..8f2501dd1 100644 --- a/workflow/engine/classes/WsGetVariableResponse.php +++ b/workflow/engine/classes/WsGetVariableResponse.php @@ -1,41 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - -/** - * - * @package workflow.engine.classes - */ - - -/** - * Class wsGetVariableResponse - * - * @package workflow.engine.classes - */class wsGetVariableResponse +class WsGetVariableResponse { public $status_code = 0; public $message = ''; diff --git a/workflow/engine/classes/WsResponse.php b/workflow/engine/classes/WsResponse.php index d113695b3..ea6cc4e92 100644 --- a/workflow/engine/classes/WsResponse.php +++ b/workflow/engine/classes/WsResponse.php @@ -1,40 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - */ - -/** - * - * @package workflow.engine.classes - */ - - -/** - * - * @package workflow.engine.classes - */class wsResponse +class WsResponse { public $status_code = 0; public $message = ''; diff --git a/workflow/engine/classes/XMLConnection.php b/workflow/engine/classes/XMLConnection.php index 0a1f36ff7..3bb13096f 100644 --- a/workflow/engine/classes/XMLConnection.php +++ b/workflow/engine/classes/XMLConnection.php @@ -1,50 +1,6 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ - -/** - * XMLDB - * - * ProcessMaker Open Source Edition - * - * @copyright (C) 2004 - 2008 Colosa Inc.23 - * @package workflow.engine.ProcessMaker - * - */ - -/** - * XMLConnection - * - * ProcessMaker Open Source Edition - * - * @copyright (C) 2004 - 2008 Colosa Inc.23 - * @package workflow.engine.ProcessMaker - * - */class XMLConnection +class XMLConnection { var $phptype = 'myxml'; var $caseFolding = true; diff --git a/workflow/engine/classes/triggers/PmTrSharepointClass.php b/workflow/engine/classes/triggers/PmTrSharepointClass.php index c89137764..5ec7fdaf3 100644 --- a/workflow/engine/classes/triggers/PmTrSharepointClass.php +++ b/workflow/engine/classes/triggers/PmTrSharepointClass.php @@ -1,12 +1,6 @@ * @GPL 2007, Plymouth State University, ITS - */class Zimbra + */ +class Zimbra { public $debug = false; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index b5cfca073..b8af79742 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -416,7 +416,7 @@ class Cases ) ); //Use search index to return list of cases - $searchIndex = new \BpmnEngine_Services_SearchIndex($appSolr->isSolrEnabled(), $solrEnv["solr_host"]); + $searchIndex = new \BpmnEngineServicesSearchIndex($appSolr->isSolrEnabled(), $solrEnv["solr_host"]); //Execute query $solrQueryResult = $searchIndex->getDataTablePaginatedList($solrRequestData); //Get the missing data from database