diff --git a/workflow/engine/methods/users/data_usersList.php b/workflow/engine/methods/users/data_usersList.php index 1cc04475e..2fb6e9a26 100755 --- a/workflow/engine/methods/users/data_usersList.php +++ b/workflow/engine/methods/users/data_usersList.php @@ -12,63 +12,60 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ require_once (PATH_RBAC . "model/RolesPeer.php"); -G::LoadClass('ArrayPeer'); +G::LoadClass( 'ArrayPeer' ); -isset($_POST['textFilter']) ? $filter = $_POST['textFilter'] : $filter = ''; +isset( $_POST['textFilter'] ) ? $filter = $_POST['textFilter'] : $filter = ''; $sDelimiter = DBAdapter::getStringDelimiter(); require_once 'classes/model/Users.php'; -$oCriteria = new Criteria('workflow'); -$oCriteria->addSelectColumn(UsersPeer::USR_UID); +$oCriteria = new Criteria( 'workflow' ); +$oCriteria->addSelectColumn( UsersPeer::USR_UID ); -$sDataBase = 'database_' . strtolower(DB_ADAPTER); -if(G::LoadSystemExist($sDataBase)){ - G::LoadSystem($sDataBase); - $oDataBase = new database(); - $oCriteria->addAsColumn('USR_COMPLETENAME', $oDataBase->concatString("USR_LASTNAME", "' '", "USR_FIRSTNAME")); - //$oCriteria->addAsColumn('USR_PHOTO', $oDataBase->concatString("'".PATH_IMAGES_ENVIRONMENT_USERS."'", "USR_UID","'.gif'")); +$sDataBase = 'database_' . strtolower( DB_ADAPTER ); +if (G::LoadSystemExist( $sDataBase )) { + G::LoadSystem( $sDataBase ); + $oDataBase = new database(); + $oCriteria->addAsColumn( 'USR_COMPLETENAME', $oDataBase->concatString( "USR_LASTNAME", "' '", "USR_FIRSTNAME" ) ); + //$oCriteria->addAsColumn('USR_PHOTO', $oDataBase->concatString("'".PATH_IMAGES_ENVIRONMENT_USERS."'", "USR_UID","'.gif'")); } -$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); -$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL); -$oCriteria->addSelectColumn(UsersPeer::USR_ROLE); -$oCriteria->addSelectColumn(UsersPeer::USR_DUE_DATE); +$oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); +$oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); +$oCriteria->addSelectColumn( UsersPeer::USR_ROLE ); +$oCriteria->addSelectColumn( UsersPeer::USR_DUE_DATE ); //$oCriteria->addAsColumn('USR_VIEW', $sDelimiter . G::LoadTranslation('ID_DETAIL') . $sDelimiter); //$oCriteria->addAsColumn('USR_EDIT', $sDelimiter . G::LoadTranslation('ID_EDIT') . $sDelimiter); //$oCriteria->addAsColumn('USR_DELETE', $sDelimiter . G::LoadTranslation('ID_DELETE') . $sDelimiter); //$oCriteria->addAsColumn('USR_AUTH', $sDelimiter . G::LoadTranslation('ID_AUTHENTICATION') . $sDelimiter); //$oCriteria->addAsColumn('USR_REASSIGN', $sDelimiter . G::LoadTranslation('ID_REASSIGN_CASES') . $sDelimiter); -$oCriteria->add(UsersPeer::USR_STATUS, array('CLOSED'), Criteria::NOT_IN); +$oCriteria->add( UsersPeer::USR_STATUS, array ('CLOSED' +), Criteria::NOT_IN ); -if ($filter != ''){ - $cc = $oCriteria->getNewCriterion(UsersPeer::USR_USERNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME,'%'.$filter.'%',Criteria::LIKE))); - $oCriteria->add($cc); +if ($filter != '') { + $cc = $oCriteria->getNewCriterion( UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE ) ) ); + $oCriteria->add( $cc ); //echo $oCriteria->toString(); } +$rs = UsersPeer::DoSelectRs( $oCriteria ); +$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - -$rs = UsersPeer::DoSelectRs ($oCriteria); -$rs->setFetchmode (ResultSet::FETCHMODE_ASSOC); - -$rows = Array(); -while($rs->next()){ - $rows[] = $rs->getRow(); -// if (!file_exists($aux['USR_PHOTO'])) $aux['USR_PHOTO'] = 'public_html/images/user.gif'; -// $rows[] = $aux; +$rows = Array (); +while ($rs->next()) { + $rows[] = $rs->getRow(); + // if (!file_exists($aux['USR_PHOTO'])) $aux['USR_PHOTO'] = 'public_html/images/user.gif'; + // $rows[] = $aux; } -echo '{users: '.G::json_encode($rows).'}'; \ No newline at end of file +echo '{users: ' . G::json_encode( $rows ) . '}'; + diff --git a/workflow/engine/methods/users/index.php b/workflow/engine/methods/users/index.php index 7fae54b36..54efaf5d5 100755 --- a/workflow/engine/methods/users/index.php +++ b/workflow/engine/methods/users/index.php @@ -1,10 +1,10 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * along with this program. If not, see . + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ - $newFile = str_replace ( 'index.php', 'users_List.php' , __FILE__ ) ; - return $newFile; - - \ No newline at end of file +$newFile = str_replace( 'index.php', 'users_List.php', __FILE__ ); +return $newFile; + diff --git a/workflow/engine/methods/users/myInfo.php b/workflow/engine/methods/users/myInfo.php index 608201655..e9b23a245 100755 --- a/workflow/engine/methods/users/myInfo.php +++ b/workflow/engine/methods/users/myInfo.php @@ -12,26 +12,25 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ - $G_MAIN_MENU = 'processmaker'; - $G_ID_MENU_SELECTED = 'MY_ACCOUNT'; - $G_PUBLISH = new Publisher (); - - if ( isset($_GET['type']) ){ - $G_PUBLISH->AddContent('view', 'users/usersReload'); - G::RenderPage( "publishBlank", "blank"); - } - else { - $G_PUBLISH->AddContent('view', 'users/usersLoad'); +$G_MAIN_MENU = 'processmaker'; +$G_ID_MENU_SELECTED = 'MY_ACCOUNT'; +$G_PUBLISH = new Publisher(); + +if (isset( $_GET['type'] )) { + $G_PUBLISH->AddContent( 'view', 'users/usersReload' ); + G::RenderPage( "publishBlank", "blank" ); +} else { + $G_PUBLISH->AddContent( 'view', 'users/usersLoad' ); G::RenderPage( "publish" ); - } +} + diff --git a/workflow/engine/methods/users/myInfo_Ajax.php b/workflow/engine/methods/users/myInfo_Ajax.php index f9c4eb917..d2b2a3cbf 100755 --- a/workflow/engine/methods/users/myInfo_Ajax.php +++ b/workflow/engine/methods/users/myInfo_Ajax.php @@ -1,10 +1,10 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * along with this program. If not, see . + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ -if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response; -G::LoadClass("xmlMenu"); -$form = new Form ( 'myInfo/myInfoAEdit.xml' , PATH_XMLFORM ); -$form->action = urlencode( G::encrypt( '' ,URL_KEY ) ); -$form->ajaxServer = urlencode( G::encrypt( SYS_URI . '/gulliver/defaultAjax' ,URL_KEY ) ); +if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) + return $RBAC_Response; +G::LoadClass( "xmlMenu" ); +$form = new Form( 'myInfo/myInfoAEdit.xml', PATH_XMLFORM ); +$form->action = urlencode( G::encrypt( '', URL_KEY ) ); +$form->ajaxServer = urlencode( G::encrypt( SYS_URI . '/gulliver/defaultAjax', URL_KEY ) ); $template = PATH_CORE . 'templates/xmlform.html'; -print $G_FORM->render( $template , $scriptCode ); -?> \ No newline at end of file +print $G_FORM->render( $template, $scriptCode ); + diff --git a/workflow/engine/methods/users/myInfo_Edit.php b/workflow/engine/methods/users/myInfo_Edit.php index 265f0dd56..e087ea4ed 100755 --- a/workflow/engine/methods/users/myInfo_Edit.php +++ b/workflow/engine/methods/users/myInfo_Edit.php @@ -12,157 +12,157 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - global $RBAC; - $RBAC->requirePermissions('PM_LOGIN'); + global $RBAC; + $RBAC->requirePermissions( 'PM_LOGIN' ); - // deprecated the class XmlForm_Field_Image is currently part of the class.xmlform.php package - // the use of the external xmlfield_Image is highly discouraged - if (!class_exists('XmlForm_Field_Image')){ - G::LoadClass('xmlfield_Image'); - } - require_once 'classes/model/Users.php'; - require_once 'classes/model/Department.php'; + // deprecated the class XmlForm_Field_Image is currently part of the class.xmlform.php package + // the use of the external xmlfield_Image is highly discouraged + if (! class_exists( 'XmlForm_Field_Image' )) { + G::LoadClass( 'xmlfield_Image' ); + } + require_once 'classes/model/Users.php'; + require_once 'classes/model/Department.php'; - unset($_SESSION['CURRENT_USER']); - $oUser = new Users(); - $aFields = $oUser->load($_SESSION['USER_LOGGED']); - $aFields['USR_PASSWORD'] = '********'; - $aFields['MESSAGE0'] = G::LoadTranslation('ID_USER_REGISTERED') . '!'; - $aFields['MESSAGE1'] = G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME'); - $aFields['MESSAGE2'] = G::LoadTranslation('ID_MSG_ERROR_DUE_DATE'); - $aFields['MESSAGE3'] = G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS'); - $aFields['MESSAGE4'] = G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME'); - $aFields['MESSAGE5'] = G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME'); - $aFields['NO_RESUME'] = G::LoadTranslation('ID_NO_RESUME'); - $aFields['START_DATE'] = date('Y-m-d'); - $aFields['END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 5)); - $aFields['RANDOM'] = rand(); + unset( $_SESSION['CURRENT_USER'] ); + $oUser = new Users(); + $aFields = $oUser->load( $_SESSION['USER_LOGGED'] ); + $aFields['USR_PASSWORD'] = '********'; + $aFields['MESSAGE0'] = G::LoadTranslation( 'ID_USER_REGISTERED' ) . '!'; + $aFields['MESSAGE1'] = G::LoadTranslation( 'ID_MSG_ERROR_USR_USERNAME' ); + $aFields['MESSAGE2'] = G::LoadTranslation( 'ID_MSG_ERROR_DUE_DATE' ); + $aFields['MESSAGE3'] = G::LoadTranslation( 'ID_NEW_PASS_SAME_OLD_PASS' ); + $aFields['MESSAGE4'] = G::LoadTranslation( 'ID_MSG_ERROR_USR_FIRSTNAME' ); + $aFields['MESSAGE5'] = G::LoadTranslation( 'ID_MSG_ERROR_USR_LASTNAME' ); + $aFields['NO_RESUME'] = G::LoadTranslation( 'ID_NO_RESUME' ); + $aFields['START_DATE'] = date( 'Y-m-d' ); + $aFields['END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) ); + $aFields['RANDOM'] = rand(); + + //getting the user and department + $oDepInfo = new Department(); + $oUser = UsersPeer::retrieveByPk( $aFields['USR_REPORTS_TO'] ); + if (is_object( $oUser ) && get_class( $oUser ) == 'Users') { + $userFields = $oUser->toArray( BasePeer::TYPE_FIELDNAME ); + $aFields['USR_REPORTS_TO'] = $userFields['USR_FIRSTNAME'] . ' ' . $userFields['USR_LASTNAME']; + try { + $depFields = $oDepInfo->load( $userFields['DEP_UID'] . 'xy<' ); + $aFields['USR_REPORTS_TO'] .= " (" . $depFields['DEPO_TITLE'] . ")"; + } catch (Exception $e) { + } + } else { + $aFields['USR_REPORTS_TO'] = ' '; + } - //getting the user and department - $oDepInfo = new Department(); - $oUser = UsersPeer::retrieveByPk( $aFields['USR_REPORTS_TO'] ); - if (is_object($oUser) && get_class ($oUser) == 'Users' ) { - $userFields = $oUser->toArray(BasePeer::TYPE_FIELDNAME); - $aFields['USR_REPORTS_TO'] = $userFields['USR_FIRSTNAME'] . ' ' . $userFields['USR_LASTNAME']; try { - $depFields = $oDepInfo->load($userFields['DEP_UID'] . 'xy<'); - $aFields['USR_REPORTS_TO'] .= " (" . $depFields['DEPO_TITLE'] . ")"; + $depFields = $oDepInfo->load( $aFields['DEP_UID'] ); + $aFields['USR_DEPARTMENT'] = $depFields['DEPO_TITLE']; + } catch (Exception $e) { + $oUser = UsersPeer::retrieveByPk( $_SESSION['USER_LOGGED'] ); + $oUser->setDepUid( '' ); + $oUser->save(); + $aFields['USR_DEPARTMENT'] = ' '; } - catch( Exception $e ) { + + $G_MAIN_MENU = 'processmaker'; + $G_ID_MENU_SELECTED = 'MY_ACCOUNT'; + $G_PUBLISH = new Publisher(); + + //$RBAC->systemObj->loadByCode('PROCESSMAKER');//('PROCESSMAKER', $_SESSION['USER_LOGGED']); + + + #verifying if it has any preferences on the configurations table + G::loadClass( 'configuration' ); + $oConf = new Configurations(); + $oConf->loadConfig( $x, 'USER_PREFERENCES', '', '', $_SESSION['USER_LOGGED'], '' ); + + //echo $RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']; + //G::pr($RBAC->userObj->load($_SESSION['USER_LOGGED'])); + if (sizeof( $oConf->Fields ) > 0) { #this user has a configuration record + $aFields['PREF_DEFAULT_LANG'] = $oConf->aConfig['DEFAULT_LANG']; + $aFields['PREF_DEFAULT_MENUSELECTED'] = isset( $oConf->aConfig['DEFAULT_MENU'] ) ? $oConf->aConfig['DEFAULT_MENU'] : ''; + $aFields['PREF_DEFAULT_CASES_MENUSELECTED'] = isset( $oConf->aConfig['DEFAULT_CASES_MENU'] ) ? $oConf->aConfig['DEFAULT_CASES_MENU'] : ''; + } else { + switch ($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']) { + case 'PROCESSMAKER_ADMIN': + $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_USERS'; + break; + + case 'PROCESSMAKER_OPERATOR': + $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_CASES'; + break; + + } + $aFields['PREF_DEFAULT_LANG'] = SYS_LANG; } - } - else{ - $aFields['USR_REPORTS_TO'] = ' '; - } + //G::pr($RBAC->aUserInfo); + $rows[] = Array ('id' => 'char','name' => 'char' + ); - try { - $depFields = $oDepInfo->load($aFields['DEP_UID']); - $aFields['USR_DEPARTMENT'] = $depFields['DEPO_TITLE']; - } - catch( Exception $e ) { - $oUser = UsersPeer::retrieveByPk( $_SESSION['USER_LOGGED'] ); - $oUser->setDepUid( '' ); - $oUser->save(); - $aFields['USR_DEPARTMENT'] = ' '; - } - - $G_MAIN_MENU = 'processmaker'; - $G_ID_MENU_SELECTED = 'MY_ACCOUNT'; - $G_PUBLISH = new Publisher; + foreach ($RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission) { - - //$RBAC->systemObj->loadByCode('PROCESSMAKER');//('PROCESSMAKER', $_SESSION['USER_LOGGED']); - - #verifying if it has any preferences on the configurations table - G::loadClass('configuration'); - $oConf = new Configurations; - $oConf->loadConfig($x, 'USER_PREFERENCES','','',$_SESSION['USER_LOGGED'],''); - - //echo $RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']; - //G::pr($RBAC->userObj->load($_SESSION['USER_LOGGED'])); - if( sizeof($oConf->Fields) > 0){ #this user has a configuration record - $aFields['PREF_DEFAULT_LANG'] = $oConf->aConfig['DEFAULT_LANG']; - $aFields['PREF_DEFAULT_MENUSELECTED'] = isset($oConf->aConfig['DEFAULT_MENU']) ? $oConf->aConfig['DEFAULT_MENU']: ''; - $aFields['PREF_DEFAULT_CASES_MENUSELECTED'] = isset($oConf->aConfig['DEFAULT_CASES_MENU']) ? $oConf->aConfig['DEFAULT_CASES_MENU']: ''; - } else { - switch($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']){ - case 'PROCESSMAKER_ADMIN': - $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_USERS'; - break; - - case 'PROCESSMAKER_OPERATOR': - $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_CASES'; - break; - + switch ($permission['PER_CODE']) { + case 'PM_USERS': + case 'PM_SETUP': + $rows[] = Array ('id' => 'PM_SETUP','name' => strtoupper( G::LoadTranslation( 'ID_SETUP' ) ) + ); + break; + case 'PM_CASES': + $rows[] = Array ('id' => 'PM_CASES','name' => strtoupper( G::LoadTranslation( 'ID_CASES' ) ) + ); + break; + case 'PM_FACTORY': + $rows[] = Array ('id' => 'PM_FACTORY','name' => strtoupper( G::LoadTranslation( 'ID_APPLICATIONS' ) ) + ); + break; + } } - $aFields['PREF_DEFAULT_LANG'] = SYS_LANG; - } - //G::pr($RBAC->aUserInfo); - $rows[] = Array('id'=>'char', 'name'=>'char'); + global $G_TMP_MENU; + $oMenu = new Menu(); + $oMenu->load( 'cases' ); - foreach($RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission){ - - switch($permission['PER_CODE']){ - case 'PM_USERS': - case 'PM_SETUP': - $rows[] = Array('id'=>'PM_SETUP', 'name'=>strtoupper(G::LoadTranslation('ID_SETUP'))); - break; - case 'PM_CASES': - $rows[] = Array('id'=>'PM_CASES', 'name'=>strtoupper(G::LoadTranslation('ID_CASES'))); - break; - case 'PM_FACTORY': - $rows[] = Array('id'=>'PM_FACTORY', 'name'=>strtoupper(G::LoadTranslation('ID_APPLICATIONS'))); - break; + $rowsCasesMenu[] = Array ('id' => 'char','name' => 'char' + ); + + foreach ($oMenu->Id as $i => $item) { + if ($oMenu->Types[$i] != 'blockHeader') { + $rowsCasesMenu[] = Array ('id' => $item,'name' => $oMenu->Labels[$i] + ); + } } - } - - global $G_TMP_MENU; - $oMenu = new Menu(); - $oMenu->load('cases'); - - $rowsCasesMenu[] = Array('id'=>'char', 'name'=>'char'); - - foreach($oMenu->Id as $i=>$item){ - if( $oMenu->Types[$i] != 'blockHeader' ){ - $rowsCasesMenu[] = Array('id'=>$item, 'name'=>$oMenu->Labels[$i]); + + //G::pr($rows); die; + global $_DBArray; + $_DBArray['menutab'] = $rows; + $_SESSION['_DBArray'] = $_DBArray; + $_DBArray['CASES_MENU'] = $rowsCasesMenu; + $_SESSION['_DBArray'] = $_DBArray; + + G::LoadClass( 'ArrayPeer' ); + $oCriteria = new Criteria( 'dbarray' ); + $oCriteria->setDBArrayTable( 'menutab' ); + + $oCriteria2 = new Criteria( 'dbarray' ); + $oCriteria2->setDBArrayTable( 'CASES_MENU' ); + + if ($RBAC->userCanAccess( 'PM_EDITPERSONALINFO' ) == 1) { //he has permitions for edit his profile + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/myInfo.xml', '', $aFields, 'myInfo_Save' ); + } else { //he has not permitions for edit his profile, so just view mode will be displayed + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/myInfo2.xml', '', $aFields, '' ); } - } - - //G::pr($rows); die; - global $_DBArray; - $_DBArray['menutab'] = $rows; - $_SESSION['_DBArray'] = $_DBArray; - $_DBArray['CASES_MENU'] = $rowsCasesMenu; - $_SESSION['_DBArray'] = $_DBArray; - - G::LoadClass('ArrayPeer'); - $oCriteria = new Criteria('dbarray'); - $oCriteria->setDBArrayTable('menutab'); - - $oCriteria2 = new Criteria('dbarray'); - $oCriteria2->setDBArrayTable('CASES_MENU'); - - if ($RBAC->userCanAccess('PM_EDITPERSONALINFO') == 1) { //he has permitions for edit his profile - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/myInfo.xml', '', $aFields, 'myInfo_Save'); - } else { //he has not permitions for edit his profile, so just view mode will be displayed - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/myInfo2.xml', '', $aFields, ''); - } - - G::RenderPage('publish'); + + G::RenderPage( 'publish' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/myInfo_Save.php b/workflow/engine/methods/users/myInfo_Save.php index 3549793a9..66bf4c637 100755 --- a/workflow/engine/methods/users/myInfo_Save.php +++ b/workflow/engine/methods/users/myInfo_Save.php @@ -12,162 +12,158 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ -try {ini_set('display_errors','1'); - global $RBAC; - switch ($RBAC->userCanAccess('PM_LOGIN')) - { - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - if (isset($_FILES['form']['name']['USR_RESUME'])) { - $_POST['form']['USR_RESUME'] = $_FILES['form']['name']['USR_RESUME']; - } - if ($_POST['form']['USR_EMAIL'] != '') { - // The ereg function has been DEPRECATED as of PHP 5.3.0. - // if (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$", $_POST['form']['USR_EMAIL'])) { - if ( !preg_match("/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/", $_POST['form']['USR_EMAIL'])) { - G::SendTemporalMessage ('ID_INCORRECT_EMAIL', 'error'); +try { + ini_set( 'display_errors', '1' ); + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_LOGIN' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; } - } - if (!isset($_POST['form']['USR_NEW_PASS'])) { - $_POST['form']['USR_NEW_PASS'] = ''; - } - if ($_POST['form']['USR_NEW_PASS'] != '') { - $_POST['form']['USR_PASSWORD'] = md5($_POST['form']['USR_NEW_PASS']); - } - if (!isset($_POST['form']['USR_CITY'])) { - $_POST['form']['USR_CITY'] = ''; - } - if (!isset($_POST['form']['USR_LOCATION'])) { - $_POST['form']['USR_LOCATION'] = ''; - } - if (!isset($_POST['form']['USR_ROLE'])) { - $_POST['form']['USR_ROLE'] = ''; - } - $aData['USR_UID'] = $_POST['form']['USR_UID']; - $aData['USR_USERNAME'] = $_POST['form']['USR_USERNAME']; - if (isset($_POST['form']['USR_PASSWORD'])) { - if ($_POST['form']['USR_PASSWORD'] != '') { - $aData['USR_PASSWORD'] = $_POST['form']['USR_PASSWORD']; - require_once 'classes/model/UsersProperties.php'; - $oUserProperty = new UsersProperties(); - $aUserProperty = $oUserProperty->loadOrCreateIfNotExists($_POST['form']['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array(md5($_POST['form']['USR_NEW_PASS']))))); - $aErrors = $oUserProperty->validatePassword($_POST['form']['USR_NEW_PASS'], $aUserProperty['USR_LAST_UPDATE_DATE'], $aUserProperty['USR_LOGGED_NEXT_TIME']); - if (count($aErrors) > 0) { - $sDescription = G::LoadTranslation('ID_POLICY_ALERT').':

'; - foreach ($aErrors as $sError) { - switch ($sError) { - case 'ID_PPP_MINIMUN_LENGTH': - $sDescription .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MINIMUN_LENGTH . '
'; - break; - case 'ID_PPP_MAXIMUN_LENGTH': - $sDescription .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MAXIMUN_LENGTH . '
'; - break; - case 'ID_PPP_EXPIRATION_IN': - $sDescription .= ' - ' . G::LoadTranslation($sError).' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation('ID_DAYS') . '
'; - break; - default: - $sDescription .= ' - ' . G::LoadTranslation($sError).'
'; - break; - } + if (isset( $_FILES['form']['name']['USR_RESUME'] )) { + $_POST['form']['USR_RESUME'] = $_FILES['form']['name']['USR_RESUME']; + } + if ($_POST['form']['USR_EMAIL'] != '') { + // The ereg function has been DEPRECATED as of PHP 5.3.0. + // if (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$", $_POST['form']['USR_EMAIL'])) { + if (! preg_match( "/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/", $_POST['form']['USR_EMAIL'] )) { + G::SendTemporalMessage( 'ID_INCORRECT_EMAIL', 'error' ); } - $sDescription .= '
' . G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY'); - G::SendMessageText($sDescription, 'warning'); - G::header('Location: ' . $_SERVER['HTTP_REFERER']); - die; - } - $aHistory = unserialize($aUserProperty['USR_PASSWORD_HISTORY']); - if (!is_array($aHistory)) { - $aHistory = array(); - } - if (!defined('PPP_PASSWORD_HISTORY')) { - define('PPP_PASSWORD_HISTORY', 0); - } - if (PPP_PASSWORD_HISTORY > 0) { - if (count($aHistory) >= PPP_PASSWORD_HISTORY) { - array_shift($aHistory); + } + if (! isset( $_POST['form']['USR_NEW_PASS'] )) { + $_POST['form']['USR_NEW_PASS'] = ''; + } + if ($_POST['form']['USR_NEW_PASS'] != '') { + $_POST['form']['USR_PASSWORD'] = md5( $_POST['form']['USR_NEW_PASS'] ); + } + if (! isset( $_POST['form']['USR_CITY'] )) { + $_POST['form']['USR_CITY'] = ''; + } + if (! isset( $_POST['form']['USR_LOCATION'] )) { + $_POST['form']['USR_LOCATION'] = ''; + } + if (! isset( $_POST['form']['USR_ROLE'] )) { + $_POST['form']['USR_ROLE'] = ''; + } + $aData['USR_UID'] = $_POST['form']['USR_UID']; + $aData['USR_USERNAME'] = $_POST['form']['USR_USERNAME']; + if (isset( $_POST['form']['USR_PASSWORD'] )) { + if ($_POST['form']['USR_PASSWORD'] != '') { + $aData['USR_PASSWORD'] = $_POST['form']['USR_PASSWORD']; + require_once 'classes/model/UsersProperties.php'; + $oUserProperty = new UsersProperties(); + $aUserProperty = $oUserProperty->loadOrCreateIfNotExists( $_POST['form']['USR_UID'], array ('USR_PASSWORD_HISTORY' => serialize( array (md5( $_POST['form']['USR_NEW_PASS'] ) + ) ) + ) ); + $aErrors = $oUserProperty->validatePassword( $_POST['form']['USR_NEW_PASS'], $aUserProperty['USR_LAST_UPDATE_DATE'], $aUserProperty['USR_LOGGED_NEXT_TIME'] ); + if (count( $aErrors ) > 0) { + $sDescription = G::LoadTranslation( 'ID_POLICY_ALERT' ) . ':

'; + foreach ($aErrors as $sError) { + switch ($sError) { + case 'ID_PPP_MINIMUN_LENGTH': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MINIMUN_LENGTH . '
'; + break; + case 'ID_PPP_MAXIMUN_LENGTH': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MAXIMUN_LENGTH . '
'; + break; + case 'ID_PPP_EXPIRATION_IN': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation( 'ID_DAYS' ) . '
'; + break; + default: + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . '
'; + break; + } + } + $sDescription .= '
' . G::LoadTranslation( 'ID_PLEASE_CHANGE_PASSWORD_POLICY' ); + G::SendMessageText( $sDescription, 'warning' ); + G::header( 'Location: ' . $_SERVER['HTTP_REFERER'] ); + die(); + } + $aHistory = unserialize( $aUserProperty['USR_PASSWORD_HISTORY'] ); + if (! is_array( $aHistory )) { + $aHistory = array (); + } + if (! defined( 'PPP_PASSWORD_HISTORY' )) { + define( 'PPP_PASSWORD_HISTORY', 0 ); + } + if (PPP_PASSWORD_HISTORY > 0) { + if (count( $aHistory ) >= PPP_PASSWORD_HISTORY) { + array_shift( $aHistory ); + } + $aHistory[] = $_POST['form']['USR_NEW_PASS']; + } + $aUserProperty['USR_LAST_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; + $aUserProperty['USR_PASSWORD_HISTORY'] = serialize( $aHistory ); + $oUserProperty->update( $aUserProperty ); } - $aHistory[] = $_POST['form']['USR_NEW_PASS']; - } - $aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; - $aUserProperty['USR_PASSWORD_HISTORY'] = serialize($aHistory); - $oUserProperty->update($aUserProperty); - } - } - $aData['USR_FIRSTNAME'] = $_POST['form']['USR_FIRSTNAME']; - $aData['USR_LASTNAME'] = $_POST['form']['USR_LASTNAME']; - $aData['USR_EMAIL'] = $_POST['form']['USR_EMAIL']; - $aData['USR_DUE_DATE'] = $_POST['form']['USR_DUE_DATE']; - $aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $RBAC->updateUser($aData); - $aData['USR_PASSWORD'] = md5($_POST['form']['USR_USERNAME']);//fake :p - $aData['USR_COUNTRY'] = $_POST['form']['USR_COUNTRY']; - $aData['USR_CITY'] = $_POST['form']['USR_CITY']; - $aData['USR_LOCATION'] = $_POST['form']['USR_LOCATION']; - $aData['USR_ADDRESS'] = $_POST['form']['USR_ADDRESS']; - $aData['USR_PHONE'] = $_POST['form']['USR_PHONE']; - $aData['USR_ZIP_CODE'] = $_POST['form']['USR_ZIP_CODE']; - $aData['USR_POSITION'] = $_POST['form']['USR_POSITION']; - if ($_POST['form']['USR_RESUME'] != '') { - $aData['USR_RESUME'] = $_POST['form']['USR_RESUME']; - } - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $oUser->update($aData); - if ($_FILES['form']['tmp_name']['USR_PHOTO'] != '') { - $aAux = explode('.', $_FILES['form']['name']['USR_PHOTO']); - G::uploadFile($_FILES['form']['tmp_name']['USR_PHOTO'], PATH_IMAGES_ENVIRONMENT_USERS, $aData['USR_UID'] . '.' . $aAux[1]); - G::resizeImage(PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.' . $aAux[1], 96, 96, PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.gif'); - } - if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { - G::uploadFile($_FILES['form']['tmp_name']['USR_RESUME'], PATH_IMAGES_ENVIRONMENT_FILES . $aData['USR_UID'] . '/', $_FILES['form']['name']['USR_RESUME']); - } - - /* Saving preferences */ - $def_lang = $_POST['form']['PREF_DEFAULT_LANG']; - $def_menu = $_POST['form']['PREF_DEFAULT_MENUSELECTED']; - $def_cases_menu = $_POST['form']['PREF_DEFAULT_CASES_MENUSELECTED']; - - G::loadClass('configuration'); - - $oConf = new Configurations; - $aConf = Array( - 'DEFAULT_LANG'=>$def_lang, - 'DEFAULT_MENU'=>$def_menu, - 'DEFAULT_CASES_MENU'=>$def_cases_menu - ); - - /*UPDATING SESSION VARIABLES*/ - $aUser = $RBAC->userObj->load($_SESSION['USER_LOGGED']); - $_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - - - $oConf->aConfig = $aConf; - $oConf->saveConfig('USER_PREFERENCES', '', '',$_SESSION['USER_LOGGED']); - - G::SendTemporalMessage('ID_CHANGES_SAVED', 'info', 'labels'); - G::header('location: myInfo'); + } + $aData['USR_FIRSTNAME'] = $_POST['form']['USR_FIRSTNAME']; + $aData['USR_LASTNAME'] = $_POST['form']['USR_LASTNAME']; + $aData['USR_EMAIL'] = $_POST['form']['USR_EMAIL']; + $aData['USR_DUE_DATE'] = $_POST['form']['USR_DUE_DATE']; + $aData['USR_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $RBAC->updateUser( $aData ); + $aData['USR_PASSWORD'] = md5( $_POST['form']['USR_USERNAME'] ); //fake :p + $aData['USR_COUNTRY'] = $_POST['form']['USR_COUNTRY']; + $aData['USR_CITY'] = $_POST['form']['USR_CITY']; + $aData['USR_LOCATION'] = $_POST['form']['USR_LOCATION']; + $aData['USR_ADDRESS'] = $_POST['form']['USR_ADDRESS']; + $aData['USR_PHONE'] = $_POST['form']['USR_PHONE']; + $aData['USR_ZIP_CODE'] = $_POST['form']['USR_ZIP_CODE']; + $aData['USR_POSITION'] = $_POST['form']['USR_POSITION']; + if ($_POST['form']['USR_RESUME'] != '') { + $aData['USR_RESUME'] = $_POST['form']['USR_RESUME']; + } + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $oUser->update( $aData ); + if ($_FILES['form']['tmp_name']['USR_PHOTO'] != '') { + $aAux = explode( '.', $_FILES['form']['name']['USR_PHOTO'] ); + G::uploadFile( $_FILES['form']['tmp_name']['USR_PHOTO'], PATH_IMAGES_ENVIRONMENT_USERS, $aData['USR_UID'] . '.' . $aAux[1] ); + G::resizeImage( PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.' . $aAux[1], 96, 96, PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.gif' ); + } + if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { + G::uploadFile( $_FILES['form']['tmp_name']['USR_RESUME'], PATH_IMAGES_ENVIRONMENT_FILES . $aData['USR_UID'] . '/', $_FILES['form']['name']['USR_RESUME'] ); + } + + /* Saving preferences */ + $def_lang = $_POST['form']['PREF_DEFAULT_LANG']; + $def_menu = $_POST['form']['PREF_DEFAULT_MENUSELECTED']; + $def_cases_menu = $_POST['form']['PREF_DEFAULT_CASES_MENUSELECTED']; + + G::loadClass( 'configuration' ); + + $oConf = new Configurations(); + $aConf = Array ('DEFAULT_LANG' => $def_lang,'DEFAULT_MENU' => $def_menu,'DEFAULT_CASES_MENU' => $def_cases_menu + ); + + /*UPDATING SESSION VARIABLES*/ + $aUser = $RBAC->userObj->load( $_SESSION['USER_LOGGED'] ); + $_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + + $oConf->aConfig = $aConf; + $oConf->saveConfig( 'USER_PREFERENCES', '', '', $_SESSION['USER_LOGGED'] ); + + G::SendTemporalMessage( 'ID_CHANGES_SAVED', 'info', 'labels' ); + G::header( 'location: myInfo' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> + diff --git a/workflow/engine/methods/users/usersAjax.php b/workflow/engine/methods/users/usersAjax.php index ed0107141..70e7f313a 100644 --- a/workflow/engine/methods/users/usersAjax.php +++ b/workflow/engine/methods/users/usersAjax.php @@ -2,120 +2,124 @@ global $RBAC; -switch($_POST['action']) -{ - case 'countryList' : - require_once ("classes/model/IsoCountry.php"); - $c = new Criteria(); - $c->add(IsoCountryPeer::IC_UID, NULL, Criteria::ISNOTNULL); +switch ($_POST['action']) { + case 'countryList': + require_once ("classes/model/IsoCountry.php"); + $c = new Criteria(); + $c->add( IsoCountryPeer::IC_UID, NULL, Criteria::ISNOTNULL ); - $countries = IsoCountryPeer::doSelect($c); - foreach ( $countries as $rowid => $row ) { - $oData[] = Array('IC_UID'=>$row->getICUid(),'IC_NAME'=>$row->getICName()); - } - print(G::json_encode($oData)); - break; + $countries = IsoCountryPeer::doSelect( $c ); + foreach ($countries as $rowid => $row) { + $oData[] = Array ('IC_UID' => $row->getICUid(),'IC_NAME' => $row->getICName() + ); + } + print (G::json_encode( $oData )) ; + break; - case 'stateList' : - require_once ("classes/model/IsoSubdivision.php"); - $c = new Criteria(); - $country = $_POST['IC_UID']; - $c->add(IsoSubdivisionPeer::IC_UID, $country, Criteria::EQUAL); - $locations = IsoSubdivisionPeer::doSelect($c); + case 'stateList': + require_once ("classes/model/IsoSubdivision.php"); + $c = new Criteria(); + $country = $_POST['IC_UID']; + $c->add( IsoSubdivisionPeer::IC_UID, $country, Criteria::EQUAL ); + $locations = IsoSubdivisionPeer::doSelect( $c ); - $oData = Array(); - foreach( $locations as $rowid => $row ) { - if (($row->getISUid() != '') && ($row->getISName() != '')) - $oData[] = Array('IS_UID' => $row->getISUid(), 'IS_NAME' => $row->getISName()); - } - print(G::json_encode($oData)); - break; + $oData = Array (); + foreach ($locations as $rowid => $row) { + if (($row->getISUid() != '') && ($row->getISName() != '')) + $oData[] = Array ('IS_UID' => $row->getISUid(),'IS_NAME' => $row->getISName() + ); + } + print (G::json_encode( $oData )) ; + break; - case 'locationList' : - require_once ("classes/model/IsoLocation.php"); - $c = new Criteria(); - $country = $_POST['IC_UID']; - $state = $_POST['IS_UID']; - $c->add(IsoLocationPeer::IC_UID, $country, Criteria::EQUAL); - $c->add(IsoLocationPeer::IS_UID, $state, Criteria::EQUAL); - $locations = IsoLocationPeer::doSelect($c); + case 'locationList': + require_once ("classes/model/IsoLocation.php"); + $c = new Criteria(); + $country = $_POST['IC_UID']; + $state = $_POST['IS_UID']; + $c->add( IsoLocationPeer::IC_UID, $country, Criteria::EQUAL ); + $c->add( IsoLocationPeer::IS_UID, $state, Criteria::EQUAL ); + $locations = IsoLocationPeer::doSelect( $c ); - $oData = Array(); - foreach ( $locations as $rowid => $row ) { - if (($row->getILUid() != '') && ($row->getILName() != '')) - $oData[] = Array('IL_UID' => $row->getILUid(), 'IL_NAME' => $row->getILName()); - } - print(G::json_encode($oData)); - break; - case 'usersList' : - require_once 'classes/model/Users.php'; - $oCriteria = new Criteria(); - $oCriteria->addSelectColumn(UsersPeer::USR_UID); - $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL); - $oCriteria->add(UsersPeer::USR_STATUS, array('ACTIVE', 'VACATION'), Criteria::IN); - if (isset($_POST['USR_UID'])) { - $oCriteria->add(UsersPeer::USR_UID, $_POST['USR_UID'], Criteria::NOT_EQUAL); - } - $oDataset = UsersPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oData = Array (); + foreach ($locations as $rowid => $row) { + if (($row->getILUid() != '') && ($row->getILName() != '')) + $oData[] = Array ('IL_UID' => $row->getILUid(),'IL_NAME' => $row->getILName() + ); + } + print (G::json_encode( $oData )) ; + break; + case 'usersList': + require_once 'classes/model/Users.php'; + $oCriteria = new Criteria(); + $oCriteria->addSelectColumn( UsersPeer::USR_UID ); + $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); + $oCriteria->add( UsersPeer::USR_STATUS, array ('ACTIVE','VACATION' + ), Criteria::IN ); + if (isset( $_POST['USR_UID'] )) { + $oCriteria->add( UsersPeer::USR_UID, $_POST['USR_UID'], Criteria::NOT_EQUAL ); + } + $oDataset = UsersPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - G::loadClass('configuration'); - $oConf = new Configurations; - $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS',''); + G::loadClass( 'configuration' ); + $oConf = new Configurations(); + $oConf->loadConfig( $obj, 'ENVIRONMENT_SETTINGS', '' ); - $defaultOption = isset($oConf->aConfig['format']) ? $oConf->aConfig['format'] : ''; + $defaultOption = isset( $oConf->aConfig['format'] ) ? $oConf->aConfig['format'] : ''; - $aUserInfo = array(); - if (isset($_POST['addNone']) && $_POST['addNone'] == '1') { - $aUserInfo[] = array('USR_UID' => '', 'USER_FULLNAME' => '- ' . G::LoadTranslation('ID_NONE') . ' -'); - } - while ( $oDataset->next()) { - $aRow1 = $oDataset->getRow(); + $aUserInfo = array (); + if (isset( $_POST['addNone'] ) && $_POST['addNone'] == '1') { + $aUserInfo[] = array ('USR_UID' => '','USER_FULLNAME' => '- ' . G::LoadTranslation( 'ID_NONE' ) . ' -' + ); + } + while ($oDataset->next()) { + $aRow1 = $oDataset->getRow(); - $infoUser = G::getFormatUserList($defaultOption,$aRow1); - $aUserInfo[] = array( - 'USR_UID' => $aRow1['USR_UID'], - 'USER_FULLNAME' => $infoUser - ); - } - print(G::json_encode($aUserInfo)); + $infoUser = G::getFormatUserList( $defaultOption, $aRow1 ); + $aUserInfo[] = array ('USR_UID' => $aRow1['USR_UID'],'USER_FULLNAME' => $infoUser + ); + } + print (G::json_encode( $aUserInfo )) ; - break; + break; - case 'availableCalendars' : - G::LoadClass ( 'calendar' ); - $calendar = new Calendar ( ); - $calendarObj = $calendar->getCalendarList ( true, true ); - $oData[] = array('CALENDAR_UID' => '', 'CALENDAR_NAME' => '- None -'); - foreach ( $calendarObj ['array'] as $rowid => $row ) { - if ($rowid > 0) - $oData[] = array('CALENDAR_UID' => $row['CALENDAR_UID'], 'CALENDAR_NAME' => $row['CALENDAR_NAME']); - } - print(G::json_encode($oData)); - break; - case 'rolesList': - require_once PATH_RBAC."model/Roles.php"; - $roles = new Roles(); - $rolesData = $roles->getAllRoles(); - foreach( $rolesData as $rowid => $row ) { - $oData[] = array('ROL_UID' => $row['ROL_CODE'],'ROL_CODE' => $row['ROL_CODE']); - } - print(G::json_encode($oData)); - break; - case 'saveUser' : - try { - $form = $_POST; + case 'availableCalendars': + G::LoadClass( 'calendar' ); + $calendar = new Calendar(); + $calendarObj = $calendar->getCalendarList( true, true ); + $oData[] = array ('CALENDAR_UID' => '','CALENDAR_NAME' => '- None -' + ); + foreach ($calendarObj['array'] as $rowid => $row) { + if ($rowid > 0) + $oData[] = array ('CALENDAR_UID' => $row['CALENDAR_UID'],'CALENDAR_NAME' => $row['CALENDAR_NAME'] + ); + } + print (G::json_encode( $oData )) ; + break; + case 'rolesList': + require_once PATH_RBAC . "model/Roles.php"; + $roles = new Roles(); + $rolesData = $roles->getAllRoles(); + foreach ($rolesData as $rowid => $row) { + $oData[] = array ('ROL_UID' => $row['ROL_CODE'],'ROL_CODE' => $row['ROL_CODE'] + ); + } + print (G::json_encode( $oData )) ; + break; + case 'saveUser': + try { + $form = $_POST; - if ( isset($_POST['USR_UID'])) { - $form['USR_UID'] = $_POST['USR_UID']; - } - else { - $form['USR_UID'] = ''; - } -/* + if (isset( $_POST['USR_UID'] )) { + $form['USR_UID'] = $_POST['USR_UID']; + } else { + $form['USR_UID'] = ''; + } + /* if ( isset($_FILES['USR_RESUME']['name']) ) { if ($_FILES['USR_RESUME']['tmp_name'] != '') { $form['USR_RESUME'] = $_FILES['USR_RESUME']['name']; @@ -125,68 +129,67 @@ switch($_POST['action']) } } */ - if (!isset($form['USR_NEW_PASS'])) { - $form['USR_NEW_PASS'] = ''; - } - if ($form['USR_NEW_PASS'] != '') { - $form['USR_PASSWORD'] = md5($form['USR_NEW_PASS']); - } - if (!isset($form['USR_CITY'])) { - $form['USR_CITY'] = ''; - } - if (!isset($form['USR_LOCATION'])) { - $form['USR_LOCATION'] = ''; - } - if (!isset($form['USR_AUTH_USER_DN'])) { - $form['USR_AUTH_USER_DN'] = ''; - } + if (! isset( $form['USR_NEW_PASS'] )) { + $form['USR_NEW_PASS'] = ''; + } + if ($form['USR_NEW_PASS'] != '') { + $form['USR_PASSWORD'] = md5( $form['USR_NEW_PASS'] ); + } + if (! isset( $form['USR_CITY'] )) { + $form['USR_CITY'] = ''; + } + if (! isset( $form['USR_LOCATION'] )) { + $form['USR_LOCATION'] = ''; + } + if (! isset( $form['USR_AUTH_USER_DN'] )) { + $form['USR_AUTH_USER_DN'] = ''; + } - if ($form['USR_UID'] == '') { - $aData['USR_USERNAME'] = $form['USR_USERNAME']; - $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; - $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; - $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; - $aData['USR_EMAIL'] = $form['USR_EMAIL']; - $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; - $aData['USR_CREATE_DATE'] = date('Y-m-d H:i:s'); - $aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $aData['USR_BIRTHDAY'] = date('Y-m-d'); - $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; - //fixing bug in inactive user when the admin create a new user. - $statusWF = $form['USR_STATUS']; - $aData['USR_STATUS'] = $form['USR_STATUS'] == 'ACTIVE' ? 1 : 0; - $sUserUID = $RBAC->createUser($aData, $form['USR_ROLE'] ); - $aData['USR_STATUS'] = $statusWF; - $aData['USR_UID'] = $sUserUID; - $aData['USR_PASSWORD'] = md5($sUserUID);//fake :p - $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; - $aData['USR_CITY'] = $form['USR_CITY']; - $aData['USR_LOCATION'] = $form['USR_LOCATION']; - $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; - $aData['USR_PHONE'] = $form['USR_PHONE']; - $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; - $aData['USR_POSITION'] = $form['USR_POSITION']; -// $aData['USR_RESUME'] = $form['USR_RESUME']; - $aData['USR_ROLE'] = $form['USR_ROLE']; - $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; + if ($form['USR_UID'] == '') { + $aData['USR_USERNAME'] = $form['USR_USERNAME']; + $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; + $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; + $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; + $aData['USR_EMAIL'] = $form['USR_EMAIL']; + $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; + $aData['USR_CREATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aData['USR_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aData['USR_BIRTHDAY'] = date( 'Y-m-d' ); + $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; + //fixing bug in inactive user when the admin create a new user. + $statusWF = $form['USR_STATUS']; + $aData['USR_STATUS'] = $form['USR_STATUS'] == 'ACTIVE' ? 1 : 0; + $sUserUID = $RBAC->createUser( $aData, $form['USR_ROLE'] ); + $aData['USR_STATUS'] = $statusWF; + $aData['USR_UID'] = $sUserUID; + $aData['USR_PASSWORD'] = md5( $sUserUID ); //fake :p + $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; + $aData['USR_CITY'] = $form['USR_CITY']; + $aData['USR_LOCATION'] = $form['USR_LOCATION']; + $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; + $aData['USR_PHONE'] = $form['USR_PHONE']; + $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; + $aData['USR_POSITION'] = $form['USR_POSITION']; + // $aData['USR_RESUME'] = $form['USR_RESUME']; + $aData['USR_ROLE'] = $form['USR_ROLE']; + $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $oUser->create($aData); + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $oUser->create( $aData ); - if ($_FILES['USR_PHOTO']['error'] != 1) { - //print (PATH_IMAGES_ENVIRONMENT_USERS); - if ($_FILES['USR_PHOTO']['tmp_name'] != '') { - G::uploadFile($_FILES['USR_PHOTO']['tmp_name'], PATH_IMAGES_ENVIRONMENT_USERS, $sUserUID . '.gif'); - } - } - else { - $result->success = false; - $result->fileError = true; - print(G::json_encode($result)); - die; - } -/* + if ($_FILES['USR_PHOTO']['error'] != 1) { + //print (PATH_IMAGES_ENVIRONMENT_USERS); + if ($_FILES['USR_PHOTO']['tmp_name'] != '') { + G::uploadFile( $_FILES['USR_PHOTO']['tmp_name'], PATH_IMAGES_ENVIRONMENT_USERS, $sUserUID . '.gif' ); + } + } else { + $result->success = false; + $result->fileError = true; + print (G::json_encode( $result )) ; + die(); + } + /* if ($_FILES['USR_RESUME']['error'] != 1) { if ($_FILES['USR_RESUME']['tmp_name'] != '') { G::uploadFile($_FILES['USR_RESUME']['tmp_name'], PATH_IMAGES_ENVIRONMENT_FILES . $sUserUID . '/', $_FILES['USR_RESUME']['name']); @@ -199,153 +202,150 @@ switch($_POST['action']) die; } */ - } - else { + } else { - $aData['USR_UID'] = $form['USR_UID']; - $aData['USR_USERNAME'] = $form['USR_USERNAME']; + $aData['USR_UID'] = $form['USR_UID']; + $aData['USR_USERNAME'] = $form['USR_USERNAME']; - if (isset($form['USR_PASSWORD'])) { + if (isset( $form['USR_PASSWORD'] )) { - if ($form['USR_PASSWORD'] != '') { - $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; - require_once 'classes/model/UsersProperties.php'; - $oUserProperty = new UsersProperties(); - $aUserProperty = $oUserProperty->loadOrCreateIfNotExists($form['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array(md5($form['USR_PASSWORD']))))); + if ($form['USR_PASSWORD'] != '') { + $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; + require_once 'classes/model/UsersProperties.php'; + $oUserProperty = new UsersProperties(); + $aUserProperty = $oUserProperty->loadOrCreateIfNotExists( $form['USR_UID'], array ('USR_PASSWORD_HISTORY' => serialize( array (md5( $form['USR_PASSWORD'] ) + ) ) + ) ); - $memKey = 'rbacSession' . session_id(); - $memcache = & PMmemcached::getSingleton(defined('SYS_SYS') ? SYS_SYS : ''); - if ( ($RBAC->aUserInfo = $memcache->get($memKey)) === false ) { - $RBAC->loadUserRolePermission($RBAC->sSystem, $_SESSION['USER_LOGGED'] ); - $memcache->set( $memKey, $RBAC->aUserInfo, PMmemcached::EIGHT_HOURS ); - } - if( $RBAC->aUserInfo[ 'PROCESSMAKER' ]['ROLE']['ROL_CODE']=='PROCESSMAKER_ADMIN'){ - $aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; - $oUserProperty->update($aUserProperty); - } + $memKey = 'rbacSession' . session_id(); + $memcache = & PMmemcached::getSingleton( defined( 'SYS_SYS' ) ? SYS_SYS : '' ); + if (($RBAC->aUserInfo = $memcache->get( $memKey )) === false) { + $RBAC->loadUserRolePermission( $RBAC->sSystem, $_SESSION['USER_LOGGED'] ); + $memcache->set( $memKey, $RBAC->aUserInfo, PMmemcached::EIGHT_HOURS ); + } + if ($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE'] == 'PROCESSMAKER_ADMIN') { + $aUserProperty['USR_LAST_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; + $oUserProperty->update( $aUserProperty ); + } - $aErrors = $oUserProperty->validatePassword($form['USR_NEW_PASS'], $aUserProperty['USR_LAST_UPDATE_DATE'], 0); + $aErrors = $oUserProperty->validatePassword( $form['USR_NEW_PASS'], $aUserProperty['USR_LAST_UPDATE_DATE'], 0 ); + if (count( $aErrors ) > 0) { + $sDescription = G::LoadTranslation( 'ID_POLICY_ALERT' ) . ':,'; + foreach ($aErrors as $sError) { + switch ($sError) { + case 'ID_PPP_MINIMUN_LENGTH': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MINIMUN_LENGTH . ','; + break; + case 'ID_PPP_MAXIMUN_LENGTH': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MAXIMUN_LENGTH . ','; + break; + case 'ID_PPP_EXPIRATION_IN': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation( 'ID_DAYS' ) . ','; + break; + default: + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ','; + break; + } + } + $sDescription .= '' . G::LoadTranslation( 'ID_PLEASE_CHANGE_PASSWORD_POLICY' ); + $result->success = false; + $result->msg = $sDescription; + print (G::json_encode( $result )) ; + die(); - if (count($aErrors) > 0) { - $sDescription = G::LoadTranslation('ID_POLICY_ALERT').':,'; - foreach ($aErrors as $sError) { - switch ($sError) { - case 'ID_PPP_MINIMUN_LENGTH': - $sDescription .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MINIMUN_LENGTH . ','; - break; - case 'ID_PPP_MAXIMUN_LENGTH': - $sDescription .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MAXIMUN_LENGTH . ','; - break; - case 'ID_PPP_EXPIRATION_IN': - $sDescription .= ' - ' . G::LoadTranslation($sError).' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation('ID_DAYS') . ','; - break; - default: - $sDescription .= ' - ' . G::LoadTranslation($sError).','; - break; + } + $aHistory = unserialize( $aUserProperty['USR_PASSWORD_HISTORY'] ); + if (! is_array( $aHistory )) { + $aHistory = array (); + } + if (! defined( 'PPP_PASSWORD_HISTORY' )) { + define( 'PPP_PASSWORD_HISTORY', 0 ); + } + if (PPP_PASSWORD_HISTORY > 0) { + //it's looking a password igual into aHistory array that was send for post in md5 way + $c = 0; + $sw = 1; + while (count( $aHistory ) >= 1 && count( $aHistory ) > $c && $sw) { + if (strcmp( trim( $aHistory[$c] ), trim( $form['USR_PASSWORD'] ) ) == 0) { + $sw = 0; + } + $c ++; + } + if ($sw == 0) { + $sDescription = G::LoadTranslation( 'ID_POLICY_ALERT' ) . ':

'; + $sDescription .= ' - ' . G::LoadTranslation( 'PASSWORD_HISTORY' ) . ': ' . PPP_PASSWORD_HISTORY . '
'; + $sDescription .= '
' . G::LoadTranslation( 'ID_PLEASE_CHANGE_PASSWORD_POLICY' ) . ''; + $result->success = false; + $result->msg = $sDescription; + print (G::json_encode( $result )) ; + die(); + } + + if (count( $aHistory ) >= PPP_PASSWORD_HISTORY) { + $sLastPassw = array_shift( $aHistory ); + } + $aHistory[] = $form['USR_PASSWORD']; + } + $aUserProperty['USR_LAST_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; + $aUserProperty['USR_PASSWORD_HISTORY'] = serialize( $aHistory ); + $oUserProperty->update( $aUserProperty ); + } } - } - $sDescription .= ''.G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY'); - $result->success = false; - $result->msg = $sDescription; - print(G::json_encode($result)); - die; - - - } - $aHistory = unserialize($aUserProperty['USR_PASSWORD_HISTORY']); - if (!is_array($aHistory)) { - $aHistory = array(); - } - if (!defined('PPP_PASSWORD_HISTORY')) { - define('PPP_PASSWORD_HISTORY', 0); - } - if (PPP_PASSWORD_HISTORY > 0) { - //it's looking a password igual into aHistory array that was send for post in md5 way - $c = 0; - $sw = 1; - while (count($aHistory) >= 1 && count($aHistory) > $c && $sw ){ - if (strcmp(trim($aHistory[$c]), trim($form['USR_PASSWORD'])) == 0){ - $sw = 0; - } - $c++; - } - if ($sw == 0) { - $sDescription = G::LoadTranslation('ID_POLICY_ALERT').':

'; - $sDescription .= ' - ' . G::LoadTranslation('PASSWORD_HISTORY').': ' . PPP_PASSWORD_HISTORY . '
'; - $sDescription .= '
' . G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY').''; - $result->success = false; - $result->msg = $sDescription; - print(G::json_encode($result)); - die(); - } - - if (count($aHistory) >= PPP_PASSWORD_HISTORY) { - $sLastPassw = array_shift($aHistory); - } - $aHistory[] = $form['USR_PASSWORD']; - } - $aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; - $aUserProperty['USR_PASSWORD_HISTORY'] = serialize($aHistory); - $oUserProperty->update($aUserProperty); - } - } - $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; - $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; - $aData['USR_EMAIL'] = $form['USR_EMAIL']; - $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; - $aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s'); - if (isset($form['USR_STATUS'])) { - $aData['USR_STATUS'] = $form['USR_STATUS']; - } - if (isset($form['USR_ROLE'])) { - $RBAC->updateUser($aData, $form['USR_ROLE']); - } - else { - $RBAC->updateUser($aData); - } - $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; - $aData['USR_CITY'] = $form['USR_CITY']; - $aData['USR_LOCATION'] = $form['USR_LOCATION']; - $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; - $aData['USR_PHONE'] = $form['USR_PHONE']; - $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; - $aData['USR_POSITION'] = $form['USR_POSITION']; -/* + $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; + $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; + $aData['USR_EMAIL'] = $form['USR_EMAIL']; + $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; + $aData['USR_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + if (isset( $form['USR_STATUS'] )) { + $aData['USR_STATUS'] = $form['USR_STATUS']; + } + if (isset( $form['USR_ROLE'] )) { + $RBAC->updateUser( $aData, $form['USR_ROLE'] ); + } else { + $RBAC->updateUser( $aData ); + } + $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; + $aData['USR_CITY'] = $form['USR_CITY']; + $aData['USR_LOCATION'] = $form['USR_LOCATION']; + $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; + $aData['USR_PHONE'] = $form['USR_PHONE']; + $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; + $aData['USR_POSITION'] = $form['USR_POSITION']; + /* if ($form['USR_RESUME'] != '') { $aData['USR_RESUME'] = $form['USR_RESUME']; } */ - if (isset($form['USR_ROLE'])) { - $aData['USR_ROLE'] = $form['USR_ROLE']; - } + if (isset( $form['USR_ROLE'] )) { + $aData['USR_ROLE'] = $form['USR_ROLE']; + } - if(isset($form['USR_REPLACED_BY'])){ - $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; - } - if(isset($form['USR_AUTH_USER_DN'])){ - $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; - } + if (isset( $form['USR_REPLACED_BY'] )) { + $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; + } + if (isset( $form['USR_AUTH_USER_DN'] )) { + $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; + } - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $oUser->update($aData); - if ($_FILES['USR_PHOTO']['error'] != 1) { - if ($_FILES['USR_PHOTO']['tmp_name'] != '') { - $aAux = explode('.', $_FILES['USR_PHOTO']['name']); - G::uploadFile($_FILES['USR_PHOTO']['tmp_name'], PATH_IMAGES_ENVIRONMENT_USERS, $aData['USR_UID'] . '.' . $aAux[1]); - G::resizeImage(PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.' . $aAux[1], 96, 96, PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.gif'); - } - } - else { - $result->success = false; - $result->fileError = true; - print(G::json_encode($result)); - die; - } -/* + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $oUser->update( $aData ); + if ($_FILES['USR_PHOTO']['error'] != 1) { + if ($_FILES['USR_PHOTO']['tmp_name'] != '') { + $aAux = explode( '.', $_FILES['USR_PHOTO']['name'] ); + G::uploadFile( $_FILES['USR_PHOTO']['tmp_name'], PATH_IMAGES_ENVIRONMENT_USERS, $aData['USR_UID'] . '.' . $aAux[1] ); + G::resizeImage( PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.' . $aAux[1], 96, 96, PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.gif' ); + } + } else { + $result->success = false; + $result->fileError = true; + print (G::json_encode( $result )) ; + die(); + } + /* if ($_FILES['USR_RESUME']['error'] != 1) { if ($_FILES['USR_RESUME']['tmp_name'] != '') { G::uploadFile($_FILES['USR_RESUME']['tmp_name'], PATH_IMAGES_ENVIRONMENT_FILES . $aData['USR_UID'] . '/', $_FILES['USR_RESUME']['name']); @@ -359,273 +359,276 @@ switch($_POST['action']) } */ /* Saving preferences */ - $def_lang = $form['PREF_DEFAULT_LANG']; - $def_menu = $form['PREF_DEFAULT_MENUSELECTED']; - $def_cases_menu = isset($form['PREF_DEFAULT_CASES_MENUSELECTED']) ? $form['PREF_DEFAULT_CASES_MENUSELECTED'] : ''; + $def_lang = $form['PREF_DEFAULT_LANG']; + $def_menu = $form['PREF_DEFAULT_MENUSELECTED']; + $def_cases_menu = isset( $form['PREF_DEFAULT_CASES_MENUSELECTED'] ) ? $form['PREF_DEFAULT_CASES_MENUSELECTED'] : ''; - G::loadClass('configuration'); + G::loadClass( 'configuration' ); - $oConf = new Configurations; - $aConf = Array( - 'DEFAULT_LANG' => $def_lang, - 'DEFAULT_MENU' => $def_menu, - 'DEFAULT_CASES_MENU' => $def_cases_menu - ); + $oConf = new Configurations(); + $aConf = Array ('DEFAULT_LANG' => $def_lang,'DEFAULT_MENU' => $def_menu,'DEFAULT_CASES_MENU' => $def_cases_menu + ); - /*UPDATING SESSION VARIABLES*/ - $aUser = $RBAC->userObj->load($_SESSION['USER_LOGGED']); - //$_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - - $oConf->aConfig = $aConf; - $oConf->saveConfig('USER_PREFERENCES', '', '',$_SESSION['USER_LOGGED']); - - } - - if ( $_SESSION['USER_LOGGED'] == $form['USR_UID'] ) { - /* UPDATING SESSION VARIABLES */ - $aUser = $RBAC->userObj->load($_SESSION['USER_LOGGED']); - $_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - } + /*UPDATING SESSION VARIABLES*/ + $aUser = $RBAC->userObj->load( $_SESSION['USER_LOGGED'] ); + //$_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - //Save Calendar assigment - if ((isset($form['USR_CALENDAR']))) { - //Save Calendar ID for this user - G::LoadClass("calendar"); - $calendarObj = new Calendar(); - $calendarObj->assignCalendarTo($aData['USR_UID'], $form['USR_CALENDAR'], 'USER'); - } - $result->success = true; - print(G::json_encode($result)); - }catch (Exception $e) { - $result->success = false; - $result->error = $e->getMessage(); - print(G::json_encode($result)); - } - break; + $oConf->aConfig = $aConf; + $oConf->saveConfig( 'USER_PREFERENCES', '', '', $_SESSION['USER_LOGGED'] ); - case 'userData': - require_once 'classes/model/Users.php'; - $_SESSION['CURRENT_USER'] = $_POST['USR_UID']; - $oUser = new Users(); - $aFields = $oUser->loadDetailed($_POST['USR_UID']); + } - //Load Calendar options and falue for this user - G::LoadClass ( 'calendar' ); - $calendar = new Calendar ( ); - $calendarInfo = $calendar->getCalendarFor ( $_POST['USR_UID'], $_POST['USR_UID'], $_POST['USR_UID'] ); - //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar - $aFields ['USR_CALENDAR'] = $calendarInfo ['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo ['CALENDAR_UID'] : ""; + if ($_SESSION['USER_LOGGED'] == $form['USR_UID']) { + /* UPDATING SESSION VARIABLES */ + $aUser = $RBAC->userObj->load( $_SESSION['USER_LOGGED'] ); + $_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + } - #verifying if it has any preferences on the configurations table - G::loadClass('configuration'); - $oConf = new Configurations; - $oConf->loadConfig($x, 'USER_PREFERENCES', '', '', $_SESSION['USER_LOGGED'], ''); + //Save Calendar assigment + if ((isset( $form['USR_CALENDAR'] ))) { + //Save Calendar ID for this user + G::LoadClass( "calendar" ); + $calendarObj = new Calendar(); + $calendarObj->assignCalendarTo( $aData['USR_UID'], $form['USR_CALENDAR'], 'USER' ); + } + $result->success = true; + print (G::json_encode( $result )) ; + } catch (Exception $e) { + $result->success = false; + $result->error = $e->getMessage(); + print (G::json_encode( $result )) ; + } + break; - $aFields['PREF_DEFAULT_MENUSELECTED']=''; - $aFields['PREF_DEFAULT_CASES_MENUSELECTED']=''; - if( sizeof($oConf->Fields) > 0){ #this user has a configuration record - $aFields['PREF_DEFAULT_LANG'] = $oConf->aConfig['DEFAULT_LANG']; - $aFields['PREF_DEFAULT_MENUSELECTED'] = isset($oConf->aConfig['DEFAULT_MENU']) ? $oConf->aConfig['DEFAULT_MENU']: ''; - $aFields['PREF_DEFAULT_CASES_MENUSELECTED'] = isset($oConf->aConfig['DEFAULT_CASES_MENU']) ? $oConf->aConfig['DEFAULT_CASES_MENU']: ''; - } else { - switch($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']){ - case 'PROCESSMAKER_ADMIN': - $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_SETUP'; - break; + case 'userData': + require_once 'classes/model/Users.php'; + $_SESSION['CURRENT_USER'] = $_POST['USR_UID']; + $oUser = new Users(); + $aFields = $oUser->loadDetailed( $_POST['USR_UID'] ); - case 'PROCESSMAKER_OPERATOR': - $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_CASES'; - break; + //Load Calendar options and falue for this user + G::LoadClass( 'calendar' ); + $calendar = new Calendar(); + $calendarInfo = $calendar->getCalendarFor( $_POST['USR_UID'], $_POST['USR_UID'], $_POST['USR_UID'] ); + //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar + $aFields['USR_CALENDAR'] = $calendarInfo['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo['CALENDAR_UID'] : ""; - } - $aFields['PREF_DEFAULT_LANG'] = SYS_LANG; - } - if ($aFields['USR_REPLACED_BY'] != ''){ - $user = new Users(); - $u = $user->load($aFields['USR_REPLACED_BY']); - $c = new Configurations(); - $replaced_by = $c->usersNameFormat($u['USR_USERNAME'], $u['USR_FIRSTNAME'], $u['USR_LASTNAME']); - }else{ - $replaced_by = ''; - } + #verifying if it has any preferences on the configurations table + G::loadClass( 'configuration' ); + $oConf = new Configurations(); + $oConf->loadConfig( $x, 'USER_PREFERENCES', '', '', $_SESSION['USER_LOGGED'], '' ); - $aFields['REPLACED_NAME'] = $replaced_by; + $aFields['PREF_DEFAULT_MENUSELECTED'] = ''; + $aFields['PREF_DEFAULT_CASES_MENUSELECTED'] = ''; + if (sizeof( $oConf->Fields ) > 0) { #this user has a configuration record + $aFields['PREF_DEFAULT_LANG'] = $oConf->aConfig['DEFAULT_LANG']; + $aFields['PREF_DEFAULT_MENUSELECTED'] = isset( $oConf->aConfig['DEFAULT_MENU'] ) ? $oConf->aConfig['DEFAULT_MENU'] : ''; + $aFields['PREF_DEFAULT_CASES_MENUSELECTED'] = isset( $oConf->aConfig['DEFAULT_CASES_MENU'] ) ? $oConf->aConfig['DEFAULT_CASES_MENU'] : ''; + } else { + switch ($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']) { + case 'PROCESSMAKER_ADMIN': + $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_SETUP'; + break; - $menuSelected = ''; + case 'PROCESSMAKER_OPERATOR': + $aFields['PREF_DEFAULT_MENUSELECTED'] = 'PM_CASES'; + break; - if ($aFields['PREF_DEFAULT_MENUSELECTED'] != '') { - foreach ( $RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission ) { - if ($aFields['PREF_DEFAULT_MENUSELECTED']==$permission['PER_CODE']) { - switch ($permission['PER_CODE']) { - case 'PM_USERS' : - case 'PM_SETUP' : - $menuSelected = strtoupper(G::LoadTranslation('ID_SETUP')); - break; - case 'PM_CASES' : - $menuSelected = strtoupper(G::LoadTranslation('ID_CASES')); - break; - case 'PM_FACTORY' : - $menuSelected = strtoupper(G::LoadTranslation('ID_APPLICATIONS')); - break; - case 'PM_DASHBOARD': - $menuSelected = strtoupper(G::LoadTranslation('ID_DASHBOARD')); - break; + } + $aFields['PREF_DEFAULT_LANG'] = SYS_LANG; + } + if ($aFields['USR_REPLACED_BY'] != '') { + $user = new Users(); + $u = $user->load( $aFields['USR_REPLACED_BY'] ); + $c = new Configurations(); + $replaced_by = $c->usersNameFormat( $u['USR_USERNAME'], $u['USR_FIRSTNAME'], $u['USR_LASTNAME'] ); + } else { + $replaced_by = ''; + } + + $aFields['REPLACED_NAME'] = $replaced_by; + + $menuSelected = ''; + + if ($aFields['PREF_DEFAULT_MENUSELECTED'] != '') { + foreach ($RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission) { + if ($aFields['PREF_DEFAULT_MENUSELECTED'] == $permission['PER_CODE']) { + switch ($permission['PER_CODE']) { + case 'PM_USERS': + case 'PM_SETUP': + $menuSelected = strtoupper( G::LoadTranslation( 'ID_SETUP' ) ); + break; + case 'PM_CASES': + $menuSelected = strtoupper( G::LoadTranslation( 'ID_CASES' ) ); + break; + case 'PM_FACTORY': + $menuSelected = strtoupper( G::LoadTranslation( 'ID_APPLICATIONS' ) ); + break; + case 'PM_DASHBOARD': + $menuSelected = strtoupper( G::LoadTranslation( 'ID_DASHBOARD' ) ); + break; + } } } } - } + $aFields['MENUSELECTED_NAME'] = $menuSelected; - $aFields['MENUSELECTED_NAME'] = $menuSelected; + $oMenu = new Menu(); + $oMenu->load( 'cases' ); + $casesMenuSelected = ''; - $oMenu = new Menu(); - $oMenu->load('cases'); - $casesMenuSelected = ''; + if ($aFields['PREF_DEFAULT_CASES_MENUSELECTED'] != '') { + foreach ($oMenu->Id as $i => $item) { - if ($aFields['PREF_DEFAULT_CASES_MENUSELECTED'] != ''){ - foreach($oMenu->Id as $i => $item){ - - if ($aFields['PREF_DEFAULT_CASES_MENUSELECTED'] == $item) - $casesMenuSelected =$oMenu->Labels[$i]; - } - } - - $aFields['CASES_MENUSELECTED_NAME'] = $casesMenuSelected; - - $aFields['USR_COUNTRY_NAME'] = (!empty($aFields['USR_COUNTRY_NAME']))? $aFields['USR_COUNTRY_NAME'] : ''; - $aFields['USR_CITY_NAME'] = (!empty($aFields['USR_CITY_NAME']))? $aFields['USR_CITY_NAME'] : ''; - $aFields['USR_LOCATION_NAME'] = (!empty($aFields['USR_LOCATION_NAME']))? $aFields['USR_LOCATION_NAME'] : ''; - - $result->success = true; - $result->user = $aFields; - - print(G::json_encode($result)); - break; - - case 'defaultMainMenuOptionList'; - foreach($RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission){ - switch($permission['PER_CODE']){ - case 'PM_USERS': - case 'PM_SETUP': - $rows[] = Array('id'=>'PM_SETUP', 'name'=>strtoupper(G::LoadTranslation('ID_SETUP'))); - break; - case 'PM_CASES': - $rows[] = Array('id'=>'PM_CASES', 'name'=>strtoupper(G::LoadTranslation('ID_CASES'))); - break; - case 'PM_FACTORY': - $rows[] = Array('id'=>'PM_FACTORY', 'name'=>strtoupper(G::LoadTranslation('ID_APPLICATIONS'))); - break; - case 'PM_DASHBOARD': - $rows[] = Array('id'=>'PM_DASHBOARD', 'name'=>strtoupper(G::LoadTranslation('ID_DASHBOARD'))); - break; - } - } - print(G::json_encode($rows)); - break; - case 'defaultCasesMenuOptionList'; - - $oMenu = new Menu(); - $oMenu->load('cases'); - - foreach($oMenu->Id as $i=>$item){ - if( $oMenu->Types[$i] != 'blockHeader' ){ - $rowsCasesMenu[] = Array('id'=>$item, 'name' => $oMenu->Labels[$i]); - } - } - print(G::json_encode($rowsCasesMenu)); - break; - case 'testPassword'; - require_once 'classes/model/UsersProperties.php'; - $oUserProperty = new UsersProperties(); - - $aFields = array(); - $color = ''; - $img = ''; - $dateNow = date('Y-m-d H:i:s'); - $aErrors = $oUserProperty->validatePassword($_POST['PASSWORD_TEXT'], $dateNow, $dateNow); - - if (!empty($aErrors)) { - $img = '/images/delete.png'; - $color = 'red'; - if (!defined('NO_DISPLAY_USERNAME')) { - define('NO_DISPLAY_USERNAME', 1); - } - $aFields = array(); - $aFields['DESCRIPTION'] = G::LoadTranslation('ID_POLICY_ALERT').':
'; - - foreach ($aErrors as $sError) { - switch ($sError) { - case 'ID_PPP_MINIMUM_LENGTH': - $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MINIMUM_LENGTH . '
'; - $aFields[substr($sError, 3)] = PPP_MINIMUM_LENGTH; - break; - case 'ID_PPP_MAXIMUM_LENGTH': - $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MAXIMUM_LENGTH . '
'; - $aFields[substr($sError, 3)] = PPP_MAXIMUM_LENGTH; - break; - case 'ID_PPP_EXPIRATION_IN': - $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation($sError).' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation('ID_DAYS') . '
'; - $aFields[substr($sError, 3)] = PPP_EXPIRATION_IN; - break; - default: - $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation($sError).'
'; - $aFields[substr($sError, 3)] = 1; - break; + if ($aFields['PREF_DEFAULT_CASES_MENUSELECTED'] == $item) + $casesMenuSelected = $oMenu->Labels[$i]; + } } - } - $aFields['DESCRIPTION'] .= G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY') . ''; - $aFields['STATUS'] = false; - } else { - $color = 'green'; - $img = '/images/dialog-ok-apply.png'; - $aFields['DESCRIPTION'] = G::LoadTranslation('ID_PASSWORD_COMPLIES_POLICIES') . ''; - $aFields['STATUS'] = true; - } - $span = ''; - $gif = ''; - $aFields['DESCRIPTION'] = $span . $gif . $aFields['DESCRIPTION']; - print(G::json_encode($aFields)); - break; - case 'testUsername'; - require_once 'classes/model/Users.php'; - $_POST['NEW_USERNAME'] = trim($_POST['NEW_USERNAME']); - $USR_UID = isset($_POST['USR_UID'])? $_POST['USR_UID'] : ''; + $aFields['CASES_MENUSELECTED_NAME'] = $casesMenuSelected; - $response = array( "success" => true ); + $aFields['USR_COUNTRY_NAME'] = (! empty( $aFields['USR_COUNTRY_NAME'] )) ? $aFields['USR_COUNTRY_NAME'] : ''; + $aFields['USR_CITY_NAME'] = (! empty( $aFields['USR_CITY_NAME'] )) ? $aFields['USR_CITY_NAME'] : ''; + $aFields['USR_LOCATION_NAME'] = (! empty( $aFields['USR_LOCATION_NAME'] )) ? $aFields['USR_LOCATION_NAME'] : ''; - $oCriteria = new Criteria(); - $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); + $result->success = true; + $result->user = $aFields; - $oCriteria->add(UsersPeer::USR_USERNAME, $_POST['NEW_USERNAME']); - if ($USR_UID != '') { - $oCriteria->add(UsersPeer::USR_UID, array($_POST['USR_UID']), Criteria::NOT_IN); - } - $oDataset = UsersPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $aRow = $oDataset->getRow(); + print (G::json_encode( $result )) ; + break; - if (is_array($aRow) || $_POST['NEW_USERNAME'] == '') { - $color = 'red'; - $img = '/images/delete.png'; - $dataVar['USER_ID'] = $_POST['NEW_USERNAME']; - $text = G::LoadTranslation('ID_USERNAME_ALREADY_EXISTS', $dataVar); - $text = ($_POST['NEW_USERNAME'] == '') ? G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME') : $text; - $response['exists'] = true; - } else { - $color = 'green'; - $img = '/images/dialog-ok-apply.png'; - $text = G::LoadTranslation('ID_USERNAME_CORRECT'); - $response['exists'] = false; - } + case 'defaultMainMenuOptionList': + foreach ($RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission) { + switch ($permission['PER_CODE']) { + case 'PM_USERS': + case 'PM_SETUP': + $rows[] = Array ('id' => 'PM_SETUP','name' => strtoupper( G::LoadTranslation( 'ID_SETUP' ) ) + ); + break; + case 'PM_CASES': + $rows[] = Array ('id' => 'PM_CASES','name' => strtoupper( G::LoadTranslation( 'ID_CASES' ) ) + ); + break; + case 'PM_FACTORY': + $rows[] = Array ('id' => 'PM_FACTORY','name' => strtoupper( G::LoadTranslation( 'ID_APPLICATIONS' ) ) + ); + break; + case 'PM_DASHBOARD': + $rows[] = Array ('id' => 'PM_DASHBOARD','name' => strtoupper( G::LoadTranslation( 'ID_DASHBOARD' ) ) + ); + break; + } + } + print (G::json_encode( $rows )) ; + break; + case 'defaultCasesMenuOptionList': + $oMenu = new Menu(); + $oMenu->load( 'cases' ); - $span = ''; - $gif = ''; - $response['descriptionText'] = $span . $gif . $text . ''; - echo G::json_encode($response); - break; + foreach ($oMenu->Id as $i => $item) { + if ($oMenu->Types[$i] != 'blockHeader') { + $rowsCasesMenu[] = Array ('id' => $item,'name' => $oMenu->Labels[$i] + ); + } + } + print (G::json_encode( $rowsCasesMenu )) ; + break; + case 'testPassword': + require_once 'classes/model/UsersProperties.php'; + $oUserProperty = new UsersProperties(); + + $aFields = array (); + $color = ''; + $img = ''; + $dateNow = date( 'Y-m-d H:i:s' ); + $aErrors = $oUserProperty->validatePassword( $_POST['PASSWORD_TEXT'], $dateNow, $dateNow ); + + if (! empty( $aErrors )) { + $img = '/images/delete.png'; + $color = 'red'; + if (! defined( 'NO_DISPLAY_USERNAME' )) { + define( 'NO_DISPLAY_USERNAME', 1 ); + } + $aFields = array (); + $aFields['DESCRIPTION'] = G::LoadTranslation( 'ID_POLICY_ALERT' ) . ':
'; + + foreach ($aErrors as $sError) { + switch ($sError) { + case 'ID_PPP_MINIMUM_LENGTH': + $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MINIMUM_LENGTH . '
'; + $aFields[substr( $sError, 3 )] = PPP_MINIMUM_LENGTH; + break; + case 'ID_PPP_MAXIMUM_LENGTH': + $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MAXIMUM_LENGTH . '
'; + $aFields[substr( $sError, 3 )] = PPP_MAXIMUM_LENGTH; + break; + case 'ID_PPP_EXPIRATION_IN': + $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation( $sError ) . ' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation( 'ID_DAYS' ) . '
'; + $aFields[substr( $sError, 3 )] = PPP_EXPIRATION_IN; + break; + default: + $aFields['DESCRIPTION'] .= ' - ' . G::LoadTranslation( $sError ) . '
'; + $aFields[substr( $sError, 3 )] = 1; + break; + } + } + + $aFields['DESCRIPTION'] .= G::LoadTranslation( 'ID_PLEASE_CHANGE_PASSWORD_POLICY' ) . '
'; + $aFields['STATUS'] = false; + } else { + $color = 'green'; + $img = '/images/dialog-ok-apply.png'; + $aFields['DESCRIPTION'] = G::LoadTranslation( 'ID_PASSWORD_COMPLIES_POLICIES' ) . ''; + $aFields['STATUS'] = true; + } + $span = ''; + $gif = ''; + $aFields['DESCRIPTION'] = $span . $gif . $aFields['DESCRIPTION']; + print (G::json_encode( $aFields )) ; + break; + case 'testUsername': + require_once 'classes/model/Users.php'; + $_POST['NEW_USERNAME'] = trim( $_POST['NEW_USERNAME'] ); + $USR_UID = isset( $_POST['USR_UID'] ) ? $_POST['USR_UID'] : ''; + + $response = array ("success" => true + ); + + $oCriteria = new Criteria(); + $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); + + $oCriteria->add( UsersPeer::USR_USERNAME, $_POST['NEW_USERNAME'] ); + if ($USR_UID != '') { + $oCriteria->add( UsersPeer::USR_UID, array ($_POST['USR_UID'] + ), Criteria::NOT_IN ); + } + $oDataset = UsersPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $aRow = $oDataset->getRow(); + + if (is_array( $aRow ) || $_POST['NEW_USERNAME'] == '') { + $color = 'red'; + $img = '/images/delete.png'; + $dataVar['USER_ID'] = $_POST['NEW_USERNAME']; + $text = G::LoadTranslation( 'ID_USERNAME_ALREADY_EXISTS', $dataVar ); + $text = ($_POST['NEW_USERNAME'] == '') ? G::LoadTranslation( 'ID_MSG_ERROR_USR_USERNAME' ) : $text; + $response['exists'] = true; + } else { + $color = 'green'; + $img = '/images/dialog-ok-apply.png'; + $text = G::LoadTranslation( 'ID_USERNAME_CORRECT' ); + $response['exists'] = false; + } + + $span = ''; + $gif = ''; + $response['descriptionText'] = $span . $gif . $text . ''; + echo G::json_encode( $response ); + break; } + diff --git a/workflow/engine/methods/users/usersEdit.php b/workflow/engine/methods/users/usersEdit.php index 3c701e7b9..bbfd6b575 100644 --- a/workflow/engine/methods/users/usersEdit.php +++ b/workflow/engine/methods/users/usersEdit.php @@ -1,20 +1 @@ -addExtJsScript('users/users', true ); //adding a javascript file .js -$oHeadPublisher->assign('USR_UID', $_GET['USR_UID']); -$oHeadPublisher->assign('MODE', $_GET['MODE']); -$oHeadPublisher->assign('MAX_FILES_SIZE', ' (' . $UPLOAD_MAX_SIZE . ') '); -G::RenderPage('publish', 'extJs'); +addExtJsScript( 'users/users', true ); //adding a javascript file .js $oHeadPublisher->assign( 'USR_UID', $_GET['USR_UID'] ); $oHeadPublisher->assign( 'MODE', $_GET['MODE'] ); $oHeadPublisher->assign( 'MAX_FILES_SIZE', ' (' . $UPLOAD_MAX_SIZE . ') ' ); G::RenderPage( 'publish', 'extJs' ); \ No newline at end of file diff --git a/workflow/engine/methods/users/usersGroups.php b/workflow/engine/methods/users/usersGroups.php index b08913894..c4b13c737 100755 --- a/workflow/engine/methods/users/usersGroups.php +++ b/workflow/engine/methods/users/usersGroups.php @@ -13,38 +13,37 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ -if (($RBAC_Response = $RBAC->userCanAccess("PM_LOGIN")) != 1) { +if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) { return $RBAC_Response; } global $RBAC; -$access = $RBAC->userCanAccess('PM_USERS'); +$access = $RBAC->userCanAccess( 'PM_USERS' ); if ($access != 1) { switch ($access) { - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); break; - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); break; default: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); break; } } @@ -53,21 +52,21 @@ $G_SUB_MENU = 'users'; $G_ID_MENU_SELECTED = 'USERS'; $G_ID_SUB_MENU_SELECTED = 'USERS'; -$G_PUBLISH = new Publisher; +$G_PUBLISH = new Publisher(); -G::LoadClass('configuration'); +G::LoadClass( 'configuration' ); $c = new Configurations(); -$configEnv = $c->getConfiguration('ENVIRONMENT_SETTINGS', ''); -$Config['fullNameFormat'] = isset($configEnv['format']) ? $configEnv['format'] : '@firstName @lastName (@userName)'; +$configEnv = $c->getConfiguration( 'ENVIRONMENT_SETTINGS', '' ); +$Config['fullNameFormat'] = isset( $configEnv['format'] ) ? $configEnv['format'] : '@firstName @lastName (@userName)'; require_once 'classes/model/Users.php'; $oCriteria = new Criteria(); -$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); -$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); -$oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); -$oCriteria->add(UsersPeer::USR_UID, $_GET['uUID']); -$oDataset = UsersPeer::doSelectRS($oCriteria); -$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); +$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); +$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); +$oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); +$oCriteria->add( UsersPeer::USR_UID, $_GET['uUID'] ); +$oDataset = UsersPeer::doSelectRS( $oCriteria ); +$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); @@ -83,7 +82,7 @@ switch ($_REQUEST['type']) { break; } -$users = Array(); +$users = Array (); $users['USR_UID'] = $_GET['uUID']; $users['USR_FIRSTNAME'] = $aRow['USR_FIRSTNAME']; $users['USR_LASTNAME'] = $aRow['USR_LASTNAME']; @@ -92,11 +91,11 @@ $users['fullNameFormat'] = $Config['fullNameFormat']; $users['CURRENT_TAB'] = $ctab; $oHeadPublisher = & headPublisher::getSingleton(); -$oHeadPublisher->addExtJsScript('users/usersGroups', false); //adding a javascript file .js +$oHeadPublisher->addExtJsScript( 'users/usersGroups', false ); //adding a javascript file .js // $oHeadPublisher->addContent('users/usersGroups'); //adding a html file .html. -$oHeadPublisher->assign('USERS', $users); +$oHeadPublisher->assign( 'USERS', $users ); -$oHeadPublisher->assign('hasAuthPerm', ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1)); +$oHeadPublisher->assign( 'hasAuthPerm', ($RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) == 1) ); + +G::RenderPage( 'publish', 'extJs' ); -G::RenderPage('publish', 'extJs'); - \ No newline at end of file diff --git a/workflow/engine/methods/users/usersInit.php b/workflow/engine/methods/users/usersInit.php index d7e780046..fd07df439 100644 --- a/workflow/engine/methods/users/usersInit.php +++ b/workflow/engine/methods/users/usersInit.php @@ -1,36 +1,38 @@ -load($_SESSION['USER_LOGGED']); - -if ($RBAC->userCanAccess('PM_EDITPERSONALINFO') == 1) { //he has permitions for edit his profile - $canEdit = false; -} else { //he has not permitions for edit his profile, so just view mode will be displayed - $canEdit = true; -} - -//calculating the max upload file size; -$POST_MAX_SIZE = ini_get('post_max_size'); -$mul = substr($POST_MAX_SIZE, -1); -$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); -$postMaxSize = (int)$POST_MAX_SIZE * $mul; - -$UPLOAD_MAX_SIZE = ini_get('upload_max_filesize'); -$mul = substr($UPLOAD_MAX_SIZE, -1); -$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); -$uploadMaxSize = (int)$UPLOAD_MAX_SIZE * $mul; - -if ( $postMaxSize < $uploadMaxSize ) $uploadMaxSize = $postMaxSize; - -$oHeadPublisher =& headPublisher::getSingleton(); -$oHeadPublisher->addExtJsScript('users/users', true ); //adding a javascript file .js -// $oHeadPublisher->addContent('users/users'); //adding a html file .html. -$oHeadPublisher->assign('USR_UID', $aFields['USR_UID']); -$oHeadPublisher->assign('infoMode', true); -$oHeadPublisher->assign('canEdit', $canEdit); -$oHeadPublisher->assign('MAX_FILES_SIZE', ' (' . $UPLOAD_MAX_SIZE . ') '); -$oHeadPublisher->assign('MODE', ''); -G::RenderPage('publish', 'extJs'); +load( $_SESSION['USER_LOGGED'] ); + +if ($RBAC->userCanAccess( 'PM_EDITPERSONALINFO' ) == 1) { //he has permitions for edit his profile + $canEdit = false; +} else { //he has not permitions for edit his profile, so just view mode will be displayed + $canEdit = true; +} + +//calculating the max upload file size; +$POST_MAX_SIZE = ini_get( 'post_max_size' ); +$mul = substr( $POST_MAX_SIZE, - 1 ); +$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); +$postMaxSize = (int) $POST_MAX_SIZE * $mul; + +$UPLOAD_MAX_SIZE = ini_get( 'upload_max_filesize' ); +$mul = substr( $UPLOAD_MAX_SIZE, - 1 ); +$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); +$uploadMaxSize = (int) $UPLOAD_MAX_SIZE * $mul; + +if ($postMaxSize < $uploadMaxSize) + $uploadMaxSize = $postMaxSize; + +$oHeadPublisher = & headPublisher::getSingleton(); +$oHeadPublisher->addExtJsScript( 'users/users', true ); //adding a javascript file .js +// $oHeadPublisher->addContent('users/users'); //adding a html file .html. +$oHeadPublisher->assign( 'USR_UID', $aFields['USR_UID'] ); +$oHeadPublisher->assign( 'infoMode', true ); +$oHeadPublisher->assign( 'canEdit', $canEdit ); +$oHeadPublisher->assign( 'MAX_FILES_SIZE', ' (' . $UPLOAD_MAX_SIZE . ') ' ); +$oHeadPublisher->assign( 'MODE', '' ); +G::RenderPage( 'publish', 'extJs' ); + diff --git a/workflow/engine/methods/users/usersNew.php b/workflow/engine/methods/users/usersNew.php index 039019d90..a81603d06 100644 --- a/workflow/engine/methods/users/usersNew.php +++ b/workflow/engine/methods/users/usersNew.php @@ -1,21 +1,23 @@ -addExtJsScript( 'users/users', true ); //adding a javascript file .js +$oHeadPublisher->assign( 'USR_UID', '' ); +$oHeadPublisher->assign( 'MODE', $_GET['MODE'] ); +$oHeadPublisher->assign( 'MAX_FILES_SIZE', ' (' . $UPLOAD_MAX_SIZE . ') ' ); +G::RenderPage( 'publish', 'extJs' ); -$UPLOAD_MAX_SIZE = ini_get('upload_max_filesize'); -$mul = substr($UPLOAD_MAX_SIZE, -1); -$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); -$uploadMaxSize = (int)$UPLOAD_MAX_SIZE * $mul; - -if ( $postMaxSize < $uploadMaxSize ) $uploadMaxSize = $postMaxSize; - -$oHeadPublisher =& headPublisher::getSingleton(); -$oHeadPublisher->addExtJsScript('users/users', true ); //adding a javascript file .js -$oHeadPublisher->assign('USR_UID', ''); -$oHeadPublisher->assign('MODE', $_GET['MODE']); -$oHeadPublisher->assign('MAX_FILES_SIZE', ' (' . $UPLOAD_MAX_SIZE . ') '); -G::RenderPage('publish', 'extJs'); diff --git a/workflow/engine/methods/users/users_Ajax.php b/workflow/engine/methods/users/users_Ajax.php index aed416375..aeb2ccadd 100755 --- a/workflow/engine/methods/users/users_Ajax.php +++ b/workflow/engine/methods/users/users_Ajax.php @@ -12,511 +12,496 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - global $RBAC; - switch ($RBAC->userCanAccess('PM_LOGIN')) - { - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - G::LoadInclude('ajax'); - if (isset($_POST['form'])) - { - $_POST = $_POST['form']; - } - if(isset($_REQUEST['function'])){ - //$value= $_POST['function']; - $value = get_ajax_value('function'); - }else{ - //$value= $_POST['functions']; - $value = get_ajax_value('functions'); - } - switch ($value){ - case 'verifyUsername': - //print_r($_POST); die; - $_POST['sOriginalUsername'] = get_ajax_value('sOriginalUsername'); - $_POST['sUsername'] = get_ajax_value('sUsername'); - if ($_POST['sOriginalUsername'] == $_POST['sUsername']) - { - echo '0'; - } - else - { - require_once 'classes/model/Users.php'; - G::LoadClass('Users'); - $oUser = new Users(); - $oCriteria=$oUser->loadByUsername($_POST['sUsername']); - $oDataset = UsersPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $aRow = $oDataset->getRow(); - //print_r($aRow); die; - //if (!$aRow) - if (!is_array($aRow)) - { - echo '0'; + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_LOGIN' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } + G::LoadInclude( 'ajax' ); + if (isset( $_POST['form'] )) { + $_POST = $_POST['form']; + } + if (isset( $_REQUEST['function'] )) { + //$value= $_POST['function']; + $value = get_ajax_value( 'function' ); + } else { + //$value= $_POST['functions']; + $value = get_ajax_value( 'functions' ); + } + switch ($value) { + case 'verifyUsername': + //print_r($_POST); die; + $_POST['sOriginalUsername'] = get_ajax_value( 'sOriginalUsername' ); + $_POST['sUsername'] = get_ajax_value( 'sUsername' ); + if ($_POST['sOriginalUsername'] == $_POST['sUsername']) { + echo '0'; + } else { + require_once 'classes/model/Users.php'; + G::LoadClass( 'Users' ); + $oUser = new Users(); + $oCriteria = $oUser->loadByUsername( $_POST['sUsername'] ); + $oDataset = UsersPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $aRow = $oDataset->getRow(); + //print_r($aRow); die; + //if (!$aRow) + if (! is_array( $aRow )) { + echo '0'; + } else { + echo '1'; + } } - else - { - echo '1'; + break; + case 'availableUsers': + G::LoadClass( 'processMap' ); + $oProcessMap = new ProcessMap(); + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'users/users_AvailableUsers', $oProcessMap->getAvailableUsersCriteria( $_GET['sTask'], $_GET['iType'] ) ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'assign': + G::LoadClass( 'tasks' ); + $oTasks = new Tasks(); + switch ((int) $_POST['TU_RELATION']) { + case 1: + echo $oTasks->assignUser( $_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE'] ); + break; + case 2: + echo $oTasks->assignGroup( $_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE'] ); + break; } - } - break; - case 'availableUsers': - G::LoadClass('processMap'); - $oProcessMap = new ProcessMap(); - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'users/users_AvailableUsers', $oProcessMap->getAvailableUsersCriteria($_GET['sTask'], $_GET['iType'])); - G::RenderPage('publish', 'raw'); - break; - case 'assign': - G::LoadClass('tasks'); - $oTasks = new Tasks(); - switch ((int)$_POST['TU_RELATION']) { - case 1: - echo $oTasks->assignUser($_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE']); - break; - case 2: - echo $oTasks->assignGroup($_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE']); - break; - } - break; - case 'ofToAssign': - G::LoadClass('tasks'); - $oTasks = new Tasks(); - switch ((int)$_POST['TU_RELATION']) { - case 1: - echo $oTasks->ofToAssignUser($_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE']); - break; - case 2: - echo $oTasks->ofToAssignGroup($_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE']); - break; - } - break; - case 'changeView': - $_SESSION['iType'] = $_POST['TU_TYPE']; - break; - case 'deleteGroup': - G::LoadClass('groups'); - $oGroup = new Groups(); - $oGroup->removeUserOfGroup($_POST['GRP_UID'], $_POST['USR_UID']); - $_GET['sUserUID'] = $_POST['USR_UID']; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'users/users_Tree' ); - G::RenderPage('publish', 'raw'); - break; - case 'showUserGroupInterface': - $_GET['sUserUID'] = $_POST['sUserUID']; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'users/users_AssignGroup' ); - G::RenderPage('publish', 'raw'); - break; - case 'showUserGroups': - $_GET['sUserUID'] = $_POST['sUserUID']; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'users/users_Tree' ); - G::RenderPage('publish', 'raw'); - break; - case 'assignUserToGroup': - G::LoadClass('groups'); - $oGroup = new Groups(); - $oGroup->addUserToGroup($_POST['GRP_UID'], $_POST['USR_UID']); - echo '

'.G::LoadTranslation('ID_MSG_ASSIGN_DONE').'

'; - break; - case 'usersGroup': - G::LoadClass('groups'); - $oGroup = new Groups(); - $aGroup = $oGroup->getUsersOfGroup($_POST['GRP_UID']); - foreach ($aGroup as $iIndex => $aValues) { - echo $aValues['USR_FIRSTNAME'] . ' ' . $aValues['USR_LASTNAME'] . '
'; - } - break; + break; + case 'ofToAssign': + G::LoadClass( 'tasks' ); + $oTasks = new Tasks(); + switch ((int) $_POST['TU_RELATION']) { + case 1: + echo $oTasks->ofToAssignUser( $_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE'] ); + break; + case 2: + echo $oTasks->ofToAssignGroup( $_POST['TAS_UID'], $_POST['USR_UID'], $_POST['TU_TYPE'] ); + break; + } + break; + case 'changeView': + $_SESSION['iType'] = $_POST['TU_TYPE']; + break; + case 'deleteGroup': + G::LoadClass( 'groups' ); + $oGroup = new Groups(); + $oGroup->removeUserOfGroup( $_POST['GRP_UID'], $_POST['USR_UID'] ); + $_GET['sUserUID'] = $_POST['USR_UID']; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'users/users_Tree' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'showUserGroupInterface': + $_GET['sUserUID'] = $_POST['sUserUID']; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'users/users_AssignGroup' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'showUserGroups': + $_GET['sUserUID'] = $_POST['sUserUID']; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'users/users_Tree' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'assignUserToGroup': + G::LoadClass( 'groups' ); + $oGroup = new Groups(); + $oGroup->addUserToGroup( $_POST['GRP_UID'], $_POST['USR_UID'] ); + echo '

' . G::LoadTranslation( 'ID_MSG_ASSIGN_DONE' ) . '

'; + break; + case 'usersGroup': + G::LoadClass( 'groups' ); + $oGroup = new Groups(); + $aGroup = $oGroup->getUsersOfGroup( $_POST['GRP_UID'] ); + foreach ($aGroup as $iIndex => $aValues) { + echo $aValues['USR_FIRSTNAME'] . ' ' . $aValues['USR_LASTNAME'] . '
'; + } + break; - //This case is used to check if any of the user group has as role 'PROCESSMAKER_ADMIN', - case 'usersAdminGroupExtJS': - G::LoadClass('groups'); - $oGroup = new Groups(); - $aGroup = $oGroup->getUsersOfGroup($_POST['GRP_UID']); - $responseUser = 'false'; - $usersAdmin = ''; - foreach ($aGroup as $iIndex => $aValues) { - if ($aValues['USR_ROLE'] == 'PROCESSMAKER_ADMIN') { - $responseUser = 'true'; - $usersAdmin .= $aValues['USR_FIRSTNAME'] . ' ' . $aValues['USR_LASTNAME'].', '; - } - } - $usersAdmin = substr($usersAdmin, 0, -2); + //This case is used to check if any of the user group has as role 'PROCESSMAKER_ADMIN', + case 'usersAdminGroupExtJS': + G::LoadClass( 'groups' ); + $oGroup = new Groups(); + $aGroup = $oGroup->getUsersOfGroup( $_POST['GRP_UID'] ); + $responseUser = 'false'; + $usersAdmin = ''; + foreach ($aGroup as $iIndex => $aValues) { + if ($aValues['USR_ROLE'] == 'PROCESSMAKER_ADMIN') { + $responseUser = 'true'; + $usersAdmin .= $aValues['USR_FIRSTNAME'] . ' ' . $aValues['USR_LASTNAME'] . ', '; + } + } + $usersAdmin = substr( $usersAdmin, 0, - 2 ); - $result = new stdClass(); - $result->reponse = $responseUser; - $result->users = $usersAdmin; + $result = new stdClass(); + $result->reponse = $responseUser; + $result->users = $usersAdmin; - echo G::json_encode($result); - break; - case 'canDeleteUser': - G::LoadClass('case'); - $oProcessMap = new Cases(); - $USR_UID = $_POST['uUID']; - $total = 0; - $history = 0; - $c = $oProcessMap->getCriteriaUsersCases('TO_DO', $USR_UID); - $total += ApplicationPeer::doCount($c); - $c = $oProcessMap->getCriteriaUsersCases('DRAFT', $USR_UID); - $total += ApplicationPeer::doCount($c); - $c = $oProcessMap->getCriteriaUsersCases('COMPLETED', $USR_UID); - $history += ApplicationPeer::doCount($c); - $c = $oProcessMap->getCriteriaUsersCases('CANCELLED', $USR_UID); - $history += ApplicationPeer::doCount($c); - $response = '{success: true, candelete: '; - $response .= ($total > 0) ? 'false' : 'true'; - $response .= ', hashistory: '; - $response .= ($history > 0) ? 'true' : 'false'; - $response .= '}'; - echo $response; - break; - case 'deleteUser': - $UID = $_POST['USR_UID']; - G::LoadClass('tasks'); - $oTasks = new Tasks(); - $oTasks->ofToAssignUserOfAllTasks($UID); - G::LoadClass('groups'); - $oGroups = new Groups(); - $oGroups->removeUserOfAllGroups($UID); - $RBAC->changeUserStatus($UID, 'CLOSED'); - $_GET['USR_USERNAME']=''; - $RBAC->updateUser(array('USR_UID' => $UID, 'USR_USERNAME' => $_GET['USR_USERNAME']),''); - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $aFields = $oUser->load($UID); - $aFields['USR_STATUS'] = 'CLOSED'; - $aFields['USR_USERNAME'] = ''; - $oUser->update($aFields); - break; - case 'changeUserStatus': - $response = new stdclass(); - if (isset($_REQUEST['USR_UID']) && isset($_REQUEST['NEW_USR_STATUS'])) { - $RBAC->changeUserStatus($_REQUEST['USR_UID'], ($_REQUEST['NEW_USR_STATUS'] == 'ACTIVE' ? 1 : 0)); - require_once 'classes/model/Users.php'; - $userInstance = new Users(); - $userData = $userInstance->load($_REQUEST['USR_UID']); - $userData['USR_STATUS'] = $_REQUEST['NEW_USR_STATUS']; - $userInstance->update($userData); - $response->status = 'OK'; - } - else { - $response->status = 'ERROR'; - $response->message = 'USR_UID and NEW_USR_STATUS parameters are required.'; - } - die(G::json_encode($response)); - break; - case 'availableGroups': - G::LoadClass('groups'); - $filter = (isset($_POST['textFilter']))? $_POST['textFilter'] : ''; - $groups = new Groups(); - $criteria = $groups->getAvailableGroupsCriteria($_REQUEST['uUID'],$filter); - $objects = GroupwfPeer::doSelectRS($criteria); - $objects->setFetchmode ( ResultSet::FETCHMODE_ASSOC ); - $arr = Array(); - while ($objects->next()){ - $arr[] = $objects->getRow(); - } - echo '{groups: '.G::json_encode($arr).'}'; - break; - case 'assignedGroups': - G::LoadClass('groups'); - $filter = (isset($_POST['textFilter']))? $_POST['textFilter'] : ''; - $groups = new Groups(); - $criteria = $groups->getAssignedGroupsCriteria($_REQUEST['uUID'],$filter); - $objects = GroupwfPeer::doSelectRS($criteria); - $objects->setFetchmode ( ResultSet::FETCHMODE_ASSOC ); - $arr = Array(); - while ($objects->next()){ - $arr[] = $objects->getRow(); - } - echo '{groups: '.G::json_encode($arr).'}'; - break; - case 'assignGroupsToUserMultiple': - $USR_UID = $_POST['USR_UID']; - $gUIDs = explode(',',$_POST['GRP_UID']); - G::LoadClass('groups'); - $oGroup = new Groups(); - foreach ($gUIDs as $GRP_UID){ - $oGroup->addUserToGroup($GRP_UID, $USR_UID); - } - break; - case 'deleteGroupsToUserMultiple': - $USR_UID = $_POST['USR_UID']; - $gUIDs = explode(',',$_POST['GRP_UID']); - G::LoadClass('groups'); - $oGroup = new Groups(); - foreach ($gUIDs as $GRP_UID){ - $oGroup->removeUserOfGroup($GRP_UID, $USR_UID); - } - break; - case 'authSources': - $criteria = $RBAC->getAllAuthSources(); - $objects = AuthenticationSourcePeer::doSelectRS($criteria); - $objects->setFetchmode ( ResultSet::FETCHMODE_ASSOC ); - $arr = Array(); - if (isset($_REQUEST['cmb'])){ - if ($_REQUEST['cmb'] == 'yes'){ - $started = Array(); - $started['AUTH_SOURCE_UID'] = ''; - $started['AUTH_SOURCE_SHOW'] = G::LoadTranslation('ID_ALL'); - $arr[] = $started; - } - } - $started = Array(); - $started['AUTH_SOURCE_UID'] = '00000000000000000000000000000000'; - //$started['AUTH_SOURCE_NAME'] = 'ProcessMaker'; - //$started['AUTH_SOURCE_TYPE'] = 'MYSQL'; - $started['AUTH_SOURCE_SHOW'] = 'ProcessMaker (MYSQL)'; - $arr[] = $started; - while ($objects->next()){ - $row = $objects->getRow(); - $aux = Array(); - $aux['AUTH_SOURCE_UID'] = $row['AUTH_SOURCE_UID']; - //$aux['AUTH_SOURCE_NAME'] = $row['AUTH_SOURCE_NAME']; - //$aux['AUTH_SOURCE_TYPE'] = $row['AUTH_SOURCE_TYPE']; - $aux['AUTH_SOURCE_SHOW'] = $row['AUTH_SOURCE_NAME'].' ('.$row['AUTH_SOURCE_PROVIDER'].')'; - $arr[] = $aux; - } - echo '{sources: '.G::json_encode($arr).'}'; - break; - case 'loadAuthSourceByUID': - require_once 'classes/model/Users.php'; - $oCriteria=$RBAC->load($_POST['uUID']); - $UID_AUTH = $oCriteria['UID_AUTH_SOURCE']; - if (($UID_AUTH!='00000000000000000000000000000000')&&($UID_AUTH!='')){ - $aux = $RBAC->getAuthSource($UID_AUTH); - $arr = Array(); - $arr['AUTH_SOURCE_NAME'] = $aux['AUTH_SOURCE_NAME'].' ('.$aux['AUTH_SOURCE_PROVIDER'].')'; - $arr['AUTH_SOURCE_PROVIDER'] = $aux['AUTH_SOURCE_PROVIDER']; - $aFields = $arr; - }else{ - $arr = Array(); - $arr['AUTH_SOURCE_NAME'] = 'ProcessMaker (MYSQL)'; - $arr['AUTH_SOURCE_PROVIDER'] = 'MYSQL'; - $aFields = $arr; - } - $res = Array(); - $res['data'] = $oCriteria; - $res['auth'] = $aFields; - echo G::json_encode($res); - break; - case 'updateAuthServices': - $aData = $RBAC->load($_POST['usr_uid']); - unset($aData['USR_ROLE']); - $auth_uid = $_POST['auth_source']; - $auth_uid2 = $_POST['auth_source_uid']; - if ($auth_uid == $auth_uid2){ - $auth_uid = $aData['UID_AUTH_SOURCE']; - } - if (($auth_uid=='00000000000000000000000000000000')||($auth_uid=='')){ - $aData['USR_AUTH_TYPE'] = 'MYSQL'; - $aData['UID_AUTH_SOURCE'] = ''; - }else{ - $aFields = $RBAC->getAuthSource($auth_uid); - $aData['USR_AUTH_TYPE'] = $aFields['AUTH_SOURCE_PROVIDER']; - $aData['UID_AUTH_SOURCE'] = $auth_uid; - } - if (isset($_POST['auth_dn'])){ - $auth_dn = $_POST['auth_dn']; - }else{ - $auth_dn = ""; - } - $aData['USR_AUTH_USER_DN'] = $auth_dn; - $RBAC->updateUser($aData); - echo '{success: true}'; - break; - case 'usersList': - require_once 'classes/model/Users.php'; - require_once 'classes/model/LoginLog.php'; - require_once 'classes/model/Department.php'; - require_once 'classes/model/AppCacheView.php'; - global $RBAC; - G::LoadClass('configuration'); - $co = new Configurations(); - $config = $co->getConfiguration('usersList', 'pageSize','',$_SESSION['USER_LOGGED']); - $limit_size = isset($config['pageSize']) ? $config['pageSize'] : 20; - $start = isset($_REQUEST['start']) ? $_REQUEST['start'] : 0; - $limit = isset($_REQUEST['limit']) ? $_REQUEST['limit'] : $limit_size; - $filter = isset($_REQUEST['textFilter']) ? $_REQUEST['textFilter'] : ''; - $auths = isset($_REQUEST['auths']) ? $_REQUEST['auths'] : ''; - $sort = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : ''; - $dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : 'ASC'; - $aUsers = Array(); - if ($auths != ''){ - $aUsers = $RBAC->getListUsersByAuthSource($auths); - } - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn('COUNT(*) AS CNT'); - if ($filter != ''){ - $cc = $oCriteria->getNewCriterion(UsersPeer::USR_USERNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_EMAIL,'%'.$filter.'%',Criteria::LIKE)))); - $oCriteria->add($cc); - } - $oCriteria->add(UsersPeer::USR_STATUS, array('CLOSED'), Criteria::NOT_IN); - if ($auths != ''){ - $totalRows = sizeof($aUsers); - }else{ - $oDataset = UsersPeer::DoSelectRs ($oCriteria); - $oDataset->setFetchmode (ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $row = $oDataset->getRow(); - $totalRows = $row['CNT']; - } - $oCriteria->clearSelectColumns(); - $oCriteria->addSelectColumn(UsersPeer::USR_UID); - $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL); - $oCriteria->addSelectColumn(UsersPeer::USR_ROLE); - $oCriteria->addSelectColumn(UsersPeer::USR_DUE_DATE); - $oCriteria->addSelectColumn(UsersPeer::USR_STATUS); - $oCriteria->addSelectColumn(UsersPeer::USR_UX); - $oCriteria->addSelectColumn(UsersPeer::DEP_UID); - $oCriteria->addAsColumn('LAST_LOGIN', 0); - $oCriteria->addAsColumn('DEP_TITLE', 0); - $oCriteria->addAsColumn('TOTAL_CASES', 0); - $oCriteria->addAsColumn('DUE_DATE_OK', 1); - $sep = "'"; - $oCriteria->add(UsersPeer::USR_STATUS, array('CLOSED'), Criteria::NOT_IN); - if ($filter != ''){ - $cc = $oCriteria->getNewCriterion(UsersPeer::USR_USERNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_FIRSTNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_LASTNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $oCriteria->getNewCriterion(UsersPeer::USR_EMAIL,'%'.$filter.'%',Criteria::LIKE)))); - $oCriteria->add($cc); - } -// $sw_add = false; -// for ($i=0; $i < sizeof($aUsers); $i++){ -// if ($i>0){ -// $tmpL = $tmpL->addOr($oCriteria->getNewCriterion(UsersPeer::USR_UID, $aUsers[$i],Criteria::EQUAL)); -// }else{ -// $uList = $oCriteria->getNewCriterion(UsersPeer::USR_UID, $aUsers[$i],Criteria::EQUAL); -// $tmpL = $uList; -// $sw_add = true; -// } -// } -// if ($sw_add) $oCriteria->add($uList); - if (sizeof($aUsers) > 0){ - $oCriteria->add(UsersPeer::USR_UID, $aUsers, Criteria::IN); - }else if ($totalRows==0 && $auths != ''){ - $oCriteria->add(UsersPeer::USR_UID,'',Criteria::IN); - } - if ($sort != '') { - if ($dir == 'ASC') { - $oCriteria->addAscendingOrderByColumn($sort); - } - else { - $oCriteria->addDescendingOrderByColumn($sort); - } - } - $oCriteria->setOffset($start); - $oCriteria->setLimit($limit); - $oDataset = UsersPeer::DoSelectRs ($oCriteria); - $oDataset->setFetchmode (ResultSet::FETCHMODE_ASSOC); + echo G::json_encode( $result ); + break; + case 'canDeleteUser': + G::LoadClass( 'case' ); + $oProcessMap = new Cases(); + $USR_UID = $_POST['uUID']; + $total = 0; + $history = 0; + $c = $oProcessMap->getCriteriaUsersCases( 'TO_DO', $USR_UID ); + $total += ApplicationPeer::doCount( $c ); + $c = $oProcessMap->getCriteriaUsersCases( 'DRAFT', $USR_UID ); + $total += ApplicationPeer::doCount( $c ); + $c = $oProcessMap->getCriteriaUsersCases( 'COMPLETED', $USR_UID ); + $history += ApplicationPeer::doCount( $c ); + $c = $oProcessMap->getCriteriaUsersCases( 'CANCELLED', $USR_UID ); + $history += ApplicationPeer::doCount( $c ); + $response = '{success: true, candelete: '; + $response .= ($total > 0) ? 'false' : 'true'; + $response .= ', hashistory: '; + $response .= ($history > 0) ? 'true' : 'false'; + $response .= '}'; + echo $response; + break; + case 'deleteUser': + $UID = $_POST['USR_UID']; + G::LoadClass( 'tasks' ); + $oTasks = new Tasks(); + $oTasks->ofToAssignUserOfAllTasks( $UID ); + G::LoadClass( 'groups' ); + $oGroups = new Groups(); + $oGroups->removeUserOfAllGroups( $UID ); + $RBAC->changeUserStatus( $UID, 'CLOSED' ); + $_GET['USR_USERNAME'] = ''; + $RBAC->updateUser( array ('USR_UID' => $UID,'USR_USERNAME' => $_GET['USR_USERNAME'] + ), '' ); + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $aFields = $oUser->load( $UID ); + $aFields['USR_STATUS'] = 'CLOSED'; + $aFields['USR_USERNAME'] = ''; + $oUser->update( $aFields ); + break; + case 'changeUserStatus': + $response = new stdclass(); + if (isset( $_REQUEST['USR_UID'] ) && isset( $_REQUEST['NEW_USR_STATUS'] )) { + $RBAC->changeUserStatus( $_REQUEST['USR_UID'], ($_REQUEST['NEW_USR_STATUS'] == 'ACTIVE' ? 1 : 0) ); + require_once 'classes/model/Users.php'; + $userInstance = new Users(); + $userData = $userInstance->load( $_REQUEST['USR_UID'] ); + $userData['USR_STATUS'] = $_REQUEST['NEW_USR_STATUS']; + $userInstance->update( $userData ); + $response->status = 'OK'; + } else { + $response->status = 'ERROR'; + $response->message = 'USR_UID and NEW_USR_STATUS parameters are required.'; + } + die( G::json_encode( $response ) ); + break; + case 'availableGroups': + G::LoadClass( 'groups' ); + $filter = (isset( $_POST['textFilter'] )) ? $_POST['textFilter'] : ''; + $groups = new Groups(); + $criteria = $groups->getAvailableGroupsCriteria( $_REQUEST['uUID'], $filter ); + $objects = GroupwfPeer::doSelectRS( $criteria ); + $objects->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $arr = Array (); + while ($objects->next()) { + $arr[] = $objects->getRow(); + } + echo '{groups: ' . G::json_encode( $arr ) . '}'; + break; + case 'assignedGroups': + G::LoadClass( 'groups' ); + $filter = (isset( $_POST['textFilter'] )) ? $_POST['textFilter'] : ''; + $groups = new Groups(); + $criteria = $groups->getAssignedGroupsCriteria( $_REQUEST['uUID'], $filter ); + $objects = GroupwfPeer::doSelectRS( $criteria ); + $objects->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $arr = Array (); + while ($objects->next()) { + $arr[] = $objects->getRow(); + } + echo '{groups: ' . G::json_encode( $arr ) . '}'; + break; + case 'assignGroupsToUserMultiple': + $USR_UID = $_POST['USR_UID']; + $gUIDs = explode( ',', $_POST['GRP_UID'] ); + G::LoadClass( 'groups' ); + $oGroup = new Groups(); + foreach ($gUIDs as $GRP_UID) { + $oGroup->addUserToGroup( $GRP_UID, $USR_UID ); + } + break; + case 'deleteGroupsToUserMultiple': + $USR_UID = $_POST['USR_UID']; + $gUIDs = explode( ',', $_POST['GRP_UID'] ); + G::LoadClass( 'groups' ); + $oGroup = new Groups(); + foreach ($gUIDs as $GRP_UID) { + $oGroup->removeUserOfGroup( $GRP_UID, $USR_UID ); + } + break; + case 'authSources': + $criteria = $RBAC->getAllAuthSources(); + $objects = AuthenticationSourcePeer::doSelectRS( $criteria ); + $objects->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $arr = Array (); + if (isset( $_REQUEST['cmb'] )) { + if ($_REQUEST['cmb'] == 'yes') { + $started = Array (); + $started['AUTH_SOURCE_UID'] = ''; + $started['AUTH_SOURCE_SHOW'] = G::LoadTranslation( 'ID_ALL' ); + $arr[] = $started; + } + } + $started = Array (); + $started['AUTH_SOURCE_UID'] = '00000000000000000000000000000000'; + //$started['AUTH_SOURCE_NAME'] = 'ProcessMaker'; + //$started['AUTH_SOURCE_TYPE'] = 'MYSQL'; + $started['AUTH_SOURCE_SHOW'] = 'ProcessMaker (MYSQL)'; + $arr[] = $started; + while ($objects->next()) { + $row = $objects->getRow(); + $aux = Array (); + $aux['AUTH_SOURCE_UID'] = $row['AUTH_SOURCE_UID']; + //$aux['AUTH_SOURCE_NAME'] = $row['AUTH_SOURCE_NAME']; + //$aux['AUTH_SOURCE_TYPE'] = $row['AUTH_SOURCE_TYPE']; + $aux['AUTH_SOURCE_SHOW'] = $row['AUTH_SOURCE_NAME'] . ' (' . $row['AUTH_SOURCE_PROVIDER'] . ')'; + $arr[] = $aux; + } + echo '{sources: ' . G::json_encode( $arr ) . '}'; + break; + case 'loadAuthSourceByUID': + require_once 'classes/model/Users.php'; + $oCriteria = $RBAC->load( $_POST['uUID'] ); + $UID_AUTH = $oCriteria['UID_AUTH_SOURCE']; + if (($UID_AUTH != '00000000000000000000000000000000') && ($UID_AUTH != '')) { + $aux = $RBAC->getAuthSource( $UID_AUTH ); + $arr = Array (); + $arr['AUTH_SOURCE_NAME'] = $aux['AUTH_SOURCE_NAME'] . ' (' . $aux['AUTH_SOURCE_PROVIDER'] . ')'; + $arr['AUTH_SOURCE_PROVIDER'] = $aux['AUTH_SOURCE_PROVIDER']; + $aFields = $arr; + } else { + $arr = Array (); + $arr['AUTH_SOURCE_NAME'] = 'ProcessMaker (MYSQL)'; + $arr['AUTH_SOURCE_PROVIDER'] = 'MYSQL'; + $aFields = $arr; + } + $res = Array (); + $res['data'] = $oCriteria; + $res['auth'] = $aFields; + echo G::json_encode( $res ); + break; + case 'updateAuthServices': + $aData = $RBAC->load( $_POST['usr_uid'] ); + unset( $aData['USR_ROLE'] ); + $auth_uid = $_POST['auth_source']; + $auth_uid2 = $_POST['auth_source_uid']; + if ($auth_uid == $auth_uid2) { + $auth_uid = $aData['UID_AUTH_SOURCE']; + } + if (($auth_uid == '00000000000000000000000000000000') || ($auth_uid == '')) { + $aData['USR_AUTH_TYPE'] = 'MYSQL'; + $aData['UID_AUTH_SOURCE'] = ''; + } else { + $aFields = $RBAC->getAuthSource( $auth_uid ); + $aData['USR_AUTH_TYPE'] = $aFields['AUTH_SOURCE_PROVIDER']; + $aData['UID_AUTH_SOURCE'] = $auth_uid; + } + if (isset( $_POST['auth_dn'] )) { + $auth_dn = $_POST['auth_dn']; + } else { + $auth_dn = ""; + } + $aData['USR_AUTH_USER_DN'] = $auth_dn; + $RBAC->updateUser( $aData ); + echo '{success: true}'; + break; + case 'usersList': + require_once 'classes/model/Users.php'; + require_once 'classes/model/LoginLog.php'; + require_once 'classes/model/Department.php'; + require_once 'classes/model/AppCacheView.php'; + global $RBAC; + G::LoadClass( 'configuration' ); + $co = new Configurations(); + $config = $co->getConfiguration( 'usersList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); + $limit_size = isset( $config['pageSize'] ) ? $config['pageSize'] : 20; + $start = isset( $_REQUEST['start'] ) ? $_REQUEST['start'] : 0; + $limit = isset( $_REQUEST['limit'] ) ? $_REQUEST['limit'] : $limit_size; + $filter = isset( $_REQUEST['textFilter'] ) ? $_REQUEST['textFilter'] : ''; + $auths = isset( $_REQUEST['auths'] ) ? $_REQUEST['auths'] : ''; + $sort = isset( $_REQUEST['sort'] ) ? $_REQUEST['sort'] : ''; + $dir = isset( $_REQUEST['dir'] ) ? $_REQUEST['dir'] : 'ASC'; + $aUsers = Array (); + if ($auths != '') { + $aUsers = $RBAC->getListUsersByAuthSource( $auths ); + } + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( 'COUNT(*) AS CNT' ); + if ($filter != '') { + $cc = $oCriteria->getNewCriterion( UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_EMAIL, '%' . $filter . '%', Criteria::LIKE ) ) ) ); + $oCriteria->add( $cc ); + } + $oCriteria->add( UsersPeer::USR_STATUS, array ('CLOSED' + ), Criteria::NOT_IN ); + if ($auths != '') { + $totalRows = sizeof( $aUsers ); + } else { + $oDataset = UsersPeer::DoSelectRs( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $row = $oDataset->getRow(); + $totalRows = $row['CNT']; + } + $oCriteria->clearSelectColumns(); + $oCriteria->addSelectColumn( UsersPeer::USR_UID ); + $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); + $oCriteria->addSelectColumn( UsersPeer::USR_ROLE ); + $oCriteria->addSelectColumn( UsersPeer::USR_DUE_DATE ); + $oCriteria->addSelectColumn( UsersPeer::USR_STATUS ); + $oCriteria->addSelectColumn( UsersPeer::USR_UX ); + $oCriteria->addSelectColumn( UsersPeer::DEP_UID ); + $oCriteria->addAsColumn( 'LAST_LOGIN', 0 ); + $oCriteria->addAsColumn( 'DEP_TITLE', 0 ); + $oCriteria->addAsColumn( 'TOTAL_CASES', 0 ); + $oCriteria->addAsColumn( 'DUE_DATE_OK', 1 ); + $sep = "'"; + $oCriteria->add( UsersPeer::USR_STATUS, array ('CLOSED' + ), Criteria::NOT_IN ); + if ($filter != '') { + $cc = $oCriteria->getNewCriterion( UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_EMAIL, '%' . $filter . '%', Criteria::LIKE ) ) ) ); + $oCriteria->add( $cc ); + } + // $sw_add = false; + // for ($i=0; $i < sizeof($aUsers); $i++){ + // if ($i>0){ + // $tmpL = $tmpL->addOr($oCriteria->getNewCriterion(UsersPeer::USR_UID, $aUsers[$i],Criteria::EQUAL)); + // }else{ + // $uList = $oCriteria->getNewCriterion(UsersPeer::USR_UID, $aUsers[$i],Criteria::EQUAL); + // $tmpL = $uList; + // $sw_add = true; + // } + // } + // if ($sw_add) $oCriteria->add($uList); + if (sizeof( $aUsers ) > 0) { + $oCriteria->add( UsersPeer::USR_UID, $aUsers, Criteria::IN ); + } else if ($totalRows == 0 && $auths != '') { + $oCriteria->add( UsersPeer::USR_UID, '', Criteria::IN ); + } + if ($sort != '') { + if ($dir == 'ASC') { + $oCriteria->addAscendingOrderByColumn( $sort ); + } else { + $oCriteria->addDescendingOrderByColumn( $sort ); + } + } + $oCriteria->setOffset( $start ); + $oCriteria->setLimit( $limit ); + $oDataset = UsersPeer::DoSelectRs( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $Login = new LoginLog(); - $aLogin = $Login->getLastLoginAllUsers(); - $Cases = new AppCacheView(); - $aCases = $Cases->getTotalCasesByAllUsers(); - $Department = new Department(); - $aDepart = $Department->getAllDepartmentsByUser(); - $aAuthSources = $RBAC->getAllAuthSourcesByUser(); + $Login = new LoginLog(); + $aLogin = $Login->getLastLoginAllUsers(); + $Cases = new AppCacheView(); + $aCases = $Cases->getTotalCasesByAllUsers(); + $Department = new Department(); + $aDepart = $Department->getAllDepartmentsByUser(); + $aAuthSources = $RBAC->getAllAuthSourcesByUser(); - require_once PATH_CONTROLLERS . 'adminProxy.php'; - $uxList = adminProxy::getUxTypesList(); + require_once PATH_CONTROLLERS . 'adminProxy.php'; + $uxList = adminProxy::getUxTypesList(); - $rows = Array(); - while($oDataset->next()){ - $row = $oDataset->getRow(); - $row['DUE_DATE_OK'] = (date('Y-m-d')>date('Y-m-d',strtotime($row['USR_DUE_DATE'])))? 0 : 1; - $row['LAST_LOGIN'] = isset($aLogin[$row['USR_UID']]) ? $aLogin[$row['USR_UID']] : ''; - $row['TOTAL_CASES'] = isset($aCases[$row['USR_UID']]) ? $aCases[$row['USR_UID']] : 0; - $row['DEP_TITLE'] = isset($aDepart[$row['USR_UID']]) ? $aDepart[$row['USR_UID']] : ''; - $row['USR_UX'] = isset($uxList[$row['USR_UX']]) ? $uxList[$row['USR_UX']] : $uxList['NORMAL']; - $row['USR_AUTH_SOURCE'] = isset($aAuthSources[$row['USR_UID']]) ? $aAuthSources[$row['USR_UID']] : 'ProcessMaker (MYSQL)'; + $rows = Array (); + while ($oDataset->next()) { + $row = $oDataset->getRow(); + $row['DUE_DATE_OK'] = (date( 'Y-m-d' ) > date( 'Y-m-d', strtotime( $row['USR_DUE_DATE'] ) )) ? 0 : 1; + $row['LAST_LOGIN'] = isset( $aLogin[$row['USR_UID']] ) ? $aLogin[$row['USR_UID']] : ''; + $row['TOTAL_CASES'] = isset( $aCases[$row['USR_UID']] ) ? $aCases[$row['USR_UID']] : 0; + $row['DEP_TITLE'] = isset( $aDepart[$row['USR_UID']] ) ? $aDepart[$row['USR_UID']] : ''; + $row['USR_UX'] = isset( $uxList[$row['USR_UX']] ) ? $uxList[$row['USR_UX']] : $uxList['NORMAL']; + $row['USR_AUTH_SOURCE'] = isset( $aAuthSources[$row['USR_UID']] ) ? $aAuthSources[$row['USR_UID']] : 'ProcessMaker (MYSQL)'; - $rows[] = $row; - } - echo '{users: '.G::json_encode($rows).', total_users: '.$totalRows.'}'; - break; - case 'updatePageSize': - G::LoadClass('configuration'); - $c = new Configurations(); - $arr['pageSize'] = $_REQUEST['size']; - $arr['dateSave'] = date('Y-m-d H:i:s'); - $config = Array(); - $config[] = $arr; - $c->aConfig = $config; - $c->saveConfig('usersList', 'pageSize','',$_SESSION['USER_LOGGED']); - echo '{success: true}'; - break; - case 'summaryUserData': - require_once 'classes/model/Users.php'; - require_once 'classes/model/Department.php'; - require_once 'classes/model/AppCacheView.php'; - G::LoadClass('configuration'); - $oUser = new Users(); - $data = $oUser->loadDetailed($_REQUEST['USR_UID']); - $data['USR_STATUS'] = G::LoadTranslation('ID_' . $data['USR_STATUS']); - $oAppCache = new AppCacheView(); - $aTypes = Array(); - $aTypes['to_do'] = 'CASES_INBOX'; - $aTypes['draft'] = 'CASES_DRAFT'; - $aTypes['cancelled'] = 'CASES_CANCELLED'; - $aTypes['sent'] = 'CASES_SENT'; - $aTypes['paused'] = 'CASES_PAUSED'; - $aTypes['completed'] = 'CASES_COMPLETED'; - $aTypes['selfservice'] = 'CASES_SELFSERVICE'; - $aCount = $oAppCache->getAllCounters( array_keys($aTypes), $_REQUEST['USR_UID']); - $dep = new Department(); - if ($dep->existsDepartment($data['DEP_UID'])){ - $dep->Load($data['DEP_UID']); - $dep_name = $dep->getDepTitle(); - }else{ - $dep_name = ''; - } - if ($data['USR_REPLACED_BY']!=''){ - $user = new Users(); - $u = $user->load($data['USR_REPLACED_BY']); - $c = new Configurations(); - $replaced_by = $c->usersNameFormat($u['USR_USERNAME'], $u['USR_FIRSTNAME'], $u['USR_LASTNAME']); - }else{ - $replaced_by = ''; - } - $misc = Array(); - $misc['DEP_TITLE'] = $dep_name; - $misc['REPLACED_NAME'] = $replaced_by; - echo '{success: true, userdata: '.G::json_encode($data).', cases: '.G::json_encode($aCount).', misc: '.G::json_encode($misc).'}'; - break; - } + $rows[] = $row; + } + echo '{users: ' . G::json_encode( $rows ) . ', total_users: ' . $totalRows . '}'; + break; + case 'updatePageSize': + G::LoadClass( 'configuration' ); + $c = new Configurations(); + $arr['pageSize'] = $_REQUEST['size']; + $arr['dateSave'] = date( 'Y-m-d H:i:s' ); + $config = Array (); + $config[] = $arr; + $c->aConfig = $config; + $c->saveConfig( 'usersList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); + echo '{success: true}'; + break; + case 'summaryUserData': + require_once 'classes/model/Users.php'; + require_once 'classes/model/Department.php'; + require_once 'classes/model/AppCacheView.php'; + G::LoadClass( 'configuration' ); + $oUser = new Users(); + $data = $oUser->loadDetailed( $_REQUEST['USR_UID'] ); + $data['USR_STATUS'] = G::LoadTranslation( 'ID_' . $data['USR_STATUS'] ); + $oAppCache = new AppCacheView(); + $aTypes = Array (); + $aTypes['to_do'] = 'CASES_INBOX'; + $aTypes['draft'] = 'CASES_DRAFT'; + $aTypes['cancelled'] = 'CASES_CANCELLED'; + $aTypes['sent'] = 'CASES_SENT'; + $aTypes['paused'] = 'CASES_PAUSED'; + $aTypes['completed'] = 'CASES_COMPLETED'; + $aTypes['selfservice'] = 'CASES_SELFSERVICE'; + $aCount = $oAppCache->getAllCounters( array_keys( $aTypes ), $_REQUEST['USR_UID'] ); + $dep = new Department(); + if ($dep->existsDepartment( $data['DEP_UID'] )) { + $dep->Load( $data['DEP_UID'] ); + $dep_name = $dep->getDepTitle(); + } else { + $dep_name = ''; + } + if ($data['USR_REPLACED_BY'] != '') { + $user = new Users(); + $u = $user->load( $data['USR_REPLACED_BY'] ); + $c = new Configurations(); + $replaced_by = $c->usersNameFormat( $u['USR_USERNAME'], $u['USR_FIRSTNAME'], $u['USR_LASTNAME'] ); + } else { + $replaced_by = ''; + } + $misc = Array (); + $misc['DEP_TITLE'] = $dep_name; + $misc['REPLACED_NAME'] = $replaced_by; + echo '{success: true, userdata: ' . G::json_encode( $data ) . ', cases: ' . G::json_encode( $aCount ) . ', misc: ' . G::json_encode( $misc ) . '}'; + break; + } +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_AuthSource.php b/workflow/engine/methods/users/users_AuthSource.php index fdaa04e77..6d19306df 100755 --- a/workflow/engine/methods/users/users_AuthSource.php +++ b/workflow/engine/methods/users/users_AuthSource.php @@ -12,28 +12,29 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ global $RBAC; -if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') != 1) { - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; +if ($RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); } -$G_MAIN_MENU = 'processmaker'; +$G_MAIN_MENU = 'processmaker'; //$G_SUB_MENU = 'users'; -$G_ID_MENU_SELECTED = 'USERS'; +$G_ID_MENU_SELECTED = 'USERS'; //$G_ID_SUB_MENU_SELECTED = '-'; + $G_PUBLISH = new Publisher(); -$G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_AuthSource', '', $RBAC->load($_GET['USR_UID']), '../users/users_AuthSourceSave'); -G::RenderPage('publish','blank'); \ No newline at end of file +$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_AuthSource', '', $RBAC->load( $_GET['USR_UID'] ), '../users/users_AuthSourceSave' ); +G::RenderPage( 'publish', 'blank' ); + diff --git a/workflow/engine/methods/users/users_AuthSourceSave.php b/workflow/engine/methods/users/users_AuthSourceSave.php index 8eeccf5e9..a22f31add 100755 --- a/workflow/engine/methods/users/users_AuthSourceSave.php +++ b/workflow/engine/methods/users/users_AuthSourceSave.php @@ -12,35 +12,34 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ global $RBAC; -if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') != 1) { - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; +if ($RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); } -$aData = $RBAC->load($_POST['form']['USR_UID']); -unset($aData['USR_ROLE']); +$aData = $RBAC->load( $_POST['form']['USR_UID'] ); +unset( $aData['USR_ROLE'] ); if ($_POST['form']['UID_AUTH_SOURCE'] == 'MYSQL') { - $aData['USR_AUTH_TYPE'] = 'MYSQL'; - $aData['UID_AUTH_SOURCE'] = ''; -} -else { - $aFields = $RBAC->getAuthSource($_POST['form']['UID_AUTH_SOURCE']); - $aData['USR_AUTH_TYPE'] = $aFields['AUTH_SOURCE_PROVIDER']; - $aData['UID_AUTH_SOURCE'] = $_POST['form']['UID_AUTH_SOURCE']; + $aData['USR_AUTH_TYPE'] = 'MYSQL'; + $aData['UID_AUTH_SOURCE'] = ''; +} else { + $aFields = $RBAC->getAuthSource( $_POST['form']['UID_AUTH_SOURCE'] ); + $aData['USR_AUTH_TYPE'] = $aFields['AUTH_SOURCE_PROVIDER']; + $aData['UID_AUTH_SOURCE'] = $_POST['form']['UID_AUTH_SOURCE']; } $aData['USR_AUTH_USER_DN'] = $_POST['form']['USR_AUTH_USER_DN']; -$RBAC->updateUser($aData); +$RBAC->updateUser( $aData ); + +G::header( 'location: users_List' ); -G::header('location: users_List'); \ No newline at end of file diff --git a/workflow/engine/methods/users/users_Delete.php b/workflow/engine/methods/users/users_Delete.php index 4572ed101..ee64013d3 100755 --- a/workflow/engine/methods/users/users_Delete.php +++ b/workflow/engine/methods/users/users_Delete.php @@ -1,5 +1,5 @@ -. + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - global $RBAC; - switch ($RBAC->userCanAccess('PM_FACTORY')) - { - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - if ($_GET['USR_UID'] == '00000000000000000000000000000001') { - G::SendTemporalMessage('ID_CANNOT_CHANGE_STATUS_ADMIN_USER', 'error', 'usersLabels'); - G::header('location: ' . $_SERVER['HTTP_REFERER']); - die; - } - /*$RBAC->removeUser($_GET['USR_UID']); + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } + if ($_GET['USR_UID'] == '00000000000000000000000000000001') { + G::SendTemporalMessage( 'ID_CANNOT_CHANGE_STATUS_ADMIN_USER', 'error', 'usersLabels' ); + G::header( 'location: ' . $_SERVER['HTTP_REFERER'] ); + die(); + } + /*$RBAC->removeUser($_GET['USR_UID']); require_once 'classes/model/Users.php'; $oUser = new Users(); $oUser->remove($_GET['USR_UID']);*/ - - //print_r($_GET['USR_UID']); die - G::LoadClass('tasks'); - $oTasks = new Tasks(); - $oTasks->ofToAssignUserOfAllTasks($_GET['USR_UID']); - G::LoadClass('groups'); - $oGroups = new Groups(); - $oGroups->removeUserOfAllGroups($_GET['USR_UID']); - $RBAC->changeUserStatus($_GET['USR_UID'], 'CLOSED'); - $_GET['USR_USERNAME']=''; - $RBAC->updateUser(array('USR_UID' => $_GET['USR_UID'], 'USR_USERNAME' => $_GET['USR_USERNAME']),''); + //print_r($_GET['USR_UID']); die + G::LoadClass( 'tasks' ); + $oTasks = new Tasks(); + $oTasks->ofToAssignUserOfAllTasks( $_GET['USR_UID'] ); + G::LoadClass( 'groups' ); + $oGroups = new Groups(); + $oGroups->removeUserOfAllGroups( $_GET['USR_UID'] ); + $RBAC->changeUserStatus( $_GET['USR_UID'], 'CLOSED' ); + $_GET['USR_USERNAME'] = ''; + $RBAC->updateUser( array ('USR_UID' => $_GET['USR_UID'],'USR_USERNAME' => $_GET['USR_USERNAME'] + ), '' ); - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $aFields = $oUser->load($_GET['USR_UID']); - $aFields['USR_STATUS'] = 'CLOSED'; - $aFields['USR_USERNAME'] = ''; - $oUser->update($aFields); - G::header('location: users_List'); + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $aFields = $oUser->load( $_GET['USR_UID'] ); + $aFields['USR_STATUS'] = 'CLOSED'; + $aFields['USR_USERNAME'] = ''; + $oUser->update( $aFields ); + G::header( 'location: users_List' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_DeleteAssign.php b/workflow/engine/methods/users/users_DeleteAssign.php index c228b6d11..a550455ee 100755 --- a/workflow/engine/methods/users/users_DeleteAssign.php +++ b/workflow/engine/methods/users/users_DeleteAssign.php @@ -12,38 +12,36 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ - - $USR_UID=$_GET['USR_UID']; - - G::LoadClass('case'); - $oProcessMap = new Cases(); - $c = $oProcessMap->getCriteriaUsersCases('TO_DO', $USR_UID); - $array["TO_DO"] = ApplicationPeer::doCount($c); +$USR_UID = $_GET['USR_UID']; - $c = $oProcessMap->getCriteriaUsersCases('COMPLETED', $USR_UID); - $array["COMPLETED"] = ApplicationPeer::doCount($c); +G::LoadClass( 'case' ); +$oProcessMap = new Cases(); - $c = $oProcessMap->getCriteriaUsersCases('DRAFT', $USR_UID); - $array["DRAFT"] = ApplicationPeer::doCount($c); +$c = $oProcessMap->getCriteriaUsersCases( 'TO_DO', $USR_UID ); +$array["TO_DO"] = ApplicationPeer::doCount( $c ); - $c = $oProcessMap->getCriteriaUsersCases('CANCELLED', $USR_UID); - $array["CANCELLED"] = ApplicationPeer::doCount($c); +$c = $oProcessMap->getCriteriaUsersCases( 'COMPLETED', $USR_UID ); +$array["COMPLETED"] = ApplicationPeer::doCount( $c ); - $array["USR_UID"]=$USR_UID; +$c = $oProcessMap->getCriteriaUsersCases( 'DRAFT', $USR_UID ); +$array["DRAFT"] = ApplicationPeer::doCount( $c ); - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_DeleteAssign', '', $array, ''); - G::RenderPage('publish', 'raw'); +$c = $oProcessMap->getCriteriaUsersCases( 'CANCELLED', $USR_UID ); +$array["CANCELLED"] = ApplicationPeer::doCount( $c ); + +$array["USR_UID"] = $USR_UID; + +$G_PUBLISH = new Publisher(); +$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_DeleteAssign', '', $array, '' ); +G::RenderPage( 'publish', 'raw' ); -?> \ No newline at end of file diff --git a/workflow/engine/methods/users/users_DeleteReassign.php b/workflow/engine/methods/users/users_DeleteReassign.php index 68af07477..71f2dd902 100755 --- a/workflow/engine/methods/users/users_DeleteReassign.php +++ b/workflow/engine/methods/users/users_DeleteReassign.php @@ -12,153 +12,154 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ - -try { - global $RBAC; - switch ($RBAC->userCanAccess('PM_REASSIGNCASE')) { - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - if (!isset($_GET['USR_UID'])) { - $_GET['USR_UID'] = ''; - } - - $G_MAIN_MENU = 'processmaker'; - $G_SUB_MENU = 'users'; - $G_ID_MENU_SELECTED = 'USERS'; - $G_ID_SUB_MENU_SELECTED = 'USERS'; - $G_PUBLISH = new Publisher; - - if ($_GET['USR_UID'] != '') { - $c=0; - $oTemplatePower = new TemplatePower(PATH_TPL . 'users/users_DeleteReassign.html'); - $oTemplatePower->prepare(); - G::LoadClass('tasks'); - G::LoadClass('groups'); - $oTasks = new Tasks(); - $oGroups = new Groups(); - $oUser = new Users(); - G::LoadClass('case'); - $oCases = new Cases(); - $USR_UID=$_GET['USR_UID']; - list($oCriteriaToDo,$sXMLFile) = $oCases->getConditionCasesList('to_do', $_GET['USR_UID']); - list($oCriteriaDraft,$sXMLFile) = $oCases->getConditionCasesList('draft', $_GET['USR_UID']); - - if(ApplicationPeer::doCount($oCriteriaToDo)==0 && ApplicationPeer::doCount($oCriteriaDraft)==0); - G::header('location: users_Delete?USR_UID='.$USR_UID); - - $oDataset = ApplicationPeer::doSelectRS($oCriteriaToDo); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - while ($aRow = $oDataset->getRow()) { - $c++; - $oTemplatePower->newBlock('cases'); - $aKeys = array_keys($aRow); - foreach ($aKeys as $sKey) { - $oTemplatePower->assign($sKey, $aRow[$sKey]); - } - $aUsers = array($_GET['USR_UID']); - $aAux1 = $oTasks->getGroupsOfTask($aRow['TAS_UID'], 1); - foreach ($aAux1 as $aGroup) { - $aAux2 = $oGroups->getUsersOfGroup($aGroup['GRP_UID']); - foreach ($aAux2 as $aUser) { - if (!in_array($aUser['USR_UID'], $aUsers)) { - $aUsers[] = $aUser['USR_UID']; - $aData = $oUser->load($aUser['USR_UID']); - $oTemplatePower->newBlock('users'); - $oTemplatePower->assign('USR_UID', $aUser['USR_UID']); - $oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')'); - } - } - } - $aAux1 = $oTasks->getUsersOfTask($aRow['TAS_UID'], 1); - foreach ($aAux1 as $aUser) { - if (!in_array($aUser['USR_UID'], $aUsers)) { - $aUsers[] = $aUser['USR_UID']; - $aData = $oUser->load($aUser['USR_UID']); - $oTemplatePower->newBlock('users'); - $oTemplatePower->assign('USR_UID', $aUser['USR_UID']); - $oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')'); - } - } - $oTemplatePower->gotoBlock('cases'); - $oTemplatePower->assign('ID_STATUS', G::LoadTranslation('ID_TO_DO')); - $oTemplatePower->assign('ID_NO_REASSIGN', G::LoadTranslation('ID_NO_REASSIGN')); - $oDataset->next(); - } - $oDataset = ApplicationPeer::doSelectRS($oCriteriaDraft); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - while ($aRow = $oDataset->getRow()) { - $c++; - $oTemplatePower->newBlock('cases'); - $aKeys = array_keys($aRow); - foreach ($aKeys as $sKey) { - $oTemplatePower->assign($sKey, $aRow[$sKey]); - } - $aUsers = array($_GET['USR_UID']); - $aAux1 = $oTasks->getGroupsOfTask($aRow['TAS_UID'], 1); - foreach ($aAux1 as $aGroup) { - $aAux2 = $oGroups->getUsersOfGroup($aGroup['GRP_UID']); - foreach ($aAux2 as $aUser) { - if (!in_array($aUser['USR_UID'], $aUsers)) { - $aUsers[] = $aUser['USR_UID']; - $aData = $oUser->load($aUser['USR_UID']); - $oTemplatePower->newBlock('users'); - $oTemplatePower->assign('USR_UID', $aUser['USR_UID']); - $oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')'); - } - } - } - $aAux1 = $oTasks->getUsersOfTask($aRow['TAS_UID'], 1); - foreach ($aAux1 as $aUser) { - if (!in_array($aUser['USR_UID'], $aUsers)) { - $aUsers[] = $aUser['USR_UID']; - $aData = $oUser->load($aUser['USR_UID']); - $oTemplatePower->newBlock('users'); - $oTemplatePower->assign('USR_UID', $aUser['USR_UID']); - $oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')'); - } - } - $oTemplatePower->gotoBlock('cases'); - $oTemplatePower->assign('ID_STATUS', G::LoadTranslation('ID_DRAFT')); - $oTemplatePower->assign('ID_NO_REASSIGN', G::LoadTranslation('ID_NO_REASSIGN')); - $oDataset->next(); +try { + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_REASSIGNCASE' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; } - $oTemplatePower->gotoBlock('_ROOT'); - $oTemplatePower->assign('ID_NUMBER', '#'); - $oTemplatePower->assign('ID_CASE', G::LoadTranslation('ID_CASE')); - $oTemplatePower->assign('ID_TASK', G::LoadTranslation('ID_TASK')); - $oTemplatePower->assign('ID_PROCESS', G::LoadTranslation('ID_PROCESS')); - $oTemplatePower->assign('ID_STATUS', G::LoadTranslation('ID_STATUS')); - $oTemplatePower->assign('ID_REASSIGN_TO', G::LoadTranslation('ID_REASSIGN_TO')); - $oTemplatePower->assign('ID_REASSIGN', G::LoadTranslation('ID_REASSIGN')); - $oTemplatePower->assign('USR_UID', $_GET['USR_UID']); - $oTemplatePower->assign('CONT', $c); - $G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower); - } - G::RenderPage('publish'); + + if (! isset( $_GET['USR_UID'] )) { + $_GET['USR_UID'] = ''; + } + + $G_MAIN_MENU = 'processmaker'; + $G_SUB_MENU = 'users'; + $G_ID_MENU_SELECTED = 'USERS'; + $G_ID_SUB_MENU_SELECTED = 'USERS'; + $G_PUBLISH = new Publisher(); + + if ($_GET['USR_UID'] != '') { + $c = 0; + $oTemplatePower = new TemplatePower( PATH_TPL . 'users/users_DeleteReassign.html' ); + $oTemplatePower->prepare(); + G::LoadClass( 'tasks' ); + G::LoadClass( 'groups' ); + $oTasks = new Tasks(); + $oGroups = new Groups(); + $oUser = new Users(); + G::LoadClass( 'case' ); + $oCases = new Cases(); + $USR_UID = $_GET['USR_UID']; + list ($oCriteriaToDo, $sXMLFile) = $oCases->getConditionCasesList( 'to_do', $_GET['USR_UID'] ); + list ($oCriteriaDraft, $sXMLFile) = $oCases->getConditionCasesList( 'draft', $_GET['USR_UID'] ); + + if (ApplicationPeer::doCount( $oCriteriaToDo ) == 0 && ApplicationPeer::doCount( $oCriteriaDraft ) == 0) + ; + G::header( 'location: users_Delete?USR_UID=' . $USR_UID ); + + $oDataset = ApplicationPeer::doSelectRS( $oCriteriaToDo ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + while ($aRow = $oDataset->getRow()) { + $c ++; + $oTemplatePower->newBlock( 'cases' ); + $aKeys = array_keys( $aRow ); + foreach ($aKeys as $sKey) { + $oTemplatePower->assign( $sKey, $aRow[$sKey] ); + } + $aUsers = array ($_GET['USR_UID'] + ); + $aAux1 = $oTasks->getGroupsOfTask( $aRow['TAS_UID'], 1 ); + foreach ($aAux1 as $aGroup) { + $aAux2 = $oGroups->getUsersOfGroup( $aGroup['GRP_UID'] ); + foreach ($aAux2 as $aUser) { + if (! in_array( $aUser['USR_UID'], $aUsers )) { + $aUsers[] = $aUser['USR_UID']; + $aData = $oUser->load( $aUser['USR_UID'] ); + $oTemplatePower->newBlock( 'users' ); + $oTemplatePower->assign( 'USR_UID', $aUser['USR_UID'] ); + $oTemplatePower->assign( 'USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')' ); + } + } + } + $aAux1 = $oTasks->getUsersOfTask( $aRow['TAS_UID'], 1 ); + foreach ($aAux1 as $aUser) { + if (! in_array( $aUser['USR_UID'], $aUsers )) { + $aUsers[] = $aUser['USR_UID']; + $aData = $oUser->load( $aUser['USR_UID'] ); + $oTemplatePower->newBlock( 'users' ); + $oTemplatePower->assign( 'USR_UID', $aUser['USR_UID'] ); + $oTemplatePower->assign( 'USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')' ); + } + } + $oTemplatePower->gotoBlock( 'cases' ); + $oTemplatePower->assign( 'ID_STATUS', G::LoadTranslation( 'ID_TO_DO' ) ); + $oTemplatePower->assign( 'ID_NO_REASSIGN', G::LoadTranslation( 'ID_NO_REASSIGN' ) ); + $oDataset->next(); + } + $oDataset = ApplicationPeer::doSelectRS( $oCriteriaDraft ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + while ($aRow = $oDataset->getRow()) { + $c ++; + $oTemplatePower->newBlock( 'cases' ); + $aKeys = array_keys( $aRow ); + foreach ($aKeys as $sKey) { + $oTemplatePower->assign( $sKey, $aRow[$sKey] ); + } + $aUsers = array ($_GET['USR_UID'] + ); + $aAux1 = $oTasks->getGroupsOfTask( $aRow['TAS_UID'], 1 ); + foreach ($aAux1 as $aGroup) { + $aAux2 = $oGroups->getUsersOfGroup( $aGroup['GRP_UID'] ); + foreach ($aAux2 as $aUser) { + if (! in_array( $aUser['USR_UID'], $aUsers )) { + $aUsers[] = $aUser['USR_UID']; + $aData = $oUser->load( $aUser['USR_UID'] ); + $oTemplatePower->newBlock( 'users' ); + $oTemplatePower->assign( 'USR_UID', $aUser['USR_UID'] ); + $oTemplatePower->assign( 'USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')' ); + } + } + } + $aAux1 = $oTasks->getUsersOfTask( $aRow['TAS_UID'], 1 ); + foreach ($aAux1 as $aUser) { + if (! in_array( $aUser['USR_UID'], $aUsers )) { + $aUsers[] = $aUser['USR_UID']; + $aData = $oUser->load( $aUser['USR_UID'] ); + $oTemplatePower->newBlock( 'users' ); + $oTemplatePower->assign( 'USR_UID', $aUser['USR_UID'] ); + $oTemplatePower->assign( 'USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')' ); + } + } + $oTemplatePower->gotoBlock( 'cases' ); + $oTemplatePower->assign( 'ID_STATUS', G::LoadTranslation( 'ID_DRAFT' ) ); + $oTemplatePower->assign( 'ID_NO_REASSIGN', G::LoadTranslation( 'ID_NO_REASSIGN' ) ); + $oDataset->next(); + } + $oTemplatePower->gotoBlock( '_ROOT' ); + $oTemplatePower->assign( 'ID_NUMBER', '#' ); + $oTemplatePower->assign( 'ID_CASE', G::LoadTranslation( 'ID_CASE' ) ); + $oTemplatePower->assign( 'ID_TASK', G::LoadTranslation( 'ID_TASK' ) ); + $oTemplatePower->assign( 'ID_PROCESS', G::LoadTranslation( 'ID_PROCESS' ) ); + $oTemplatePower->assign( 'ID_STATUS', G::LoadTranslation( 'ID_STATUS' ) ); + $oTemplatePower->assign( 'ID_REASSIGN_TO', G::LoadTranslation( 'ID_REASSIGN_TO' ) ); + $oTemplatePower->assign( 'ID_REASSIGN', G::LoadTranslation( 'ID_REASSIGN' ) ); + $oTemplatePower->assign( 'USR_UID', $_GET['USR_UID'] ); + $oTemplatePower->assign( 'CONT', $c ); + $G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower ); + } + G::RenderPage( 'publish' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_DeleteReassignEnd.php b/workflow/engine/methods/users/users_DeleteReassignEnd.php index 06f85f2c7..3766fb29b 100755 --- a/workflow/engine/methods/users/users_DeleteReassignEnd.php +++ b/workflow/engine/methods/users/users_DeleteReassignEnd.php @@ -13,78 +13,75 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - global $RBAC; - switch ($RBAC->userCanAccess('PM_REASSIGNCASE')) { - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - G::LoadClass('case'); - $oCase = new Cases(); - $aCases = array(); - $aUsers = array(); - $c=0; - if(isset($_POST['USERS'])) - { if (is_array($_POST['USERS'])) { - foreach ($_POST['USERS'] as $sKey => $sUser) { - if ($sUser != '') { - $c++; - $oCase->reassignCase($_POST['APPLICATIONS'][$sKey], $_POST['INDEXES'][$sKey], $_POST['USR_UID'], $sUser); - $aCases[] = $_POST['APPLICATIONS'][$sKey]; - $aUsers[] = $sUser; - } - } - } - } - G::LoadClass('case'); - $oCase = new Cases(); - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $sText = ''; - foreach ($aCases as $sKey => $sCase) { - $aCase = $oCase->loadCase($sCase); - $aUser = $oUser->load($aUsers[$sKey]); - $sText .= $aCase['TITLE'] . ' => ' . $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' (' . $aUser['USR_USERNAME'] . ')' . '
'; - } - - - $G_MAIN_MENU = 'processmaker'; - $G_SUB_MENU = 'users'; - $G_ID_MENU_SELECTED = 'USERS'; - $G_ID_SUB_MENU_SELECTED = 'USERS'; - $G_PUBLISH = new Publisher; - - $aMessage['USR_UID'] = $_POST['USR_UID']; - - $aMessage['MESSAGE'] = $sText; - if($_POST['CONT']!=$c) - $aMessage['EVA']=G::LoadTranslation('ID_CASESREASSIGN');// - else - $aMessage['EVA']=''; - - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_ReassignShowInfo', '', $aMessage); - G::RenderPage('publish'); + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_REASSIGNCASE' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } + G::LoadClass( 'case' ); + $oCase = new Cases(); + $aCases = array (); + $aUsers = array (); + $c = 0; + if (isset( $_POST['USERS'] )) { + if (is_array( $_POST['USERS'] )) { + foreach ($_POST['USERS'] as $sKey => $sUser) { + if ($sUser != '') { + $c ++; + $oCase->reassignCase( $_POST['APPLICATIONS'][$sKey], $_POST['INDEXES'][$sKey], $_POST['USR_UID'], $sUser ); + $aCases[] = $_POST['APPLICATIONS'][$sKey]; + $aUsers[] = $sUser; + } + } + } + } + G::LoadClass( 'case' ); + $oCase = new Cases(); + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $sText = ''; + foreach ($aCases as $sKey => $sCase) { + $aCase = $oCase->loadCase( $sCase ); + $aUser = $oUser->load( $aUsers[$sKey] ); + $sText .= $aCase['TITLE'] . ' => ' . $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME'] . ' (' . $aUser['USR_USERNAME'] . ')' . '
'; + } + + $G_MAIN_MENU = 'processmaker'; + $G_SUB_MENU = 'users'; + $G_ID_MENU_SELECTED = 'USERS'; + $G_ID_SUB_MENU_SELECTED = 'USERS'; + $G_PUBLISH = new Publisher(); + + $aMessage['USR_UID'] = $_POST['USR_UID']; + + $aMessage['MESSAGE'] = $sText; + if ($_POST['CONT'] != $c) + $aMessage['EVA'] = G::LoadTranslation( 'ID_CASESREASSIGN' ); // + else + $aMessage['EVA'] = ''; + + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_ReassignShowInfo', '', $aMessage ); + G::RenderPage( 'publish' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_Edit.php b/workflow/engine/methods/users/users_Edit.php index 228e0d416..c08531f87 100755 --- a/workflow/engine/methods/users/users_Edit.php +++ b/workflow/engine/methods/users/users_Edit.php @@ -1,162 +1,155 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ -try { - global $RBAC; - $RBAC->requirePermissions('PM_USERS'); - - // deprecated the class XmlForm_Field_Image is currently part of the class.xmlform.php package - // the use of the external xmlfield_Image is highly discouraged - if (!class_exists('XmlForm_Field_Image')){ - G::LoadClass('xmlfield_Image'); - } - require_once 'classes/model/Users.php'; - require_once 'classes/model/Department.php'; - - $_SESSION['CURRENT_USER'] = $_GET['USR_UID']; - $oUser = new Users(); - $aFields = $oUser->load($_GET['USR_UID']); - $aFields['USR_PASSWORD'] = '********'; - $aFields['MESSAGE0'] = str_replace("\r\n","
",G::LoadTranslation('ID_USER_REGISTERED')) . '!'; - $aFields['MESSAGE1'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME')); - $aFields['MESSAGE2'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_DUE_DATE')); - $aFields['MESSAGE3'] = str_replace("\r\n","
",G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS')); - $aFields['MESSAGE4'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME')); - $aFields['MESSAGE5'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME')); - $aFields['MESSAGE6'] = str_replace("\r\n","
",G::LoadTranslation('ID_ERROR_UPLOADING_IMAGE_TYPE')); - $aFields['START_DATE'] = date('Y-m-d'); - $aFields['END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 5)); - - $G_MAIN_MENU = 'processmaker'; - $G_SUB_MENU = 'users'; - $G_ID_MENU_SELECTED = 'USERS'; - $G_ID_SUB_MENU_SELECTED = 'USERS'; - - $G_PUBLISH = new Publisher; - - //getting the user and department - $oDepInfo = new Department(); - $oUser = UsersPeer::retrieveByPk( $aFields['USR_REPORTS_TO'] ); - if ($oUser != '') - if ( get_class ($oUser) == 'Users' ) { - $userFields = $oUser->toArray(BasePeer::TYPE_FIELDNAME); - $aFields['USR_REPORTS_TO'] = $userFields['USR_FIRSTNAME'] . ' ' . $userFields['USR_LASTNAME']; - try { - $depFields = $oDepInfo->load($userFields['DEP_UID'] ); - $aFields['USR_REPORTS_TO'] .= " (" . $depFields['DEPO_TITLE'] . ")"; - } - catch( Exception $e ) { - } - } - else{ - $aFields['USR_REPORTS_TO'] = ' '; - } - - try { - $depFields = $oDepInfo->load($aFields['DEP_UID']); - $aFields['USR_DEPARTMENT'] = $depFields['DEPO_TITLE']; - } - catch( Exception $e ) { - $oUser = UsersPeer::retrieveByPk( $_GET['USR_UID'] ); - $oUser->setDepUid( '' ); - $oUser->save(); - } - - //Load Calendar options and falue for this user - G::LoadClass ( 'calendar' ); - $calendar = new Calendar ( ); - $calendarObj = $calendar->getCalendarList ( true, true ); - global $_DBArray; - $_DBArray ['availableCalendars'] = $calendarObj ['array']; - $_SESSION ['_DBArray'] = $_DBArray; - $calendarInfo = $calendar->getCalendarFor ( $_GET['USR_UID'], $_GET['USR_UID'], $_GET['USR_UID'] ); - //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar - $aFields ['USR_CALENDAR'] = $calendarInfo ['CALENDAR_APPLIED']!='DEFAULT'? $calendarInfo ['CALENDAR_UID']:""; - $aFields['RANDOM'] = rand(); - - ///////////////////////// - //SELECT USR_UID, CONCAT(USR_LASTNAME, " ", USR_FIRSTNAME) FROM USERS WHERE USR_STATUS = 1 AND USR_UID!= "@#USR_UID" ORDER BY USR_LASTNAME - require_once 'classes/model/Users.php'; - $oCriteria=new Criteria(); - $oCriteria->addSelectColumn(UsersPeer::USR_UID); - $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL); - $oCriteria->add(UsersPeer::USR_STATUS,'ACTIVE'); - $oCriteria->add(UsersPeer::USR_UID,$_GET['USR_UID'], Criteria::NOT_EQUAL); - $oDataset=UsersPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - /////////////////////// - G::loadClass('configuration'); - $oConf = new Configurations; - $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS',''); - - $defaultOption = isset($oConf->aConfig['format'])? $oConf->aConfig['format']: ''; - - $aUserInfo = array(); - $aUserInfo[] = array('USR_UID' => 'char','USER_FULLNAME' => 'char'); - while( $oDataset->next()){ - $aRow1 = $oDataset->getRow(); - - $infoUser = G::getFormatUserList($defaultOption,$aRow1); - $aUserInfo[]=array( - 'USR_UID' => $aRow1['USR_UID'], - 'USER_FULLNAME' => $infoUser - ); - } - - //calculating the max upload file size; - $POST_MAX_SIZE = ini_get('post_max_size'); - $mul = substr($POST_MAX_SIZE, -1); - $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); - $postMaxSize = (int)$POST_MAX_SIZE * $mul; - - $UPLOAD_MAX_SIZE = ini_get('upload_max_filesize'); - $mul = substr($UPLOAD_MAX_SIZE, -1); - $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); - $uploadMaxSize = (int)$UPLOAD_MAX_SIZE * $mul; - - if ( $postMaxSize < $uploadMaxSize ) $uploadMaxSize = $postMaxSize; - $aFields['MAX_FILES_SIZE'] = " (" . $UPLOAD_MAX_SIZE . ") "; - - - global $_DBArray; - $_DBArray['aUserInfo'] = $aUserInfo; - $_SESSION['_DBArray'] = $_DBArray; - if ($_GET['USR_AUTH_SOURCE'] == 'ProcessMaker (MYSQL)') { - //always show this form users_EditRT.xml. - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_EditRT.xml', '', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER']); - } - else { - //for users ldap always show this form users_EditLDAP.xml. - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_EditLDAP.xml', '', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER']); - } - - G::RenderPage('publish','blank'); +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ +try { + global $RBAC; + $RBAC->requirePermissions( 'PM_USERS' ); + + // deprecated the class XmlForm_Field_Image is currently part of the class.xmlform.php package + // the use of the external xmlfield_Image is highly discouraged + if (! class_exists( 'XmlForm_Field_Image' )) { + G::LoadClass( 'xmlfield_Image' ); + } + require_once 'classes/model/Users.php'; + require_once 'classes/model/Department.php'; + + $_SESSION['CURRENT_USER'] = $_GET['USR_UID']; + $oUser = new Users(); + $aFields = $oUser->load( $_GET['USR_UID'] ); + $aFields['USR_PASSWORD'] = '********'; + $aFields['MESSAGE0'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_USER_REGISTERED' ) ) . '!'; + $aFields['MESSAGE1'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_USERNAME' ) ); + $aFields['MESSAGE2'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_DUE_DATE' ) ); + $aFields['MESSAGE3'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_NEW_PASS_SAME_OLD_PASS' ) ); + $aFields['MESSAGE4'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_FIRSTNAME' ) ); + $aFields['MESSAGE5'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_LASTNAME' ) ); + $aFields['MESSAGE6'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_ERROR_UPLOADING_IMAGE_TYPE' ) ); + $aFields['START_DATE'] = date( 'Y-m-d' ); + $aFields['END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) ); + + $G_MAIN_MENU = 'processmaker'; + $G_SUB_MENU = 'users'; + $G_ID_MENU_SELECTED = 'USERS'; + $G_ID_SUB_MENU_SELECTED = 'USERS'; + + $G_PUBLISH = new Publisher(); + + //getting the user and department + $oDepInfo = new Department(); + $oUser = UsersPeer::retrieveByPk( $aFields['USR_REPORTS_TO'] ); + if ($oUser != '') + if (get_class( $oUser ) == 'Users') { + $userFields = $oUser->toArray( BasePeer::TYPE_FIELDNAME ); + $aFields['USR_REPORTS_TO'] = $userFields['USR_FIRSTNAME'] . ' ' . $userFields['USR_LASTNAME']; + try { + $depFields = $oDepInfo->load( $userFields['DEP_UID'] ); + $aFields['USR_REPORTS_TO'] .= " (" . $depFields['DEPO_TITLE'] . ")"; + } catch (Exception $e) { + } + } else { + $aFields['USR_REPORTS_TO'] = ' '; + } + + try { + $depFields = $oDepInfo->load( $aFields['DEP_UID'] ); + $aFields['USR_DEPARTMENT'] = $depFields['DEPO_TITLE']; + } catch (Exception $e) { + $oUser = UsersPeer::retrieveByPk( $_GET['USR_UID'] ); + $oUser->setDepUid( '' ); + $oUser->save(); + } + + //Load Calendar options and falue for this user + G::LoadClass( 'calendar' ); + $calendar = new Calendar(); + $calendarObj = $calendar->getCalendarList( true, true ); + global $_DBArray; + $_DBArray['availableCalendars'] = $calendarObj['array']; + $_SESSION['_DBArray'] = $_DBArray; + $calendarInfo = $calendar->getCalendarFor( $_GET['USR_UID'], $_GET['USR_UID'], $_GET['USR_UID'] ); + //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar + $aFields['USR_CALENDAR'] = $calendarInfo['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo['CALENDAR_UID'] : ""; + $aFields['RANDOM'] = rand(); + + ///////////////////////// + //SELECT USR_UID, CONCAT(USR_LASTNAME, " ", USR_FIRSTNAME) FROM USERS WHERE USR_STATUS = 1 AND USR_UID!= "@#USR_UID" ORDER BY USR_LASTNAME + require_once 'classes/model/Users.php'; + $oCriteria = new Criteria(); + $oCriteria->addSelectColumn( UsersPeer::USR_UID ); + $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); + $oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); + $oCriteria->add( UsersPeer::USR_UID, $_GET['USR_UID'], Criteria::NOT_EQUAL ); + $oDataset = UsersPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + /////////////////////// + G::loadClass( 'configuration' ); + $oConf = new Configurations(); + $oConf->loadConfig( $obj, 'ENVIRONMENT_SETTINGS', '' ); + + $defaultOption = isset( $oConf->aConfig['format'] ) ? $oConf->aConfig['format'] : ''; + + $aUserInfo = array (); + $aUserInfo[] = array ('USR_UID' => 'char','USER_FULLNAME' => 'char' + ); + while ($oDataset->next()) { + $aRow1 = $oDataset->getRow(); + + $infoUser = G::getFormatUserList( $defaultOption, $aRow1 ); + $aUserInfo[] = array ('USR_UID' => $aRow1['USR_UID'],'USER_FULLNAME' => $infoUser + ); + } + + //calculating the max upload file size; + $POST_MAX_SIZE = ini_get( 'post_max_size' ); + $mul = substr( $POST_MAX_SIZE, - 1 ); + $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); + $postMaxSize = (int) $POST_MAX_SIZE * $mul; + + $UPLOAD_MAX_SIZE = ini_get( 'upload_max_filesize' ); + $mul = substr( $UPLOAD_MAX_SIZE, - 1 ); + $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); + $uploadMaxSize = (int) $UPLOAD_MAX_SIZE * $mul; + + if ($postMaxSize < $uploadMaxSize) + $uploadMaxSize = $postMaxSize; + $aFields['MAX_FILES_SIZE'] = " (" . $UPLOAD_MAX_SIZE . ") "; + + global $_DBArray; + $_DBArray['aUserInfo'] = $aUserInfo; + $_SESSION['_DBArray'] = $_DBArray; + if ($_GET['USR_AUTH_SOURCE'] == 'ProcessMaker (MYSQL)') { + //always show this form users_EditRT.xml. + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_EditRT.xml', '', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER'] ); + } else { + //for users ldap always show this form users_EditLDAP.xml. + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_EditLDAP.xml', '', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER'] ); + } + + G::RenderPage( 'publish', 'blank' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> + diff --git a/workflow/engine/methods/users/users_Groups.php b/workflow/engine/methods/users/users_Groups.php index 5545c4fc0..438127e8e 100755 --- a/workflow/engine/methods/users/users_Groups.php +++ b/workflow/engine/methods/users/users_Groups.php @@ -12,44 +12,42 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ - /** - * @Description This is a callback for the View of all groups from a determinated user - * @author Erik Amaru Ortiz - * @Date 24/04/2008 - * @LastModification none - */ +/** + * ription This is a callback for the View of all groups from a determinated user + * + * @author Erik Amaru Ortiz + * @Date 24/04/2008 + * @LastModification none + */ try { global $RBAC; - switch ($RBAC->userCanAccess('PM_FACTORY')) { + switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { case - 2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); break; case - 1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); break; } - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'users/users_Tree' ); - G::RenderPage('publish', 'raw'); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'users/users_Tree' ); + G::RenderPage( 'publish', 'raw' ); +} catch (exception $oException) { + die( $oException->getMessage() ); } -catch (exception $oException) { - die($oException->getMessage()); -} -?> diff --git a/workflow/engine/methods/users/users_List.php b/workflow/engine/methods/users/users_List.php index 9b0d20cd0..3b2ecd488 100755 --- a/workflow/engine/methods/users/users_List.php +++ b/workflow/engine/methods/users/users_List.php @@ -1,68 +1,68 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ -if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response; -global $RBAC; - -$access = $RBAC->userCanAccess('PM_USERS'); -if( $access != 1 ){ - switch ($access) - { - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - default: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } -} - -$G_MAIN_MENU = 'processmaker'; -$G_SUB_MENU = 'users'; -$G_ID_MENU_SELECTED = 'USERS'; -$G_ID_SUB_MENU_SELECTED = 'USERS'; - -$G_PUBLISH = new Publisher; - -G::LoadClass('configuration'); -$c = new Configurations(); -$configPage = $c->getConfiguration('usersList', 'pageSize','',$_SESSION['USER_LOGGED']); -$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20; - -$oHeadPublisher =& headPublisher::getSingleton(); -$oHeadPublisher->addExtJsScript('users/usersList', false); //adding a javascript file .js -$oHeadPublisher->addContent('users/usersList'); //adding a html file .html. -$oHeadPublisher->assign('CONFIG', $Config); -$oHeadPublisher->assign('FORMATS',$c->getFormats()); - -G::RenderPage('publish', 'extJs'); \ No newline at end of file +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ +if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) + return $RBAC_Response; +global $RBAC; + +$access = $RBAC->userCanAccess( 'PM_USERS' ); +if ($access != 1) { + switch ($access) { + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + default: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } +} + +$G_MAIN_MENU = 'processmaker'; +$G_SUB_MENU = 'users'; +$G_ID_MENU_SELECTED = 'USERS'; +$G_ID_SUB_MENU_SELECTED = 'USERS'; + +$G_PUBLISH = new Publisher(); + +G::LoadClass( 'configuration' ); +$c = new Configurations(); +$configPage = $c->getConfiguration( 'usersList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); +$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20; + +$oHeadPublisher = & headPublisher::getSingleton(); +$oHeadPublisher->addExtJsScript( 'users/usersList', false ); //adding a javascript file .js +$oHeadPublisher->addContent( 'users/usersList' ); //adding a html file .html. +$oHeadPublisher->assign( 'CONFIG', $Config ); +$oHeadPublisher->assign( 'FORMATS', $c->getFormats() ); + +G::RenderPage( 'publish', 'extJs' ); + diff --git a/workflow/engine/methods/users/users_New.php b/workflow/engine/methods/users/users_New.php index 670bb8b72..6cec00db9 100755 --- a/workflow/engine/methods/users/users_New.php +++ b/workflow/engine/methods/users/users_New.php @@ -12,106 +12,106 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - global $RBAC; - $RBAC->requirePermissions('PM_USERS'); - - $aFields['MESSAGE0'] = str_replace("\r\n","
",G::LoadTranslation('ID_USER_REGISTERED')) . '!'; - $aFields['MESSAGE1'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME')); - $aFields['MESSAGE2'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_DUE_DATE')); - $aFields['MESSAGE3'] = str_replace("\r\n","
",G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS')); - $aFields['MESSAGE4'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME')); - $aFields['MESSAGE5'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME')); - $aFields['MESSAGE6'] = str_replace("\r\n","
",G::LoadTranslation('ID_ERROR_UPLOADING_IMAGE_TYPE')); + global $RBAC; + $RBAC->requirePermissions( 'PM_USERS' ); + + $aFields['MESSAGE0'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_USER_REGISTERED' ) ) . '!'; + $aFields['MESSAGE1'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_USERNAME' ) ); + $aFields['MESSAGE2'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_DUE_DATE' ) ); + $aFields['MESSAGE3'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_NEW_PASS_SAME_OLD_PASS' ) ); + $aFields['MESSAGE4'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_FIRSTNAME' ) ); + $aFields['MESSAGE5'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_LASTNAME' ) ); + $aFields['MESSAGE6'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_ERROR_UPLOADING_IMAGE_TYPE' ) ); // the default role variable sets the value that will be showed as the default for the role field. - $aFields['DEFAULT_ROLE'] = 'PROCESSMAKER_OPERATOR'; - $aFields['START_DATE'] = date('Y-m-d'); - $aFields['END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 5)); - $aFields['USR_DUE_DATE']= date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 1)); - - //calculating the max upload file size; - $POST_MAX_SIZE = ini_get('post_max_size'); - $mul = substr($POST_MAX_SIZE, -1); - $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); - $postMaxSize = (int)$POST_MAX_SIZE * $mul; + $aFields['DEFAULT_ROLE'] = 'PROCESSMAKER_OPERATOR'; + $aFields['START_DATE'] = date( 'Y-m-d' ); + $aFields['END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) ); + $aFields['USR_DUE_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 1 ) ); - $UPLOAD_MAX_SIZE = ini_get('upload_max_filesize'); - $mul = substr($UPLOAD_MAX_SIZE, -1); - $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); - $uploadMaxSize = (int)$UPLOAD_MAX_SIZE * $mul; + //calculating the max upload file size; + $POST_MAX_SIZE = ini_get( 'post_max_size' ); + $mul = substr( $POST_MAX_SIZE, - 1 ); + $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); + $postMaxSize = (int) $POST_MAX_SIZE * $mul; - if ( $postMaxSize < $uploadMaxSize ) $uploadMaxSize = $postMaxSize; - $aFields['MAX_FILES_SIZE'] = " (" . $UPLOAD_MAX_SIZE . ") "; + $UPLOAD_MAX_SIZE = ini_get( 'upload_max_filesize' ); + $mul = substr( $UPLOAD_MAX_SIZE, - 1 ); + $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); + $uploadMaxSize = (int) $UPLOAD_MAX_SIZE * $mul; - //Load Calendar options and falue for this user - G::LoadClass ( 'calendar' ); - $calendar = new Calendar ( ); - $calendarObj = $calendar->getCalendarList ( true, true ); - global $_DBArray; - $_DBArray ['availableCalendars'] = $calendarObj ['array']; - $_SESSION ['_DBArray'] = $_DBArray; + if ($postMaxSize < $uploadMaxSize) + $uploadMaxSize = $postMaxSize; + $aFields['MAX_FILES_SIZE'] = " (" . $UPLOAD_MAX_SIZE . ") "; -// $G_MAIN_MENU = 'processmaker'; -// $G_ID_MENU_SELECTED = 'USERS'; + //Load Calendar options and falue for this user + G::LoadClass( 'calendar' ); + $calendar = new Calendar(); + $calendarObj = $calendar->getCalendarList( true, true ); + global $_DBArray; + $_DBArray['availableCalendars'] = $calendarObj['array']; + $_SESSION['_DBArray'] = $_DBArray; - $G_MAIN_MENU = 'processmaker'; - $G_SUB_MENU = 'users'; - $G_ID_MENU_SELECTED = 'USERS'; - $G_ID_SUB_MENU_SELECTED = 'USERS'; + // $G_MAIN_MENU = 'processmaker'; + // $G_ID_MENU_SELECTED = 'USERS'; -///////////////////////////// -//SELECT USR_UID, CONCAT(USR_LASTNAME, " ", USR_FIRSTNAME) FROM USERS WHERE USR_STATUS = 1 ORDER BY USR_LASTNAME - require_once 'classes/model/Users.php'; - $oCriteria=new Criteria(); - $oCriteria->addSelectColumn(UsersPeer::USR_UID); - $oCriteria->addSelectColumn(UsersPeer::USR_USERNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME); - $oCriteria->addSelectColumn(UsersPeer::USR_EMAIL); - $oCriteria->add(UsersPeer::USR_STATUS,'ACTIVE'); - //$oCriteria->add(UsersPeer::USR_UID,$_GET['USR_UID'], Criteria::NOT_EQUAL); - $oDataset=UsersPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - /////////////////////// - G::loadClass('configuration'); - $oConf = new Configurations; - $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS',''); - $defaultOption = isset($oConf->aConfig['format'])? $oConf->aConfig['format']: ''; - - $aUserInfo = array(); - $aUserInfo[] = array('USR_UID' => 'char','USER_FULLNAME' => 'char'); - while( $oDataset->next()){ - $aRow1 = $oDataset->getRow(); - - $infoUser = G::getFormatUserList($defaultOption,$aRow1); - $aUserInfo[]=array( - 'USR_UID' => $aRow1['USR_UID'], - 'USER_FULLNAME' => $infoUser - ); - } - //print_r($aUserInfo); - global $_DBArray; - $_DBArray['aUserInfo'] = $aUserInfo; - $_SESSION['_DBArray'] = $_DBArray; -///////////////////////////// + $G_MAIN_MENU = 'processmaker'; + $G_SUB_MENU = 'users'; + $G_ID_MENU_SELECTED = 'USERS'; + $G_ID_SUB_MENU_SELECTED = 'USERS'; - //var_dump($aFields); - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_New.xml', '', $aFields, 'users_Save'); - G::RenderPage('publish','blank'); + ///////////////////////////// + //SELECT USR_UID, CONCAT(USR_LASTNAME, " ", USR_FIRSTNAME) FROM USERS WHERE USR_STATUS = 1 ORDER BY USR_LASTNAME + require_once 'classes/model/Users.php'; + $oCriteria = new Criteria(); + $oCriteria->addSelectColumn( UsersPeer::USR_UID ); + $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); + $oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); + $oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); + //$oCriteria->add(UsersPeer::USR_UID,$_GET['USR_UID'], Criteria::NOT_EQUAL); + $oDataset = UsersPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + /////////////////////// + G::loadClass( 'configuration' ); + $oConf = new Configurations(); + $oConf->loadConfig( $obj, 'ENVIRONMENT_SETTINGS', '' ); + + $defaultOption = isset( $oConf->aConfig['format'] ) ? $oConf->aConfig['format'] : ''; + + $aUserInfo = array (); + $aUserInfo[] = array ('USR_UID' => 'char','USER_FULLNAME' => 'char' + ); + while ($oDataset->next()) { + $aRow1 = $oDataset->getRow(); + + $infoUser = G::getFormatUserList( $defaultOption, $aRow1 ); + $aUserInfo[] = array ('USR_UID' => $aRow1['USR_UID'],'USER_FULLNAME' => $infoUser + ); + } + //print_r($aUserInfo); + global $_DBArray; + $_DBArray['aUserInfo'] = $aUserInfo; + $_SESSION['_DBArray'] = $_DBArray; + ///////////////////////////// + + + //var_dump($aFields); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_New.xml', '', $aFields, 'users_Save' ); + G::RenderPage( 'publish', 'blank' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_Reassign.php b/workflow/engine/methods/users/users_Reassign.php index fa6f4f100..2505bfc78 100755 --- a/workflow/engine/methods/users/users_Reassign.php +++ b/workflow/engine/methods/users/users_Reassign.php @@ -12,38 +12,36 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - G::LoadClass('case'); - $oCase = new Cases(); - foreach($_POST['USER'] as $sProcessUID => $sUserUID) { - if ($sUserUID != '') { - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn(AppDelegationPeer::APP_UID); - $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INDEX); - $oCriteria->add(AppDelegationPeer::PRO_UID, $sProcessUID); - $oCriteria->add(AppDelegationPeer::USR_UID, $_POST['USR_UID']); - $oCriteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); - $oDataset = AppDelegationPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - while ($aRow = $oDataset->getRow()) { - $oCase->reassignCase($aRow['APP_UID'], $aRow['DEL_INDEX'], $_SESSION['USER_LOGGED'], $sUserUID); - $oDataset->next(); - } + G::LoadClass( 'case' ); + $oCase = new Cases(); + foreach ($_POST['USER'] as $sProcessUID => $sUserUID) { + if ($sUserUID != '') { + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( AppDelegationPeer::APP_UID ); + $oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX ); + $oCriteria->add( AppDelegationPeer::PRO_UID, $sProcessUID ); + $oCriteria->add( AppDelegationPeer::USR_UID, $_POST['USR_UID'] ); + $oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL ); + $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + while ($aRow = $oDataset->getRow()) { + $oCase->reassignCase( $aRow['APP_UID'], $aRow['DEL_INDEX'], $_SESSION['USER_LOGGED'], $sUserUID ); + $oDataset->next(); + } + } } - } +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_ReassignCases.php b/workflow/engine/methods/users/users_ReassignCases.php index bd598e5bf..0491387ae 100755 --- a/workflow/engine/methods/users/users_ReassignCases.php +++ b/workflow/engine/methods/users/users_ReassignCases.php @@ -12,108 +12,107 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - global $G_PUBLISH; - $G_PUBLISH = new Publisher(); - $_GET['iStep'] = (int)$_GET['iStep']; - switch ($_GET['iStep']) { - case 1: - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_ReassignSelectType', '', array('USR_UID' => $_GET['USR_UID']), ''); - break; - case 2: - switch ($_POST['TYPE']) { - case 'ANY_USER': - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_ReassignSelectSubType', '', $_POST, ''); - break; - } - break; - case 3: - switch ($_POST['SUB_TYPE']) { - case 'PROCESS': - require_once 'classes/model/Users.php'; - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn(UsersPeer::USR_UID); - /* + global $G_PUBLISH; + $G_PUBLISH = new Publisher(); + $_GET['iStep'] = (int) $_GET['iStep']; + switch ($_GET['iStep']) { + case 1: + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_ReassignSelectType', '', array ('USR_UID' => $_GET['USR_UID'] + ), '' ); + break; + case 2: + switch ($_POST['TYPE']) { + case 'ANY_USER': + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_ReassignSelectSubType', '', $_POST, '' ); + break; + } + break; + case 3: + switch ($_POST['SUB_TYPE']) { + case 'PROCESS': + require_once 'classes/model/Users.php'; + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( UsersPeer::USR_UID ); + /* $usr_completename_col = "CONCAT(USR_LASTNAME, ' ', USR_FIRSTNAME, ' (', USR_USERNAME, ')')"; */ - $sDataBase = 'database_' . strtolower(DB_ADAPTER); - if(G::LoadSystemExist($sDataBase)){ - G::LoadSystem($sDataBase); - $oDataBase = new database(); - $usr_completename_col = $oDataBase->concatString("USR_LASTNAME", "' '", "USR_FIRSTNAME", " '('", "USR_USERNAME", "')'"); - } - - $oCriteria->addAsColumn('USR_COMPLETENAME', $usr_completename_col); - - $oCriteria->add(UsersPeer::USR_UID, $_POST['USR_UID'], Criteria::NOT_EQUAL); - $oCriteria->add(UsersPeer::USR_STATUS, array('CLOSED'), Criteria::NOT_IN); - $oDataset = UsersPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - $sUsers = ''; - while ($aRow = $oDataset->getRow()) { - $sUsers .= ''; - $oDataset->next(); - } - $aProcesses = array(); - $aProcesses[] = array('CHECKBOX' => 'char', - 'PROCESS' => 'char', - 'CANTITY' => 'char', - 'USERS' => 'char'); - $del = DBAdapter::getStringDelimiter(); - require_once 'classes/model/AppDelegation.php'; - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn(AppDelegationPeer::PRO_UID); - $oCriteria->addSelectColumn('COUNT(' . AppDelegationPeer::PRO_UID . ') AS CANTITY'); - $oCriteria->addAsColumn('PRO_TITLE', ContentPeer::CON_VALUE); - $aConditions = array(); - $aConditions[] = array(AppDelegationPeer::PRO_UID, ContentPeer::CON_ID); - $aConditions[] = array(ContentPeer::CON_CATEGORY, $del . 'PRO_TITLE' . $del); - $aConditions[] = array(ContentPeer::CON_LANG, $del . SYS_LANG . $del); - $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); - $oCriteria->add(AppDelegationPeer::USR_UID, $_POST['USR_UID']); - $oCriteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); - $oCriteria->addGroupByColumn(AppDelegationPeer::PRO_UID); + $sDataBase = 'database_' . strtolower( DB_ADAPTER ); + if (G::LoadSystemExist( $sDataBase )) { + G::LoadSystem( $sDataBase ); + $oDataBase = new database(); + $usr_completename_col = $oDataBase->concatString( "USR_LASTNAME", "' '", "USR_FIRSTNAME", " '('", "USR_USERNAME", "')'" ); + } - /* + $oCriteria->addAsColumn( 'USR_COMPLETENAME', $usr_completename_col ); + + $oCriteria->add( UsersPeer::USR_UID, $_POST['USR_UID'], Criteria::NOT_EQUAL ); + $oCriteria->add( UsersPeer::USR_STATUS, array ('CLOSED' + ), Criteria::NOT_IN ); + $oDataset = UsersPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + $sUsers = ''; + while ($aRow = $oDataset->getRow()) { + $sUsers .= ''; + $oDataset->next(); + } + $aProcesses = array (); + $aProcesses[] = array ('CHECKBOX' => 'char','PROCESS' => 'char','CANTITY' => 'char','USERS' => 'char' + ); + $del = DBAdapter::getStringDelimiter(); + require_once 'classes/model/AppDelegation.php'; + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( AppDelegationPeer::PRO_UID ); + $oCriteria->addSelectColumn( 'COUNT(' . AppDelegationPeer::PRO_UID . ') AS CANTITY' ); + $oCriteria->addAsColumn( 'PRO_TITLE', ContentPeer::CON_VALUE ); + $aConditions = array (); + $aConditions[] = array (AppDelegationPeer::PRO_UID,ContentPeer::CON_ID + ); + $aConditions[] = array (ContentPeer::CON_CATEGORY,$del . 'PRO_TITLE' . $del + ); + $aConditions[] = array (ContentPeer::CON_LANG,$del . SYS_LANG . $del + ); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + $oCriteria->add( AppDelegationPeer::USR_UID, $_POST['USR_UID'] ); + $oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL ); + $oCriteria->addGroupByColumn( AppDelegationPeer::PRO_UID ); + + /* * Adding grouped by standardization. */ - $oCriteria->addGroupByColumn(ContentPeer::CON_VALUE); - - $oDataset = AppDelegationPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset->next(); - while ($aRow = $oDataset->getRow()) { - $aProcesses[] = array('CHECKBOX' => '', - 'PROCESS' => $aRow['PRO_TITLE'], - 'CANTITY' => $aRow['CANTITY'], - 'USERS' => ''); - $oDataset->next(); - } - global $_DBArray; - $_DBArray['processesToReassign'] = $aProcesses; - $_SESSION['_DBArray'] = $_DBArray; - G::LoadClass('ArrayPeer'); - $oCriteria = new Criteria('dbarray'); - $oCriteria->setDBArrayTable('processesToReassign'); - $G_PUBLISH->AddContent('propeltable', 'cases/paged-table-reassign', 'users/users_ReassignCases', $oCriteria, $_POST); - break; - } - break; - } - G::RenderPage('publish', 'raw'); + $oCriteria->addGroupByColumn( ContentPeer::CON_VALUE ); + + $oDataset = AppDelegationPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset->next(); + while ($aRow = $oDataset->getRow()) { + $aProcesses[] = array ('CHECKBOX' => '','PROCESS' => $aRow['PRO_TITLE'],'CANTITY' => $aRow['CANTITY'],'USERS' => '' + ); + $oDataset->next(); + } + global $_DBArray; + $_DBArray['processesToReassign'] = $aProcesses; + $_SESSION['_DBArray'] = $_DBArray; + G::LoadClass( 'ArrayPeer' ); + $oCriteria = new Criteria( 'dbarray' ); + $oCriteria->setDBArrayTable( 'processesToReassign' ); + $G_PUBLISH->AddContent( 'propeltable', 'cases/paged-table-reassign', 'users/users_ReassignCases', $oCriteria, $_POST ); + break; + } + break; + } + G::RenderPage( 'publish', 'raw' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_Save.php b/workflow/engine/methods/users/users_Save.php index a9e5ae1a1..d53f2177b 100755 --- a/workflow/engine/methods/users/users_Save.php +++ b/workflow/engine/methods/users/users_Save.php @@ -1,311 +1,297 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ - - -try { - global $RBAC; - switch ($RBAC->userCanAccess('PM_FACTORY')) - { - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - if ( empty($_POST) || !isset($_POST['form'])) { - if( empty($_FILES) ) - throw ( new Exception (G::loadTranslation('ID_ERROR_UPLOADING_FILENAME') ) ); - else - throw ( new Exception (G::loadTranslation('ID_POSTED_DATA_EMPTY') ) ); - } - - $form = $_POST['form']; - - if ( isset($_GET['USR_UID'])) { - $form['USR_UID'] = $_GET['USR_UID']; - } - else { - $form['USR_UID'] = ''; - } - - if ( isset($_FILES['form']['name']['USR_RESUME']) ) { - if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { - $form['USR_RESUME'] = $_FILES['form']['name']['USR_RESUME']; - } - else { - $form['USR_RESUME'] = ''; - } - } - - if (!isset($form['USR_NEW_PASS'])) { - $form['USR_NEW_PASS'] = ''; - } - if ($form['USR_NEW_PASS'] != '') { - $form['USR_PASSWORD'] = md5($form['USR_NEW_PASS']); - } - if (!isset($form['USR_CITY'])) { - $form['USR_CITY'] = ''; - } - if (!isset($form['USR_LOCATION'])) { - $form['USR_LOCATION'] = ''; - } - if (!isset($form['USR_AUTH_USER_DN'])) { - $form['USR_AUTH_USER_DN'] = ''; - } - if ($form['USR_UID'] == '') { - $aData['USR_USERNAME'] = $form['USR_USERNAME']; - $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; - $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; - $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; - $aData['USR_EMAIL'] = $form['USR_EMAIL']; - $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; - $aData['USR_CREATE_DATE'] = date('Y-m-d H:i:s'); - $aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $aData['USR_BIRTHDAY'] = date('Y-m-d'); - $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; - //fixing bug in inactive user when the admin create a new user. - $statusWF = $form['USR_STATUS']; - $aData['USR_STATUS'] = $form['USR_STATUS'] == 'ACTIVE' ? 1 : 0; - $sUserUID = $RBAC->createUser($aData, $form['USR_ROLE'] ); - $aData['USR_STATUS'] = $statusWF; - $aData['USR_UID'] = $sUserUID; - $aData['USR_PASSWORD'] = md5($sUserUID);//fake :p - $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; - $aData['USR_CITY'] = $form['USR_CITY']; - $aData['USR_LOCATION'] = $form['USR_LOCATION']; - $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; - $aData['USR_PHONE'] = $form['USR_PHONE']; - $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; - $aData['USR_POSITION'] = $form['USR_POSITION']; -// Commented by removal of resume in the addition and modification of user. -// $aData['USR_RESUME'] = $form['USR_RESUME']; - $aData['USR_ROLE'] = $form['USR_ROLE']; - $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; - - - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $oUser->create($aData); - if ($_FILES['form']['error']['USR_PHOTO'] != 1) { - if ($_FILES['form']['tmp_name']['USR_PHOTO'] != '') { - G::uploadFile($_FILES['form']['tmp_name']['USR_PHOTO'], PATH_IMAGES_ENVIRONMENT_USERS, $sUserUID . '.gif'); - } - } - else { - G::SendTemporalMessage ('ID_FILE_TOO_BIG', 'error'); - } - if ($_FILES['form']['error']['USR_RESUME'] != 1) { - if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { - G::uploadFile($_FILES['form']['tmp_name']['USR_RESUME'], PATH_IMAGES_ENVIRONMENT_FILES . $sUserUID . '/', $_FILES['form']['name']['USR_RESUME']); - } - } - else { - G::SendTemporalMessage ('ID_FILE_TOO_BIG', 'error'); - } - } - else { - $aData['USR_UID'] = $form['USR_UID']; - $aData['USR_USERNAME'] = $form['USR_USERNAME']; - - if (isset($form['USR_PASSWORD'])) { - if ($form['USR_PASSWORD'] != '') { - $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; - require_once 'classes/model/UsersProperties.php'; - $oUserProperty = new UsersProperties(); - $aUserProperty = $oUserProperty->loadOrCreateIfNotExists($form['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array(md5($form['USR_PASSWORD']))))); - - $RBAC->loadUserRolePermission( 'PROCESSMAKER', $_SESSION['USER_LOGGED'] ); - if( $RBAC->aUserInfo[ 'PROCESSMAKER' ]['ROLE']['ROL_CODE']=='PROCESSMAKER_ADMIN'){ - $aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; - $oUserProperty->update($aUserProperty); - } - - $aErrors = $oUserProperty->validatePassword($form['USR_NEW_PASS'], $aUserProperty['USR_LAST_UPDATE_DATE'], 0); - if (count($aErrors) > 0) { - $sDescription = G::LoadTranslation('ID_POLICY_ALERT').':

'; - foreach ($aErrors as $sError) { - switch ($sError) { - case 'ID_PPP_MINIMUN_LENGTH': - $sDescription .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MINIMUN_LENGTH . '
'; - break; - case 'ID_PPP_MAXIMUN_LENGTH': - $sDescription .= ' - ' . G::LoadTranslation($sError).': ' . PPP_MAXIMUN_LENGTH . '
'; - break; - case 'ID_PPP_EXPIRATION_IN': - $sDescription .= ' - ' . G::LoadTranslation($sError).' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation('ID_DAYS') . '
'; - break; - default: - $sDescription .= ' - ' . G::LoadTranslation($sError).'
'; - break; - } - } - $sDescription .= '
' . G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY'); - G::SendMessageText($sDescription, 'warning'); - G::header('Location: ' . $_SERVER['HTTP_REFERER']); - die; - } - $aHistory = unserialize($aUserProperty['USR_PASSWORD_HISTORY']); - if (!is_array($aHistory)) { - $aHistory = array(); - } - if (!defined('PPP_PASSWORD_HISTORY')) { - define('PPP_PASSWORD_HISTORY', 0); - } - if (PPP_PASSWORD_HISTORY > 0) { - //it's looking a password igual into aHistory array that was send for post in md5 way - $c=0;$sw=1; - while(count($aHistory) >= 1 && count($aHistory)>$c && $sw ){ - if(strcmp(trim($aHistory[$c]),trim($form['USR_PASSWORD'])) == 0){ - $sw=0; - } - $c++; - } - if($sw == 0){ - $sDescription = G::LoadTranslation('ID_POLICY_ALERT').':

'; - $sDescription .= ' - ' . G::LoadTranslation('PASSWORD_HISTORY').': ' . PPP_PASSWORD_HISTORY . '
'; - $sDescription .= '
' . G::LoadTranslation('ID_PLEASE_CHANGE_PASSWORD_POLICY').''; - G::SendMessageText($sDescription, 'warning'); - G::header('Location: ' . $_SERVER['HTTP_REFERER']); - die; - } - // - if (count($aHistory) >= PPP_PASSWORD_HISTORY) { - $sLastPassw=array_shift($aHistory); - } - $aHistory[] = $form['USR_PASSWORD']; - } - $aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s'); - $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; - $aUserProperty['USR_PASSWORD_HISTORY'] = serialize($aHistory); - $oUserProperty->update($aUserProperty); - } - } - $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; - $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; - $aData['USR_EMAIL'] = $form['USR_EMAIL']; - $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; - $aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s'); - if (isset($form['USR_STATUS'])) { - $aData['USR_STATUS'] = $form['USR_STATUS']; - } - if (isset($form['USR_ROLE'])) { - $RBAC->updateUser($aData, $form['USR_ROLE']); - } - else { - $RBAC->updateUser($aData); - } - $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; - $aData['USR_CITY'] = $form['USR_CITY']; - $aData['USR_LOCATION'] = $form['USR_LOCATION']; - $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; - $aData['USR_PHONE'] = $form['USR_PHONE']; - $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; - $aData['USR_POSITION'] = $form['USR_POSITION']; - - if ($form['USR_RESUME'] != '') { - $aData['USR_RESUME'] = $form['USR_RESUME']; - } - if (isset($form['USR_ROLE'])) { - $aData['USR_ROLE'] = $form['USR_ROLE']; - } - - if(isset($form['USR_REPLACED_BY'])){ - $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; - } - if(isset($form['USR_AUTH_USER_DN'])){ - $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; - } - - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $oUser->update($aData); - $aExtensions = array ( "AIS", "BMP", "BW", "CDR", "CDT", "CGM", "CMX", "CPT", "DCX", "DIB", - "EMF", "GBR", "GIF", "GIH", "ICO", "IFF", "ILBM", "JFIF", "JIF", "JPE", - "JPEG", "JPG", "KDC", "LBM", "MAC", "PAT", "PCD", "PCT", "PCX", "PIC", - "PICT", "PNG", "PNTG", "PIX", "PSD", "PSP", "QTI", "QTIF", "RGB", "RGBA", - "RIF", "RLE", "SGI", "TGA", "TIF", "TIFF", "WMF", "XCF" - ); - - $sPhotoFile = $_FILES['form']['name']['USR_PHOTO']; - $aPhotoFile = explode('.', $sPhotoFile); - $sExtension = strtoupper ($aPhotoFile[sizeof($aPhotoFile)-1]); - if ((strlen($sPhotoFile) > 0) && (! in_array($sExtension, $aExtensions)) ) { - throw ( new Exception ( G::LoadTranslation( 'ID_ERROR_UPLOADING_IMAGE_TYPE' )) ); - } - if ($_FILES['form']['error']['USR_PHOTO'] != 1) { - if ($_FILES['form']['tmp_name']['USR_PHOTO'] != '') { - $aAux = explode('.', $_FILES['form']['name']['USR_PHOTO']); - G::uploadFile($_FILES['form']['tmp_name']['USR_PHOTO'], PATH_IMAGES_ENVIRONMENT_USERS, $aData['USR_UID'] . '.' . $aAux[1]); - G::resizeImage(PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.' . $aAux[1], 96, 96, PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.gif'); - } - } - else { - G::SendTemporalMessage ('ID_FILE_TOO_BIG', 'error'); - } - if ($_FILES['form']['error']['USR_RESUME'] != 1) { - if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { - G::uploadFile($_FILES['form']['tmp_name']['USR_RESUME'], PATH_IMAGES_ENVIRONMENT_FILES . $aData['USR_UID'] . '/', $_FILES['form']['name']['USR_RESUME']); - } - } - else { - G::SendTemporalMessage ('ID_FILE_TOO_BIG', 'error'); - } - } - - if($_SESSION['USER_LOGGED'] == $form['USR_UID']){ - /*UPDATING SESSION VARIABLES*/ - $aUser = $RBAC->userObj->load($_SESSION['USER_LOGGED']); - $_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; - } - - - //Save Calendar assigment - if((isset($form['USR_CALENDAR']))){ - //Save Calendar ID for this user - G::LoadClass("calendar"); - $calendarObj=new Calendar(); - $calendarObj->assignCalendarTo($aData['USR_UID'],$form['USR_CALENDAR'],'USER'); - } - - G::header('location: users_List'); -} -catch (Exception $e) { - $G_MAIN_MENU = 'processmaker'; - $G_SUB_MENU = 'users'; - $G_ID_MENU_SELECTED = 'USERS'; - $G_ID_SUB_MENU_SELECTED = ''; - - $aMessage = array(); - $aMessage['MESSAGE'] = $e->getMessage(); - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); - G::RenderPage( 'publish', 'blank'); +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ + +try { + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } + if (empty( $_POST ) || ! isset( $_POST['form'] )) { + if (empty( $_FILES )) + throw (new Exception( G::loadTranslation( 'ID_ERROR_UPLOADING_FILENAME' ) )); + else + throw (new Exception( G::loadTranslation( 'ID_POSTED_DATA_EMPTY' ) )); + } + + $form = $_POST['form']; + + if (isset( $_GET['USR_UID'] )) { + $form['USR_UID'] = $_GET['USR_UID']; + } else { + $form['USR_UID'] = ''; + } + + if (isset( $_FILES['form']['name']['USR_RESUME'] )) { + if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { + $form['USR_RESUME'] = $_FILES['form']['name']['USR_RESUME']; + } else { + $form['USR_RESUME'] = ''; + } + } + + if (! isset( $form['USR_NEW_PASS'] )) { + $form['USR_NEW_PASS'] = ''; + } + if ($form['USR_NEW_PASS'] != '') { + $form['USR_PASSWORD'] = md5( $form['USR_NEW_PASS'] ); + } + if (! isset( $form['USR_CITY'] )) { + $form['USR_CITY'] = ''; + } + if (! isset( $form['USR_LOCATION'] )) { + $form['USR_LOCATION'] = ''; + } + if (! isset( $form['USR_AUTH_USER_DN'] )) { + $form['USR_AUTH_USER_DN'] = ''; + } + if ($form['USR_UID'] == '') { + $aData['USR_USERNAME'] = $form['USR_USERNAME']; + $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; + $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; + $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; + $aData['USR_EMAIL'] = $form['USR_EMAIL']; + $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; + $aData['USR_CREATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aData['USR_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aData['USR_BIRTHDAY'] = date( 'Y-m-d' ); + $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; + //fixing bug in inactive user when the admin create a new user. + $statusWF = $form['USR_STATUS']; + $aData['USR_STATUS'] = $form['USR_STATUS'] == 'ACTIVE' ? 1 : 0; + $sUserUID = $RBAC->createUser( $aData, $form['USR_ROLE'] ); + $aData['USR_STATUS'] = $statusWF; + $aData['USR_UID'] = $sUserUID; + $aData['USR_PASSWORD'] = md5( $sUserUID ); //fake :p + $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; + $aData['USR_CITY'] = $form['USR_CITY']; + $aData['USR_LOCATION'] = $form['USR_LOCATION']; + $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; + $aData['USR_PHONE'] = $form['USR_PHONE']; + $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; + $aData['USR_POSITION'] = $form['USR_POSITION']; + // Commented by removal of resume in the addition and modification of user. + // $aData['USR_RESUME'] = $form['USR_RESUME']; + $aData['USR_ROLE'] = $form['USR_ROLE']; + $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; + + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $oUser->create( $aData ); + if ($_FILES['form']['error']['USR_PHOTO'] != 1) { + if ($_FILES['form']['tmp_name']['USR_PHOTO'] != '') { + G::uploadFile( $_FILES['form']['tmp_name']['USR_PHOTO'], PATH_IMAGES_ENVIRONMENT_USERS, $sUserUID . '.gif' ); + } + } else { + G::SendTemporalMessage( 'ID_FILE_TOO_BIG', 'error' ); + } + if ($_FILES['form']['error']['USR_RESUME'] != 1) { + if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { + G::uploadFile( $_FILES['form']['tmp_name']['USR_RESUME'], PATH_IMAGES_ENVIRONMENT_FILES . $sUserUID . '/', $_FILES['form']['name']['USR_RESUME'] ); + } + } else { + G::SendTemporalMessage( 'ID_FILE_TOO_BIG', 'error' ); + } + } else { + $aData['USR_UID'] = $form['USR_UID']; + $aData['USR_USERNAME'] = $form['USR_USERNAME']; + + if (isset( $form['USR_PASSWORD'] )) { + if ($form['USR_PASSWORD'] != '') { + $aData['USR_PASSWORD'] = $form['USR_PASSWORD']; + require_once 'classes/model/UsersProperties.php'; + $oUserProperty = new UsersProperties(); + $aUserProperty = $oUserProperty->loadOrCreateIfNotExists( $form['USR_UID'], array ('USR_PASSWORD_HISTORY' => serialize( array (md5( $form['USR_PASSWORD'] ) + ) ) + ) ); + + $RBAC->loadUserRolePermission( 'PROCESSMAKER', $_SESSION['USER_LOGGED'] ); + if ($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE'] == 'PROCESSMAKER_ADMIN') { + $aUserProperty['USR_LAST_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; + $oUserProperty->update( $aUserProperty ); + } + + $aErrors = $oUserProperty->validatePassword( $form['USR_NEW_PASS'], $aUserProperty['USR_LAST_UPDATE_DATE'], 0 ); + if (count( $aErrors ) > 0) { + $sDescription = G::LoadTranslation( 'ID_POLICY_ALERT' ) . ':

'; + foreach ($aErrors as $sError) { + switch ($sError) { + case 'ID_PPP_MINIMUN_LENGTH': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MINIMUN_LENGTH . '
'; + break; + case 'ID_PPP_MAXIMUN_LENGTH': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ': ' . PPP_MAXIMUN_LENGTH . '
'; + break; + case 'ID_PPP_EXPIRATION_IN': + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . ' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation( 'ID_DAYS' ) . '
'; + break; + default: + $sDescription .= ' - ' . G::LoadTranslation( $sError ) . '
'; + break; + } + } + $sDescription .= '
' . G::LoadTranslation( 'ID_PLEASE_CHANGE_PASSWORD_POLICY' ); + G::SendMessageText( $sDescription, 'warning' ); + G::header( 'Location: ' . $_SERVER['HTTP_REFERER'] ); + die(); + } + $aHistory = unserialize( $aUserProperty['USR_PASSWORD_HISTORY'] ); + if (! is_array( $aHistory )) { + $aHistory = array (); + } + if (! defined( 'PPP_PASSWORD_HISTORY' )) { + define( 'PPP_PASSWORD_HISTORY', 0 ); + } + if (PPP_PASSWORD_HISTORY > 0) { + //it's looking a password igual into aHistory array that was send for post in md5 way + $c = 0; + $sw = 1; + while (count( $aHistory ) >= 1 && count( $aHistory ) > $c && $sw) { + if (strcmp( trim( $aHistory[$c] ), trim( $form['USR_PASSWORD'] ) ) == 0) { + $sw = 0; + } + $c ++; + } + if ($sw == 0) { + $sDescription = G::LoadTranslation( 'ID_POLICY_ALERT' ) . ':

'; + $sDescription .= ' - ' . G::LoadTranslation( 'PASSWORD_HISTORY' ) . ': ' . PPP_PASSWORD_HISTORY . '
'; + $sDescription .= '
' . G::LoadTranslation( 'ID_PLEASE_CHANGE_PASSWORD_POLICY' ) . ''; + G::SendMessageText( $sDescription, 'warning' ); + G::header( 'Location: ' . $_SERVER['HTTP_REFERER'] ); + die(); + } + // + if (count( $aHistory ) >= PPP_PASSWORD_HISTORY) { + $sLastPassw = array_shift( $aHistory ); + } + $aHistory[] = $form['USR_PASSWORD']; + } + $aUserProperty['USR_LAST_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + $aUserProperty['USR_LOGGED_NEXT_TIME'] = 1; + $aUserProperty['USR_PASSWORD_HISTORY'] = serialize( $aHistory ); + $oUserProperty->update( $aUserProperty ); + } + } + $aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME']; + $aData['USR_LASTNAME'] = $form['USR_LASTNAME']; + $aData['USR_EMAIL'] = $form['USR_EMAIL']; + $aData['USR_DUE_DATE'] = $form['USR_DUE_DATE']; + $aData['USR_UPDATE_DATE'] = date( 'Y-m-d H:i:s' ); + if (isset( $form['USR_STATUS'] )) { + $aData['USR_STATUS'] = $form['USR_STATUS']; + } + if (isset( $form['USR_ROLE'] )) { + $RBAC->updateUser( $aData, $form['USR_ROLE'] ); + } else { + $RBAC->updateUser( $aData ); + } + $aData['USR_COUNTRY'] = $form['USR_COUNTRY']; + $aData['USR_CITY'] = $form['USR_CITY']; + $aData['USR_LOCATION'] = $form['USR_LOCATION']; + $aData['USR_ADDRESS'] = $form['USR_ADDRESS']; + $aData['USR_PHONE'] = $form['USR_PHONE']; + $aData['USR_ZIP_CODE'] = $form['USR_ZIP_CODE']; + $aData['USR_POSITION'] = $form['USR_POSITION']; + + if ($form['USR_RESUME'] != '') { + $aData['USR_RESUME'] = $form['USR_RESUME']; + } + if (isset( $form['USR_ROLE'] )) { + $aData['USR_ROLE'] = $form['USR_ROLE']; + } + + if (isset( $form['USR_REPLACED_BY'] )) { + $aData['USR_REPLACED_BY'] = $form['USR_REPLACED_BY']; + } + if (isset( $form['USR_AUTH_USER_DN'] )) { + $aData['USR_AUTH_USER_DN'] = $form['USR_AUTH_USER_DN']; + } + + require_once 'classes/model/Users.php'; + $oUser = new Users(); + $oUser->update( $aData ); + $aExtensions = array ("AIS","BMP","BW","CDR","CDT","CGM","CMX","CPT","DCX","DIB","EMF","GBR","GIF","GIH","ICO","IFF","ILBM","JFIF","JIF","JPE","JPEG","JPG","KDC","LBM","MAC","PAT","PCD","PCT","PCX","PIC","PICT","PNG","PNTG","PIX","PSD","PSP","QTI","QTIF","RGB","RGBA","RIF","RLE","SGI","TGA","TIF","TIFF","WMF","XCF" + ); + + $sPhotoFile = $_FILES['form']['name']['USR_PHOTO']; + $aPhotoFile = explode( '.', $sPhotoFile ); + $sExtension = strtoupper( $aPhotoFile[sizeof( $aPhotoFile ) - 1] ); + if ((strlen( $sPhotoFile ) > 0) && (! in_array( $sExtension, $aExtensions ))) { + throw (new Exception( G::LoadTranslation( 'ID_ERROR_UPLOADING_IMAGE_TYPE' ) )); + } + if ($_FILES['form']['error']['USR_PHOTO'] != 1) { + if ($_FILES['form']['tmp_name']['USR_PHOTO'] != '') { + $aAux = explode( '.', $_FILES['form']['name']['USR_PHOTO'] ); + G::uploadFile( $_FILES['form']['tmp_name']['USR_PHOTO'], PATH_IMAGES_ENVIRONMENT_USERS, $aData['USR_UID'] . '.' . $aAux[1] ); + G::resizeImage( PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.' . $aAux[1], 96, 96, PATH_IMAGES_ENVIRONMENT_USERS . $aData['USR_UID'] . '.gif' ); + } + } else { + G::SendTemporalMessage( 'ID_FILE_TOO_BIG', 'error' ); + } + if ($_FILES['form']['error']['USR_RESUME'] != 1) { + if ($_FILES['form']['tmp_name']['USR_RESUME'] != '') { + G::uploadFile( $_FILES['form']['tmp_name']['USR_RESUME'], PATH_IMAGES_ENVIRONMENT_FILES . $aData['USR_UID'] . '/', $_FILES['form']['name']['USR_RESUME'] ); + } + } else { + G::SendTemporalMessage( 'ID_FILE_TOO_BIG', 'error' ); + } + } + + if ($_SESSION['USER_LOGGED'] == $form['USR_UID']) { + /*UPDATING SESSION VARIABLES*/ + $aUser = $RBAC->userObj->load( $_SESSION['USER_LOGGED'] ); + $_SESSION['USR_FULLNAME'] = $aUser['USR_FIRSTNAME'] . ' ' . $aUser['USR_LASTNAME']; + } + + //Save Calendar assigment + if ((isset( $form['USR_CALENDAR'] ))) { + //Save Calendar ID for this user + G::LoadClass( "calendar" ); + $calendarObj = new Calendar(); + $calendarObj->assignCalendarTo( $aData['USR_UID'], $form['USR_CALENDAR'], 'USER' ); + } + + G::header( 'location: users_List' ); +} catch (Exception $e) { + $G_MAIN_MENU = 'processmaker'; + $G_SUB_MENU = 'users'; + $G_ID_MENU_SELECTED = 'USERS'; + $G_ID_SUB_MENU_SELECTED = ''; + + $aMessage = array (); + $aMessage['MESSAGE'] = $e->getMessage(); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); + G::RenderPage( 'publish', 'blank' ); } + diff --git a/workflow/engine/methods/users/users_View.php b/workflow/engine/methods/users/users_View.php index f46128aef..437824845 100755 --- a/workflow/engine/methods/users/users_View.php +++ b/workflow/engine/methods/users/users_View.php @@ -12,70 +12,64 @@ * * 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 . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ try { - global $RBAC; - switch ($RBAC->userCanAccess('PM_FACTORY')) - { - case -2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - // deprecated the class XmlForm_Field_Image is currently part of the class.xmlform.php package - // the use of the external xmlfield_Image is highly discouraged - if (!class_exists('XmlForm_Field_Image')){ - G::LoadClass('xmlfield_Image'); - } - require_once 'classes/model/Users.php'; - $_SESSION['CURRENT_USER'] = $_GET['USR_UID']; - $oUser = new Users(); - $aFields = $oUser->load($_GET['USR_UID']); - $aFields['USR_PASSWORD'] = '********'; - $aFields['MESSAGE0'] = str_replace("\r\n","
",G::LoadTranslation('ID_USER_REGISTERED')) . '!'; - $aFields['MESSAGE1'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_USERNAME')); - $aFields['MESSAGE2'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_DUE_DATE')); - $aFields['MESSAGE3'] = str_replace("\r\n","
",G::LoadTranslation('ID_NEW_PASS_SAME_OLD_PASS')); - $aFields['MESSAGE4'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_FIRSTNAME')); - $aFields['MESSAGE5'] = str_replace("\r\n","
",G::LoadTranslation('ID_MSG_ERROR_USR_LASTNAME')); - $aFields['NO_RESUME'] = G::LoadTranslation('ID_NO_RESUME'); - $aFields['START_DATE'] = date('Y-m-d'); - $aFields['END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 5)); - $aFields['RANDOM'] = rand(); - $G_MAIN_MENU = 'processmaker'; - $G_ID_MENU_SELECTED = 'USERS'; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_View.xml', '', $aFields); -krumo($_SESSION); - if($_GET['USR_UID']=='00000000000000000000000000000001') - { //$G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_ViewAdmin.xml', '', $aFields); - // administrator due date must have a longer range - $aFields['END_DATE'] = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y') + 10)); - krumo("asdasd"); - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_EditAdmin.xml', 'display:none', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER']); - } - else - { - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_Edit.xml', 'display:none', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER']); - } - G::RenderPage('publish'); + global $RBAC; + switch ($RBAC->userCanAccess( 'PM_FACTORY' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + } + // deprecated the class XmlForm_Field_Image is currently part of the class.xmlform.php package + // the use of the external xmlfield_Image is highly discouraged + if (! class_exists( 'XmlForm_Field_Image' )) { + G::LoadClass( 'xmlfield_Image' ); + } + require_once 'classes/model/Users.php'; + $_SESSION['CURRENT_USER'] = $_GET['USR_UID']; + $oUser = new Users(); + $aFields = $oUser->load( $_GET['USR_UID'] ); + $aFields['USR_PASSWORD'] = '********'; + $aFields['MESSAGE0'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_USER_REGISTERED' ) ) . '!'; + $aFields['MESSAGE1'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_USERNAME' ) ); + $aFields['MESSAGE2'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_DUE_DATE' ) ); + $aFields['MESSAGE3'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_NEW_PASS_SAME_OLD_PASS' ) ); + $aFields['MESSAGE4'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_FIRSTNAME' ) ); + $aFields['MESSAGE5'] = str_replace( "\r\n", "
", G::LoadTranslation( 'ID_MSG_ERROR_USR_LASTNAME' ) ); + $aFields['NO_RESUME'] = G::LoadTranslation( 'ID_NO_RESUME' ); + $aFields['START_DATE'] = date( 'Y-m-d' ); + $aFields['END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) ); + $aFields['RANDOM'] = rand(); + $G_MAIN_MENU = 'processmaker'; + $G_ID_MENU_SELECTED = 'USERS'; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_View.xml', '', $aFields ); + krumo( $_SESSION ); + if ($_GET['USR_UID'] == '00000000000000000000000000000001') { //$G_PUBLISH->AddContent('xmlform', 'xmlform', 'users/users_ViewAdmin.xml', '', $aFields); + // administrator due date must have a longer range + $aFields['END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 10 ) ); + krumo( "asdasd" ); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_EditAdmin.xml', 'display:none', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER'] ); + } else { + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_Edit.xml', 'display:none', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER'] ); + } + G::RenderPage( 'publish' ); +} catch (Exception $oException) { + die( $oException->getMessage() ); } -catch (Exception $oException) { - die($oException->getMessage()); -} -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_ViewPhoto.php b/workflow/engine/methods/users/users_ViewPhoto.php index 22fb6957c..b4fc4cc66 100755 --- a/workflow/engine/methods/users/users_ViewPhoto.php +++ b/workflow/engine/methods/users/users_ViewPhoto.php @@ -1,10 +1,10 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * along with this program. If not, see . + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ -if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response; +if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) + return $RBAC_Response; - $direction = PATH_IMAGES_ENVIRONMENT_USERS . $uid = (isset($_SESSION['CURRENT_USER']) ? $_SESSION['CURRENT_USER'] : $_SESSION['USER_LOGGED']).".gif"; +$direction = PATH_IMAGES_ENVIRONMENT_USERS . $uid = (isset( $_SESSION['CURRENT_USER'] ) ? $_SESSION['CURRENT_USER'] : $_SESSION['USER_LOGGED']) . ".gif"; // header('Pragma: '); // header('Cache-Control: cache'); - if (!file_exists($direction)) - { + +if (! file_exists( $direction )) { $direction = PATH_HOME . 'public_html/images/user.gif'; - } - G::sendHeaders( $direction ); - -DumpHeaders($direction); +} +G::sendHeaders( $direction ); +DumpHeaders( $direction ); /* * This function is verified to work with Netscape and the *very latest* * version of IE. I don't know if it works with Opera, but it should now. */ -function DumpHeaders($filename) +function DumpHeaders ($filename) { global $root_path; - if (!$filename) return; + if (! $filename) + return; $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; $isIE = 0; - - if (strstr($HTTP_USER_AGENT, 'compatible; MSIE ') !== false && - strstr($HTTP_USER_AGENT, 'Opera') === false) { + if (strstr( $HTTP_USER_AGENT, 'compatible; MSIE ' ) !== false && strstr( $HTTP_USER_AGENT, 'Opera' ) === false) { $isIE = 1; } - if (strstr($HTTP_USER_AGENT, 'compatible; MSIE 6') !== false && - strstr($HTTP_USER_AGENT, 'Opera') === false) { + if (strstr( $HTTP_USER_AGENT, 'compatible; MSIE 6' ) !== false && strstr( $HTTP_USER_AGENT, 'Opera' ) === false) { $isIE6 = 1; } - $aux = preg_replace('[^-a-zA-Z0-9\.]', '_', $filename); - $aux = explode ('_', $aux); - $downloadName = $aux[ count($aux)-1 ]; - // $downloadName = $filename; + $aux = preg_replace( '[^-a-zA-Z0-9\.]', '_', $filename ); + $aux = explode( '_', $aux ); + $downloadName = $aux[count( $aux ) - 1]; + // $downloadName = $filename; + //$downloadName = ereg_replace('[^-a-zA-Z0-9\.]', '_', $filename); - if ($isIE && !isset($isIE6)) { - // http://support.microsoft.com/support/kb/articles/Q182/3/15.asp - // Do not have quotes around filename, but that applied to - // "attachment"... does it apply to inline too? - // This combination seems to work mostly. IE 5.5 SP 1 has - // known issues (see the Microsoft Knowledge Base) - header("Content-Disposition: inline; filename=$downloadName"); + if ($isIE && ! isset( $isIE6 )) { + // http://support.microsoft.com/support/kb/articles/Q182/3/15.asp + // Do not have quotes around filename, but that applied to + // "attachment"... does it apply to inline too? - // This works for most types, but doesn't work with Word files - header("Content-Type: application/download; name=\"$downloadName\""); - //header("Content-Type: $type0/$type1; name=\"$downloadName\""); - //header("Content-Type: application/x-msdownload; name=\"$downloadName\""); - //header("Content-Type: application/octet-stream; name=\"$downloadName\""); - } - else { - header("Content-Disposition: attachment; filename=\"$downloadName\""); - header("Content-Type: application/octet-stream; name=\"$downloadName\""); + // This combination seems to work mostly. IE 5.5 SP 1 has + // known issues (see the Microsoft Knowledge Base) + header( "Content-Disposition: inline; filename=$downloadName" ); + + // This works for most types, but doesn't work with Word files + header( "Content-Type: application/download; name=\"$downloadName\"" ); + + //header("Content-Type: $type0/$type1; name=\"$downloadName\""); + //header("Content-Type: application/x-msdownload; name=\"$downloadName\""); + //header("Content-Type: application/octet-stream; name=\"$downloadName\""); + } else { + header( "Content-Disposition: attachment; filename=\"$downloadName\"" ); + header( "Content-Type: application/octet-stream; name=\"$downloadName\"" ); } //$filename = PATH_UPLOAD . "$filename"; - readfile($filename); + readfile( $filename ); } - //G::header2( "location: /files/" .$_SESSION['ENVIRONMENT']. "/" .$appid, $filename); -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_ViewPhotoGrid.php b/workflow/engine/methods/users/users_ViewPhotoGrid.php index 573d9c31e..13e7459a5 100755 --- a/workflow/engine/methods/users/users_ViewPhotoGrid.php +++ b/workflow/engine/methods/users/users_ViewPhotoGrid.php @@ -1,10 +1,10 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * along with this program. If not, see . + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ -if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response; +if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) + return $RBAC_Response; - $direction = PATH_IMAGES_ENVIRONMENT_USERS . $_REQUEST['pUID'] . ".gif"; +$direction = PATH_IMAGES_ENVIRONMENT_USERS . $_REQUEST['pUID'] . ".gif"; // header('Pragma: '); // header('Cache-Control: cache'); - if (!file_exists($direction)) - { + +if (! file_exists( $direction )) { $direction = PATH_HOME . 'public_html/images/user.gif'; - } - G::sendHeaders( $direction ); - -DumpHeaders($direction); +} +G::sendHeaders( $direction ); +DumpHeaders( $direction ); /* * This function is verified to work with Netscape and the *very latest* * version of IE. I don't know if it works with Opera, but it should now. */ -function DumpHeaders($filename) +function DumpHeaders ($filename) { global $root_path; - if (!$filename) return; + if (! $filename) + return; $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; $isIE = 0; - - if (strstr($HTTP_USER_AGENT, 'compatible; MSIE ') !== false && - strstr($HTTP_USER_AGENT, 'Opera') === false) { + if (strstr( $HTTP_USER_AGENT, 'compatible; MSIE ' ) !== false && strstr( $HTTP_USER_AGENT, 'Opera' ) === false) { $isIE = 1; } - if (strstr($HTTP_USER_AGENT, 'compatible; MSIE 6') !== false && - strstr($HTTP_USER_AGENT, 'Opera') === false) { + if (strstr( $HTTP_USER_AGENT, 'compatible; MSIE 6' ) !== false && strstr( $HTTP_USER_AGENT, 'Opera' ) === false) { $isIE6 = 1; } - $aux = preg_replace('[^-a-zA-Z0-9\.]', '_', $filename); - $aux = explode ('_', $aux); - $downloadName = $aux[ count($aux)-1 ]; + $aux = preg_replace( '[^-a-zA-Z0-9\.]', '_', $filename ); + $aux = explode( '_', $aux ); + $downloadName = $aux[count( $aux ) - 1]; + + if ($isIE && ! isset( $isIE6 )) { + // http://support.microsoft.com/support/kb/articles/Q182/3/15.asp + // Do not have quotes around filename, but that applied to + // "attachment"... does it apply to inline too? - if ($isIE && !isset($isIE6)) { - // http://support.microsoft.com/support/kb/articles/Q182/3/15.asp - // Do not have quotes around filename, but that applied to - // "attachment"... does it apply to inline too? + // This combination seems to work mostly. IE 5.5 SP 1 has + // known issues (see the Microsoft Knowledge Base) + header( "Content-Disposition: inline; filename=$downloadName" ); - // This combination seems to work mostly. IE 5.5 SP 1 has - // known issues (see the Microsoft Knowledge Base) - header("Content-Disposition: inline; filename=$downloadName"); + // This works for most types, but doesn't work with Word files + header( "Content-Type: application/download; name=\"$downloadName\"" ); - // This works for most types, but doesn't work with Word files - header("Content-Type: application/download; name=\"$downloadName\""); - - //header("Content-Type: $type0/$type1; name=\"$downloadName\""); - //header("Content-Type: application/x-msdownload; name=\"$downloadName\""); - //header("Content-Type: application/octet-stream; name=\"$downloadName\""); - } - else { - header("Content-Disposition: attachment; filename=\"$downloadName\""); - header("Content-Type: application/octet-stream; name=\"$downloadName\""); + //header("Content-Type: $type0/$type1; name=\"$downloadName\""); + //header("Content-Type: application/x-msdownload; name=\"$downloadName\""); + //header("Content-Type: application/octet-stream; name=\"$downloadName\""); + } else { + header( "Content-Disposition: attachment; filename=\"$downloadName\"" ); + header( "Content-Type: application/octet-stream; name=\"$downloadName\"" ); } //$filename = PATH_UPLOAD . "$filename"; - readfile($filename); + readfile( $filename ); } - //G::header2( "location: /files/" .$_SESSION['ENVIRONMENT']. "/" .$appid, $filename); -?> \ No newline at end of file + diff --git a/workflow/engine/methods/users/users_ViewResume.php b/workflow/engine/methods/users/users_ViewResume.php index 3290450fa..506b69c19 100755 --- a/workflow/engine/methods/users/users_ViewResume.php +++ b/workflow/engine/methods/users/users_ViewResume.php @@ -1,10 +1,10 @@ . - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * along with this program. If not, see . + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ -if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response; +if (($RBAC_Response = $RBAC->userCanAccess( "PM_LOGIN" )) != 1) + return $RBAC_Response; G::LoadClass( "user" ); -$uid = (isset($_SESSION['CURRENT_USER']) ? $_SESSION['CURRENT_USER'] : $_SESSION['USER_LOGGED']); +$uid = (isset( $_SESSION['CURRENT_USER'] ) ? $_SESSION['CURRENT_USER'] : $_SESSION['USER_LOGGED']); require_once 'classes/model/Users.php'; $oUser = new Users(); -$form = $oUser->load($uid); -if (!isset($form['USR_RESUME']) || $form['USR_RESUME']==='') die(G::LoadTranslation('ID_WITHOUT_RESUME')); - $direction = PATH_IMAGES_ENVIRONMENT_FILES.$uid."/".$form['USR_RESUME']; -if (!file_exists($direction)) { - die('The file "' . $direction . '"doesn\'t exist in the server!'); +$form = $oUser->load( $uid ); +if (! isset( $form['USR_RESUME'] ) || $form['USR_RESUME'] === '') + die( G::LoadTranslation( 'ID_WITHOUT_RESUME' ) ); +$direction = PATH_IMAGES_ENVIRONMENT_FILES . $uid . "/" . $form['USR_RESUME']; +if (! file_exists( $direction )) { + die( 'The file "' . $direction . '"doesn\'t exist in the server!' ); } // echo $direction ; - header('Pragma: '); - header('Cache-Control: cache'); +header( 'Pragma: ' ); +header( 'Cache-Control: cache' ); - -G::sendHeaders($direction); -readfile($direction); +G::sendHeaders( $direction ); +readfile( $direction ); //DumpHeaders($direction); + /* * This function is verified to work with Netscape and the *very latest* * version of IE. I don't know if it works with Opera, but it should now. */ -function DumpHeaders($filename) +function DumpHeaders ($filename) { global $root_path; - if (!$filename) return; + if (! $filename) + return; $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; $isIE = 0; - - if (strstr($HTTP_USER_AGENT, 'compatible; MSIE ') !== false && - strstr($HTTP_USER_AGENT, 'Opera') === false) { + if (strstr( $HTTP_USER_AGENT, 'compatible; MSIE ' ) !== false && strstr( $HTTP_USER_AGENT, 'Opera' ) === false) { $isIE = 1; } - if (strstr($HTTP_USER_AGENT, 'compatible; MSIE 6') !== false && - strstr($HTTP_USER_AGENT, 'Opera') === false) { + if (strstr( $HTTP_USER_AGENT, 'compatible; MSIE 6' ) !== false && strstr( $HTTP_USER_AGENT, 'Opera' ) === false) { $isIE6 = 1; } // The ereg_replace function has been DEPRECATED as of PHP 5.3.0. // $aux = ereg_replace('[^-a-zA-Z0-9\.]', '_', $filename); - $aux = preg_replace('/[^-a-zA-Z0-9\.]/', '_', $filename); - $aux = explode ('_', $aux); - $downloadName = $aux[ count($aux)-1 ]; - // $downloadName = $filename; + $aux = preg_replace( '/[^-a-zA-Z0-9\.]/', '_', $filename ); + $aux = explode( '_', $aux ); + $downloadName = $aux[count( $aux ) - 1]; + // $downloadName = $filename; + //$downloadName = ereg_replace('[^-a-zA-Z0-9\.]', '_', $filename); - if ($isIE && !isset($isIE6)) { - // http://support.microsoft.com/support/kb/articles/Q182/3/15.asp - // Do not have quotes around filename, but that applied to - // "attachment"... does it apply to inline too? - // This combination seems to work mostly. IE 5.5 SP 1 has - // known issues (see the Microsoft Knowledge Base) - header("Content-Disposition: inline; filename=$downloadName"); + if ($isIE && ! isset( $isIE6 )) { + // http://support.microsoft.com/support/kb/articles/Q182/3/15.asp + // Do not have quotes around filename, but that applied to + // "attachment"... does it apply to inline too? - // This works for most types, but doesn't work with Word files - header("Content-Type: application/download; name=\"$downloadName\""); - //header("Content-Type: $type0/$type1; name=\"$downloadName\""); - //header("Content-Type: application/x-msdownload; name=\"$downloadName\""); - //header("Content-Type: application/octet-stream; name=\"$downloadName\""); - } - else { - header("Content-Disposition: attachment; filename=\"$downloadName\""); - header("Content-Type: application/octet-stream; name=\"$downloadName\""); + // This combination seems to work mostly. IE 5.5 SP 1 has + // known issues (see the Microsoft Knowledge Base) + header( "Content-Disposition: inline; filename=$downloadName" ); + + // This works for most types, but doesn't work with Word files + header( "Content-Type: application/download; name=\"$downloadName\"" ); + + //header("Content-Type: $type0/$type1; name=\"$downloadName\""); + //header("Content-Type: application/x-msdownload; name=\"$downloadName\""); + //header("Content-Type: application/octet-stream; name=\"$downloadName\""); + } else { + header( "Content-Disposition: attachment; filename=\"$downloadName\"" ); + header( "Content-Type: application/octet-stream; name=\"$downloadName\"" ); } //$filename = PATH_UPLOAD . "$filename"; - readfile($filename); + readfile( $filename ); } - //G::header2( "location: /files/" .$_SESSION['ENVIRONMENT']. "/" .$appid, $filename); -?> +