98 lines
5.2 KiB
PHP
98 lines
5.2 KiB
PHP
<?php
|
|
class Forms_model extends CI_Model {
|
|
public function __construct() {
|
|
$this->load->helper(array('form', 'url'));
|
|
$this->load->library('form_validation');
|
|
$this->form_validation->set_error_delimiters('<span class="error">', '</span>');
|
|
}
|
|
public function contact() {
|
|
$this->load->library('email');
|
|
$this->form_validation->set_rules('name', 'lang:full_name', 'required');
|
|
$this->form_validation->set_rules('email', 'lang:email', 'required|valid_email');
|
|
$this->form_validation->set_rules('message', 'lang:message', 'required');
|
|
if($this->form_validation->run() == false) {
|
|
return $this->load->view('forms/contact', '', TRUE);
|
|
} else {
|
|
$data['name'] = $_POST['name'];
|
|
$data['email'] = $_POST['email'];
|
|
$data['message'] = $_POST['message'];
|
|
|
|
$this->email->from('robot@eastside.se', 'Eastern Galleries: Robot');
|
|
$this->email->to('linus@linusmiller.se');
|
|
$this->email->subject('Intresseanmälan från ' . $data['name']);
|
|
$this->email->message($this->load->view('emails/contact_form', $data, TRUE));
|
|
unset($data);
|
|
if($this->email->send()) {
|
|
$data['message'] = 'Tack! Ditt meddelande behandlas och vi kontaktar dig så fort som möjligt.';
|
|
return $this->load->view('forms/success', $data, TRUE);
|
|
} else {
|
|
$data['message'] = $this->email->print_debugger();
|
|
return $this->load->view('forms/fail', $data, TRUE);
|
|
}
|
|
}
|
|
}
|
|
public function newsletter() {
|
|
$this->form_validation->set_rules('email_newsletter', 'lang:email', 'required|valid_email');
|
|
if($this->form_validation->run() == false) {
|
|
return $this->load->view('forms/newsletter', '', TRUE);
|
|
} else {
|
|
$this->load->model('newsletter_model');
|
|
$data['legend'] = 'Din email';
|
|
if($this->newsletter_model->add_email($_POST['email_newsletter']) > 0) {
|
|
$data['message'] = 'Din epostaddress har lags till i vår mailinglista!';
|
|
return $this->load->view('forms/success', $data, TRUE);
|
|
} else {
|
|
$data['message'] = 'Error!';
|
|
return $this->load->view('forms/fail', $data, TRUE);
|
|
}
|
|
}
|
|
|
|
}
|
|
public function order($id) {
|
|
$this->form_validation->set_rules('name', 'lang:name', 'required');
|
|
$this->form_validation->set_rules('co', 'lang:co', '');
|
|
$this->form_validation->set_rules('street', 'lang:street', 'required');
|
|
$this->form_validation->set_rules('postcode', 'lang:postcode', 'required|numeric|exact_length[5]');
|
|
$this->form_validation->set_rules('region', 'lang:region', 'required');
|
|
$this->form_validation->set_rules('phone', 'lang:phone', 'required|numeric|min_length[7]');
|
|
$this->form_validation->set_rules('email', 'lang:email', 'required|valid_email');
|
|
if($this->form_validation->run() == false) {
|
|
return $this->load->view('forms/order', array('id' => $id), TRUE);
|
|
} else {
|
|
$this->load->model('gallery_model');
|
|
$status = $_POST['payment'] == 'pre' ? 1 : 2;
|
|
if($this->gallery_model->set_painting_status($id, $status) > 0) {
|
|
$data['title'] = 'test';
|
|
$data['name'] = $_POST['name'];
|
|
$data['email'] = $_POST['email'];
|
|
$data['phone'] = $_POST['phone'];
|
|
$data['street'] = $_POST['street'];
|
|
$data['co'] = $_POST['co'];
|
|
$data['postcode'] = $_POST['postcode'];
|
|
$data['region'] = $_POST['region'];
|
|
$data['payment'] = $_POST['payment'];
|
|
$data['painting'] = $this->gallery_model->get_painting_by_id($id);
|
|
$data['reference'] = $this->gallery_model->get_reference();
|
|
|
|
$this->email->from('robot@eastside.se', 'Eastern Galleries: Orders');
|
|
$this->email->to($data['email']);
|
|
$this->email->bcc('orders@easterngalleries.se');
|
|
$this->email->subject('Orderbekräftelse för tavla #' . $data['painting']['code'] . ' från Eastside');
|
|
$this->email->message($this->load->view('emails/order_confirmation', $data, TRUE));
|
|
unset($data);
|
|
if($this->email->send()) {
|
|
$data['message'] = 'Ditt köp har registrerats! Om du valt att betala via förskottsbetalning, skickas din tavla först när betalningen är oss tillhanda. För alla andra sätt skickas tavlan omgående och du kommer att få en leveransbekräftelse inom några dagar.';
|
|
$data['button'] = array('class' => 'reload', 'text' => 'Stöng');
|
|
return $this->load->view('forms/success', $data, TRUE);
|
|
} else {
|
|
$data['message'] = 'Din order har registrerats men det blev ett fel med orderbekräftelsen. Kontakta Eastern Galleries snarast.';
|
|
return $this->load->view('forms/fail', $data, TRUE);;
|
|
}
|
|
}
|
|
else {
|
|
return "Det uppstod ett problem när databasen skulle uppdateras.";
|
|
}
|
|
}
|
|
}
|
|
}
|