checkToken('post'); $model = $this->getModel('Remind', 'UsersModel'); $data = $this->input->post->get('jform', array(), 'array'); $captchaError = 'Captcha failed'; if (isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) { $api_url = 'https://www.google.com/recaptcha/api/siteverify'; $resq_data = array( 'secret' => '6Le1o70lAAAAAE125nVz9KQYBX1h2-o5kmlx4tJw', 'response' => $_POST['g-recaptcha-response'], 'remoteip' => $_SERVER['REMOTE_ADDR'] ); $curlConfig = array( CURLOPT_URL => $api_url, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => $resq_data ); $ch = curl_init(); curl_setopt_array($ch, $curlConfig); $response = curl_exec($ch); curl_close($ch); $responseData = json_decode($response); if (!$responseData->success) { $this->setRedirect(JRoute::_('index.php?option=com_users&view=remind', false), $captchaError, 'error'); return false; } } else { $this->setRedirect(JRoute::_('index.php?option=com_users&view=remind', false), $captchaError, 'error'); return false; } // Submit the password reset request. $return = $model->processRemindRequest($data); // Check for a hard error. if ($return == false) { // The request failed. // Go back to the request form. $message = JText::sprintf('COM_USERS_REMIND_REQUEST_FAILED', $model->getError()); $this->setRedirect(JRoute::_('index.php?option=com_users&view=remind', false), $message, 'notice'); return false; } else { // The request succeeded. // Proceed to step two. $message = JText::_('COM_USERS_REMIND_REQUEST_SUCCESS'); $this->setRedirect(JRoute::_('index.php?option=com_users&view=login', false), $message); return true; } } }