コード例 #1
0
ファイル: email.php プロジェクト: juaniiie/mwi
 public function get_new()
 {
     $this->data['section_bar_active'] = __('email::lang.Send Email')->get(ADM_LANG);
     $this->data['groups_dropdown'] = null;
     if (Bundle::exists('groups')) {
         $this->data['groups_dropdown'] = Groups\Model\Group::all();
     }
     $this->data['email_templates'] = Email\Model\Template::all();
     return $this->theme->render('email::email.new', $this->data);
 }
コード例 #2
0
ファイル: schema.php プロジェクト: juaniiie/mwi
 public function uninstall()
 {
     //
     // REMOVE EMAIL TEMPLATES
     //
     $email_templates = Email\Model\Template::where('module', '=', 'registration')->get();
     if (isset($email_templates) and !empty($email_templates)) {
         foreach ($email_templates as $template) {
             $template->delete();
         }
     }
     //
     // REMOVE SETTINGS
     //
     $settings = Settings\Model\Setting::where('module_slug', '=', 'registration')->get();
     if (isset($settings) and !empty($settings)) {
         foreach ($settings as $setting) {
             $setting->delete();
         }
     }
 }
コード例 #3
0
ファイル: template.php プロジェクト: juaniiie/mwi
 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);
     }
 }
コード例 #4
0
ファイル: registration.php プロジェクト: juaniiie/mwi
 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();
 }
コード例 #5
0
ファイル: events.php プロジェクト: juaniiie/mwi
    $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();