コード例 #1
0
 public function validatePassword($sPassword, $sLastUpdate, $iChangePasswordNextTime)
 {
     if (!defined('PPP_MINIMUM_LENGTH')) {
         define('PPP_MINIMUM_LENGTH', 5);
     }
     if (!defined('PPP_MAXIMUM_LENGTH')) {
         define('PPP_MAXIMUM_LENGTH', 20);
     }
     if (!defined('PPP_NUMERICAL_CHARACTER_REQUIRED')) {
         define('PPP_NUMERICAL_CHARACTER_REQUIRED', 0);
     }
     if (!defined('PPP_UPPERCASE_CHARACTER_REQUIRED')) {
         define('PPP_UPPERCASE_CHARACTER_REQUIRED', 0);
     }
     if (!defined('PPP_SPECIAL_CHARACTER_REQUIRED')) {
         define('PPP_SPECIAL_CHARACTER_REQUIRED', 0);
     }
     if (!defined('PPP_EXPIRATION_IN')) {
         define('PPP_EXPIRATION_IN', 0);
     }
     if (!defined('PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN')) {
         define('PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN', 0);
     }
     if (function_exists('mb_strlen')) {
         $iLength = mb_strlen($sPassword);
     } else {
         $iLength = strlen($sPassword);
     }
     $aErrors = array();
     if ($iLength < PPP_MINIMUM_LENGTH) {
         $aErrors[] = 'ID_PPP_MINIMUM_LENGTH';
     }
     if ($iLength > PPP_MAXIMUM_LENGTH) {
         $aErrors[] = 'ID_PPP_MAXIMUM_LENGTH';
     }
     if (PPP_NUMERICAL_CHARACTER_REQUIRED == 1) {
         if (preg_match_all('/[0-9]/', $sPassword, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) == 0) {
             $aErrors[] = 'ID_PPP_NUMERICAL_CHARACTER_REQUIRED';
         }
     }
     if (PPP_UPPERCASE_CHARACTER_REQUIRED == 1) {
         if (preg_match_all('/[A-Z]/', $sPassword, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) == 0) {
             $aErrors[] = 'ID_PPP_UPPERCASE_CHARACTER_REQUIRED';
         }
     }
     if (PPP_SPECIAL_CHARACTER_REQUIRED == 1) {
         if (preg_match_all('/[��\\!|"@�#$~%�&�\\/()=\'?��*+\\-_.:,;]/', $sPassword, $aMatch, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) == 0) {
             $aErrors[] = 'ID_PPP_SPECIAL_CHARACTER_REQUIRED';
         }
     }
     if (PPP_EXPIRATION_IN > 0) {
         G::LoadClass('dates');
         $oDates = new dates();
         $fDays = $oDates->calculateDuration(date('Y-m-d H:i:s'), $sLastUpdate);
         if ($fDays > PPP_EXPIRATION_IN * 24) {
             $aErrors[] = 'ID_PPP_EXPIRATION_IN';
         }
     }
     if (PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN == 1) {
         if ($iChangePasswordNextTime == 1) {
             $aErrors[] = 'ID_PPP_CHANGE_PASSWORD_AFTER_NEXT_LOGIN';
         }
     }
     return $aErrors;
 }
コード例 #2
0
ファイル: class.report.php プロジェクト: nshong/processmaker
 /** 
  * Patch for reports by The Answer (17-10-2k8)
  * 
  * 
  * @name reportsPatch
  *
  * param 
  * @return void
  */
 function reportsPatch()
 {
     require_once 'classes/model/AppDelegation.php';
     $oCriteria = new Criteria('workflow');
     $del = DBAdapter::getStringDelimiter();
     $oCriteria->addSelectColumn(AppDelegationPeer::APP_UID);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INDEX);
     $oCriteria->addSelectColumn(AppDelegationPeer::TAS_UID);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_DELEGATE_DATE);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_INIT_DATE);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE);
     $oCriteria->addSelectColumn(AppDelegationPeer::DEL_DURATION);
     $oDataset = AppDelegationPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $oDataset->next();
     while ($aRow = $oDataset->getRow()) {
         $oAppDelegation = new AppDelegation();
         $aData['APP_UID'] = $aRow['APP_UID'];
         $aData['DEL_INDEX'] = $aRow['DEL_INDEX'];
         $aData['DEL_DELEGATE_DATE'] = $aRow['DEL_DELEGATE_DATE'];
         if ($aRow['DEL_INIT_DATE'] == NULL) {
             $aData['DEL_INIT_DATE'] = $aRow['DEL_DELEGATE_DATE'];
         } else {
             $aData['DEL_INIT_DATE'] = $aRow['DEL_INIT_DATE'];
         }
         //$aData['DEL_FINISH_DATE']=$aRow['DEL_FINISH_DATE'];
         if ($aRow['DEL_DURATION'] != 0) {
             G::LoadClass('dates');
             $oDates = new dates();
             $aData['DEL_DURATION'] = $oDates->calculateDuration($aData['DEL_INIT_DATE'], $aRow['DEL_FINISH_DATE'], null, null, $aRow['TAS_UID']);
         }
         $oAppDelegation->update($aData);
         $oDataset->next();
     }
     return;
 }
コード例 #3
0
 $oCriteria = new Criteria('workflow');
 $oCriteria->addSelectColumn(TaskPeer::TAS_UID);
 $oCriteria->add(TaskPeer::TAS_UID, $aRow['TAS_UID']);
 $oDataseti = TaskPeer::doSelectRS($oCriteria);
 $oDataseti->setFetchmode(ResultSet::FETCHMODE_ASSOC);
 $oDataseti->next();
 $b = 0;
 while ($aRows = $oDataseti->getRow()) {
     if (TaskPeer::doCount($oCriteria) == 1) {
         $b = 1;
     }
     $oDataseti->next();
 }
 if ($b == 1) {
     if ($aRow['DEL_INIT_DATE'] != null && $aRow['DEL_FINISH_DATE'] != null) {
         $fDuration = $oDates->calculateDuration($aRow['DEL_INIT_DATE'], $aRow['DEL_FINISH_DATE'], null, null, $aRow['TAS_UID']);
         $oCriteria = new Criteria('workflow');
         $sql = "UPDATE APP_DELEGATION SET DEL_DURATION='" . $fDuration . "' \n    \t\t\t\t\t\t\t\tWHERE APP_UID='" . $aRow['APP_UID'] . "' AND DEL_INDEX='" . $aRow['DEL_INDEX'] . "'";
         $con = Propel::getConnection("workflow");
         $stmt = $con->prepareStatement($sql);
         $rs = $stmt->executeQuery();
     } else {
         $oCriteria = new Criteria('workflow');
         $sql = "UPDATE APP_DELEGATION SET DEL_DURATION=0 \n    \t\t\t\t\t\t\t\tWHERE APP_UID='" . $aRow['APP_UID'] . "' AND DEL_INDEX='" . $aRow['DEL_INDEX'] . "'";
         $con = Propel::getConnection("workflow");
         $stmt = $con->prepareStatement($sql);
         $rs = $stmt->executeQuery();
     }
 } else {
     $oCriteria = new Criteria('workflow');
     $sql = "UPDATE APP_DELEGATION SET DEL_DURATION=0 \n    \t\t\t\t\t\t\t\tWHERE APP_UID='" . $aRow['APP_UID'] . "' AND DEL_INDEX='" . $aRow['DEL_INDEX'] . "'";