Exemple #1
0
 /**
  * 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;
     }
 }
Exemple #3
0
     }
     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');
Exemple #7
0
 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;
Exemple #8
0
    /**

     * 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);
     }
 }