public function put_update() { $keywords = Input::get('application_keywords'); Settings\Config::set('settings::core.application_keywords', $keywords, true); $this->data['message'] = __('settings::lang.Application keywords were successfully updated')->get(ADM_LANG); $this->data['message_type'] = 'success'; return Redirect::back()->with($this->data); }
public function put_update() { $settings = Input::all(); $raw_rules = Settings\Model\Setting::where_in('slug', array_keys($settings))->where_module_slug('opensim')->get(); $rules = array(); foreach ($raw_rules as $setting) { if (isset($setting->validation) and !empty($setting->validation)) { $rules[$setting->slug] = $setting->validation; } } $validation = \Opensim\Validator::make($settings, $rules)->speaks(ADM_LANG); if ($validation->fails()) { return Redirect::back()->with_errors($validation->errors); } if (isset($settings['database_driver'])) { $credentials = array('driver' => $settings['database_driver'], 'host' => $settings['database_host'], 'database' => $settings['database_name'], 'username' => $settings['database_user'], 'password' => $settings['database_password'], 'charset' => 'utf8', 'prefix' => $settings['database_table_prefix'], 'port' => $settings['database_port']); $db = null; switch ($credentials['driver']) { case 'sqlite': $db = new \Laravel\Database\Connectors\SQLite(); break; case 'mysql': $db = new \Laravel\Database\Connectors\MySQL(); break; case 'pgsql': $db = new \Laravel\Database\Connectors\Postgres(); break; case 'sqlsrv': $db = new \Laravel\Database\Connectors\SQLServer(); break; } \Config::set('error.detail', false); \Event::listen('500', function ($message) { \Settings\Config::set('settings::core.passes_db_settings', 0, true); $this->data['message'] = $message; $this->data['message_type'] = 'error'; $this->data['settings'] = Settings\Model\Setting::where_module_slug('opensim')->where_section('opensim_db_settings')->get(); $this->data['section_bar_active'] = Lang::line('opensim::lang.Database Settings')->get(ADM_LANG); $content = $this->theme->render('opensim::backend.settings.index', $this->data); echo $content; die; }); // If we get an exception when // trying to connect to the db // the event above will catch it // and return our view with the // error message $db->connect($credentials); // Set database flag Settings\Config::set('settings::core.passes_db_settings', 1, true); foreach ($settings as $slug => $value) { // Update database configurations if (!empty($value)) { $affected = Settings\Model\Setting::where_slug($slug)->where_module_slug('opensim')->update(array('value' => $value)); } } $this->data['message'] = Lang::line('opensim::lang.Opensim settings were successfully updated')->get(ADM_LANG); $this->data['message_type'] = 'success'; return Redirect::back()->with($this->data); } else { $db_is_ready = Config::get('settings::core.passes_db_settings'); if ((bool) $db_is_ready) { foreach ($settings as $slug => $value) { // Update database configurations if (strlen($value) > 0) { $affected = Settings\Model\Setting::where_slug($slug)->where_module_slug('opensim')->update(array('value' => $value)); } } $this->data['message'] = Lang::line('opensim::lang.Opensim settings were successfully updated')->get(ADM_LANG); $this->data['message_type'] = 'success'; return Redirect::back()->with($this->data); } else { Session::flash('message_type', 'error'); Session::flash('message', Lang::line('opensim::lang.Your opensim database needs to be configured!')->get(ADM_LANG)); return Redirect::back()->with($this->data); } } }
<div class="control-group {{ $errors->has('slug') ? 'error' : '' }}"> <label class="control-label" for="slug">{{ Lang::line('email::lang.Slug')->get(ADM_LANG) }}</label> <div class="controls"> {{ Form::text('slug', $template->slug) }} <span class="required-icon"></span> @if(isset($errors) and $errors->has('slug')) <span class="help-inline">{{ $errors->first('slug') }}</span> @endif </div> </div> <div class="control-group {{ $errors->has('lang') ? 'error' : '' }}"> <label class="control-label" for="lang">{{ Lang::line('email::lang.Language')->get(ADM_LANG) }}</label> <div class="controls"> <?php $langs = json_decode(Settings\Config::get('settings::core.available_languages'), true); ?> {{ Form::select('lang', $langs, $template->lang) }} @if(isset($errors) and $errors->has('lang')) <span class="help-inline">{{ $errors->first('lang') }}</span> @endif </div> </div> <div class="control-group {{ $errors->has('type') ? 'error' : '' }}"> <label class="control-label" for="type">{{ Lang::line('email::lang.Type')->get(ADM_LANG) }}</label> <div class="controls"> {{ Form::select('type', array('html' => 'HTML', 'text' => Lang::line('email::lang.Plain Text')->get(ADM_LANG)), $template->lang) }} @if(isset($errors) and $errors->has('type')) <span class="help-inline">{{ $errors->first('type') }}</span> @endif
public function post_create() { $messages = array('unique_avatar_name' => 'This combination of avatar first name and avatar last name has already been taken.'); $rules = array('email' => 'required|email|unique:users', 'username' => 'required|unique:users|alpha_dash|max:30|min:3', 'avatar_first_name' => 'required|alpha_dash|max:30|min:3|unique_avatar_name', 'avatar_last_name' => 'required|alpha_dash|max:30|min:3', 'password' => 'required|min:8', 'password_confirmation' => 'required|same:password'); Validator::register('unique_avatar_name', function ($attribute, $value, $parameters) { $user = Users\Model\User::where('avatar_first_name', '=', Input::get('avatar_first_name'))->where('avatar_last_name', '=', Input::get('avatar_last_name'))->first(); if (isset($user) and !empty($user)) { return false; } return true; }); $validation = Validator::make(Input::all(), $rules, $messages); if ($validation->passes()) { $group_id = 0; if (Bundle::exists('groups')) { $users_group = Groups\Model\Group::where('slug', '=', 'users')->first(); if (isset($users_group->id) and ctype_digit($users_group->id)) { $group_id = $users_group->id; } } $new_user = new Users\Model\User(); $new_user->status = 'inactive'; $require_confirmation = Config::get('settings::core.registration_confirmation_required'); if ($require_confirmation == 'no') { $new_user->status = 'active'; } $password = Users\Helper::hash_password(Input::get('password')); $new_user->uuid = Mwi_Core::random_uuid(); $new_user->email = Input::get('email'); $new_user->username = Input::get('username'); $new_user->avatar_first_name = Input::get('avatar_first_name'); $new_user->avatar_last_name = Input::get('avatar_last_name'); $new_user->group_id = $group_id; $new_user->hash = $password['hash']; $new_user->salt = $password['salt']; $new_user->password = Hash::make(Input::get('password')); $new_user->save(); Event::fire('registration.user_signup', array($new_user)); //Event for Robust Event::fire('users.created', array($new_user)); if ($require_confirmation == 'no') { Auth::login($new_user->id); Event::fire('registration.user_activated', array($new_user)); //Event for Robust Event::fire('users.updated', array($new_user)); $site_name = Settings\Config::get('settings::core.site_name'); $this->data['message'] = Lang::line('registration::lang.welcome_signup', array('site_name' => $site_name))->get(APP_LANG); $this->data['message_type'] = 'success'; return Redirect::to('page/home')->with($this->data); } else { // save activation record on database $activation_record = new Registration\Model\Code(); $activation_record->user_id = $new_user->id; $activation_record->code = Mwi_Core::keygen(); $activation_record->save(); // new xblade to parse the email template $xblade = new Xblade(); $xblade->scopeGlue(':'); // data to be passed to email template $data['user'] = $new_user; $data['activation_code'] = $activation_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_email_template'); $email_data = Email\Model\Template::find($template_id); //send email to user Email\Message::to($new_user->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.Thank you Please check your email to activate your new account')->get(APP_LANG); $this->data['message_type'] = 'success'; return Redirect::to('page/home')->with($this->data); } } return Redirect::to('signup')->with_errors($validation)->with_input(); }
public function put_set_language() { Settings\Config::set('settings::core.backend_language', Input::get('lang'), true); return Redirect::to(Input::get('redirect_to')); }