public function save_new_widget($data, $id_user) { $this->db->trans_start(); $array1 = array('site_url' => $data['site_url'], 'id_user' => $id_user, 'code_widget' => create_random_code(32), 'img_marker' => $data['new_img_marker'], 'img_map' => $data['new_img_map']); $this->db->insert('widgets', $array1); $id_widget = $this->db->insert_id(); if ($data['html_priv_transport'] != '') { $array2 = array('id_widget' => $id_widget, 'html_priv_transport' => htmlspecialchars($data['html_priv_transport'])); $this->db->insert('priv_transport', $array2); } if ($data['html_pub_transport'] != '') { $array3 = array('id_widget' => $id_widget, 'html_pub_transport' => htmlspecialchars($data['html_pub_transport'])); $this->db->insert('pub_transport', $array3); } if ($data['html_taxi'] != '') { $array4 = array('id_widget' => $id_widget, 'html_taxi' => htmlspecialchars($data['html_taxi'])); $this->db->insert('taxi', $array4); } if ($data['html_rent_car'] != '') { $array5 = array('id_widget' => $id_widget, 'html_rent_car' => htmlspecialchars($data['html_rent_car'])); $this->db->insert('rent_car', $array5); } if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 'error_insert'; } else { $this->db->trans_commit(); return $id_widget; } }
/** * функция добавления и редактирования "конвертика" * @param int $id */ public function add_widget() { if (!$this->authorization_model->check_auth()) { redirect('/p404', 'refresh'); } $upload_dir = FCPATH . self::PATH_TEMPORARY_UPLOADS; $final_folder = FCPATH . self::PATH_IMG; $id_user = $this->session->userdata('id_user'); $error_mass = ''; if ($this->input->post('phone') == '') { $error_mass .= '<span>Заполните поле "Номер телефона"</span><br/>'; } if ($this->input->post('email') == '') { $error_mass .= '<span>Заполните поле "Email отдела продаж"</span><br/>'; } if (mb_strlen($this->input->post('title_window')) > 49) { $error_mass .= '<span>Длина заголовка окна не должна превышать 49 символов</span><br/>'; } if (mb_strlen($this->input->post('content_window')) > 98) { $error_mass .= '<span>Длина контента окна не должна превышать 98 символов</span><br/>'; } if (mb_strlen($this->input->post('text_button')) > 28) { $error_mass .= '<span>Длина текста кнопки не должна превышать 28 символов</span><br/>'; } if ($this->input->post('site_url') == '') { $error_mass .= '<span>Заполните поле "Ссылка на сайт"</span><br/>'; } if ($this->input->post('title_window') != '') { $title_window = nl2br(strip_tags($this->input->post('title_window'), '<br>,<br/>'), FALSE); $count_br = substr_count($title_window, '<br/>') + substr_count($title_window, '<br>'); if ($count_br > 1) { $error_mass .= '<span>В заголовке окна не должно быть больше одного переноса на новую строку</span><br/>'; } } else { $title_window = 'Получите медиаплан уже сегодня!'; } if ($this->input->post('content_window') != '') { $content_window = nl2br(strip_tags($this->input->post('content_window'), '<br>,<br/>'), FALSE); $count_br = substr_count($content_window, '<br/>') + substr_count($content_window, '<br>'); if ($count_br > 2) { $error_mass .= '<span>В тексте окна не должно быть больше одного переноса на новую строку</span><br/>'; } } else { $content_window = 'Я перезвоню Вам для уточнения деталей <br>и помогу с заполнением брифа.'; } if ($this->input->post('name_uploaded_image') == '' && !$this->input->post('img_window')) { $error_mass .= '<span>Выберите изображение для "Конвертика"</span><br/>'; } if ($error_mass == '') { $data_array['options_widget'] = array('phone' => mysql_real_escape_string(strip_tags($this->input->post('phone'))), 'email' => mysql_real_escape_string(strip_tags($this->input->post('email'))), 'title_window' => $title_window, 'content_window' => $content_window, 'text_button' => $this->input->post('text_button') != '' ? mysql_real_escape_string(strip_tags(nl2br($this->input->post('text_button')))) : 'Позвоните в течение 15 минут', 'time_attention' => (int) $this->input->post('time_attention') * 1000, 'detect_exit' => $this->input->post('detect_exit') ? 1 : 0); if ($this->input->post('name_uploaded_image') != '') { $name_uploaded_image = $this->input->post('name_uploaded_image'); if ($this->input->post('id') != 0) { $check_img_exist = $this->generate_widget_model->check_img_exist($name_uploaded_image, $id_user, $this->input->post('id')); if (empty($check_img_exist)) { $result_save_img = $this->generate_widget_model->save_img($name_uploaded_image); if ($result_save_img == 'big_img' || $result_save_img == 'small_img') { $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Изображение должно быть размером 487 на 274 px</span><br/> <span>Допускается изображение на 10% большее этого размера</span>'; print_r(json_encode($data_ajax)); exit; } elseif ($result_save_img == 'error_save_img') { $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Произошла ошибка при загрузке изображения</span><br/>'; print_r(json_encode($data_ajax)); exit; } else { $img_window = $result_save_img; } } else { $img_window = mysql_real_escape_string(strip_tags($name_uploaded_image)); } } else { $result_save_img = $this->generate_widget_model->save_img($name_uploaded_image); if ($result_save_img == 'big_img' || $result_save_img == 'small_img') { $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Изображение должно быть размером 487 на 274 px</span><br/> <span>Допускается изображение на 10% большее этого размера</span>'; print_r(json_encode($data_ajax)); exit; } elseif ($result_save_img == 'error_save_img') { $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Произошла ошибка при загрузке изображения</span><br/>'; print_r(json_encode($data_ajax)); exit; } else { $img_window = $result_save_img; } } } else { $img_window = mysql_real_escape_string(strip_tags($this->input->post('img_window'))) . '.jpg'; } $data_array['options_widget']['img_window'] = $img_window; $data_array['site'] = array('site_url' => mysql_real_escape_string(strip_tags($this->input->post('site_url'))), 'id_user' => (int) $id_user); $data_ajax = array('site_url' => $data_array['site']['site_url'], 'email' => $data_array['options_widget']['email'], 'phone' => $data_array['options_widget']['phone']); if ($this->input->post('id') == 0) { $data_array['options_widget']['id_user'] = $id_user; do { $conversioner_code = create_random_code(32); $conv_code_exist = $this->generate_widget_model->check_conv_code_exist($conversioner_code); } while (!empty($conv_code_exist)); $data_array['options_widget']['conversioner_code'] = $conversioner_code; $data = $this->generate_widget_model->save_options_widget($data_array); if ($data != 'error_insert') { if (!$this->generate_widget($data)) { $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Произошла ошибка, попробуйте позже</span><br/>'; print_r(json_encode($data_ajax)); exit; } if ($this->input->post('name_uploaded_image') != '') { @unlink("{$upload_dir}/{$name_uploaded_image}"); } $data_ajax['id_widget'] = $data; $data_ajax['is_installed'] = 0; $data_ajax['is_active'] = 1; $data_ajax['is_update'] = 0; $data_ajax['status_ajax'] = 'ok'; print_r(json_encode($data_ajax)); exit; } else { $new_img_window = $data_array['options_widget']['img_window']; if ($new_img_window != 'man.jpg' && $new_img_window != 'wom.jpg') { @unlink("{$final_folder}/{$new_img_window}"); } $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Произошла ошибка, попробуйте позже</span><br/>'; print_r(json_encode($data_ajax)); exit; } } else { $old_img_window = $this->generate_widget_model->get_img_window_for_widget($this->input->post('id'), $id_user); $data = $this->generate_widget_model->update_options_widget($this->input->post('id'), $id_user, $data_array); if ($data == 'update_ok') { if (!$this->generate_widget($this->input->post('id'))) { $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Произошла ошибка, попробуйте позже</span><br/>'; print_r(json_encode($data_ajax)); exit; } if ($old_img_window != 'man.jpg' && $old_img_window != 'wom.jpg') { @unlink("{$final_folder}/{$old_img_window}"); } if ($this->input->post('name_uploaded_image') != '' && empty($check_img_exist)) { @unlink("{$upload_dir}/{$name_uploaded_image}"); } $data_status_widget = $this->generate_widget_model->get_active_instal_by_id($this->input->post('id'), $id_user); $data_ajax['is_installed'] = $data_status_widget['is_installed']; $data_ajax['is_active'] = $data_status_widget['is_active']; $data_ajax['id_widget'] = $this->input->post('id'); $data_ajax['is_update'] = 1; $data_ajax['status_ajax'] = 'ok'; print_r(json_encode($data_ajax)); exit; } else { $new_img_window = $data_array['options_widget']['img_window']; if ($new_img_window != 'man.jpg' && $new_img_window != 'wom.jpg') { @unlink("{$final_folder}/{$new_img_window}"); } $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = '<span>Произошла ошибка, попробуйте позже</span><br/>'; print_r(json_encode($data_ajax)); exit; } } } else { $data_ajax['status_ajax'] = 'error'; $data_ajax['error_mass'] = $error_mass; print_r(json_encode($data_ajax)); exit; } }
/** * функция востановления пароля (1-я часть - проверяется на существование email и отправляется код подтверждения на телефон пользователя) */ public function password_recovery() { $data['title'] = 'Восстановление пароля'; $data['other_js'] = array('js/script.js'); if ($this->input->post('email_password_recovery') == '') { echo '<span>Заполните поле "Введите Email"</span><br/>'; exit; } else { $this->load->library('transport'); $this->load->helper('work_helper'); $data_user = $this->authorization_model->check_email_exist($this->input->post('email_password_recovery')); if (empty($data_user)) { echo '<span>Данный email не найден</span><br/>'; exit; } $random_code = create_random_code(5); $params = array("text" => "Код: " . $random_code, "source" => "Conversion"); $phones = array($data_user['phone']); $send_status = $this->transport->send($params, $phones); if ($send_status['code'] == 1) { $data_session = array('id_user_password_recovery' => $data_user['id'], 'email_password_recovery' => $data_user['email'], 'code_confirm_password_recovery' => $random_code); $this->session->set_userdata($data_session); echo 'ok'; exit; } else { echo '<span>Произошла ошибка, повторите попытку позже</span><br/>'; exit; } } }