This commit is contained in:
Ronald Q
2016-06-29 12:13:11 -04:00
parent 6a82ca3e96
commit 01b9f8760f

View File

@@ -1,155 +1,155 @@
<?php <?php
/** /**
* users_Edit.php * users_Edit.php
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23 * Copyright (C) 2004 - 2008 Colosa Inc.23
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as * it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the * published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * 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. * GNU Affero General Public License for more details.
* *
* You should have received a copy of the GNU Affero General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/ */
try { try {
global $RBAC; global $RBAC;
$RBAC->requirePermissions( 'PM_USERS' ); $RBAC->requirePermissions( 'PM_USERS' );
// deprecated the class XmlForm_Field_Image is currently part of the class.xmlform.php package // 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 // the use of the external xmlfield_Image is highly discouraged
if (! class_exists( 'XmlForm_Field_Image' )) { if (! class_exists( 'XmlForm_Field_Image' )) {
G::LoadClass( 'xmlfield_Image' ); G::LoadClass( 'xmlfield_Image' );
} }
require_once 'classes/model/Users.php'; require_once 'classes/model/Users.php';
require_once 'classes/model/Department.php'; require_once 'classes/model/Department.php';
$_SESSION['CURRENT_USER'] = $_GET['USR_UID']; $_SESSION['CURRENT_USER'] = $_GET['USR_UID'];
$oUser = new Users(); $oUser = new Users();
$aFields = $oUser->load( $_GET['USR_UID'] ); $aFields = $oUser->load( $_GET['USR_UID'] );
$aFields['USR_PASSWORD'] = '********'; $aFields['USR_PASSWORD'] = '********';
$aFields['MESSAGE0'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_USER_REGISTERED' ) ) . '!'; $aFields['MESSAGE0'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_USER_REGISTERED' ) ) . '!';
$aFields['MESSAGE1'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_USR_USERNAME' ) ); $aFields['MESSAGE1'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_USR_USERNAME' ) );
$aFields['MESSAGE2'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_DUE_DATE' ) ); $aFields['MESSAGE2'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_DUE_DATE' ) );
$aFields['MESSAGE3'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_NEW_PASS_SAME_OLD_PASS' ) ); $aFields['MESSAGE3'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_NEW_PASS_SAME_OLD_PASS' ) );
$aFields['MESSAGE4'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_USR_FIRSTNAME' ) ); $aFields['MESSAGE4'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_USR_FIRSTNAME' ) );
$aFields['MESSAGE5'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_USR_LASTNAME' ) ); $aFields['MESSAGE5'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_MSG_ERROR_USR_LASTNAME' ) );
$aFields['MESSAGE6'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_ERROR_UPLOADING_IMAGE_TYPE' ) ); $aFields['MESSAGE6'] = str_replace( "\r\n", "<br>", G::LoadTranslation( 'ID_ERROR_UPLOADING_IMAGE_TYPE' ) );
$aFields['START_DATE'] = date( 'Y-m-d' ); $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['END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) );
$G_MAIN_MENU = 'processmaker'; $G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'users'; $G_SUB_MENU = 'users';
$G_ID_MENU_SELECTED = 'USERS'; $G_ID_MENU_SELECTED = 'USERS';
$G_ID_SUB_MENU_SELECTED = 'USERS'; $G_ID_SUB_MENU_SELECTED = 'USERS';
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
//getting the user and department //getting the user and department
$oDepInfo = new Department(); $oDepInfo = new Department();
$oUser = UsersPeer::retrieveByPk( $aFields['USR_REPORTS_TO'] ); $oUser = UsersPeer::retrieveByPk( $aFields['USR_REPORTS_TO'] );
if ($oUser != '') if ($oUser != '')
if (get_class( $oUser ) == 'Users') { if (get_class( $oUser ) == 'Users') {
$userFields = $oUser->toArray( BasePeer::TYPE_FIELDNAME ); $userFields = $oUser->toArray( BasePeer::TYPE_FIELDNAME );
$aFields['USR_REPORTS_TO'] = $userFields['USR_FIRSTNAME'] . ' ' . $userFields['USR_LASTNAME']; $aFields['USR_REPORTS_TO'] = $userFields['USR_FIRSTNAME'] . ' ' . $userFields['USR_LASTNAME'];
try { try {
$depFields = $oDepInfo->Load( $userFields['DEP_UID'] ); $depFields = $oDepInfo->Load( $userFields['DEP_UID'] );
$aFields['USR_REPORTS_TO'] .= " (" . $depFields['DEP_TITLE'] . ")"; $aFields['USR_REPORTS_TO'] .= " (" . $depFields['DEP_TITLE'] . ")";
} catch (Exception $e) { } catch (Exception $e) {
} }
} else { } else {
$aFields['USR_REPORTS_TO'] = ' '; $aFields['USR_REPORTS_TO'] = ' ';
} }
try { try {
$depFields = $oDepInfo->Load( $aFields['DEP_UID'] ); $depFields = $oDepInfo->Load( $aFields['DEP_UID'] );
$aFields['USR_DEPARTMENT'] = $depFields['DEP_TITLE']; $aFields['USR_DEPARTMENT'] = $depFields['DEP_TITLE'];
} catch (Exception $e) { } catch (Exception $e) {
$oUser = UsersPeer::retrieveByPk( $_GET['USR_UID'] ); $oUser = UsersPeer::retrieveByPk( $_GET['USR_UID'] );
$oUser->setDepUid( '' ); $oUser->setDepUid( '' );
$oUser->save(); $oUser->save();
} }
//Load Calendar options and falue for this user //Load Calendar options and falue for this user
G::LoadClass( 'calendar' ); G::LoadClass( 'calendar' );
$calendar = new Calendar(); $calendar = new Calendar();
$calendarObj = $calendar->getCalendarList( true, true ); $calendarObj = $calendar->getCalendarList( true, true );
global $_DBArray; global $_DBArray;
$_DBArray['availableCalendars'] = $calendarObj['array']; $_DBArray['availableCalendars'] = $calendarObj['array'];
$_SESSION['_DBArray'] = $_DBArray; $_SESSION['_DBArray'] = $_DBArray;
$calendarInfo = $calendar->getCalendarFor( $_GET['USR_UID'], $_GET['USR_UID'], $_GET['USR_UID'] ); $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 //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['USR_CALENDAR'] = $calendarInfo['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo['CALENDAR_UID'] : "";
$aFields['RANDOM'] = rand(); $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 //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'; require_once 'classes/model/Users.php';
$oCriteria = new Criteria(); $oCriteria = new Criteria();
$oCriteria->addSelectColumn( UsersPeer::USR_UID ); $oCriteria->addSelectColumn( UsersPeer::USR_UID );
$oCriteria->addSelectColumn( UsersPeer::USR_USERNAME ); $oCriteria->addSelectColumn( UsersPeer::USR_USERNAME );
$oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME ); $oCriteria->addSelectColumn( UsersPeer::USR_FIRSTNAME );
$oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME ); $oCriteria->addSelectColumn( UsersPeer::USR_LASTNAME );
$oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); $oCriteria->addSelectColumn( UsersPeer::USR_EMAIL );
$oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' ); $oCriteria->add( UsersPeer::USR_STATUS, 'ACTIVE' );
$oCriteria->add( UsersPeer::USR_UID, $_GET['USR_UID'], Criteria::NOT_EQUAL ); $oCriteria->add( UsersPeer::USR_UID, $_GET['USR_UID'], Criteria::NOT_EQUAL );
$oDataset = UsersPeer::doSelectRS( $oCriteria ); $oDataset = UsersPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
/////////////////////// ///////////////////////
G::loadClass( 'configuration' ); G::loadClass( 'configuration' );
$oConf = new Configurations(); $oConf = new Configurations();
$oConf->loadConfig( $obj, 'ENVIRONMENT_SETTINGS', '' ); $oConf->loadConfig( $obj, 'ENVIRONMENT_SETTINGS', '' );
$defaultOption = isset( $oConf->aConfig['format'] ) ? $oConf->aConfig['format'] : ''; $defaultOption = isset( $oConf->aConfig['format'] ) ? $oConf->aConfig['format'] : '';
$aUserInfo = array (); $aUserInfo = array ();
$aUserInfo[] = array ('USR_UID' => 'char','USER_FULLNAME' => 'char' $aUserInfo[] = array ('USR_UID' => 'char','USER_FULLNAME' => 'char'
); );
while ($oDataset->next()) { while ($oDataset->next()) {
$aRow1 = $oDataset->getRow(); $aRow1 = $oDataset->getRow();
$infoUser = G::getFormatUserList( $defaultOption, $aRow1 ); $infoUser = G::getFormatUserList( $defaultOption, $aRow1 );
$aUserInfo[] = array ('USR_UID' => $aRow1['USR_UID'],'USER_FULLNAME' => $infoUser $aUserInfo[] = array ('USR_UID' => $aRow1['USR_UID'],'USER_FULLNAME' => $infoUser
); );
} }
//calculating the max upload file size; //calculating the max upload file size;
$POST_MAX_SIZE = ini_get( 'post_max_size' ); $POST_MAX_SIZE = ini_get( 'post_max_size' );
$mul = substr( $POST_MAX_SIZE, - 1 ); $mul = substr( $POST_MAX_SIZE, - 1 );
$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1)));
$postMaxSize = (int) $POST_MAX_SIZE * $mul; $postMaxSize = (int) $POST_MAX_SIZE * $mul;
$UPLOAD_MAX_SIZE = ini_get( 'upload_max_filesize' ); $UPLOAD_MAX_SIZE = ini_get( 'upload_max_filesize' );
$mul = substr( $UPLOAD_MAX_SIZE, - 1 ); $mul = substr( $UPLOAD_MAX_SIZE, - 1 );
$mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1))); $mul = ($mul == 'M' ? 1048576 : ($mul == 'K' ? 1024 : ($mul == 'G' ? 1073741824 : 1)));
$uploadMaxSize = (int) $UPLOAD_MAX_SIZE * $mul; $uploadMaxSize = (int) $UPLOAD_MAX_SIZE * $mul;
if ($postMaxSize < $uploadMaxSize) if ($postMaxSize < $uploadMaxSize)
$uploadMaxSize = $postMaxSize; $uploadMaxSize = $postMaxSize;
$aFields['MAX_FILES_SIZE'] = " (" . $UPLOAD_MAX_SIZE . ") "; $aFields['MAX_FILES_SIZE'] = " (" . $UPLOAD_MAX_SIZE . ") ";
global $_DBArray; global $_DBArray;
$_DBArray['aUserInfo'] = $aUserInfo; $_DBArray['aUserInfo'] = $aUserInfo;
$_SESSION['_DBArray'] = $_DBArray; $_SESSION['_DBArray'] = $_DBArray;
if ($_GET['USR_AUTH_SOURCE'] == 'ProcessMaker (MYSQL)') { if ($_GET['USR_AUTH_SOURCE'] == 'ProcessMaker (MYSQL)') {
//always show this form users_EditRT.xml. //always show this form users_EditRT.xml.
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_EditRT.xml', '', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER'] ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_EditRT.xml', '', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER'] );
} else { } else {
//for users ldap always show this form users_EditLDAP.xml. //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_PUBLISH->AddContent( 'xmlform', 'xmlform', 'users/users_EditLDAP.xml', '', $aFields, 'users_Save?USR_UID=' . $_SESSION['CURRENT_USER'] );
} }
G::RenderPage( 'publish', 'blank' ); G::RenderPage( 'publish', 'blank' );
} catch (Exception $oException) { } catch (Exception $oException) {
die( $oException->getMessage() ); die( $oException->getMessage() );
} }