/** * getting default list * * @param string $httpData (opional) */ public function index($httpData) { if ($this->userUxType == 'SINGLE') { $this->indexSingle($httpData); return; } require_once 'classes/model/UsersProperties.php'; G::LoadClass('process'); G::LoadClass('case'); $userProperty = new UsersProperties(); $process = new Process(); $case = new Cases(); G::loadClass('system'); $sysConf = System::getSystemConfiguration(PATH_CONFIG . 'env.ini'); //Get ProcessStatistics Info $start = 0; $limit = ''; $proData = $process->getAllProcesses($start, $limit); $processList = $case->getStartCasesPerType($_SESSION['USER_LOGGED'], 'category'); $switchLink = $userProperty->getUserLocation($_SESSION['USER_LOGGED']); if (!isset($_COOKIE['workspaceSkin'])) { if (substr($sysConf['default_skin'], 0, 2) == 'ux') { $_SESSION['_defaultUserLocation'] = $switchLink; $switchLink = '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . $sysConf['default_skin'] . '/main'; } } unset($processList[0]); //Get simplified options global $G_TMP_MENU; $mnu = new Menu(); $mnu->load('simplified'); $arrayMnuOption = array(); $mnuNewCase = array(); if (!empty($mnu->Options)) { foreach ($mnu->Options as $index => $value) { $option = array('id' => $mnu->Id[$index], 'url' => $mnu->Options[$index], 'label' => $mnu->Labels[$index], 'icon' => $mnu->Icons[$index], 'class' => $mnu->ElementClass[$index]); if ($mnu->Id[$index] != 'S_NEW_CASE') { $arrayMnuOption[] = $option; } else { $mnuNewCase = $option; } } } $this->setView($this->userUxBaseTemplate . PATH_SEP . 'index'); $this->setVar('usrUid', $this->userID); $this->setVar('userName', $this->userName); $this->setVar('processList', $processList); $this->setVar('canStartCase', $case->canStartCase($_SESSION['USER_LOGGED'])); $this->setVar('userUxType', $this->userUxType); $this->setVar('clientBrowser', $this->clientBrowser['name']); $this->setVar('switchLink', $switchLink); $this->setVar('arrayMnuOption', $arrayMnuOption); $this->setVar('mnuNewCase', $mnuNewCase); $this->render(); }
public function create($aData) { $oConnection = Propel::getConnection(UsersPropertiesPeer::DATABASE_NAME); try { $oUserProperty = new UsersProperties(); $oUserProperty->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oUserProperty->validate()) { $oConnection->begin(); $iResult = $oUserProperty->save(); $oConnection->commit(); return true; } else { $sMessage = ''; $aValidationFailures = $oUserProperty->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw new Exception('The registry cannot be created!<br />' . $sMessage); } } catch (Exception $oError) { $oConnection->rollback(); throw $oError; } }
} 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') . ':<br />'; foreach ($aErrors as $sError) { switch ($sError) {
//this file is useful for command line environment (no Browser), I mean for triggers, crons and other executed over command line $_CSERVER = $_SERVER; unset($_CSERVER['REQUEST_TIME']); unset($_CSERVER['REMOTE_PORT']); $cput = serialize($_CSERVER); if (!is_file(PATH_DATA_SITE . PATH_SEP . '.server_info')) { file_put_contents(PATH_DATA_SITE . PATH_SEP . '.server_info', $cput); } else { $c = file_get_contents(PATH_DATA_SITE . PATH_SEP . '.server_info'); if (md5($c) != md5($cput)) { file_put_contents(PATH_DATA_SITE . PATH_SEP . '.server_info', $cput); } } /* Check password using policy - Start */ require_once 'classes/model/UsersProperties.php'; $oUserProperty = new UsersProperties(); // getting default user location if (isset($_REQUEST['form']['URL']) && $_REQUEST['form']['URL'] != '') { if (isset($_SERVER['HTTP_REFERER'])) { if (strpos($_SERVER['HTTP_REFERER'], 'processes/processes_Map?PRO_UID=') !== false) { $sLocation = $_SERVER['HTTP_REFERER']; } else { $sLocation = G::sanitizeInput($_REQUEST['form']['URL']); } } else { $sLocation = G::sanitizeInput($_REQUEST['form']['URL']); } } else { if (isset($_REQUEST['u']) && $_REQUEST['u'] != '') { $sLocation = G::sanitizeInput($_REQUEST['u']); } else {
} 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(G::encryptOld($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') . ':<br /><br />'; foreach ($aErrors as $sError) { switch ($sError) { case 'ID_PPP_MINIMUN_LENGTH': $sDescription .= ' - ' . G::LoadTranslation($sError) . ': ' . PPP_MINIMUN_LENGTH . '<br />'; break;
$aData['USR_FIRSTNAME'] = $aUser['USR_FIRSTNAME']; $aData['USR_LASTNAME'] = $aUser['USR_LASTNAME']; $aData['USR_EMAIL'] = $aUser['USR_EMAIL']; $aData['USR_DUE_DATE'] = $aUser['USR_DUE_DATE']; $aData['USR_UPDATE_DATE'] = date('Y-m-d H:i:s'); $RBAC->updateUser($aData, $aUser['USR_ROLE']); $aData['USR_COUNTRY'] = $aUser['USR_COUNTRY']; $aData['USR_CITY'] = $aUser['USR_CITY']; $aData['USR_LOCATION'] = $aUser['USR_LOCATION']; $aData['USR_ADDRESS'] = $aUser['USR_ADDRESS']; $aData['USR_PHONE'] = $aUser['USR_PHONE']; $aData['USR_ZIP_CODE'] = $aUser['USR_ZIP_CODE']; $aData['USR_POSITION'] = $aUser['USR_POSITION']; $oUser->update($aData); require_once 'classes/model/UsersProperties.php'; $oUserProperty = new UsersProperties(); $aUserProperty = $oUserProperty->load($_SESSION['USER_LOGGED']); $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_PASSWORD']; } $aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s');
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') . ':<br /><br />'; foreach ($aErrors as $sError) { switch ($sError) { case 'ID_PPP_MINIMUN_LENGTH': $sDescription .= ' - ' . G::LoadTranslation($sError) . ': ' . PPP_MINIMUN_LENGTH . '<br />'; break; case 'ID_PPP_MAXIMUN_LENGTH': $sDescription .= ' - ' . G::LoadTranslation($sError) . ': ' . PPP_MAXIMUN_LENGTH . '<br />'; break; case 'ID_PPP_EXPIRATION_IN': $sDescription .= ' - ' . G::LoadTranslation($sError) . ' ' . PPP_EXPIRATION_IN . ' ' . G::LoadTranslation('ID_DAYS') . '<br />'; break;
/** * to test Password * * @access public * @param string $sPassword * @return array */ public function testPassword ($sPassword = '') { require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "UsersProperties.php"); $oUserProperty = new \UsersProperties(); $aFields = array(); $dateNow = date('Y-m-d H:i:s'); $aErrors = $oUserProperty->validatePassword($sPassword, $dateNow, 0); if (!empty($aErrors)) { 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 { $aFields['DESCRIPTION'] = \G::LoadTranslation('ID_PASSWORD_COMPLIES_POLICIES'); $aFields['STATUS'] = true; } return $aFields; }
public function setHashPassword($object) { $type = array('md5', 'sha256'); if (!in_array($object->hash, $type)) { throw new Exception('Type: ' . $object->hash . ' No valid.'); return false; } G::LoadClass("configuration"); $config = new Configurations(); $typeEncrypt = $config->getConfiguration('ENTERPRISE_SETTING_ENCRYPT', ''); if ($typeEncrypt == null) { $typeEncrypt = array('current' => $object->hash, 'previous' => 'md5'); } else { $typeEncrypt['previous'] = $typeEncrypt['current']; $typeEncrypt['current'] = $object->hash; } if ($object->hash != $typeEncrypt['previous']) { $config->aConfig = $typeEncrypt; $config->saveConfig('ENTERPRISE_SETTING_ENCRYPT', ''); } require_once 'classes/model/RbacUsersPeer.php'; require_once 'classes/model/UsersProperties.php'; $userProperty = new UsersProperties(); $criteria = new Criteria($object->workspace->dbInfo['DB_RBAC_NAME']); $criteria->add(RbacUsersPeer::USR_STATUS, 0, Criteria::NOT_EQUAL); $dataset = RbacUsersPeer::doSelectRS($criteria); $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); while ($dataset->next()) { $row = $dataset->getRow(); $property = $userProperty->loadOrCreateIfNotExists($row['USR_UID'], array()); $property['USR_LOGGED_NEXT_TIME'] = 1; $userProperty->update($property); } }