CODE STYLE, changes...

FILES:
workflow/engine/classes/class.derivation.php
workflow/engine/classes/class.popupMenu.php
workflow/engine/classes/class.processes.php
workflow/engine/classes/class.xmlDb.php
workflow/engine/classes/triggers/api/class.zimbraApi.php
This commit is contained in:
jennylee
2012-10-22 15:45:47 -04:00
parent d7de707543
commit ef66773130
5 changed files with 5155 additions and 5126 deletions

View File

@@ -232,10 +232,10 @@ class Derivation
}
/* get all users, from any task, if the task have Groups, the function expand the group
*
* @param string $sTasUid the task uidUser
* @return Array $users an array with userID order by USR_UID
*/
*
* @param string $sTasUid the task uidUser
* @return Array $users an array with userID order by USR_UID
*/
function getAllUsersFromAnyTask ($sTasUid)
{
$users = array ();
@@ -288,10 +288,10 @@ class Derivation
}
/* get an array of users, and returns the same arrays with User's fullname and other fields
*
* @param Array $aUsers the task uidUser
* @return Array $aUsersData an array with with User's fullname
*/
*
* @param Array $aUsers the task uidUser
* @return Array $aUsersData an array with with User's fullname
*/
function getUsersFullNameFromArray ($aUsers)
{
$oUser = new Users();
@@ -339,10 +339,10 @@ class Derivation
}
/* get next assigned user
*
* @param Array $tasInfo
* @return Array $userFields
*/
*
* @param Array $tasInfo
* @return Array $userFields
*/
function getNextAssignedUser ($tasInfo)
{
$oUser = new Users();
@@ -369,8 +369,9 @@ class Derivation
$uidUser = $users[0];
$i = count( $users ) - 1;
while ($i > 0) {
if ($lastAssigned < $users[$i])
if ($lastAssigned < $users[$i]) {
$uidUser = $users[$i];
}
$i --;
}
} else {
@@ -397,10 +398,10 @@ class Derivation
} else {
throw (new Exception( "Task doesn't have a valid user in variable $variable." ));
}
} else
} else {
throw (new Exception( "Task doesn't have a valid user in variable $variable or this variable doesn't exist." ));
}
break;
case 'REPORT_TO':
//default error user when the reportsTo is not assigned to that user
//look for USR_REPORTS_TO to this user
@@ -423,7 +424,6 @@ class Derivation
throw (new Exception( G::LoadTranslation( 'ID_MSJ_REPORSTO' ) )); // "The current user does not have a valid Reports To user. Please contact administrator.") ) ;
}
break;
case 'SELF_SERVICE':
//look for USR_REPORTS_TO to this user
$userFields['USR_UID'] = '';
@@ -433,7 +433,6 @@ class Derivation
$userFields['USR_LASTNAME'] = '';
$userFields['USR_EMAIL'] = '';
break;
default:
throw (new Exception( 'Invalid Task Assignment method for Next Task ' ));
}
@@ -441,29 +440,30 @@ class Derivation
}
/* getDenpendentUser
*
* @param string $USR_UID
* @return string $aRow['USR_REPORTS_TO']
*/
function getDenpendentUser($USR_UID) {
*
* @param string $USR_UID
* @return string $aRow['USR_REPORTS_TO']
*/
function getDenpendentUser ($USR_UID)
{
//Here the uid to next user
$oC = new Criteria();
$oC->addSelectColumn(UsersPeer::USR_REPORTS_TO);
$oC->add(UsersPeer::USR_UID, $USR_UID);
$oDataset = UsersPeer::doSelectRS($oC);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oC->addSelectColumn( UsersPeer::USR_REPORTS_TO );
$oC->add( UsersPeer::USR_UID, $USR_UID );
$oDataset = UsersPeer::doSelectRS( $oC );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
$aRow = $oDataset->getRow();
return $aRow['USR_REPORTS_TO'] != '' ? $aRow['USR_REPORTS_TO'] : $USR_UID;
}
/* setTasLastAssigned
*
* @param string $tasUid
* @param string $usrUid
* @throws Exception $e
* @return void
*/
*
* @param string $tasUid
* @param string $usrUid
* @throws Exception $e
* @return void
*/
function setTasLastAssigned ($tasUid, $usrUid)
{
try {
@@ -476,18 +476,20 @@ class Derivation
}
/* derivate
*
* @param array $currentDelegation
* @param array $nextDelegations
* @return void
*/
*
* @param array $currentDelegation
* @param array $nextDelegations
* @return void
*/
function derivate ($currentDelegation = array(), $nextDelegations = array())
{
//define this...
if (! defined( 'TASK_FINISH_PROCESS' ))
if (! defined( 'TASK_FINISH_PROCESS' )) {
define( 'TASK_FINISH_PROCESS', - 1 );
if (! defined( 'TASK_FINISH_TASK' ))
}
if (! defined( 'TASK_FINISH_TASK' )) {
define( 'TASK_FINISH_TASK', - 2 );
}
$this->case = new cases();
@@ -532,17 +534,15 @@ class Derivation
}
switch ($nextDel['TAS_UID']) {
case TASK_FINISH_PROCESS:
/*Close all delegations of $currentDelegation['APP_UID'] */
$this->case->closeAllDelegations( $currentDelegation['APP_UID'] );
/*Close all delegations of $currentDelegation['APP_UID'] */
$this->case->closeAllDelegations( $currentDelegation['APP_UID'] );
$this->case->closeAllThreads( $currentDelegation['APP_UID'] );
//I think we need to change the APP_STATUS to completed,
break;
case TASK_FINISH_TASK:
$iAppThreadIndex = $appFields['DEL_THREAD'];
$this->case->closeAppThread( $currentDelegation['APP_UID'], $iAppThreadIndex );
break;
default:
// get all siblingThreads
//if($currentDelegation['TAS_ASSIGN_TYPE'] == 'STATIC_MI')
@@ -552,39 +552,42 @@ class Derivation
$siblingThreads = $this->case->GetAllOpenDelegation( $currentDelegation );
$aData = $this->case->loadCase( $currentDelegation['APP_UID'] );
if (isset( $aData['APP_DATA'][str_replace( '@@', '', $currentDelegation['TAS_MI_INSTANCE_VARIABLE'] )] ))
if (isset( $aData['APP_DATA'][str_replace( '@@', '', $currentDelegation['TAS_MI_INSTANCE_VARIABLE'] )] )) {
$sMIinstanceVar = $aData['APP_DATA'][str_replace( '@@', '', $currentDelegation['TAS_MI_INSTANCE_VARIABLE'] )];
else
} else {
$sMIinstanceVar = $aData['APP_DATA']['TAS_MI_INSTANCE_VARIABLE'];
}
if (isset( $aData['APP_DATA'][str_replace( '@@', '', $currentDelegation['TAS_MI_COMPLETE_VARIABLE'] )] ))
if (isset( $aData['APP_DATA'][str_replace( '@@', '', $currentDelegation['TAS_MI_COMPLETE_VARIABLE'] )] )) {
$sMIcompleteVar = $aData['APP_DATA'][str_replace( '@@', '', $currentDelegation['TAS_MI_COMPLETE_VARIABLE'] )];
else
} else {
$sMIcompleteVar = $aData['APP_DATA']['TAS_MI_COMPLETE_VARIABLE'];
}
$discriminateThread = $sMIinstanceVar - $sMIcompleteVar;
// -1 because One App Delegation is closed by above Code
if ($discriminateThread == count( $siblingThreads ))
if ($discriminateThread == count( $siblingThreads )) {
$canDerivate = true;
else
} else {
$canDerivate = false;
}
break;
default:
if ($currentDelegation['ROU_TYPE'] == 'SEC-JOIN') {
$siblingThreads = $this->case->getOpenSiblingThreads( $nextDel['TAS_UID'], $currentDelegation['APP_UID'], $currentDelegation['DEL_INDEX'], $currentDelegation['TAS_UID'], $currentDelegation['ROU_TYPE'] );
$canDerivate = count( $siblingThreads ) == 0;
} else if ($currentDelegation['ROU_TYPE'] == 'DISCRIMINATOR') {
} elseif ($currentDelegation['ROU_TYPE'] == 'DISCRIMINATOR') {
//First get the total threads of Next Task where route type='Discriminator'
$siblingThreads = $this->case->getOpenSiblingThreads( $nextDel['TAS_UID'], $currentDelegation['APP_UID'], $currentDelegation['DEL_INDEX'], $currentDelegation['TAS_UID'], $currentDelegation['ROU_TYPE'] );
$siblingThreadsCount = count( $siblingThreads );
$discriminateThread = $currentDelegation['ROU_CONDITION'];
//$checkThread = count($totalThreads) - $cond;
if ($discriminateThread == $siblingThreadsCount)
if ($discriminateThread == $siblingThreadsCount) {
$canDerivate = true;
else
} else {
$canDerivate = false;
}
} else {
$canDerivate = true;
}
@@ -594,7 +597,8 @@ class Derivation
if ($canDerivate) {
$aSP = isset( $aSP ) ? $aSP : null;
$iNewDelIndex = $this->doDerivation( $currentDelegation, $nextDel, $appFields, $aSP );
} else { //when the task doesnt generate a new AppDelegation
} else {
//when the task doesnt generate a new AppDelegation
$iAppThreadIndex = $appFields['DEL_THREAD'];
switch ($currentDelegation['ROU_TYPE']) {
case 'DISCRIMINATOR':
@@ -602,8 +606,9 @@ class Derivation
$this->case->closeAppThread( $currentDelegation['APP_UID'], $iAppThreadIndex );
break;
default:
if ($currentDelegation['TAS_ASSIGN_TYPE'] == 'STATIC_MI' || $currentDelegation['TAS_ASSIGN_TYPE'] == 'CANCEL_MI')
if ($currentDelegation['TAS_ASSIGN_TYPE'] == 'STATIC_MI' || $currentDelegation['TAS_ASSIGN_TYPE'] == 'CANCEL_MI') {
$this->case->closeAppThread( $currentDelegation['APP_UID'], $iAppThreadIndex );
}
} //switch
}
}
@@ -674,15 +679,14 @@ class Derivation
$iNewThreadIndex = $this->case->newAppThread( $currentDelegation['APP_UID'], $iMIDelIndex, $iAppThreadIndex );
//Setting the del Index for Updating the AppThread delIndex
if ($key == 0)
if ($key == 0) {
$iNewDelIndex = $iMIDelIndex - 1;
}
} //end foreach
break;
case 'BALANCED':
$this->setTasLastAssigned( $nextDel['TAS_UID'], $nextDel['USR_UID'] );
//No Break, need no execute the default ones....
//No Break, need no execute the default ones....
default:
// Create new delegation
$iNewDelIndex = $this->case->newAppDelegation( $appFields['PRO_UID'], $currentDelegation['APP_UID'], $nextDel['TAS_UID'], (isset( $nextDel['USR_UID'] ) ? $nextDel['USR_UID'] : ''), $currentDelegation['DEL_INDEX'], $nextDel['DEL_PRIORITY'], $delType, $iAppThreadIndex, $nextDel );
@@ -699,13 +703,10 @@ class Derivation
$this->case->updateAppDelegation( $currentDelegation['APP_UID'], $iNewDelIndex, $iNewThreadIndex );
//print " this->case->updateAppDelegation ( " . $currentDelegation['APP_UID'] .", " . $iNewDelIndex ." , " . $iNewThreadIndex . " )<br>";
break;
case 'DISCRIMINATOR':
if ($currentDelegation['ROU_OPTIONAL'] == 'TRUE') {
$this->case->discriminateCases( $currentDelegation );
} //No Break, executing Default Condition
default:
switch ($currentDelegation['TAS_ASSIGN_TYPE']) {
case 'CANCEL_MI':
@@ -784,10 +785,10 @@ class Derivation
}
/* verifyIsCaseChild
*
* @param string $sApplicationUID
* @return void
*/
*
* @param string $sApplicationUID
* @return void
*/
function verifyIsCaseChild ($sApplicationUID)
{
//Obtain the related row in the table SUB_APPLICATION
@@ -855,14 +856,14 @@ class Derivation
}
/* getDerivatedCases
* get all derivated cases and subcases from any task,
* this function is useful to know who users have been assigned and what task they do.
*
* @param string $sParentUid
* @param string $sDelIndexParent
* @return array $derivation
*
*/
* get all derivated cases and subcases from any task,
* this function is useful to know who users have been assigned and what task they do.
*
* @param string $sParentUid
* @param string $sDelIndexParent
* @return array $derivation
*
*/
function getDerivatedCases ($sParentUid, $sDelIndexParent)
{
$oCriteria = new Criteria( 'workflow' );
@@ -968,5 +969,5 @@ class Derivation
}
}
}
}

View File

@@ -1,6 +1,8 @@
<?php
/**
* class.popupMenu.php
*
* @package workflow.engine.ProcessMaker
*
* ProcessMaker Open Source Edition
@@ -13,89 +15,85 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
/**
* popupMenu - popupMenu class
*
* @package workflow.engine.ProcessMaker
* @copyright COLOSA
*/
class popupMenu extends form
{
var $type = 'popupMenu';
var $theme = 'processmaker';
var $type = 'popupMenu';
var $theme = 'processmaker';
/**
* Print the popup
* @param string $tableId
* @param array $tableFields
* @return array
*/
function renderPopup( $tableId, $tableFields )
{
$this->name =$tableId;
$fields = array_keys( $tableFields);
foreach( $fields as $f ) {
switch ( strtolower($tableFields[$f]['Type'])) {
case 'javascript':
case 'button':
case 'private':
case 'hidden':
case 'cellmark':
break;
default:
$label = ($tableFields[$f]['Label'] !='' ) ? $tableFields[$f]['Label'] : $f;
$label = str_replace("\n", ' ', $label);
$pmXmlNode = new Xml_Node( $f,
'complete',
'',
array ( 'label' => $label,
'type' => 'popupOption',
'launch' => $tableId . '.showHideField("' . $f . '")'
)
);
$this->fields[$f] = new XmlForm_Field_popupOption( $pmXmlNode );
$this->values[$f]='';
/**
* Print the popup
*
* @param string $tableId
* @param array $tableFields
* @return array
*/
function renderPopup ($tableId, $tableFields)
{
$this->name = $tableId;
$fields = array_keys( $tableFields );
foreach ($fields as $f) {
switch (strtolower( $tableFields[$f]['Type'] )) {
case 'javascript':
case 'button':
case 'private':
case 'hidden':
case 'cellmark':
break;
default:
$label = ($tableFields[$f]['Label'] != '') ? $tableFields[$f]['Label'] : $f;
$label = str_replace( "\n", ' ', $label );
$pmXmlNode = new Xml_Node( $f, 'complete', '', array ('label' => $label,'type' => 'popupOption','launch' => $tableId . '.showHideField("' . $f . '")'
) );
$this->fields[$f] = new XmlForm_Field_popupOption( $pmXmlNode );
$this->values[$f] = '';
}
}
}
$scTemp = '';
$this->values['PAGED_TABLE_ID'] = $tableId;
print( parent::render( PATH_CORE . 'templates/popupMenu.html', $scTemp));
$sc = "<script type=\"text/javascript\">\n$scTemp\n loadPopupMenu_$tableId(); \n</script>" ;
return $sc;
}
$scTemp = '';
$this->values['PAGED_TABLE_ID'] = $tableId;
print (parent::render( PATH_CORE . 'templates/popupMenu.html', $scTemp )) ;
$sc = "<script type=\"text/javascript\">\n$scTemp\n loadPopupMenu_$tableId(); \n</script>";
return $sc;
}
}
/**
* XmlForm_Field_popupOption - XmlForm_Field_popupOption class
*
* @package workflow.engine.ProcessMaker
* @copyright COLOSA
*/
class XmlForm_Field_popupOption extends XmlForm_Field
{
var $launch = '';
var $launch = '';
/**
* Get Events
* @return string
*/
function getEvents( )
{
$script = '{name:"' . $this->name . '",text:"' . addcslashes($this->label,'\\"') .
'", launch:leimnud.closure({Function:function(target){' . $this->launch . '}, args:target})}';
return $script;
}
/**
* Get Events
*
* @return string
*/
function getEvents ()
{
$script = '{name:"' . $this->name . '",text:"' . addcslashes( $this->label, '\\"' ) . '", launch:leimnud.closure({Function:function(target){' . $this->launch . '}, args:target})}';
return $script;
}
}
?>

View File

@@ -58,13 +58,14 @@ G::LoadThirdParty( 'pear/json', 'class.json' );
class Processes
{
/**
* change Status of any Process
*
* @param string $sProUid
* @return boolean
* @package workflow.engine.ProcessMaker
*/
* change Status of any Process
*
* @param string $sProUid
* @return boolean
* @package workflow.engine.ProcessMaker
*/
public function changeStatus ($sProUid = '')
{
$oProcess = new Process();
@@ -550,9 +551,9 @@ class Processes
}
/*
* get an unused Dynaform GUID
* @return $sDynUid
*/
* get an unused Dynaform GUID
* @return $sDynUid
*/
public function getUnusedDynaformGUID ()
{
do {
@@ -952,7 +953,7 @@ class Processes
} else {
$oProcess->create( $row );
}
}
}
/**
* Gets the subprocess data from a process and returns it in an array.
@@ -1470,11 +1471,11 @@ class Processes
}
/**
* Create ProcessCategory record
*
* @param $ProcessCategory array.
* @return void
*/
* Create ProcessCategory record
*
* @param $ProcessCategory array.
* @return void
*/
public function createProcessCategoryRow ($row)
{
if ($row && is_array( $row ) && isset( $row['CATEGORY_UID'] )) {
@@ -1835,8 +1836,8 @@ class Processes
foreach ($oData->reportTablesVars as $key => $val) {
if (isset( $map[$val['REP_TAB_UID']] )) {
/*TODO: Why this can be not defined?? The scenario was when
* imported an existing process but as a new one
*/
* imported an existing process but as a new one
*/
$newGuid = $map[$val['REP_TAB_UID']];
$oData->reportTablesVars[$key]['REP_TAB_UID'] = $newGuid;
}
@@ -2493,6 +2494,7 @@ class Processes
}
#@!neyek
/**
* Update Report Tables from an array of data
*
@@ -2646,6 +2648,7 @@ class Processes
$bytesSaved += fwrite( $fp, $fsXmlGuid ); //writing the size of xml file
$bytesSaved += fwrite( $fp, $xmlGuid ); //writing the xmlfile
$xmlContent = file_get_contents( $sFileName );
$fsXmlContent = sprintf( "%09d", strlen( $xmlContent ) );
$bytesSaved += fwrite( $fp, $fsXmlContent ); //writing the size of xml file
@@ -2706,6 +2709,7 @@ class Processes
$bytesSaved += fwrite( $fp, $fsFileName ); //writing the fileName size
$bytesSaved += fwrite( $fp, $filename ); //writing the fileName size
$fileContent = file_get_contents( $sFileName );
$fsFileContent = sprintf( "%09d", strlen( $fileContent ) );
$bytesSaved += fwrite( $fp, $fsFileContent ); //writing the size of xml file
@@ -2811,6 +2815,7 @@ class Processes
$contents = '';
$contents = @fread( $fp, $fsData ); //reading string $oData
if ($contents != '') {
$oData = unserialize( $contents );
if ($oData === false) {
@@ -2825,7 +2830,7 @@ class Processes
$oData->dynaformFiles = array ();
$sIdentifier = 0;
while (! feof( $fp ) && is_numeric( $sIdentifier )) {
$sIdentifier = fread( $fp, 9 );//reading the block identifier
$sIdentifier = fread( $fp, 9 ); //reading the block identifier
if (is_numeric( $sIdentifier )) {
$fsXmlGuid = intval( $sIdentifier ); //reading the size of $filename
if ($fsXmlGuid > 0) {
@@ -3049,6 +3054,7 @@ class Processes
/**
* create the files from a .
*
*
* pm file
*
* @param $oData process data
@@ -3067,6 +3073,7 @@ class Processes
$fsData = intval( fread( $fp, 9 ) ); //reading the size of $oData
$contents = fread( $fp, $fsData ); //reading string $oData
$path = PATH_DYNAFORM . $oData->process['PRO_UID'] . PATH_SEP;
if (! is_dir( $path )) {
G::verifyPath( $path, true );
@@ -3077,8 +3084,9 @@ class Processes
$sIdentifier = fread( $fp, 9 ); //reading the size of $filename
if (is_numeric( $sIdentifier )) {
$fsXmlGuid = intval( $sIdentifier ); //reading the size of $filename
if ($fsXmlGuid > 0)
if ($fsXmlGuid > 0) {
$XmlGuid = fread( $fp, $fsXmlGuid ); //reading string $XmlGuid
}
$fsXmlContent = intval( fread( $fp, 9 ) ); //reading the size of $XmlContent
if ($fsXmlContent > 0) {
$newXmlGuid = $oData->dynaformFiles[$XmlGuid];
@@ -3269,17 +3277,17 @@ class Processes
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
//Delete the steptrigger of process
/*$oCriteria = new Criteria('workflow');
$oCriteria->add(StepTriggerPeer::STEP_UID, $aRow['STEP_UID']);
$oDataseti = StepTriggerPeer::doSelectRS($oCriteria);
$oDataseti->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataseti->next();
while ($aRowi = $oDataseti->getRow()) {
if ($oStepTrigger->stepTriggerExists($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']))
$oStepTrigger->remove($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']);
$oDataseti->next();
}*/
//Delete the steptrigger of process
/*$oCriteria = new Criteria('workflow');
$oCriteria->add(StepTriggerPeer::STEP_UID, $aRow['STEP_UID']);
$oDataseti = StepTriggerPeer::doSelectRS($oCriteria);
$oDataseti->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataseti->next();
while ($aRowi = $oDataseti->getRow()) {
if ($oStepTrigger->stepTriggerExists($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']))
$oStepTrigger->remove($aRowi['STEP_UID'], $aRowi['TAS_UID'], $aRowi['TRI_UID'], $aRowi['ST_TYPE']);
$oDataseti->next();
}*/
$oStep->remove( $aRow['STEP_UID'] );
$oDataset->next();
}
@@ -3469,6 +3477,7 @@ class Processes
//it was commented becuase it seems to be working fine
//$this->createEventRows(isset($oData->event) ? $oData->event : array());
$aRoutesUID = $this->createRouteRows( $oData->routes );
$this->createLaneRows( $oData->lanes );
@@ -3492,8 +3501,8 @@ class Processes
$oRoute->update($aData);
}
}
}
else*/
}
else*/
if (isset( $oData->gateways )) {
$this->createGatewayRows( $oData->gateways );
@@ -3608,8 +3617,10 @@ class Processes
}
}
$client = new SoapClient( $endpoint, $proxy );
$params = array ('userid' => $user,'password' => $pass);
$result = $client->__SoapCall( 'login', array ($params) );
$params = array ('userid' => $user,'password' => $pass
);
$result = $client->__SoapCall( 'login', array ($params
) );
if ($result->status_code == 0) {
$sessionId = $result->message;
return 1;
@@ -3619,12 +3630,12 @@ class Processes
}
/**
* Open a WebService public connection
*
* @param $user username for pm
* @param $pass password for the user
* @return 1 integer.
*/
* Open a WebService public connection
*
* @param $user username for pm
* @param $pass password for the user
* @return 1 integer.
*/
public function ws_open_public ()
{
global $sessionId;
@@ -3683,8 +3694,10 @@ class Processes
$client = new SoapClient( $endpoint, $proxy );
$sessionId = '';
$params = array ('sessionId' => $sessionId);
$result = $client->__SoapCall( 'processList', array ($params) );
$params = array ('sessionId' => $sessionId
);
$result = $client->__SoapCall( 'processList', array ($params
) );
if ($result->status_code == 0) {
return $result;
}
@@ -3757,8 +3770,10 @@ class Processes
$client = new SoapClient( $endpoint, $proxy );
$sessionId = '';
$params = array ('sessionId' => $sessionId,'processId' => $proId);
$result = $client->__SoapCall( 'processGetData', array ($params) );
$params = array ('sessionId' => $sessionId,'processId' => $proId
);
$result = $client->__SoapCall( 'processGetData', array ($params
) );
if ($result->status_code == 0) {
return $result;
}
@@ -3811,6 +3826,7 @@ class Processes
G::verifyPath( $dir, true ); //Create if it does not exist
//Creating the default template (if not exists)
if (! file_exists( $dir . "alert_message.html" )) {
@copy( PATH_TPL . "mails" . PATH_SEP . "alert_message.html", $dir . "alert_message.html" );
@@ -3826,13 +3842,14 @@ class Processes
$fileName = basename( $file );
if ($fileName != "alert_message.html" && $fileName != "unassignedMessage.html") {
$filesList[] = array ("filepath" => $file,"filename" => $fileName);
$filesList[] = array ("filepath" => $file,"filename" => $fileName
);
}
}
return $filesList;
}
} //end class processes
}
//end class processes
/**

View File

@@ -44,7 +44,7 @@ class XMLDB
* @param string $dsn
* @return array $options
*/
function &connect ($dsn, $options = array())
public function &connect ($dsn, $options = array())
{
//Needed for $mysql_real_escape_string
$mresdbc = new DBConnection();
@@ -63,7 +63,7 @@ class XMLDB
* @param string $result
* @return boolean is_a($result, 'DB_Error')
*/
function isError ($result)
public function isError ($result)
{
return is_a( $result, 'DB_Error' );
}
@@ -82,7 +82,7 @@ class XMLConnection
{
var $phptype = 'myxml';
var $caseFolding = true;
var $xmldoc = NULL;
var $xmldoc = null;
var $xmlFile = '';
/**
@@ -91,7 +91,7 @@ class XMLConnection
* @param string $file
* @return void
*/
function XMLConnection ($file)
public function XMLConnection ($file)
{
$this->xmldoc = new Xml_Document();
$this->xmldoc->parseXmlFile( $file );
@@ -105,7 +105,7 @@ class XMLConnection
* @param string $sql
* @return object(XMLResult) $result
*/
function &query ($sql)
public function &query ($sql)
{
if (! isset( $this->xmldoc )) {
$err = new DB_Error( "Error: Closed xmlConnection." );
@@ -127,8 +127,8 @@ class XMLConnection
$fieldsList[$name] = $match[1][$r][0];
}
/* End Block */
/* Start Block: Order list */
$count = preg_match_all( '/\s*(\*|[\w\.]+)(\s+ASC|\s+DESC)?\s*,?/im', $sqlOrderBy, $match, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE );
/* Start Block: Order list */
$count = preg_match_all( '/\s*(\*|[\w\.]+)(\s+ASC|\s+DESC)?\s*,?/im', $sqlOrderBy, $match, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE );
$orderList = array ();
for ($r = $count - 1; $r >= 0; $r --) {
$direction = (is_array( $match[2][$r] ) && $match[2][$r][0] !== '') ? $match[2][$r][0] : 'ASC';
@@ -173,21 +173,22 @@ class XMLConnection
for ($r = 0; $r < sizeof( $res ); $r ++) {
$evalWhere = false;
@eval( '$evalWhere = ' . $sqlWhere . ';' );
if ($evalWhere)
if ($evalWhere) {
$newRes[] = $res[$r];
}
}
$res = $newRes;
}
/* End Block */
/* Start Block: Expands the resultant data according to fill an array
* with the required fields in the query.
*/
for ($r = 0; $r < sizeof( $res ); $r ++) {
/* Start Block: Expands the resultant data according to fill an array
* with the required fields in the query.
*/
for ($r = 0; $r < sizeof( $res ); $r ++) {
$res[$r] = $this->expandFields( $res[$r], $fieldsList );
}
/* End Block */
/* Start Block: ORDER BY*/
foreach ($orderList as $field => $direction) {
/* Start Block: ORDER BY*/
foreach ($orderList as $field => $direction) {
for ($i = 0; $i < sizeof( $res ); $i ++) {
for ($j = $i + 1; $j < sizeof( $res ); $j ++) {
$condition = ($direction === 'ASC') ? ($res[$j] < $res[$i]) : ($res[$j] > $res[$i]);
@@ -200,8 +201,8 @@ class XMLConnection
}
}
/* End Block */
/* Start Block: Apply limits */
if ($sqlLowLimit != '' && $sqlHighLimit != '') {
/* Start Block: Apply limits */
if ($sqlLowLimit != '' && $sqlHighLimit != '') {
$sqlLowLimit = (int) $sqlLowLimit;
$sqlHighLimit = (int) $sqlHighLimit;
$res = array_slice( $res, $sqlLowLimit, $sqlHighLimit );
@@ -213,8 +214,8 @@ class XMLConnection
$sqlFrom = isset( $matches[1] ) ? $matches[1] : '';
$sqlWhere = isset( $matches[2] ) ? $matches[2] : '1';
/* Start Block: WHERE*/
/*Start Block: Replace the operator */
$blocks = preg_split( '/("(?:(?:[^"]|"")*)"|\'(?:(?:[^\']|\'\')*)\')/im', $sqlWhere, - 1, PREG_SPLIT_DELIM_CAPTURE );
/*Start Block: Replace the operator */
$blocks = preg_split( '/("(?:(?:[^"]|"")*)"|\'(?:(?:[^\']|\'\')*)\')/im', $sqlWhere, - 1, PREG_SPLIT_DELIM_CAPTURE );
$sqlWhere = '';
for ($r = 0; $r < sizeof( $blocks ); $r ++) {
if (($r % 2) === 0) {
@@ -274,8 +275,8 @@ class XMLConnection
$fieldsList[] = $match[1][$r][0];
}
/* End Block */
/* Start Block: Fields Values */
$count = preg_match_all( '/("(?:(?:[^"]|"")*)"|\'(?:(?:[^\']|\'\')*)\'|\d+)/im', $sqlValues, $match, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE );
/* Start Block: Fields Values */
$count = preg_match_all( '/("(?:(?:[^"]|"")*)"|\'(?:(?:[^\']|\'\')*)\'|\d+)/im', $sqlValues, $match, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE );
$fieldsValues = array ();
for ($r = 0; $r < $count; $r ++) {
if (substr( $match[1][$r][0], 0, 1 ) === '"') {
@@ -318,8 +319,8 @@ class XMLConnection
$fieldsValues[$match[1][$r][0]] = $match[2][$r][0];
}
/* Start Block: WHERE*/
/*Start Block: Replace the operator */
$blocks = preg_split( '/("(?:(?:[^"]|"")*)"|\'(?:(?:[^\']|\'\')*)\')/im', $sqlWhere, - 1, PREG_SPLIT_DELIM_CAPTURE );
/*Start Block: Replace the operator */
$blocks = preg_split( '/("(?:(?:[^"]|"")*)"|\'(?:(?:[^\']|\'\')*)\')/im', $sqlWhere, - 1, PREG_SPLIT_DELIM_CAPTURE );
$sqlWhere = '';
for ($r = 0; $r < sizeof( $blocks ); $r ++) {
if (($r % 2) === 0) {
@@ -377,7 +378,7 @@ class XMLConnection
* @param string $a
* @return void $b
*/
function sqlLike ($a, $b)
public function sqlLike ($a, $b)
{
$b = addcslashes( $b, '[]()\/{}.?' );
$b = str_replace( "%", '.*', $b );
@@ -392,15 +393,16 @@ class XMLConnection
* @param string $fieldsList
* @return array $res
*/
function expandFields ($resRow, $fieldsList)
public function expandFields ($resRow, $fieldsList)
{
$res = array ();
foreach ($fieldsList as $key => $value) {
if ($key === '*') {
foreach ($resRow as $k => $v)
foreach ($resRow as $k => $v) {
$res[$k] = $v;
}
} else {
$res[$key] = array_key_exists( $value, $resRow ) ? $resRow[$value] : NULL;
$res[$key] = array_key_exists( $value, $resRow ) ? $resRow[$value] : null;
}
}
return $res;
@@ -412,13 +414,14 @@ class XMLConnection
* @param object &$node
* @return array $res
*/
function fetchNode (&$node)
public function fetchNode (&$node)
{
$res = array ('XMLNODE_NAME' => $node->name,'XMLNODE_TYPE' => $node->type,'XMLNODE_VALUE' => $node->value
);
foreach ($node->attributes as $name => $value) {
if ($this->caseFolding)
if ($this->caseFolding) {
$name = strtoupper( $name );
}
$res[$name] = $value;
}
return $res;
@@ -430,7 +433,7 @@ class XMLConnection
* @param string &$node
* @return array $res
*/
function fetchChildren (&$node)
public function fetchChildren (&$node)
{
$res = array ();
foreach ($node->children as $name => $child) {
@@ -444,7 +447,7 @@ class XMLConnection
*
* @return void
*/
function disconnect ()
public function disconnect ()
{
unset( $this->xmldoc );
}
@@ -454,7 +457,7 @@ class XMLConnection
* @param array $match
* @return object(DB_Error) $err
*/
function sqlWhereLike ($match)
public function sqlWhereLike ($match)
{
switch (substr( $match[2], 0, 1 )) {
case '"':
@@ -476,7 +479,7 @@ class XMLConnection
* @param array $match
* @return object(DB_Error) $err
*/
function sqlString ($match)
public function sqlString ($match)
{
switch (substr( $match[0], 0, 1 )) {
case '"':
@@ -507,7 +510,7 @@ class XMLConnection
* @param object $values
* @return void
*/
function insertRow (&$node, $values)
public function insertRow (&$node, $values)
{
$attributes = array ();
foreach ($values as $field => $value) {
@@ -533,7 +536,7 @@ class XMLConnection
* @param object $values
* @return void
*/
function updateRow (&$node, $values)
public function updateRow (&$node, $values)
{
foreach ($values as $field => $value) {
switch ($field) {
@@ -573,7 +576,7 @@ class XMLResult
* @param array $result
* @return void
*/
function XMLResult ($result = array())
public function XMLResult ($result = array())
{
$this->result = $result;
$this->cursor = 0;
@@ -584,7 +587,7 @@ class XMLResult
*
* @return integer sizeof($this->result)
*/
function numRows ()
public function numRows ()
{
return sizeof( $this->result );
}
@@ -595,10 +598,11 @@ class XMLResult
* @param string $const
* @return integer $this->result[ $this->cursor-1 ];
*/
function fetchRow ($const)
public function fetchRow ($const)
{
if ($this->cursor >= $this->numRows())
return NULL;
if ($this->cursor >= $this->numRows()) {
return null;
}
$this->cursor ++;
return $this->result[$this->cursor - 1];
}
@@ -621,4 +625,3 @@ function getNames ($children)
return $names;
}
?>

View File

@@ -205,7 +205,8 @@ class Zimbra
if ($sysConf['proxy_user'] != '') {
curl_setopt( $this->_curl, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') );
}
curl_setopt( $this->_curl, CURLOPT_HTTPHEADER, array ('Expect:') );
curl_setopt( $this->_curl, CURLOPT_HTTPHEADER, array ('Expect:'
) );
}
$preauth = $this->getPreAuth( $this->_username );
@@ -673,7 +674,8 @@ class Zimbra
$tpl->assign( 'total_messages', $total_messages );
$tpl->assign( 'unread_messages', $unread_messages );
$info = $this->getInfo( array ('sections' => 'mbox') );
$info = $this->getInfo( array ('sections' => 'mbox'
) );
if (is_array( $info['attrs'][0]['attr_attribute_name'] )) {
$quota = $info['attrs'][0]['attr'][array_search( 'zimbraMailQuota', $info['attrs'][0]['attr_attribute_name'] )];
$size_text = $this->makeBytesPretty( $info['used'][0], ($quota * 0.75) ) . ' out of ' . $this->makeBytesPretty( $quota );
@@ -929,16 +931,15 @@ class Zimbra
switch ($val['type']) {
case 'open':
array_push( $hash_stack, $val['tag'] );
if (isset( $val['attributes'] ))
if (isset( $val['attributes'] )) {
$ret = $this->composeArray( $ret, $hash_stack, $val['attributes'] );
else
} else {
$ret = $this->composeArray( $ret, $hash_stack );
}
break;
case 'close':
array_pop( $hash_stack );
break;
case 'complete':
array_push( $hash_stack, $val['tag'] );
$ret = $this->composeArray( $ret, $hash_stack, $val['value'] );
@@ -952,11 +953,9 @@ class Zimbra
array_pop( $hash_stack );
}
}
break;
}
}
return $ret;
}
@@ -985,7 +984,8 @@ class Zimbra
// does the current element refer to a list
if (sizeof( $elements ) > 0) {
$array[$element][sizeof( $array[$element] ) - 1] = &$this->composeArray( $array[$element][sizeof( $array[$element] ) - 1], $elements, $value );
} else { // if (is_array($value))
} else {
// if (is_array($value))
$array[$element][sizeof( $array[$element] )] = $value;
}
@@ -1018,8 +1018,10 @@ class Zimbra
* @access public
* @param
*
*
* @return
*
*
*/
public function addAppointment ($serializeOp1)
{
@@ -1160,8 +1162,10 @@ class Zimbra
* @access public
* @param
*
*
* @return
*
*
*/
public function addContacts ($serializeOp1)
{
@@ -1202,8 +1206,10 @@ class Zimbra
* @access public
* @param
*
*
* @return
*
*
*/
public function addFolder ($serializeOp1)
@@ -1238,8 +1244,10 @@ class Zimbra
* @access public
* @param
*
*
* @return
*
*
*/
public function upload ($folderId, $UploadId, $fileVersion = '', $docId = '')
@@ -1282,8 +1290,10 @@ class Zimbra
* @access public
* @param
*
*
* @return
*
*
*/
public function getDocId ($folderId, $fileName)
{