public function send_email_html($to, $subject, $html_content) { $this->SPApiProxy = new SendpulseApi('0ed2c31302827e4aa2350c5046a8a965', 'e3088fce634d31defb76663e233eb307', 'file'); $email = array('html' => $html_content, 'text' => '', 'subject' => $subject, 'from' => array('name' => MainSiteConfig::get_item('email_from_name'), 'email' => MainSiteConfig::get_item('noreply_email')), 'to' => array(array('name' => '', 'email' => $to))); ob_start(); $this->SPApiProxy->smtpSendMail($email); $res = ob_get_clean(); }
public function get_header($title = '', $css = '', $data = []) { $this->data['css'] = array_unique(explode(',', $css)); $this->data['title'] = $title ? $title : MainSiteConfig::get_item('site_title'); if (!empty($data)) { $this->data = array_merge($this->data, $data); } return $this->CI->load->view('/theme/header', $this->data, TRUE); }
public function add_user($data) { $active_code = md5(MainSiteConfig::get_item('encryption_key') . $data['email'] . mktime()); $this->db->insert('account', array('id' => '', 'create_date' => date('Y-m-d H:i:s'), 'email' => strtolower($data['email']), 'password' => md5(MainSiteConfig::get_item('encryption_key') . $data['password']), 'is_active' => 0, 'is_blocked' => 0, 'active_code' => $active_code)); $user_account = $this->db->get_where('account', array('email' => $data['email']))->row(); if ($user_account->id) { $this->db->insert('profile', array('id' => '', 'user_id' => $user_account->id, 'first_name' => $data['first_name'], 'second_name' => $data['second_name'], 'birthday' => date('Y-m-d H:i:s', strtotime($data['birthday'])), 'sex' => $data['sex'], 'account_type' => $data['account'])); return array('status' => 'success', 'error' => 'Регистрация завершена!', 'active_code' => $active_code, 'email' => $user_account->email); } else { return array('status' => 'error', 'error' => 'Регистрация не завершена. Попробуйте позже!'); } }
public function login($email, $password) { $email = strtolower($email); $res = $this->CI->db->get_where('account', array('email' => $email, 'password' => md5(MainSiteConfig::get_item('encryption_key') . $password)))->row(); if ($res->id) { if ($res->is_active) { $user_info = $this->CI->db->get_where('profile', array('user_id' => $res->id))->row(); $user_info->email = $res->email; $user_info->create_date = $res->create_date; $this->user_login($user_info); return array('status' => 'success'); } else { return array('status' => 'error', 'error' => 'Аккаунт не активирован. Если вам не пришло письмо с активацией вашего профиля, воспользуйтесь системой восстановления пароля.'); } } else { return array('status' => 'error', 'error' => 'Пользователя с такими данными не существует.'); } }
| | 'ssl_key' - Path to the private key file | 'ssl_cert' - Path to the public key certificate file | 'ssl_ca' - Path to the certificate authority file | 'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format | 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':') | 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only) | | ['compress'] Whether or not to use client compression (MySQL only) | ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections | - good for ensuring strict SQL while developing | ['ssl_options'] Used to set various SSL options that can be used when making SSL connections. | ['failover'] array - A array with 0 or more data for connections if the main should fail. | ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries. | NOTE: Disabling this will also effectively disable both | $this->db->last_query() and profiling of DB queries. | When you run a query, with this setting set to TRUE (default), | CodeIgniter will store the SQL statement for debugging purposes. | However, this may cause high memory usage, especially if you run | a lot of SQL queries ... disable this to avoid that problem. | | The $active_group variable lets you choose which connection group to | make active. By default there is only one group (the 'default' group). | | The $query_builder variables lets you determine whether or not to load | the query builder class. */ $active_group = 'default'; $query_builder = TRUE; $db['default'] = array('dsn' => '', 'hostname' => MainSiteConfig::get_item('db_host'), 'username' => MainSiteConfig::get_item('db_user'), 'password' => MainSiteConfig::get_item('db_password'), 'database' => MainSiteConfig::get_item('db_name'), 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => ENVIRONMENT !== 'production', 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE);
<div class="panel_content"> <div class="reg_advantage"> <ul> <li><strong>Загрузка фотографий</strong> максимаотна упрощена для вас.</li> <li><strong>Количество</strong> фотографий в каждый альбом является ограниченным. Для пользователей с пометкой <strong>PROFI</strong> в альбом загружаются до <strong><?php echo MainSiteConfig::get_profi_parametrs('profi_photo_count'); ?> </strong> фотографий и до <strong><?php echo MainSiteConfig::get_profi_parametrs('non_profi_photo_count'); ?> </strong> фотографий для всех остальных пользователей.</li> <li><strong>В лучшие</strong> работы вы можете добавить фотографии, которые вы сами считаете вашими лучшими работами. Ограничение на количество фотографий в разделе составдяет до <strong><?php echo MainSiteConfig::get_profi_parametrs('profi_best_photos'); ?> </strong> для пользователей с пометкой <strong>PROFI</strong> и до <strong><?php echo MainSiteConfig::get_profi_parametrs('non_profi_best_photos'); ?> </strong> фотографий для всех остальных пользователей. </li> </ul> </div> <p class="btn_more"> <a href="<?php echo base_url('/profile/edit_portfolio'); ?> "><i class="fa fa-angle-left"></i> Вернуться к портфолио</a> </p> </div> </div> </div>
</div> </div> <div class="clearfix"></div> </div> </div> <div class="grid_4 panel"> <div class="panel_title">Информация и подсказки</div> <div class="panel_content"> <div class="reg_advantage"> <ul> <li><strong>Аватар</strong> дает <strong><?php echo MainSiteConfig::get_rating_value('avatar'); ?> </strong> баллов к рейтингу.</li> <li><strong>Аватар</strong> будет состоять их двух версий: маленький, для верхнего отображения, и большого, для отображения в профиле пользователя.</li> <li><strong>Аватар</strong> будет будет иметь размер в 260 пикселей в ширину.</li> </ul> </div> <p class="btn_more"> <a href="<?php echo base_url('/profile/'); ?> "><i class="fa fa-angle-left"></i> Вернуться к профилю</a> </p> </div> </div>
} ?> </div> </div> <div class="grid_4 panel"> <div class="panel_title">Информация и подсказки</div> <div class="panel_content"> <div class="reg_advantage"> <ul> <li><strong>Портфолио</strong> включает себя альбомы для каждого вида жанра вашего типа акканута.</li> <li><strong>Количество</strong> фотографий в каждый альбом является ограниченным. Для пользователей с пометкой <strong>PROFI</strong> в альбом загружаются до <strong><?php echo MainSiteConfig::get_profi_parametrs('profi_photo_count'); ?> </strong> фотографий и до <strong><?php echo MainSiteConfig::get_profi_parametrs('non_profi_photo_count'); ?> </strong> фотографий для всех остальных пользователей.</li> <li><strong>Дополнительные альбомы</strong> доступны только для пользователей с пометкой <strong>PROFI</strong></li> <li><strong>Загрузка фотографий</strong> происходит в автоматическом режиме и нет ограничений на размер фотографии.</li> </ul> </div> <p class="btn_more"> <a href="<?php echo base_url('/profile/'); ?> "><i class="fa fa-angle-left"></i> Вернуться к профилю</a> </p> </div> </div>
</form> </div> </div> <div class="clearfix"></div> </div> </div> <div class="grid_4 panel"> <div class="panel_title">Информация и подсказки</div> <div class="panel_content"> <div class="reg_advantage"> <ul> <li><strong>Название альбомы</strong> вы задаете самостоятельно. Не лишайте название смысловой нагрузки.</li> <li><strong>Дополнительных альбомов</strong> вы можете создать не более <strong><?php echo MainSiteConfig::get_profi_parametrs('profi_personal_albums_count'); ?> </strong></li> </ul> </div> <p class="btn_more"> <a href="<?php echo base_url('/profile/edit_portfolio'); ?> "><i class="fa fa-angle-left"></i> Вернуться к портфолио</a> </p> </div> </div> </div> <?php
public function save_user_action($title, $text = '', $image = '', $end_date = '') { if ($end_date) { } else { $end_date = mktime(0, 0, 0, date("m"), date("d"), date("Y")); $end_date = date("Y-m-d H:i:s", strtotime("+1 month", $end_date)); } $this->db->insert('actions', array('id' => '', 'user_id' => $this->session->userdata('user_info')->user_id, 'create_date' => date("Y-m-d H:i:s"), 'end_date' => $end_date, 'title' => substr($title, 0, 255), 'text' => $text, 'image' => $image)); $this->update_rating(MainSiteConfig::get_rating_value('actions')); }
</div> <div class="grid_4 panel"> <div class="panel_title">Информация и подсказки</div> <div class="panel_content"> <div class="reg_advantage"> <ul> <li><strong>Вид аккаунта</strong> - это вид вашего профиля. Он указыается при регистрации и изменить его нельзя.</li> <li><strong>Специализация</strong> - это любимый жанр в вашей профессии.</li> <li><strong>Опыт работы</strong> является одним из наиболее важных критериев при выборе исполнителя. Отнеситесь внимательно к заполнению его значения.</li> <li><strong>Стоимость услуг</strong> определяется вами. Укажите значение для типа стоимости.</li> <li><strong>Тип стоимости</strong> - это возможные варианты оплаты за ваши услуги. Либо за проект, либо почасовая оплата.</li> <li><strong>Дополнительная информация</strong> - это небольшая информация для ваших потенциальных клиентов. Ограничена <strong><?php echo MainSiteConfig::get_profi_parametrs('profi_about_length'); ?> -ми</strong> символами ( включая пробелы ) для профиля с пометкой <strong>PROFI</strong> и <strong><?php echo MainSiteConfig::get_profi_parametrs('non_profi_about_length'); ?> -ми</strong> символами для стандартных профилей.</li> <li><strong>Дополнительные специализации</strong> увеличивают ваш шанс найти клиентов не по основной специализации. Дополнительные специализации доступны только для профиля с пометкой <strong>PROFI</strong>.</li> </ul> </div> <p class="btn_more"> <a href="<?php echo base_url('/profile/'); ?> "><i class="fa fa-angle-left"></i> Вернуться к профилю</a> </p> </div> </div>
if (!$user_info->user_id) { ?> <a href="<?php echo base_url('/account/login'); ?> " class="btn btn_blue">Войти</a> <?php } else { ?> <div class="login_area_user"> <div class="user_name"> <a href="<?php echo base_url('/profile'); ?> "><img src="<?php echo $user_info->small_photo ? $user_info->small_photo : MainSiteConfig::get_item('not_avatar_small')[$user_info->sex]; ?> "></a> <a href="<?php echo base_url('/profile'); ?> "><?php echo $user_info->first_name . ' ' . $user_info->second_name; ?> </a> </div> <div class="logout"> <a href="<?php echo base_url('/account/logout'); ?> " class="btn btn_red">Выйти</a>
?> </strong> баллов к рейтингу. </li> <li> <strong>Одноклассники</strong> ссылка на ваш профиль или вашу группу. <br/> Дополнительно + <strong><?php echo MainSiteConfig::get_rating_value('ok'); ?> </strong> баллов к рейтингу. </li> <li> <strong>WEB сайт</strong> ссылка на ваш личный web сайт. <br/> Дополнительно + <strong><?php echo MainSiteConfig::get_rating_value('site'); ?> </strong> баллов к рейтингу. </li> <li> <strong>Рейтинг</strong> имеет огромную роль при поиске и выборе исполнителя. Помните об этом. </li> </ul> </div> <p class="btn_more"> <a href="<?php echo base_url('/profile/'); ?> "><i class="fa fa-angle-left"></i> Вернуться к профилю</a> </p> </div>
| How many seconds between CI regenerating the session ID. | | 'sess_regenerate_destroy' | | Whether to destroy session data associated with the old session ID | when auto-regenerating the session ID. When set to FALSE, the data | will be later deleted by the garbage collector. | | Other session cookie settings are shared with the rest of the application, | except for 'cookie_prefix' and 'cookie_httponly', which are ignored here. | */ $config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = MainSiteConfig::get_item('site_set_session_path'); $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE; /* |-------------------------------------------------------------------------- | Cookie Related Variables |-------------------------------------------------------------------------- | | 'cookie_prefix' = Set a cookie name prefix if you need to avoid collisions | 'cookie_domain' = Set to .your-domain.com for site-wide cookies | 'cookie_path' = Typically will be a forward slash | 'cookie_secure' = Cookie will only be set if a secure HTTPS connection exists. | 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript) | | Note: These settings (with the exception of 'cookie_prefix' and
public function try_forgot_2() { if ($this->userlib->is_logined()) { redirect('/profile'); } else { if ($this->input->post('password') && $this->input->post('repassword') && $this->input->post('password') == $this->input->post('repassword')) { $email = $this->themelib->getSessionValue('forgot_email'); if ($email) { $this->db->update('account', array('is_active' => 1, 'active_code' => '', 'password' => md5(MainSiteConfig::get_item('encryption_key') . $this->input->post('password'))), array('email' => $email)); $this->session->set_userdata('success', 'Пароль успешно изменен! Авторизуйтесь с помощью нового пароля.'); redirect('/account/login'); } else { $this->session->set_userdata('error', 'Пароль изменить невозможно!'); redirect('/account/login'); } } else { $this->session->set_userdata('error', 'Пароли не совпадают.'); redirect('/account/login'); } } }
<div class="panel_title">Информация и подсказки</div> <div class="panel_content"> <div class="reg_advantage"> <ul> <li><strong>Акции</strong> исполнитель сам назначает для своих потенциоальных клиентов.</li> <li><strong>Количество</strong> акций от одного исполнителя является ограниченным. Для пользователей с пометкой <strong>PROFI</strong> допускается до <strong><?php echo MainSiteConfig::get_profi_parametrs('profi_actions'); ?> </strong> акций одновременно и до <strong><?php echo MainSiteConfig::get_profi_parametrs('non_profi_actions'); ?> </strong> акций для всех остальных пользователей.</li> <li><strong>Формат</strong> оформления акции допускает как просто <strong>изображение</strong> (рекламный баннер) так и <strong>изображение + текст</strong>.</li> <li><strong>Загрузка фотографий</strong> происходит в автоматическом режиме и нет ограничений на размер фотографии.</li> <li><strong>Размещение</strong> новых акций повышает ваш рейтинг на <strong><?php echo MainSiteConfig::get_rating_value('actions'); ?> </strong> баллов.</li> </ul> </div> <p class="btn_more"> <a href="<?php echo base_url('/profile/'); ?> "><i class="fa fa-angle-left"></i> Вернуться к профилю</a> </p> </div> </div> </div> <?php
<div class="clearfix"></div> </div> <div class="grid_4"> <div class=" panel dark_blue_panel"> <div class="panel_title text_align_center"> <?php echo $user_info->first_name . ' ' . $user_info->second_name; ?> </div> <div class="panel_content"> <div class="rigth_panel_avatar"> <img src="<?php echo $user_info->big_photo ? $user_info->big_photo : MainSiteConfig::get_item('not_avatar_big')[$user_info->sex]; ?> "> <a href="<?php echo base_url('/profile/edit_avatar'); ?> ">Редактировать аватар</a> <a href="<?php echo base_url('/profile/profi'); ?> " class="profi">Купить <strong>PROFI</strong></a> <a href="<?php echo base_url('/mailbox'); ?> "><i class="fa fa-send"></i> Отправить сообщение</a> </div>
public function payment_response() { $out_summ = $_POST["OutSum"]; $inv_id = $_POST['InvId']; $mrh_pass1 = MainSiteConfig::get_robokassa_item('test_password_2'); $shp_item = $_POST['Shp_item']; $crc = md5("{$out_summ}:{$inv_id}:{$mrh_pass1}:Shp_item={$shp_item}"); if ($crc == $_POST['crc']) { $this->profile_model->plus_balance($out_summ, $inv_id, $shp_item); $this->userlib->reload_user_info(); } }