From a1725f03d556fb48c6954d3293ae4f2f3650c5bb Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Sirpa Date: Fri, 3 Jun 2011 18:32:48 -0400 Subject: [PATCH] BUG 0000 Forgot password feature (first coomit) --- rbac/engine/classes/model/RbacUsers.php | 22 ++++++++++++++++++++++ workflow/engine/methods/login/login.php | 12 +++++++++++- workflow/engine/methods/setup/mainAjax.php | 14 ++++++++++++-- workflow/engine/xmlform/login/login.xml | 13 ++++++++++++- 4 files changed, 57 insertions(+), 4 deletions(-) diff --git a/rbac/engine/classes/model/RbacUsers.php b/rbac/engine/classes/model/RbacUsers.php index fe492e1ae..501935661 100644 --- a/rbac/engine/classes/model/RbacUsers.php +++ b/rbac/engine/classes/model/RbacUsers.php @@ -120,6 +120,28 @@ class RbacUsers extends BaseRbacUsers { throw($oError); } } + + function getByUsername($sUsername) + { + //invalid user + if ( $sUsername == '' ) return 0; + $con = Propel::getConnection(RbacUsersPeer::DATABASE_NAME); + try { + $c = new Criteria( 'rbac' ); + $c->add ( RbacUsersPeer::USR_USERNAME, $sUsername ); + $rs = RbacUsersPeer::doSelect( $c ); + + if ( is_array($rs) && isset( $rs[0] ) && is_object($rs[0]) && get_class ( $rs[0] ) == 'RbacUsers' ) { + $aFields = $rs[0]->toArray(BasePeer::TYPE_FIELDNAME); + return $aFields; + } else { + return false; + } + } + catch (Exception $oError) { + throw($oError); + } + } function verifyUserId($sUserId) { diff --git a/workflow/engine/methods/login/login.php b/workflow/engine/methods/login/login.php index 90796b932..223a7a37f 100644 --- a/workflow/engine/methods/login/login.php +++ b/workflow/engine/methods/login/login.php @@ -147,5 +147,15 @@ } else $oHeadPublisher->addScriptCode( 'var flagGettingStarted = 0; '); - + + G::loadClass('configuration'); + $oConf = new Configurations; + $oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS',''); + print_r($oConf->aConfig); + + $flagForgotPassword = isset($oConf->aConfig['login_enableForgotPassword'])? $oConf->aConfig['login_enableForgotPassword']: false; + if ($flagForgotPassword) + $oHeadPublisher->addScriptCode( 'var flagForgotPassword = 1; '); + else + $oHeadPublisher->addScriptCode( 'var flagForgotPassword = 0; '); G::RenderPage ( "publish" ); diff --git a/workflow/engine/methods/setup/mainAjax.php b/workflow/engine/methods/setup/mainAjax.php index 34ca415e5..04174118e 100755 --- a/workflow/engine/methods/setup/mainAjax.php +++ b/workflow/engine/methods/setup/mainAjax.php @@ -43,8 +43,18 @@ switch($request){ 'iconCls'=> 'ICON_'.$oMenu->Id[$i] ); } + } + if($_GET['menu'] == 'settings' ){ + $items[] = Array( + 'id' => 'login', + 'url' => 'loginSettings', + 'text' => 'Login', + 'loaded' => true, + 'leaf' => true, + 'cls' => 'pm-tree-node', + 'iconCls'=> 'ICON_' + ); } - if( isset($_SESSION['DEV_FLAG']) && $_SESSION['DEV_FLAG'] && $_GET['menu'] == 'settings' ){ $items[] = Array( 'id' => 'translations', @@ -57,7 +67,7 @@ switch($request){ ); } $x = ob_get_contents(); - ob_end_clean(); + ob_end_clean(); echo G::json_encode($items); break; diff --git a/workflow/engine/xmlform/login/login.xml b/workflow/engine/xmlform/login/login.xml index 3ada13a8d..c1d843a9a 100644 --- a/workflow/engine/xmlform/login/login.xml +++ b/workflow/engine/xmlform/login/login.xml @@ -19,6 +19,10 @@ Login + + + + - \ No newline at end of file + + +