retrieveSettings('captcha'); if($admin->settings['captcha_on']=='1' && !empty($admin->settings['captcha_private_key'])){ $privatekey = $admin->settings['captcha_private_key']; }else echo("Captcha settings not found"); $response = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_REQUEST["recaptcha_challenge_field"], $_REQUEST["recaptcha_response_field"]); if(!$response->is_valid){ switch ($response->error){ case 'invalid-site-private-key': echo $mod_strings['LBL_RECAPTCHA_INVALID_PRIVATE_KEY']; break; case 'incorrect-captcha-sol' : echo $mod_strings['LBL_RECAPTCHA_FILL_FIELD']; break; case 'invalid-request-cookie' : echo $mod_strings['LBL_RECAPTCHA_INVALID_REQUEST_COOKIE']; break; case 'unknown' : echo $mod_strings['LBL_RECAPTCHA_UNKNOWN']; break; default: echo "Invalid captcha entry, go back and fix. ". $response->error. " "; } } else { echo("Success"); } return; } //// RECAPTCHA CHECK ONLY /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// //// PASSWORD GENERATED LINK CHECK USING //// //// This script : - check the link expiration //// - send the filled form to authenticate.php after changing the password in the database $redirect='1'; if (isset($_REQUEST['guid'])) { $Q="select * from users_password_link where id='".$_REQUEST['guid']."' and deleted='0'"; $result =$GLOBALS['db']->limitQuery($Q,0,1,false); $row = $GLOBALS['db']->fetchByAssoc($result); if (!empty($row)){ $pwd_settings=$GLOBALS['sugar_config']['passwordsetting']; $expired='0'; if($pwd_settings['linkexpiration']){ $delay=$pwd_settings['linkexpirationtime']*$pwd_settings['linkexpirationtype']; $stim = strtotime($row['date_generated']); $expiretime = TimeDate::getInstance()->fromTimestamp($stim)->get("+$delay minutes")->asDb(); $timenow = TimeDate::getInstance()->nowDb(); if ($timenow > $expiretime) $expired='1'; } if (!$expired) { // if the form is filled and we want to login if (isset($_REQUEST['login']) && $_REQUEST['login'] =='1'){ if ( $row['username'] == $_POST['user_name'] ){ $usr= new user(); $usr_id=$usr->retrieve_user_id($_POST['user_name']); $usr->retrieve($usr_id); $user_hash = strtolower(md5($_POST['new_password'])); $usr->setPreference('loginexpiration','0'); //set new password $now=TimeDate::getInstance()->nowDb(); $query1 = "UPDATE $usr->table_name SET user_hash='$user_hash', system_generated_password='0', pwd_last_changed='$now' where id='$usr->id'"; $GLOBALS['db']->query($query1, true, "Error setting new password for $usr->user_name: "); $query2 = "UPDATE users_password_link SET deleted='1' where id='".$_REQUEST['guid']."'"; $GLOBALS['db']->query($query2, true, "Error setting link for $usr->user_name: "); $_POST['user_name'] = $_REQUEST['user_name']; $_POST['user_password'] = $_REQUEST['new_password']; $_POST['module'] = 'Users'; $_POST['action'] = 'Authenticate'; $_POST['login_module'] = 'Home'; $_POST['login_action'] = 'index'; $_POST['Login'] = 'Login'; foreach($_POST as $k=>$v){ $_REQUEST[$k] = $v; $_GET[$k]= $v; } unset($_REQUEST['entryPoint']); unset($_GET['entryPoint']); $GLOBALS['app']->execute(); die(); } } else $redirect='0'; } else { $query2 = "UPDATE users_password_link SET deleted='1' where id='".$_REQUEST['guid']."'"; $GLOBALS['db']->query($query2, true, "Error setting link"); } } } if ($redirect!='0') { header('location:index.php?action=Login&module=Users'); exit (); } //// PASSWORD GENERATED LINK CHECK USING /////////////////////////////////////////////////////////////////////////////// require_once('include/MVC/View/SugarView.php'); $view= new SugarView(); $view->init(); $view->displayHeader(); $sugar_smarty = new Sugar_Smarty(); $admin = new Administration(); $admin->retrieveSettings('captcha'); $add_captcha = 0; $captcha_privatekey = ""; $captcha_publickey=""; $captcha_js = ""; $Captcha=""; if(isset($admin->settings['captcha_on'])&& $admin->settings['captcha_on']=='1' && !empty($admin->settings['captcha_private_key']) && !empty($admin->settings['captcha_public_key'])){ $add_captcha = 1; $captcha_privatekey = $admin->settings['captcha_private_key']; $captcha_publickey = $admin->settings['captcha_public_key']; $captcha_js .=" "; $Captcha.=$captcha_js; $Captcha.= " ".$mod_strings['LBL_RECAPTCHA_INSTRUCTION_OPPOSITE'].":
".$mod_strings['LBL_RECAPTCHA_NEW_CAPTCHA']."   ".$mod_strings['LBL_RECAPTCHA_SOUND']." ".$mod_strings['LBL_RECAPTCHA_IMAGE']." "; }else{ echo""; } $pwd_settings=$GLOBALS['sugar_config']['passwordsetting']; $sugar_smarty->assign('sugar_md',getWebPath('include/images/sugar_md_open.png')); $sugar_smarty->assign("MOD", $mod_strings); $sugar_smarty->assign("CAPTCHA", $Captcha); $sugar_smarty->assign("IS_ADMIN", '1'); $sugar_smarty->assign("ENTRY_POINT", 'Changenewpassword'); $sugar_smarty->assign('return_action', 'login'); $sugar_smarty->assign("APP", $app_strings); $sugar_smarty->assign("INSTRUCTION", $app_strings['NTC_LOGIN_MESSAGE']); $sugar_smarty->assign("USERNAME_FIELD", ''.$mod_strings['LBL_USER_NAME'].':'); $sugar_smarty->assign('PWDSETTINGS', $GLOBALS['sugar_config']['passwordsetting']); $rules = "'','',''"; $sugar_smarty->assign('SUBMIT_BUTTON','
 '); if(!empty($_REQUEST['guid'])) $sugar_smarty->assign("GUID", $_REQUEST['guid']); $sugar_smarty->display('modules/Users/Changenewpassword.tpl'); $view->displayFooter(); ?>