public function post_pwreset() { $rules = array('email' => 'required|email|account_exists'); $messages = array('account_exists' => Lang::line('registration::lang.This email was not found.')->get(APP_LANG)); $account = null; Validator::register('account_exists', function ($attribute, $value, $parameters) use(&$account) { $account = Users\Model\User::where('email', '=', Input::get('email'))->first(); if (isset($account) and !empty($account)) { return true; } return false; }); $validation = Validator::make(Input::all(), $rules, $messages); if ($validation->passes()) { $pwreset_record = new Registration\Model\Code(); $pwreset_record->user_id = $account->id; $pwreset_record->code = Mwi_Core::keygen(); $pwreset_record->save(); // send password reset email // new xblade to parse the email template $xblade = new Xblade(); $xblade->scopeGlue(':'); // data to be passed to email template $data['user'] = $account; $data['forgotten_password_code'] = $pwreset_record->code; $data['url']['base'] = URL::base(); $data['settings']['site_name'] = Config::get('settings::core.site_name'); $data['request']['ip'] = Request::ip(); $data['request']['user_agent'] = implode(', ', Request::header('user-agent')); $data['request']['languages'] = implode(', ', Request::languages()); // get email template based on settings $email_address = Config::get('settings::core.server_email'); $template_id = Config::get('settings::core.registration_pwreset_email_template'); $email_data = Email\Model\Template::find($template_id); // send email to user Email\Message::to($account->email)->from($email_address)->subject($xblade->parse($email_data->subject, $data))->body($xblade->parse($email_data->body, $data))->html($email_data->type)->send(); $this->data['message'] = __('registration::lang.An email was sent to you with instructions to reset your password')->get(APP_LANG); $this->data['message_type'] = 'success'; return Redirect::to('page/home')->with($this->data); } return Redirect::back()->with_errors($validation)->with_input(); }
public function delete_destroy($template_id) { $templates_ids = Input::get('action_to'); if (isset($templates_ids) and !empty($templates_ids) and $template_id == '0') { $templates = Email\Model\Template::where_in('id', Input::get('action_to'))->where('is_core', '=', 0)->delete(); Event::fire('mwi.email_template_delete', array($templates)); $this->data['message'] = __('email::lang.E-mail template(s) were successfully deleted')->get(ADM_LANG); $this->data['message_type'] = 'success'; } else { if (ctype_digit($template_id) and $template_id != 0) { $template = Email\Model\Template::find($template_id)->where('is_core', '=', 0); $template->delete(); Event::fire('mwi.email_template_delete', array($template)); $this->data['message'] = __('email::lang.E-mail template was successfully deleted')->get(ADM_LANG); $this->data['message_type'] = 'success'; } else { if ($template_id == 0) { $this->data['message'] = __('email::lang.Please select a template to delete')->get(ADM_LANG); } else { $this->data['message'] = __('email::lang.Invalid template id')->get(ADM_LANG); } $this->data['message_type'] = 'error'; } } if (Request::ajax()) { $json_response = json_encode(array('success' => $this->data['message_type'], 'message' => $this->data['message'], 'redirect_to' => '')); return $json_response; } else { return Redirect::back()->with($this->data); } }
$send_email_to_admin = Config::get('settings::core.email_admin_on_registration'); if ($send_email_to_admin == 'yes') { // new xblade to parse the email template $xblade = new Xblade(); $xblade->scopeGlue(':'); // data to be passed to email template $data['user'] = $user; $data['url']['base'] = URL::base(); $data['settings']['site_name'] = Config::get('settings::core.site_name'); $data['request']['ip'] = Request::ip(); $data['request']['user_agent'] = implode(', ', Request::header('user-agent')); $data['request']['languages'] = implode(', ', Request::languages()); // get email template based on settings $email_address = Config::get('settings::core.server_email'); $template_id = Config::get('settings::core.admin_registration_email_template'); $email_data = Email\Model\Template::find($template_id); //send email to Website Administrator Email\Message::to($email_address)->from($email_address)->subject($xblade->parse($email_data->subject, $data))->body($xblade->parse($email_data->body, $data))->html($email_data->type)->send(); } }); /* |-------------------------------------------------------------------------- | Registration Codes Listner |-------------------------------------------------------------------------- | | Listner to remove password reset codes older then 24h | */ Event::listen('app.cron', function () { $yesterday = date('Y-m-d H:i:s', strtotime("-1 day", time())); $old_codes = \Registration\Model\Code::where('created_at', '<', $yesterday)->get();