/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Maillist(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Maillist'])) { $model->attributes = $_POST['Maillist']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }
/** * @return mixed */ public function postMaillist() { $formData = array('email' => Input::get('email')); $rules = array('email' => 'required|email|unique:maillist,email'); $validation = Validator::make($formData, $rules); if ($validation->fails()) { return Redirect::action('MaillistController@getMaillist')->withErrors($validation)->withInput(); } $maillist = new Maillist(); $maillist->email = $formData['email']; $maillist->save(); //Notification::success('success'); return Redirect::action('HomeController@index'); }
/** * @param Request $request * @return mixed */ public function postMaillist(Request $request) { $formData = ['email' => $request->get('email')]; $rules = ['email' => 'required|email|unique:maillist,email']; $validation = Validator::make($formData, $rules); if ($validation->fails()) { return Redirect::action('MaillistController@getMaillist')->withErrors($validation)->withInput(); } $maillist = new Maillist(); $maillist->email = $formData['email']; $maillist->save(); Flash::info('success'); return Redirect::action('HomeController@index'); }
public function store() { $inputs = []; foreach (Input::all() as $key => $input) { if ($key == 'password' || $key == 'password_confirmation') { $inputs[$key] = $input; } else { $inputs[$key] = Jamesy\Sanitiser::trimInput($input); } } $validation = Jamesy\MyValidations::validate($inputs, array_merge(Setting::$rules, User::$rules)); if ($validation != NULL) { return Response::json($validation); } else { $setup = new Setting(); $setup->sitename = Input::get('sitename'); $setup->save(); $maillist = new Maillist(); $maillist->name = "General"; $maillist->save(); $tag = new Tag(); $tag->name = "Test Emails"; $tag->save(); try { $user = Sentry::register(array('email' => Input::get('email'), 'password' => Input::get('password_confirmation'), 'first_name' => Input::get('first_name'), 'last_name' => Input::get('last_name')), true); $group = Sentry::createGroup(['name' => 'Administrator']); $group = Sentry::createGroup(['name' => 'Publisher']); $group = Sentry::findGroupByName('Administrator'); $user->addGroup($group); return Response::json(["success" => "It's all ready! You are being redirected to the login page...", "url" => URL::to('dashboard/login')]); } catch (Cartalyst\Sentry\Users\LoginRequiredException $e) { return Response::json(["email" => "Email is required."]); } catch (Cartalyst\Sentry\Users\PasswordRequiredException $e) { return Response::json(["password" => "Password is required."]); } catch (Cartalyst\Sentry\Users\UserExistsException $e) { return Response::json(["email" => "Email is already taken."]); } } }
public function store() { $name = Jamesy\Sanitiser::trimInput(Input::get('name')); $validation = Jamesy\MyValidations::validate(['name' => $name], $this->rules); if ($validation != NULL) { return Redirect::back()->withErrors($validation)->withInput(); } else { if (Input::file('file')) { $fileValidation = Jamesy\MyValidations::validate(['file' => Input::file('file')], $this->fileSizeRules); if ($fileValidation != NULL) { return Redirect::back()->withErrors($fileValidation)->withInput(); } else { $maillist = new Maillist(); $maillist->name = $name; if (Input::get('active') == '0' || Input::get('active') == '1') { $maillist->active = Input::get('active'); } $maillist->save(); $input = Input::file('file'); $ext = pathinfo($input->getClientOriginalName(), PATHINFO_EXTENSION); if ($ext != 'xlt' && $ext != 'xls' && $ext != 'csv') { return Redirect::back()->withIssues('You attempted the import with an invalid file. File must be Excel or CSV')->withInput(); } else { $import = new Jamesy\Imports($input, $this->subscriberRules); $importResult = $import->getInsertArray(); if (is_array($importResult)) { $totalNum = $importResult[0]; $duplicatesNum = $importResult[1]; $passedArr = $importResult[2]; $passedNum = count($passedArr); $failedNum = (int) $totalNum - (int) $duplicatesNum - (int) $passedNum; $timestamp = $importResult[3]; $existingEmails = $importResult[4]; $newPassedArr = []; if ($maillist->active == 0) { foreach ($passedArr as $subscriber) { $subscriber['active'] = 0; $newPassedArr[] = $subscriber; } } else { $newPassedArr = $passedArr; } if (count($newPassedArr)) { Subscriber::insert($newPassedArr); $generalList = Maillist::find(1); $generalList->touch(); $maillist->touch(); $subscribers = Subscriber::where('created_at', $timestamp)->where('updated_at', $timestamp)->get(); foreach ($subscribers as $subscriber) { $generalList->subscribers()->attach($subscriber->id); $maillist->subscribers()->attach($subscriber->id); } } if (count($existingEmails)) { $alreadySubs = Subscriber::whereIn('email', $existingEmails)->get(); if (count($alreadySubs)) { foreach ($alreadySubs as $subscriber) { $maillist->subscribers()->attach($subscriber->id); if ($maillist->active == 0) { $subscriber->active = 0; $subscriber->save(); } } } } $message = "New list created."; $message .= "<br /><b>{$totalNum}</b> " . str_plural('row', $totalNum) . " found in excel file."; if ($duplicatesNum) { $message .= "<br /><b>{$duplicatesNum}</b> had duplicate email addresses."; } if ($passedNum == 1) { $message .= "<br /><b>1</b> out of the <b>" . ($totalNum - $duplicatesNum) . "</b> with unique emails passed validation and was stored."; } else { $message .= "<br /><b>{$passedNum}</b> out of the <b>" . ($totalNum - $duplicatesNum) . "</b> with unique emails passed validation and were stored."; } if ($failedNum == 1) { $message .= "<br /><b>1</b> out of the <b>" . ($totalNum - $duplicatesNum) . "</b> with unique emails failed validation (no first name, last name or bad email) and was NOT stored."; } elseif ($failedNum > 1) { $message .= "<br /><b>{$failedNum}</b> out of the <b>" . ($totalNum - $duplicatesNum) . "</b> with unique emails failed validation (no first name, last name or bad email) and were NOT stored."; } return Redirect::to('dashboard/lists')->withSuccess($message); } else { return Redirect::back()->withIssues($importResult); } } } } else { $maillist = new Maillist(); $maillist->name = $name; if (Input::get('active') == '0' || Input::get('active') == '1') { $maillist->active = Input::get('active'); } $maillist->save(); return Redirect::to('dashboard/lists')->withSuccess('New list created'); } } }