public function info($dealer = '') { try { if (empty($dealer)) { throw new Exception(); } if (is_numeric($dealer)) { $dealer_id = $dealer; } else { $segment = explode('-', $dealer); if (count($segment) == 1) { throw new Exception(); } $dealer_id = $segment[count($segment) - 1]; if (!is_numeric($dealer_id)) { throw new Exception(); } } $user_model = $this->load->model('user_model'); if (!($dealer_info = $user_model->get_user_by_id($dealer_id)) || !$dealer_info['is_dealer'] || $dealer_info['is_block']) { throw new Exception(); } if (is_numeric($dealer) && !empty($dealer_info['alias'])) { wp_redirect(AT_Common::site_url('dealer/info/' . trim($dealer_info['alias'] . '-' . $dealer_info['id'], '-') . '/'), 301); exit; } } catch (Exception $e) { AT_Core::show_404(); } switch ($dealer_info['layout']) { case 'layout_2': $layout = 'content'; $right_side = 'content/right_side'; break; default: $layout = 'content_right'; $right_side = 'right_side'; break; } $car_model = $this->load->model('car_model'); $reference_model = $this->load->model('reference_model'); $dealer_contact = array(); $affiliate = $user_model->get_dealer_main_affiliate($dealer_info['id']); if ($affiliate) { $phones = array(); if (trim($affiliate['phone']) != '') { $phones[] = trim($affiliate['phone']); } if (trim($affiliate['phone_2']) != '') { $phones[] = trim($affiliate['phone_2']); } $dealer_contact = array('phones' => implode('<br/>', $phones), 'email' => $affiliate['email'], 'adress' => (!empty($affiliate['region']) ? $affiliate['region'] . ', ' : '') . $affiliate['adress'], 'url' => AT_Common::site_url('dealer/info/' . trim($dealer_info['alias'] . '-' . $dealer_info['id'], '-') . '/')); } $affiliates = $user_model->get_dealer_affiliates($dealer_info['id']); $paginator = $this->load->library('paginator'); $paginator = $paginator->get(3, $car_model->get_cars_count_by_user_id($dealer_info['id']), $dealer_info['per_page']); $this->breadcrumbs->add_item(__('Catalog', AT_TEXTDOMAIN), 'catalog'); $this->breadcrumbs->add_item($dealer_info['name'], 'dealer/info/' . trim($dealer_info['alias'] . '-' . $dealer_info['id'], '-') . '/'); $this->view->use_layout('header_' . $layout . '_footer')->add_block('page_title', 'general/page_title', array('page_title' => $dealer_info['name']))->add_block($right_side, 'dealer/right_side', array('dealer_info' => $dealer_info, 'dealer_contact' => $dealer_contact, 'affiliate' => $affiliate, 'affiliates' => $user_model->get_dealer_affiliates($dealer_info['id'])))->add_block('content', 'dealer/info', array('layout' => $layout, 'best_offers' => $car_model->get_best_offers($dealer_info['id']), 'cars' => $car_model->get_cars_by_user_id($dealer_info['id'], $paginator['offset'], $paginator['per_page'])))->add_block('content/pagination', 'general/pagination', $paginator); }
public function __construct() { parent::__construct(); if ($this->core->get_option('site_type', 'mode_soletrader') != 'mode_partnership' && $this->uri->segments(1) != 'unlogged') { AT_Core::show_404(); } }
public function registration() { if ($this->core->get_option('site_type', 'mode_soletrader') == 'mode_soletrader' || !$this->core->get_option('registration_enable', true)) { AT_Core::show_404(); } if ($this->uri->is_ajax_request() && !empty($_POST) && !AT_Common::is_user_logged()) { try { if (!$this->validation->run('registration')) { throw new Exception(serialize($this->validation->get_errors())); } $user_model = $this->load->model('user_model'); $data = array('name' => $_POST['name'], 'email' => $_POST['email'], 'password' => $_POST['pass'], 'is_dealer' => 0); $user_id = $user_model->create($data); $data = array('logged' => true, 'user_id' => $user_id); $this->session->sess_create($data); $user_model = $this->load->model('user_model'); $mail_model = $this->load->model('mail_model'); $user_info = $user_model->get_user_by_id($user_id); $code = $user_model->get_confirm_email_code($user_info['id'], $user_info['email']); $data = array('username' => $user_info['name'], 'confirm_url' => AT_Common::site_url('auth/confirm_email/' . $code . '/'), 'confirm_code' => $code); $mail_model->send('template_mail_confirm_email', $user_info['email'], $data); $response = array('status' => 'OK', 'redirect_url' => AT_Common::site_url('/profile/')); } catch (Exception $e) { $response = array('status' => 'ERROR', 'message' => unserialize($e->getMessage())); } $this->view->add_json($response)->display(); exit; } if (!AT_Common::is_user_logged()) { $this->view->use_layout('header_content2_footer'); $this->view->add_block('content', 'auth/registration', array('background' => $this->_get_rand_bg())); } else { AT_Common::redirect('profile/'); } }
public function want_be_dealer() { if (!$this->uri->is_ajax_request() || empty($_POST) || !isset($_POST['comment'])) { AT_Core::show_404(); } try { $comment = trim($_POST['comment']); if (empty($comment)) { throw new Exception(__('Comment is empty!', AT_TEXTDOMAIN)); } $mail_model = $this->load->model('mail_model'); $user_info = $this->registry->get('user_info'); $data = array('username' => $user_info['name'], 'comment' => $comment); $adm_email = get_option('admin_email'); if (!$mail_model->send('template_mail_notify_want_be_dealer', $adm_email, $data, $user_info['email'], $user_info['name'])) { throw new Exception(__('Error send email! Try later.', AT_TEXTDOMAIN)); } $response = array('status' => 'OK', 'message' => __('The request was sent.', AT_TEXTDOMAIN)); } catch (Exception $e) { $response = array('status' => 'ERROR', 'message' => $e->getMessage()); } $this->view->add_json($response)->display(); exit; }
public function ajax_add_offer($car_id = '') { $car_id = (int) $car_id; if (!$this->uri->is_ajax_request() || $car_id == 0) { AT_Core::show_404(); } $car_model = $this->load->model('car_model'); if (!($car_info = $car_model->get_car_info($car_id))) { AT_Core::show_404(); } try { if (!$this->validation->run('add_offer')) { throw new Exception(serialize($this->validation->get_errors())); } $mail_model = $this->load->model('mail_model'); $user_model = $this->load->model('user_model'); $owner_info = $user_model->get_user_by_id($car_info['options']['_owner_id']); $dealer_email = ''; if ($owner_info['is_dealer']) { if ($car_info['options']['_affiliate_id'] > 0) { $affiliate = $user_model->get_dealer_affiliate_by_id($car_info['options']['_affiliate_id']); } if (empty($affiliate)) { $affiliate = $user_model->get_dealer_main_affiliate($car_info['options']['_owner_id']); } if ($affiliate) { $dealer_email = $affiliate['email']; } } if (!$owner_info['is_dealer'] || $dealer_email == '') { $dealer_email = $owner_info['email']; } $cost = AT_Common::show_full_price($value = $car_info['options']['_price'], $currency = $car_info['options']['_currency_id']); $data = array('dealer_name' => $owner_info['name'], 'username' => $_POST['fullname'], 'user_email' => $_POST['email'], 'car_name' => trim($car_info['options']['_manufacturer_id']['name'] . ' ' . $car_info['options']['_model_id']['name'] . ' ' . $car_info['options']['_version']), 'cost' => $cost, 'offer_details' => $_POST['offer_details'], 'link_car' => get_permalink($car_id)); if (!$mail_model->send('template_mail_add_offer', $dealer_email, $data, $_POST['email'], $_POST['fullname'])) { throw new Exception(serialize(array('email' => __('Error send email! Try later.', AT_TEXTDOMAIN)))); } $response = array('status' => 'OK', 'message' => __('The offer was sent.', AT_TEXTDOMAIN)); } catch (Exception $e) { $response = array('status' => 'ERROR', 'message' => unserialize($e->getMessage())); } $this->view->add_json($response)->display(); }
public function single() { $car_model = $this->load->model('car_model'); $user_model = $this->load->model('user_model'); if (!($car_info = $car_model->get_car_info(get_the_ID()))) { AT_Core::show_404(); } $car_model->set_car_views(get_the_ID()); $reference_model = $this->load->model('reference_model'); $photo_model = $this->load->model('photo_model'); $owner_info = $user_model->get_user_by_id($car_info['options']['_owner_id']); $contacts_owner = array(); if ($owner_info['is_dealer']) { if ($car_info['options']['_affiliate_id'] > 0) { $affiliate = $user_model->get_dealer_affiliate_by_id($car_info['options']['_affiliate_id']); } if (empty($affiliate)) { $affiliate = $user_model->get_dealer_main_affiliate($car_info['options']['_owner_id']); } if ($affiliate) { $phones = array(); if (!empty($affiliate['phone'])) { $phones[] = $affiliate['phone']; } if (!empty($affiliate['phone_2'])) { $phones[] = $affiliate['phone_2']; } $contacts_owner = array('phones' => implode(', ', $phones), 'email' => $affiliate['email'], 'adress' => (!empty($affiliate['region']) ? $affiliate['region'] . ', ' : '') . $affiliate['adress'], 'url' => AT_Common::site_url('dealer/info/' . trim($owner_info['alias'] . '-' . $car_info['options']['_owner_id'], '-') . '/'), 'add_offer' => true, 'is_dealer' => true, 'name' => $owner_info['name'], 'photo' => $owner_info['photo']); } else { $phones = array(); if (!empty($owner_info['phone'])) { $phones[] = $owner_info['phone']; } if (!empty($owner_info['phone_2'])) { $phones[] = $owner_info['phone_2']; } $contacts_owner = array('phones' => implode(', ', $phones), 'email' => '', 'adress' => '', 'url' => AT_Common::site_url('dealer/info/' . trim($owner_info['alias'] . '-' . $car_info['options']['_owner_id'], '-') . '/'), 'add_offer' => true, 'is_dealer' => true, 'name' => $owner_info['name'], 'photo' => $owner_info['photo']); } } else { $phones = array(); if (!empty($owner_info['phone'])) { $phones[] = $owner_info['phone']; } if (!empty($owner_info['phone_2'])) { $phones[] = $owner_info['phone_2']; } if (isset($owner_info['region_id'])) { $region = $reference_model->get_region_by_id($owner_info['region_id']); } $contacts_owner = array('phones' => implode(', ', $phones), 'email' => $owner_info['email'], 'adress' => !empty($region['name']) ? $region['name'] : '', 'url' => '', 'add_offer' => false, 'is_dealer' => false, 'name' => $owner_info['name'], 'photo' => $owner_info['photo']); } $this->breadcrumbs->add_item(__('Catalog', AT_TEXTDOMAIN), 'catalog/'); if ($manufacturer_data = $reference_model->get_manufacturer_by_id($car_info['options']['_manufacturer_id'])) { $this->breadcrumbs->add_item($manufacturer_data['name'], 'catalog/' . $manufacturer_data['alias']); if ($model_data = $reference_model->get_model_by_id($car_info['options']['_model_id'])) { $this->breadcrumbs->add_item($model_data['name'], 'catalog/' . $manufacturer_data['alias'] . '/' . $model_data['alias']); } } $this->breadcrumbs->add_item($car_info['post_title'], ''); $this->view->use_layout('header_content_footer')->add_block('content', 'car/view', array('car_info' => $car_info, 'contacts_owner' => $contacts_owner, 'car_photos' => $photo_model->get_photos_by_post(get_the_ID(), 'car'), 'equipments' => $reference_model->get_equipments(), 'car_views' => $car_model->get_car_views(get_the_ID()), 'is_dealer' => $owner_info['is_dealer']))->add_block('content/recent_cars', 'car/recent_cars', array('cars' => $car_model->get_similar_car(get_the_ID()))); //->add_block('content/loan_calculator', 'additions/loan_calculator'); }
public function upload() { if (empty($_POST) || empty($_FILES) || !isset($_FILES["file"])) { AT_Core::show_404(); } $_file_a = explode('.', $_FILES["file"]["name"]); if (count($_file_a) <= 1) { //AT_Core::show_404(); $file_name = uniqid("car_") . '.jpg'; } else { $file_name = uniqid("car_") . '.' . $_file_a[count($_file_a) - 1]; } //$file_name = uniqid("car_") . '.' . $_file_a[count($_file_a)-1]; $targetDir = AT_DIR_THEME . '/uploads'; $cleanupTargetDir = false; // Remove old files $maxFileAge = 5 * 3600; // Temp file age in seconds $filePath = $targetDir . DIRECTORY_SEPARATOR . $file_name; // Chunking might be enabled $chunk = isset($_REQUEST["chunk"]) ? intval($_REQUEST["chunk"]) : 0; $chunks = isset($_REQUEST["chunks"]) ? intval($_REQUEST["chunks"]) : 0; try { // Open temp file if (!($out = @fopen("{$filePath}.part", $chunks ? "ab" : "wb"))) { throw new Exception('{"status" : "ERROR", "code": 102, "message": "Failed to open output stream."}'); } if (!empty($_FILES)) { if ($_FILES["file"]["error"] || !is_uploaded_file($_FILES["file"]["tmp_name"])) { throw new Exception('{"status" : "ERROR", "code": 103, "message": "Failed to move uploaded file."}'); } // Read binary input stream and append it to temp file if (!($in = @fopen($_FILES["file"]["tmp_name"], "rb"))) { throw new Exception('{"status" : "ERROR", "code": 101, "message": "Failed to open input stream."}'); } } else { if (!($in = @fopen("php://input", "rb"))) { throw new Exception('{"status" : "ERROR", "code": 101, "message": "Failed to open input stream."}'); } } while ($buff = fread($in, 4096)) { fwrite($out, $buff); } @fclose($out); @fclose($in); // Check if file has been uploaded if (!$chunks || $chunk == $chunks - 1) { // Strip the temp .part suffix off rename("{$filePath}.part", $filePath); } // Return Success JSON-RPC response $response = '{"status" : "OK", "file_name" : "' . $file_name . '", "file_name_url" : "' . AT_Common::static_url('uploads/' . $file_name) . '"}'; throw new Exception($response); } catch (Exception $e) { $this->view->add_json(json_decode($e->getMessage()))->display(); } }