function applet_config() { // получаем оригинальный конфиг $config = cmsConfig::getDefaultConfig(); global $_LANG; global $adminAccess; if (!cmsUser::isAdminCan('admin/config', $adminAccess)) { cpAccessDenied(); } cmsCore::c('page')->setTitle($_LANG['AD_SITE_SETTING']); cpAddPathway($_LANG['AD_SITE_SETTING'], 'index.php?view=config'); $do = cmsCore::request('do', 'str', 'list'); if ($do == 'save') { if (!cmsUser::checkCsrfToken()) { cmsCore::error404(); } $newCFG = cmsCore::getArrayFromRequest(array('scheme' => array('scheme', array('http', 'https'), ''), 'sitename' => array('sitename', 'str', ''), 'title_and_sitename' => array('title_and_sitename', 'int', 0), 'title_and_page' => array('title_and_page', 'int', 0), 'hometitle' => array('hometitle', 'str', ''), 'homecom' => array('homecom', 'str', ''), 'com_without_name_in_url' => array('com_without_name_in_url', 'str', ''), 'siteoff' => array('siteoff', 'int', 0), 'only_authorized' => array('only_authorized', 'int', 0), 'debug' => array('debug', 'int', 0), 'offtext' => array('offtext', 'str', ''), 'keywords' => array('keywords', 'str', ''), 'metadesc' => array('metadesc', 'str', ''), 'seourl' => array('seourl', 'int', 0), 'lang' => array('lang', 'str', 'ru'), 'is_change_lang' => array('is_change_lang', 'int', 0), 'sitemail' => array('sitemail', 'str', ''), 'sitemail_name' => array('sitemail_name', 'str', ''), 'wmark' => array('wmark', 'str', ''), 'template' => array('template', 'str', ''), 'admin_template' => array('admin_template', 'str', ''), 'cache' => array('cache', 'int', 0), 'cache_type' => array('cache_type', array('file', 'memcached'), ''), 'memcached_host' => array('memcached_host', 'str', ''), 'memcached_port' => array('memcached_port', 'int', 0), 'combine_css_enable' => array('combine_css_enable', 'int', 0), 'combine_css' => array('combine_css', 'html', ''), 'combine_js_enable' => array('combine_js_enable', 'int', 0), 'combine_js' => array('combine_js', 'html', ''), 'splash' => array('splash', 'int', 0), 'slight' => array('slight', 'int', 0), 'show_pw' => array('show_pw', 'int', 0), 'last_item_pw' => array('last_item_pw', 'int', 0), 'index_pw' => array('index_pw', 'int', 0), 'fastcfg' => array('fastcfg', 'int', 0), 'mailer' => array('mailer', 'str', ''), 'smtpsecure' => array('smtpsecure', 'str', ''), 'smtpauth' => array('smtpauth', 'int', 0), 'smtpuser' => array('smtpuser', 'str', $config['smtpuser']), 'smtppass' => array('smtppass', 'str', $config['smtppass']), 'smtphost' => array('smtphost', 'str', ''), 'smtpport' => array('smtpport', 'int', '25'), 'timezone' => array('timezone', 'str', $config['timezone']), 'user_stats' => array('user_stats', 'int', 0), 'seo_url_count' => array('seo_url_count', 'int', 0), 'max_pagebar_links' => array('max_pagebar_links', 'int', 0), 'allow_ip' => array('allow_ip', 'str', ''), 'iframe_enable' => array('iframe_enable', 'int', 0), 'vk_enable' => array('vk_enable', 'int', 0), 'vk_id' => array('vk_id', 'str', ''), 'vk_private_key' => array('vk_private_key', 'str', ''))); $newCFG['sitename'] = stripslashes($newCFG['sitename']); $newCFG['hometitle'] = stripslashes($newCFG['hometitle']); $newCFG['offtext'] = htmlspecialchars($newCFG['offtext'], ENT_QUOTES); $newCFG['db_host'] = $config['db_host']; $newCFG['db_base'] = $config['db_base']; $newCFG['db_user'] = $config['db_user']; $newCFG['db_pass'] = $config['db_pass']; $newCFG['db_prefix'] = $config['db_prefix']; if (cmsConfig::saveToFile($newCFG)) { cmsCore::addSessionMessage($_LANG['AD_CONFIG_SAVE_SUCCESS'], 'success'); } else { cmsCore::addSessionMessage($_LANG['AD_CONFIG_SITE_ERROR'], 'error'); } cmsCore::clearCache(); cmsCore::redirect('index.php?view=config'); } cpCheckWritable('/includes/config/config.inc.json'); $result = cmsCore::c('db')->query("SELECT (sum(data_length)+sum(index_length))/1024/1024 as size FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '" . $config['db_base'] . "'", true); if (!cmsCore::c('db')->error()) { $s = cmsCore::c('db')->fetch_assoc($result); } else { $s['size'] = 0; } cmsCore::c('page')->initTemplate('applets', 'config')->assign('config', $config)->assign('timezone_opt', cmsCore::getTimeZonesOptions($config['timezone']))->assign('admin_templates', cmsCore::getDirsList('/templates/admin'))->assign('templates', cmsCore::getDirsList('/templates'))->assign('tpl_info', cmsCore::c('page')->getTplInfo(cmsCore::c('page')->template))->assign('components_opt', cmsCore::getListItems('cms_components', $config['com_without_name_in_url'], 'title', 'ASC', 'internal=0', 'link'))->assign('homecom_opt', cmsCore::getListItems('cms_components', $config['homecom'], 'title', 'ASC', 'internal=0', 'link'))->assign('langs', cmsCore::getDirsList('/languages'))->assign('db_size', round($s['size'], 2))->display(); }
function users(){ if (!cmsCore::c('config')->iframe_enable) { header('X-Frame-Options: DENY'); } $inCore = cmsCore::getInstance(); $inPage = cmsPage::getInstance(); $inDB = cmsDatabase::getInstance(); $inUser = cmsUser::getInstance(); global $_LANG; $model = new cms_model_users(); // id пользователя $id = cmsCore::request('id', 'int', 0); // логин пользователя $login = cmsCore::strClear(urldecode(cmsCore::request('login', 'html', ''))); $do = $inCore->do; $page = cmsCore::request('page', 'int', 1); $pagetitle = $inCore->getComponentTitle(); $inPage->addPathway($pagetitle, '/users'); $inPage->setTitle($pagetitle); $inPage->setDescription($pagetitle); // js только авторизованным if ($inUser->id) { $inPage->addHeadJS('components/users/js/profile.js'); $inPage->addHeadJsLang(array('CONFIRM_CLEAN_CAT','CHOOSE_RECIPIENT','SEND_TO_USER','FRIENDSHIP_OFFER','STOP_FRIENDLY','REALY_STOP_FRIENDLY','ENTER_STATUS','HAVE_JUST')); } //============================================================================// //========================= Список пользователей ============================// //============================================================================// if ($do == 'view') { // если запрещен просмотр всех пользователей, 404 if ($model->config['sw_search'] == 2) { cmsCore::error404(); } //очищаем поисковые запросы если пришли со другой страницы if (!strstr(cmsCore::getBackURL(), '/users')) { cmsUser::sessionClearAll(); } $stext = array(); // Возможные входные переменные $name = cmsCore::getSearchVar('name'); $city = cmsCore::getSearchVar('city'); $hobby = cmsCore::getSearchVar('hobby'); $gender = cmsCore::getSearchVar('gender'); $orderby = cmsCore::request('orderby', array('karma', 'rating', 'regdate'), 'regdate'); $orderto = cmsCore::request('orderto', array('asc', 'desc'), 'desc'); $age_to = (int)cmsCore::getSearchVar('ageto', 'all'); $age_fr = (int)cmsCore::getSearchVar('agefrom', 'all'); $group_id = cmsCore::request('group_id', 'int', 0); // Флаг о показе только онлайн пользователей if (cmsCore::inRequest('online')) { cmsUser::sessionPut('usr_online', (bool)cmsCore::request('online', 'int')); $page = 1; } $only_online = cmsUser::sessionGet('usr_online'); if($only_online){ $stext[] = $_LANG['SHOWING_ONLY_ONLINE']; } /////////////////////////////////////// //////////Условия выборки////////////// /////////////////////////////////////// // группа if ($group_id){ $model->whereUserGroupIs($group_id); $link['group'] = '/users/group/'. $group_id; $_LANG['GROUP_SEARCH_NAME'] = cmsUser::getGroupTitle($group_id); } // Добавляем в выборку имя, если оно есть if($name){ $model->whereNameIs($name); $stext[] = $_LANG['NAME']." — ".htmlspecialchars(stripslashes($name)); } // Добавляем в выборку город, если он есть if($city){ $model->whereCityIs($city); $stext[] = $_LANG['CITY']." — ".htmlspecialchars(stripslashes($city)); } // Добавляем в выборку хобби, если есть if($hobby){ $model->whereHobbyIs($hobby); $stext[] = $_LANG['HOBBY']." — ".htmlspecialchars(stripslashes($hobby)); } // Добавляем в выборку пол, если есть if($gender){ $model->whereGenderIs($gender); if($gender == 'm'){ $stext[] = $_LANG['MALE']; } else { $stext[] = $_LANG['FEMALE']; } } // Добавляем в выборку возраст, более if($age_fr){ $model->whereAgeFrom($age_fr); $stext[] = $_LANG['NOT_YOUNG']." $age_fr ".$_LANG['YEARS']; } // Добавляем в выборку возраст, менее if($age_to){ $model->whereAgeTo($age_to); $stext[] = $_LANG['NOT_OLD']." $age_fr ".$_LANG['YEARS']; } // Считаем общее количество согласно выборки $total = $model->getUsersCount($only_online); if($total){ //устанавливаем сортировку $inDB->orderBy($orderby, $orderto); //устанавливаем номер текущей страницы и кол-во пользователей на странице $inDB->limitPage($page, $model->config['users_perpage']); // Загружаем пользователей согласно выборки $users = $model->getUsers($only_online); } else { $inDB->resetConditions(); } $link['latest'] = '/users'; $link['positive'] = '/users/positive.html'; $link['rating'] = '/users/rating.html'; if($orderby=='regdate') { $link['selected'] = 'latest'; } if($orderby=='karma') { $link['selected'] = 'positive'; } if($orderby=='rating') { $link['selected'] = 'rating'; } $pagebar_link = '/users/'.$link['selected'].'%page%.html'; if ($group_id) { $link['selected'] = 'group'; $pagebar_link = '/users/'.$link['selected'].'/'.$group_id.'-%page%'; } cmsPage::initTemplate('components', 'com_users_view')-> assign('stext', $stext)-> assign('orderby', $orderby)-> assign('orderto', $orderto)-> assign('users', $users)-> assign('total', $total)-> assign('only_online', $only_online)-> assign('gender', $gender)-> assign('name', stripslashes($name))-> assign('city', stripslashes($city))-> assign('hobby', stripslashes($hobby))-> assign('age_to', $age_to)-> assign('age_fr', $age_fr)-> assign('cfg', $model->config)-> assign('link', $link)-> assign('pagebar', cmsPage::getPagebar($total, $page, $model->config['users_perpage'], $pagebar_link))-> display(); } //============================================================================// //======================= Редактирование профиля ============================// //============================================================================// if ($do=='editprofile') { // неавторизованным, не владельцам и не админам тут делать нечего if (!$inUser->id || ($inUser->id != $id && !$inUser->is_admin)) { cmsCore::error404(); } $usr = $model->getUser($id); if (!$usr) { cmsCore::error404(); } $opt = cmsCore::request('opt', 'str', 'edit'); // главного админа может редактировать только он сам if ($id == 1 && $inUser->id != $id) { cmsCore::error404(); } // показываем форму if ($opt == 'edit') { $inPage->setTitle($_LANG['CONFIG_PROFILE'].' - '.$usr['nickname']); $inPage->addPathway($usr['nickname'], cmsUser::getProfileURL($usr['login'])); $inPage->addPathway($_LANG['CONFIG_PROFILE']); $private_forms = array(); if (isset($model->config['privforms'])) { if (is_array($model->config['privforms'])) { foreach ($model->config['privforms'] as $form_id) { $private_forms = array_merge($private_forms, cmsForm::getFieldsHtml($form_id, $usr['formsdata'])); } } } cmsPage::initTemplate('components', 'com_users_edit_profile')-> assign('opt', $opt)-> assign('usr', $usr)-> assign('private_forms', $private_forms)-> assign('cfg_forum', $inCore->loadComponentConfig('forum'))-> assign('cfg', $model->config)-> assign('timezones_opt', cmsCore::getTimeZonesOptions(!empty($usr['timezone']) ? $usr['timezone'] : cmsCore::c('config')->timezone))-> display(); return; } // Если сохраняем профиль if ($opt == 'save'){ $errors = false; $users['nickname'] = cmsCore::request('nickname', 'str'); $users['timezone'] = cmsCore::request('timezone', cmsCore::getTimeZones(), cmsCore::c('config')->timezone); if (mb_strlen($users['nickname'])<2) { cmsCore::addSessionMessage($_LANG['SHORT_NICKNAME'], 'error'); $errors = true; } cmsCore::loadModel('registration'); $modreg = new cms_model_registration(); if (!$inUser->is_admin){ if($modreg->getBadNickname($users['nickname'])) { cmsCore::addSessionMessage($_LANG['ERR_NICK_EXISTS'], 'error'); $errors = true; } } $profiles['gender'] = cmsCore::request('gender', 'str'); $profiles['city'] = cmsCore::request('city', 'str'); if (mb_strlen($profiles['city'])>50) { cmsCore::addSessionMessage($_LANG['LONG_CITY_NAME'], 'error'); $errors = true; } $users['email'] = cmsCore::request('email', 'email'); if (!$users['email']) { cmsCore::addSessionMessage($_LANG['REALY_ADRESS_EMAIL'], 'error'); $errors = true; } if($usr['email'] != $users['email']){ $is_set_email = $inDB->get_field('cms_users', "email='{$users['email']}'", 'id'); if ($is_set_email) { cmsCore::addSessionMessage($_LANG['ADRESS_EMAIL_IS_BUSY'], 'error'); $errors = true; }else{ // формируем токен $token = md5($usr['email'].uniqid().microtime()); $inDB->insert('cms_users_activate', array('user_id'=>$inUser->id, 'pubdate'=>date("Y-m-d H:i:s"), 'code'=>$token)); $codelink = HOST.'/users/change_email/'.$token.'/'.$users['email']; // по старому адресу высылаем письмо с подтверждением $letter = cmsCore::getLanguageTextFile('change_email'); $letter = str_replace(array('{nickname}','{codelink}'), array($inUser->nickname, $codelink), $letter); cmsCore::mailText($usr['email'], '', $letter); cmsCore::addSessionMessage(sprintf($_LANG['YOU_CHANGE_EMAIL'], $usr['email']), 'info'); // email не меняем $users['email'] = $usr['email']; } } $profiles['showmail'] = cmsCore::request('showmail', 'int'); $profiles['email_newmsg'] = cmsCore::request('email_newmsg', 'int'); $profiles['showbirth'] = cmsCore::request('showbirth', 'int'); $profiles['description'] = cmsCore::request('description', 'str', ''); $users['birthdate'] = (int)$_REQUEST['birthdate']['year'].'-'.(int)$_REQUEST['birthdate']['month'].'-'.(int)$_REQUEST['birthdate']['day']; $profiles['signature'] = $inDB->escape_string(cmsCore::badTagClear(cmsCore::request('signature', 'html', ''))); $profiles['signature_html'] = $inDB->escape_string(cmsCore::parseSmiles(cmsCore::request('signature', 'html', ''), true)); $profiles['allow_who'] = cmsCore::request('allow_who', 'str'); if (!preg_match('/^([a-zA-Z]+)$/ui', $profiles['allow_who'])) { $errors = true; } $users['icq'] = cmsCore::request('icq', 'str', ''); $profiles['showicq'] = cmsCore::request('showicq', 'int'); $profiles['cm_subscribe'] = cmsCore::request('cm_subscribe', 'str'); if (!preg_match('/^([a-zA-Z]+)$/ui', $profiles['cm_subscribe'])) { $errors = true; } // получаем данные форм $profiles['formsdata'] = ''; if(isset($model->config['privforms'])){ if (is_array($model->config['privforms'])){ foreach($model->config['privforms'] as $form_id){ $form_input = cmsForm::getFieldsInputValues($form_id); $profiles['formsdata'] .= $inDB->escape_string(cmsCore::arrayToYaml($form_input['values'])); // Проверяем значения формы foreach ($form_input['errors'] as $field_error) { if($field_error){ cmsCore::addSessionMessage($field_error, 'error'); $errors = true; } } } } } if($errors) { cmsCore::redirectBack(); } $inDB->update('cms_user_profiles', cmsCore::callEvent('UPDATE_USER_PROFILES', array_merge(array('id'=>$usr['pid'], 'user_id'=>$usr['id']), $profiles)), $usr['pid']); $inDB->update('cms_users', cmsCore::callEvent('UPDATE_USER_USERS', array_merge(array('id'=>$usr['id']), $users)), $usr['id']); cmsCore::addSessionMessage($_LANG['PROFILE_SAVED'], 'info'); cmsCore::redirect(cmsUser::getProfileURL($usr['login'])); } if ($opt == 'changepass'){ $errors = false; $oldpass = cmsCore::request('oldpass', 'str'); $newpass = cmsCore::request('newpass', 'str'); $newpass2 = cmsCore::request('newpass2', 'str'); if ($inUser->password != md5($oldpass)) { cmsCore::addSessionMessage($_LANG['OLD_PASS_WRONG'], 'error'); $errors = true;} if ($newpass != $newpass2) { cmsCore::addSessionMessage($_LANG['WRONG_PASS'], 'error'); $errors = true; } if($oldpass && $newpass && $newpass2 && mb_strlen($newpass )<6) { cmsCore::addSessionMessage($_LANG['PASS_SHORT'], 'error'); $errors = true; } if($errors) { cmsCore::redirectBack(); } cmsCore::callEvent('UPDATE_USER_PASSWORD', array('user_id'=>$usr['id'], 'oldpass'=>$oldpass, 'newpass'=>$newpass)); $sql = "UPDATE cms_users SET password='******' WHERE id = '$id' AND password='******'"; $inDB->query($sql); cmsCore::addSessionMessage($_LANG['PASS_CHANGED'], 'info'); cmsCore::redirect(cmsUser::getProfileURL($inUser->login)); } } //============================================================================// //============================= Просмотр профиля ============================// //============================================================================// if ($do=='profile'){ $inPage->addHeadJsLang(array('NEW_POST_ON_WALL','CONFIRM_DEL_POST_ON_WALL')); // если просмотр профиля гостям запрещен if (!$inUser->id && !$model->config['sw_guest']) { cmsUser::goToLogin(); } if(is_numeric($login)) { cmsCore::error404(); } $usr = $model->getUser($login); if (!$usr){ cmsCore::error404(); } $myprofile = ($inUser->id == $usr['id']); $inPage->setTitle($usr['nickname']); $inPage->addPathway($usr['nickname']); // просмотр профиля запрещен if (!cmsUser::checkUserContentAccess($usr['allow_who'], $usr['id'])){ cmsPage::initTemplate('components', 'com_users_not_allow')-> assign('is_auth', $inUser->id)-> assign('usr', $usr)-> display(); return; } // Профиль удален if ($usr['is_deleted']){ cmsPage::initTemplate('components', 'com_users_deleted')-> assign('usr', $usr)-> assign('is_admin', $inUser->is_admin)-> assign('others_active', $inDB->rows_count('cms_users', "login='******'login']}' AND is_deleted=0", 1))-> display(); return; } // Данные о друзьях $usr['friends_total'] = cmsUser::getFriendsCount($usr['id']); $usr['friends'] = cmsUser::getFriends($usr['id']); // очищать сессию друзей если в своем профиле и количество друзей из базы не совпадает с количеством друзей в сессии if ($myprofile && sizeof($usr['friends']) != $usr['friends_total']) { cmsUser::clearSessionFriends(); } // обрезаем список $usr['friends'] = array_slice($usr['friends'], 0, 6); // выясняем друзья ли мы с текущим пользователем $usr['isfriend'] = !$myprofile ? cmsUser::isFriend($usr['id']) : false; // награды пользователя $usr['awards'] = $model->config['sw_awards'] ? $model->getUserAwards($usr['id']) : false; // стена if($model->config['sw_wall']){ $inDB->limitPage(1, $model->config['wall_perpage']); $usr['wall_html'] = cmsUser::getUserWall($usr['id'], 'users', $myprofile, $inUser->is_admin); } // можно ли пользователю изменять карму $usr['can_change_karma'] = $model->isUserCanChangeKarma($usr['id']) && $inUser->id; // Фотоальбомы пользователя if ($model->config['sw_photo']){ $usr['albums'] = $model->getPhotoAlbums($usr['id'], $usr['isfriend'], !$inCore->isComponentEnable('photos')); $usr['albums_total'] = sizeof($usr['albums']); $usr['albums_show'] = 6; if ($usr['albums_total']>$usr['albums_show']){ array_splice($usr['albums'], $usr['albums_show']); } } $usr['board_count'] = $model->config['sw_board'] ? $inDB->rows_count('cms_board_items', "user_id='{$usr['id']}' AND published=1") : 0; $usr['comments_count'] = $model->config['sw_comm'] ? $inDB->rows_count('cms_comments', "user_id='{$usr['id']}' AND published=1") : 0; $usr['forum_count'] = $model->config['sw_forum'] ? $inDB->rows_count('cms_forum_posts', "user_id = '{$usr['id']}'") : 0; $usr['files_count'] = $model->config['sw_files'] ? $inDB->rows_count('cms_user_files', "user_id = '{$usr['id']}'") : 0; $cfg_reg = $inCore->loadComponentConfig('registration'); $usr['invites_count'] = ($inUser->id && $myprofile && $cfg_reg['reg_type'] == 'invite') ? $model->getUserInvitesCount($inUser->id) : 0; $usr['blog'] = $model->config['sw_blogs'] ? $inDB->get_fields('cms_blogs', "user_id = '{$usr['id']}' AND owner = 'user'", 'title, seolink') : false; $usr['form_fields'] = array(); if (is_array($model->config['privforms'])) { foreach ($model->config['privforms'] as $form_id) { $usr['form_fields'] = array_merge($usr['form_fields'], cmsForm::getFieldsValues($form_id, $usr['formsdata'])); } } if ($usr['city']) { $city_parents = cmsCore::m('geo')->getCityParents($usr['city']); if ($city_parents) { $usr['country'] = $city_parents['country_name']; } } $plugins = cmsCore::callTabEventPlugins('USER_PROFILE', $usr); cmsPage::initTemplate('components', 'com_users_profile')-> assign('usr', $usr)-> assign('plugins', $plugins)-> assign('cfg', $model->config)-> assign('myprofile', $myprofile)-> assign('cfg_forum', $inCore->loadComponentConfig('forum'))-> assign('is_admin', $inUser->is_admin)-> assign('is_auth', $inUser->id)-> assign('actions_enabled', $inCore->isComponentEnable('actions'))-> assign('blogs_enabled', $inCore->isComponentEnable('blogs'))-> assign('clubs_enabled', $inCore->isComponentEnable('clubs'))-> display(); } //============================================================================// //============================= Список сообщений ============================// //============================================================================// if ($do=='messages'){ if (!$model->config['sw_msg']) { cmsCore::error404(); } if (!$inUser->id || ($inUser->id != $id && !$inUser->is_admin)){ cmsUser::goToLogin(); } $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::error404(); } $inPage->setTitle($_LANG['MY_MESS']); $inPage->addPathway($usr['nickname'], cmsUser::getProfileURL($usr['login'])); $inPage->addPathway($_LANG['MY_MESS'], '/users/'.$id.'/messages.html'); include 'components/users/messages.php'; } //============================================================================// //=========================== Отправка сообщения ============================// //============================================================================// if ($do=='sendmessage'){ if (!$model->config['sw_msg']) { cmsCore::halt(); } if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { cmsCore::halt(); } if (!$inUser->id || ($inUser->id==$id && !cmsCore::inRequest('massmail') && !cmsCore::request('send_to_group', 'int', 0))){ cmsCore::halt(); } if(!cmsCore::inRequest('gosend')){ $replyid = cmsCore::request('replyid', 'int', 0); if ($replyid){ $msg = $model->getReplyMessage($replyid, $inUser->id); if(!$msg) { cmsCore::halt(); } } $inPage->setRequestIsAjax(); cmsPage::initTemplate('components', 'com_users_messages_add')-> assign('msg', isset($msg) ? $msg : array())-> assign('is_reply_user', $replyid)-> assign('id', $id)-> assign('bbcodetoolbar', cmsPage::getBBCodeToolbar('message'))-> assign('smilestoolbar', cmsPage::getSmilesPanel('message'))-> assign('groups', $inUser->is_admin ? cmsUser::getGroups(true) : array())-> assign('friends', cmsUser::getFriends($inUser->id))-> assign('id_admin', $inUser->is_admin)-> display(); cmsCore::jsonOutput(array('error' => false, 'html' => ob_get_clean() )); } if(cmsCore::inRequest('gosend')){ // Кому отправляем $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::halt(); } $message = cmsCore::parseSmiles(cmsCore::request('message', 'html', ''), true); if (mb_strlen($message)<2){ cmsCore::jsonOutput(array('error' => true, 'text' => $_LANG['ERR_SEND_MESS'])); } if(!cmsUser::checkCsrfToken()) { cmsCore::error404(); } $output = cmsCore::callEvent('USER_SEND_MESSEDGE', array('text'=>$message, 'to_id'=>$id)); $message = $output['text']; $id = $output['to_id']; $send_to_group = cmsCore::request('send_to_group', 'int', 0); $group_id = cmsCore::request('group_id', 'int', 0); // // Обычная отправка (1 получатель) // if (!cmsCore::inRequest('massmail') && !$send_to_group){ //отправляем сообщение $msg_id = cmsUser::sendMessage($inUser->id, $id, $message); // отправляем уведомление на email если нужно $model->sendNotificationByEmail($id, $inUser->id, $msg_id); cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['SEND_MESS_OK'])); } // // далее идут массовые рассылки, доступные только админам // if (!$inUser->is_admin){ cmsCore::halt(); } // отправить всем: получаем список всех пользователей if (cmsCore::inRequest('massmail')) { $userlist = cmsUser::getAllUsers(); // проверяем что есть кому отправлять if (!$userlist){ cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['ERR_SEND_MESS'])); } $count = array(); // отправляем всем по списку foreach ($userlist as $usr){ $count[] = cmsUser::sendMessage(USER_MASSMAIL, $usr['id'], $message); } cmsCore::jsonOutput(array('error' => false, 'text' => sprintf($_LANG['SEND_MESS_ALL_OK'], sizeof($count)))); } // отправить группе: получаем список членов группы if ($send_to_group) { $count = cmsUser::sendMessageToGroup(USER_MASSMAIL, $group_id, $message); $success_msg = sprintf($_LANG['SEND_MESS_GROUP_OK'], $count, cmsUser::getGroupTitle($group_id)); cmsCore::jsonOutput(array('error' => false, 'text' => $success_msg)); } } } //============================================================================// //============================= Удаление сообщения ==========================// //============================================================================// if ($do=='delmessage'){ if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { cmsCore::halt(); } if (!$model->config['sw_msg']) { cmsCore::halt(); } if (!$inUser->id) { cmsCore::halt(); } $msg = $inDB->get_fields('cms_user_msg', "id='$id'", '*'); if (!$msg){ cmsCore::halt(); } $can_delete = ($inUser->id == $msg['to_id'] || $inUser->id == $msg['from_id']) ? true : false; if(!$can_delete && !$inUser->is_admin){ cmsCore::halt(); } // Сообщения с from_id < 0 if ($msg['from_id'] < 0){ $inDB->query("DELETE FROM cms_user_msg WHERE id = '$id' LIMIT 1"); $info_text = $_LANG['MESS_NOTICE_DEL_OK']; } // мне сообщение от пользователя if ($msg['to_id']==$inUser->id && $msg['from_id'] > 0){ $inDB->query("UPDATE cms_user_msg SET to_del=1 WHERE id='{$id}'"); $info_text = $_LANG['MESS_DEL_OK']; } // от меня сообщение if ($msg['from_id']==$inUser->id && !$msg['is_new']){ $inDB->query("UPDATE cms_user_msg SET from_del=1 WHERE id='{$id}'"); $info_text = $_LANG['MESS_DEL_OK']; } // отзываем сообщение if ($msg['from_id']==$inUser->id && $msg['is_new']){ $inDB->query("DELETE FROM cms_user_msg WHERE id = '$id' LIMIT 1"); $info_text = $_LANG['MESS_BACK_OK']; } // удаляем сообщения, которые удалены с двух сторон $inDB->query("DELETE FROM cms_user_msg WHERE to_del=1 AND from_del=1"); cmsCore::jsonOutput(array('error' => false, 'text' => $info_text)); } //============================================================================// //=========================== Удаление сообщений ============================// //============================================================================// if ($do=='delmessages'){ if (!$model->config['sw_msg']) { cmsCore::error404(); } if ($inUser->id != $id && !$inUser->is_admin){ cmsCore::error404(); } $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::error404(); } $opt = cmsCore::request('opt', 'str', 'in'); if($opt == 'notices'){ $inDB->query("DELETE FROM cms_user_msg WHERE to_id = '{$id}' AND from_id < 0"); } else { $del_flag = $opt=='in' ? 'to_del' : 'from_del'; $id_flag = $opt=='in' ? 'to_id' : 'from_id'; $inDB->query("UPDATE cms_user_msg SET {$del_flag}=1 WHERE {$id_flag}='{$id}'"); $inDB->query("DELETE FROM cms_user_msg WHERE to_del=1 AND from_del=1"); } cmsCore::addSessionMessage($_LANG['MESS_ALL_DEL_OK'], 'info'); cmsCore::redirectBack(); } //============================================================================// //============================= Загрузка аватара ============================// //============================================================================// if ($do=='avatar'){ if (!$inUser->id || ($inUser->id && $inUser->id != $id)){ cmsCore::error404(); } $inPage->setTitle($_LANG['LOAD_AVATAR']); $inPage->addPathway($inUser->nickname, cmsUser::getProfileURL($inUser->login)); $inPage->addPathway($_LANG['LOAD_AVATAR']); if (cmsCore::inRequest('upload')) { cmsCore::loadClass('upload_photo'); $inUploadPhoto = cmsUploadPhoto::getInstance(); // Выставляем конфигурационные параметры $inUploadPhoto->upload_dir = PATH.'/images/'; $inUploadPhoto->dir_medium = 'users/avatars/'; $inUploadPhoto->dir_small = 'users/avatars/small/'; $inUploadPhoto->small_size_w = $model->config['smallw']; $inUploadPhoto->medium_size_w = $model->config['medw']; $inUploadPhoto->medium_size_h = $model->config['medh']; $inUploadPhoto->is_watermark = false; $inUploadPhoto->input_name = 'picture'; $file = $inUploadPhoto->uploadPhoto($inUser->orig_imageurl); if(!$file){ cmsCore::addSessionMessage('<strong>'.$_LANG['ERROR'].':</strong> '.cmsCore::uploadError().'!', 'error'); cmsCore::redirect('/users/'.$id.'/avatar.html'); } $sql = "UPDATE cms_user_profiles SET imageurl = '{$file['filename']}' WHERE user_id = '$id' LIMIT 1"; $inDB->query($sql); // очищаем предыдущую запись о смене аватара cmsActions::removeObjectLog('add_avatar', $id); // выводим сообщение в ленту cmsActions::log('add_avatar', array( 'object' => '', 'object_url' => '', 'object_id' => $id, 'target' => '', 'target_url' => '', 'description' => '<a href="'.cmsUser::getProfileURL($inUser->login).'" class="act_usr_ava"> <img border="0" src="/images/users/avatars/small/'.$file['filename'].'"> </a>' )); cmsCore::redirect(cmsUser::getProfileURL($inUser->login)); } else { cmsPage::initTemplate('components', 'com_users_avatar_upload')-> assign('id', $id)-> display(); } } //============================================================================// //============================= Библиотека аватаров =========================// //============================================================================// if ($do=='select_avatar'){ if (!$inUser->id || ($inUser->id && $inUser->id != $id)){ cmsCore::error404(); } $avatars_dir = PATH."/images/users/avatars/library"; $avatars_dir_rel = "/images/users/avatars/library"; $avatars_dir_handle = opendir($avatars_dir); $avatars = array(); while ($nextfile = readdir($avatars_dir_handle)){ if(($nextfile!='.')&&($nextfile!='..')&&( mb_strstr($nextfile, '.gif') || mb_strstr($nextfile, '.jpg') || mb_strstr($nextfile, '.jpeg') || mb_strstr($nextfile, '.png') ) ){ $avatars[] = $nextfile; } } closedir($avatars_dir_handle); if (!cmsCore::inRequest('set_avatar')){ $inPage->setTitle($_LANG['SELECT_AVATAR']); $inPage->addPathway($inUser->nickname, cmsUser::getProfileURL($inUser->login)); $inPage->addPathway($_LANG['SELECT_AVATAR']); $perpage = 20; $total = sizeof($avatars); $avatars = array_slice($avatars, ($page-1)*$perpage, $perpage); cmsPage::initTemplate('components', 'com_users_avatars')-> assign('userid', $id)-> assign('avatars', $avatars)-> assign('avatars_dir', $avatars_dir_rel)-> assign('page', $page)-> assign('perpage', $perpage)-> assign('pagebar', cmsPage::getPagebar($total, $page, $perpage, '/users/%user_id%/select-avatar-%page%.html', array('user_id'=>$id)))-> display(); } else { $avatar_id = cmsCore::request('avatar_id', 'int', 0); $file = $avatars[$avatar_id]; if (file_exists($avatars_dir.'/'.$file)){ $uploaddir = PATH.'/images/users/avatars/'; $realfile = $file; $filename = md5($realfile . '-' . $id . '-' . time()).'.jpg'; $uploadfile = $avatars_dir . '/' . $realfile; $uploadavatar = $uploaddir . $filename; $uploadthumb = $uploaddir . 'small/' . $filename; if ($inUser->orig_imageurl && $inUser->orig_imageurl != 'nopic.jpg'){ @unlink(PATH.'/images/users/avatars/'.$inUser->orig_imageurl); @unlink(PATH.'/images/users/avatars/small/'.$inUser->orig_imageurl); } cmsCore::includeGraphics(); copy($uploadfile, $uploadavatar); @img_resize($uploadfile, $uploadthumb, $model->config['smallw'], $model->config['smallw']); $sql = "UPDATE cms_user_profiles SET imageurl = '$filename' WHERE user_id = '$id' LIMIT 1"; $inDB->query($sql); // очищаем предыдущую запись о смене аватара cmsActions::removeObjectLog('add_avatar', $id); // выводим сообщение в ленту cmsActions::log('add_avatar', array( 'object' => '', 'object_url' => '', 'object_id' => $id, 'target' => '', 'target_url' => '', 'description' => '<a href="'.cmsUser::getProfileURL($inUser->login).'" class="act_usr_ava"> <img border="0" src="/images/users/avatars/small/'.$filename.'"> </a>' )); } cmsCore::redirect(cmsUser::getProfileURL($inUser->login)); } } //============================================================================// //======================== Работа с фотографиями ============================// //============================================================================// if ($do=='photos'){ if (!$model->config['sw_photo']) { cmsCore::error404(); } $pdo = cmsCore::request('pdo', 'str', ''); include 'components/users/photos.php'; } //============================================================================// //============================= Друзья пользователя =========================// //============================================================================// if ($do=='friendlist'){ if (!$inUser->id) { cmsUser::goToLogin(); } $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::error404(); } $perpage = 10; $inPage->addPathway($usr['nickname'], cmsUser::getProfileURL($usr['login'])); $inPage->addPathway($_LANG['FRIENDS']); $inPage->setTitle($_LANG['FRIENDS']); // все друзья $friends = cmsUser::getFriends($usr['id']); // их общее количество $total = count($friends); // получаем только нужных на странице $friends = array_slice($friends, ($page-1)*$perpage, $perpage); cmsPage::initTemplate('components', 'com_users_friends')-> assign('friends', $friends)-> assign('usr', $usr)-> assign('myprofile', ($id == $inUser->id))-> assign('total', $total)-> assign('pagebar', cmsPage::getPagebar($total, $page, $perpage, 'javascript:centerLink(\'/users/'.$id.'/friendlist%page%.html\')'))-> display(); } //============================================================================// //============================= Запрос на дружбу ============================// //============================================================================// if ($do == 'addfriend'){ if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { cmsCore::halt(); } if (!$inUser->id || $inUser->id == $id) { cmsCore::halt(); } $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::halt(); } cmsUser::clearSessionFriends(); if(cmsUser::isFriend($id)){ cmsCore::jsonOutput(array('error' => true, 'text' => $_LANG['YOU_ARE_BE_FRIENDS'])); } // проверяем был ли ранее запрос на дружбу // если был, то делаем accept запросу $is_need_accept_id = cmsUser::getFriendFieldId($id, 0, 'to_me'); if($is_need_accept_id){ $inDB->query("UPDATE cms_user_friends SET is_accepted = 1 WHERE id = '{$is_need_accept_id}'"); //регистрируем событие cmsActions::log('add_friend', array( 'object' => $inUser->nickname, 'user_id' => $usr['id'], 'object_url' => cmsUser::getProfileURL($inUser->login), 'object_id' => $is_need_accept_id, 'target' => '', 'target_url' => '', 'target_id' => 0, 'description' => '' )); cmsCore::callEvent('USER_ACCEPT_FRIEND', $id); cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['ADD_FRIEND_OK'] . $usr['nickname'])); } // Если пользователь пытается добавиться в друзья к // пользователю, к которому уже отправил запрос if(cmsUser::getFriendFieldId($id, 0, 'from_me')){ cmsCore::jsonOutput(array('error' => true, 'text' => $_LANG['ADD_TO_FRIEND_SEND_ERR'])); } // Мы вообще не друзья с пользователем, создаем запрос cmsUser::addFriend($id); cmsUser::sendMessage(USER_UPDATER, $id, sprintf($_LANG['RECEIVED_F_O'], cmsUser::getProfileLink($inUser->login, $inUser->nickname), '<a class="ajaxlink" href="javascript:void(0)" onclick="users.acceptFriend('.$inUser->id.', this);return false;">'.$_LANG['ACCEPT'].'</a>', '<a class="ajaxlink" href="javascript:void(0)" onclick="users.rejectFriend('.$inUser->id.', this);return false;">'.$_LANG['REJECT'].'</a>')); cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['ADD_TO_FRIEND_SEND'])); } //============================================================================// //============================= Прекращение дружбы ==========================// //============================================================================// if ($do == 'delfriend'){ if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { cmsCore::halt(); } if (!$inUser->id || $inUser->id == $id){ cmsCore::halt(); } $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::error404(); } if(cmsUser::getFriendFieldId($id)){ $is_accepted_friend = cmsUser::isFriend($id); if(cmsUser::deleteFriend($id)){ // Если подтвержденный друг if($is_accepted_friend){ cmsCore::jsonOutput(array('error' => false, 'text' => $usr['nickname'] . $_LANG['DEL_FRIEND'])); } else { cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['REJECT_FRIEND'].$usr['nickname'])); } } else { cmsCore::halt(); } } else { cmsCore::halt(); } } //============================================================================// //============================= История кармы ===============================// //============================================================================// if ($do=='karma'){ $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::error404(); } $inPage->setTitle($_LANG['KARMA_HISTORY']); $inPage->addPathway($usr['nickname'], cmsUser::getProfileURL($usr['login'])); $inPage->addPathway($_LANG['KARMA_HISTORY']); cmsPage::initTemplate('components', 'com_users_karma')-> assign('karma', $model->getUserKarma($usr['id']))-> assign('usr', $usr)-> display(); } //============================================================================// //============================= Изменение кармы =============================// //============================================================================// if ($do=='votekarma'){ if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { cmsCore::halt(); } if (!$inUser->id){ cmsCore::halt(); } $points = (cmsCore::request('sign', 'str', 'plus')=='plus' ? 1 : -1); $to = cmsCore::request('to', 'int', 0); $user = cmsUser::getShortUserData($to); if (!$user) { cmsCore::halt(); } if (!$model->isUserCanChangeKarma($to)){ cmsCore::halt(); } cmsCore::halt(cmsUser::changeKarmaUser($to, $points)); } //============================================================================// //======================= Наградить пользователя ============================// //============================================================================// if ($do=='giveaward'){ if (!$inUser->is_admin) { cmsCore::error404(); } $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::error404(); } $inPage->setTitle($_LANG['AWARD_USER']); $inPage->addPathway($usr['nickname'], cmsUser::getProfileURL($usr['login'])); $inPage->addPathway($_LANG['AWARD']); if(!cmsCore::inRequest('gosend')){ cmsPage::initTemplate('components', 'com_users_awards_give')-> assign('usr', $usr)-> assign('awardslist', cmsUser::getAwardsImages())-> display(); } else { $award['title'] = cmsCore::request('title', 'str', $_LANG['AWRD']); $award['description'] = cmsCore::request('description', 'str', ''); $award['imageurl'] = cmsCore::request('imageurl', 'str', ''); $award['from_id'] = $inUser->id; $award['id'] = 0; cmsUser::giveAward($award, $id); cmsCore::redirect(cmsUser::getProfileURL($usr['login'])); } } //============================================================================// //============================= Удаление награды ============================// //============================================================================// if ($do=='delaward'){ $aw = $inDB->get_fields('cms_user_awards', "id = '$id'", '*'); if (!$aw){ cmsCore::error404(); } if (!$inUser->id || ($inUser->id!=$aw['user_id'] && !$inUser->is_admin)){ cmsCore::error404(); } $inDB->delete('cms_user_awards', "id = '$id'", 1); cmsActions::removeObjectLog('add_award', $id); cmsCore::redirectBack(); } //============================================================================// //============================= Награды на сайте ============================// //============================================================================// if ($do=='awardslist'){ $inPage->setTitle($_LANG['SITE_AWARDS']); $inPage->addPathway($_LANG['SITE_AWARDS']); $awards = cmsUser::getAutoAwards(); if (!$awards){ cmsCore::error404(); } foreach ($awards as $aw) { //Перебираем все награды и ищем пользователей с текущей наградой $sql = "SELECT u.id as id, u.nickname as nickname, u.login as login, IFNULL(p.gender, 'm') as gender FROM cms_user_awards aw LEFT JOIN cms_users u ON u.id = aw.user_id LEFT JOIN cms_user_profiles p ON p.user_id = u.id WHERE aw.award_id = '{$aw['id']}'"; $rs = $inDB->query($sql); $aw['uhtml'] = ''; if ($inDB->num_rows($rs)){ while ($user = $inDB->fetch_assoc($rs)){ $aw['uhtml'] .= cmsUser::getGenderLink($user['id'], $user['nickname'], $user['gender'], $user['login']).', '; } $aw['uhtml'] = rtrim($aw['uhtml'], ', '); } else { $aw['uhtml'] = $_LANG['NOT_USERS_WITH_THIS_AWARD']; } $aws[] = $aw; } cmsPage::initTemplate('components', 'com_users_awards_site')-> assign('aws', $aws)-> display(); } //============================================================================// //============================= Удаление профиля ============================// //============================================================================// if ($do == 'delprofile'){ // неавторизованным тут делать нечего if (!$inUser->id) { cmsCore::error404(); } // есть ли удаляемый профиль $data = cmsUser::getShortUserData($id); if (!$data) { cmsCore::error404(); } // владелец профиля или админ if($inUser->is_admin){ // могут ли администраторы удалять профиль if (!cmsUser::isAdminCan('admin/users', cmsUser::getAdminAccess())) { cmsCore::error404(); } // администратор сам себя не удалит if ($inUser->id == $data['id']){ cmsCore::error404(); } } else { // удаляем только свой профиль if ($inUser->id != $data['id']){ cmsCore::error404(); } } if (isset($_POST['csrf_token'])){ if(!cmsUser::checkCsrfToken()) { cmsCore::error404(); } $model->deleteUser($id); if (!$inUser->is_admin){ session_destroy(); cmsCore::redirect('/logout'); } else { cmsCore::addSessionMessage($_LANG['DELETING_PROFILE_OK'], 'info'); cmsCore::redirect('/users'); } } else { $inPage->setTitle($_LANG['DELETING_PROFILE']); $inPage->addPathway($data['nickname'], $inUser->getProfileURL($data['login'])); $inPage->addPathway($_LANG['DELETING_PROFILE']); $confirm['title'] = $_LANG['DELETING_PROFILE']; $confirm['text'] = '<p>'.$_LANG['REALLY_DEL_PROFILE'].'</p>'; $confirm['action'] = '/users/'.$id.'/delprofile.html'; $confirm['yes_button'] = array(); $confirm['yes_button']['type'] = 'submit'; cmsPage::initTemplate('components', 'action_confirm')-> assign('confirm', $confirm)-> display(); } } //============================================================================// //============================ Восстановить профиль =========================// //============================================================================// if ($do=='restoreprofile'){ if (!$inUser->is_admin) { cmsCore::error404(); } $usr = cmsUser::getShortUserData($id); if (!$usr) { cmsCore::error404(); } $inDB->query("UPDATE cms_users SET is_deleted = 0 WHERE id = '$id'") ; cmsCore::redirectBack(); } //============================================================================// //============================= Файлы пользователей =========================// //============================================================================// if ($do=='files'){ if (!$model->config['sw_files']) { cmsCore::error404(); } $fdo = cmsCore::request('fdo', 'str', ''); include 'components/users/files.php'; } //============================================================================// //================================ Инвайты =================================// //============================================================================// if ($do=='invites'){ $reg_cfg = $inCore->loadComponentConfig('registration'); if ($reg_cfg['reg_type'] != 'invite') { cmsCore::error404(); } $invites_count = $model->getUserInvitesCount($inUser->id); if (!$invites_count) { cmsCore::error404(); } if (!cmsCore::inRequest('send_invite')){ $inPage->addPathway($inUser->nickname, cmsUser::getProfileURL($inUser->login)); $inPage->addPathway($_LANG['MY_INVITES']); cmsPage::initTemplate('components', 'com_users_invites')-> assign('invites_count', $invites_count)-> display(); return; } if (cmsCore::inRequest('send_invite')){ if(!cmsUser::checkCsrfToken()) { cmsCore::error404(); } $invite_email = cmsCore::request('invite_email', 'email', ''); if (!$invite_email) { cmsCore::redirectBack(); } if ($model->sendInvite($inUser->id, $invite_email)){ cmsCore::addSessionMessage(sprintf($_LANG['INVITE_SENDED'], $invite_email), 'success'); } else { cmsCore::addSessionMessage($_LANG['INVITE_ERROR'], 'error'); } cmsCore::redirect(cmsUser::getProfileURL($inUser->login)); } } if ($do=='change_email'){ if(!$inUser->id){ cmsUser::goToLogin(); } $email = cmsCore::request('email', 'email', ''); $token = cmsCore::request('token', 'str', ''); // не занят ли email $is_email = $inDB->get_field('cms_users', "email='{$email}'", 'id'); if($is_email || !$email || !$token){ cmsCore::error404(); } // проверяем токен $valid_id = $inDB->get_field('cms_users_activate', "code='{$token}' AND user_id = '{$inUser->id}'", 'id'); if(!$valid_id){ cmsCore::error404(); } $inDB->delete('cms_users_activate', "id = '{$valid_id}'"); // Сохраняем новый email $inDB->update('cms_users', array('email'=>$email), $inUser->id); cmsCore::addSessionMessage($_LANG['NEW_EMAIL_SAVED'], 'success'); cmsCore::redirect(cmsUser::getProfileURL($inUser->login)); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// }
function applet_config() { // получаем оригинальный конфиг $config = cmsConfig::getDefaultConfig(); global $_LANG; global $adminAccess; if (!cmsUser::isAdminCan('admin/config', $adminAccess)) { cpAccessDenied(); } cmsCore::c('page')->setTitle($_LANG['AD_SITE_SETTING']); cpAddPathway($_LANG['AD_SITE_SETTING'], 'index.php?view=config'); $do = cmsCore::request('do', 'str', 'list'); if ($do == 'save') { if (!cmsUser::checkCsrfToken()) { cmsCore::error404(); } $newCFG = cmsCore::getArrayFromRequest(array( 'scheme' => array('scheme', array('http', 'https'), ''), 'sitename' => array('sitename', 'str', ''), 'title_and_sitename' => array('title_and_sitename', 'int', 0), 'title_and_page' => array('title_and_page', 'int', 0), 'hometitle' => array('hometitle', 'str', ''), 'homecom' => array('homecom', 'str', ''), 'com_without_name_in_url' => array('com_without_name_in_url', 'str', ''), 'siteoff' => array('siteoff', 'int', 0), 'only_authorized' => array('only_authorized', 'int', 0), 'debug' => array('debug', 'int', 0), 'offtext' => array('offtext', 'str', ''), 'keywords' => array('keywords', 'str', ''), 'metadesc' => array('metadesc', 'str', ''), 'seourl' => array('seourl', 'int', 0), 'lang' => array('lang', 'str', 'ru'), 'is_change_lang' => array('is_change_lang', 'int', 0), 'sitemail' => array('sitemail', 'str', ''), 'sitemail_name' => array('sitemail_name', 'str', ''), 'wmark' => array('wmark', 'str', ''), 'template' => array('template', 'str', ''), 'cache' => array('cache', 'int', 0), 'cache_type' => array('cache_type', array('file', 'memcached'), ''), 'memcached_host' => array('memcached_host', 'str', ''), 'memcached_port' => array('memcached_port', 'int', 0), 'combine_css_enable' => array('combine_css_enable', 'int', 0), 'combine_css' => array('combine_css', 'html', ''), 'combine_js_enable' => array('combine_js_enable', 'int', 0), 'combine_js' => array('combine_js', 'html', ''), 'splash' => array('splash', 'int', 0), 'slight' => array('slight', 'int', 0), 'show_pw' => array('show_pw', 'int', 0), 'last_item_pw' => array('last_item_pw', 'int', 0), 'index_pw' => array('index_pw', 'int', 0), 'fastcfg' => array('fastcfg', 'int', 0), 'mailer' => array('mailer', 'str', ''), 'smtpsecure' => array('smtpsecure', 'str', ''), 'smtpauth' => array('smtpauth', 'int', 0), 'smtpuser' => array('smtpuser', 'str', $config['smtpuser']), 'smtppass' => array('smtppass', 'str', $config['smtppass']), 'smtphost' => array('smtphost', 'str', ''), 'smtpport' => array('smtpport', 'int', '25'), 'timezone' => array('timezone', 'str', $config['timezone']), 'user_stats' => array('user_stats', 'int', 0), 'seo_url_count' => array('seo_url_count', 'int', 0), 'max_pagebar_links' => array('max_pagebar_links', 'int', 0), 'allow_ip' => array('allow_ip', 'str', ''), 'iframe_enable' => array('iframe_enable', 'int', 0), 'vk_enable' => array('vk_enable', 'int', 0), 'vk_id' => array('vk_id', 'str', ''), 'vk_private_key' => array('vk_private_key', 'str', ''), )); $newCFG['sitename'] = stripslashes($newCFG['sitename']); $newCFG['hometitle'] = stripslashes($newCFG['hometitle']); $newCFG['offtext'] = htmlspecialchars($newCFG['offtext'], ENT_QUOTES); $newCFG['db_host'] = $config['db_host']; $newCFG['db_base'] = $config['db_base']; $newCFG['db_user'] = $config['db_user']; $newCFG['db_pass'] = $config['db_pass']; $newCFG['db_prefix'] = $config['db_prefix']; if (cmsConfig::saveToFile($newCFG)) { cmsCore::addSessionMessage($_LANG['AD_CONFIG_SAVE_SUCCESS'] , 'success'); } else { cmsCore::addSessionMessage($_LANG['AD_CONFIG_SITE_ERROR'], 'error'); } cmsCore::clearCache(); cmsCore::redirect('index.php?view=config'); } cpCheckWritable('/includes/config/config.inc.json'); ?> <form class="form-horizontal" role="form" action="/admin/index.php?view=config" method="post" name="CFGform" target="_self" id="CFGform" style="margin-bottom:30px"> <input type="hidden" name="csrf_token" value="<?php echo cmsUser::getCsrfToken(); ?>" /> <div class="uitabs"> <ul id="tabs"> <li><a href="#basic"><span><?php echo $_LANG['AD_SITE']; ?></span></a></li> <li><a href="#home"><span><?php echo $_LANG['AD_MAIN']; ?></span></a></li> <li><a href="#cache"><span><?php echo $_LANG['AD_CACHE']; ?></span></a></li> <li><a href="#database"><span><?php echo $_LANG['AD_DB'] ; ?></span></a></li> <li><a href="#mail"><span><?php echo $_LANG['AD_POST']; ?></span></a></li> <li><a href="#other"><span><?php echo $_LANG['AD_PATHWAY']; ?></span></a></li> <li><a href="#seq"><span><?php echo $_LANG['AD_SECURITY']; ?></span></a></li> <li><a href="#soc_apps"><span><?php echo $_LANG['AD_SOC_APPS']; ?></span></a></li> </ul> <div id="basic"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SCHEME_TYPE']; ?></label> <div class="col-sm-7"> <select id="scheme" class="form-control" name="scheme"> <option value=""><?php echo $_LANG['AD_SCHEME_ANY']; ?></option> <option value="http" <?php if ($config['scheme'] == 'http') { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_SCHEME_http']; ?></option> <option value="https" <?php if ($config['scheme'] == 'https') { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_SCHEME_https']; ?></option> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_TIME_ARREA']; ?></label> <div class="col-sm-7"> <select id="timezone" class="form-control" name="timezone"> <?php echo cmsCore::getTimeZonesOptions($config['timezone']); ?> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SITENAME']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="sitename" value="<?php echo htmlspecialchars($config['sitename']);?>" /> <div class="help-block"><?php echo $_LANG['AD_USE_HEADER']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['TEMPLATE']; ?></label> <div class="col-sm-7"> <select id="template" class="form-control" name="template" onchange="document.CFGform.submit();"> <?php $templates = cmsCore::getDirsList('/templates'); foreach ($templates as $template) { if ($template == 'admin') { continue; } echo '<option value="'. $template .'" '. ($config['template'] == $template ? 'selected="selected"' : '') .'>'. $template .'</option>'; } $tpl_info = cmsCore::c('page')->getCurrentTplInfo(); ?> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SEARCH_RESULT']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['slight']) { echo 'active'; } ?>"> <input type="radio" name="slight" <?php if ($config['slight']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['SHOW']; ?> </label> <label class="btn btn-default <?php if (!$config['slight']) { echo 'active'; } ?>"> <input type="radio" name="slight" <?php if (!$config['slight']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['HIDE']; ?> </label> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_TAGE_ADD']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['title_and_sitename']) { echo 'active'; } ?>"> <input type="radio" name="title_and_sitename" <?php if ($config['title_and_sitename']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['title_and_sitename']) { echo 'active'; } ?>"> <input type="radio" name="title_and_sitename" <?php if (!$config['title_and_sitename']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_TAGE_ADD_PAGINATION']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['title_and_page']) { echo 'active'; } ?>"> <input type="radio" name="title_and_page" <?php if ($config['title_and_page']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['title_and_page']) { echo 'active'; } ?>"> <input type="radio" name="title_and_page" <?php if (!$config['title_and_page']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_COM_WITHOUT_NAME_IN_URL']; ?></label> <div class="col-sm-7"> <select class="form-control" name="com_without_name_in_url"> <?php echo cmsCore::getListItems('cms_components', $config['com_without_name_in_url'], 'title', 'ASC', 'internal=0', 'link'); ?> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['TEMPLATE_INTERFACE_LANG']; ?></label> <div class="col-sm-7"> <select class="form-control" name="lang"> <?php $langs = cmsCore::getDirsList('/languages'); foreach ($langs as $lng) { echo '<option value="'. $lng .'" '. ($config['lang'] == $lng ? 'selected="selected"' : '') .'>'. $lng .'</option>'; } ?> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SITE_LANGUAGE_CHANGE']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['is_change_lang']) { echo 'active'; } ?>"> <input type="radio" name="is_change_lang" <?php if ($config['is_change_lang']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['is_change_lang']) { echo 'active'; } ?>"> <input type="radio" name="is_change_lang" <?php if (!$config['is_change_lang']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> <div style="clear:both;"></div> <div class="help-block"><?php echo $_LANG['AD_VIEW_FORM_LANGUAGE_CHANGE']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SITE_ON']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if (!$config['siteoff']) { echo 'active'; } ?>"> <input type="radio" name="siteoff" <?php if (!$config['siteoff']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if ($config['siteoff']) { echo 'active'; } ?>"> <input type="radio" name="siteoff" <?php if ($config['siteoff']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['NO']; ?> </label> <div style="clear:both;"></div> <div class="help-block"><?php echo $_LANG['AD_ONLY_ADMINS']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SITE_ONLY_AUTHORIZED']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['only_authorized']) { echo 'active'; } ?>"> <input type="radio" name="only_authorized" <?php if ($config['only_authorized']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['only_authorized']) { echo 'active'; } ?>"> <input type="radio" name="only_authorized" <?php if (!$config['only_authorized']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> <div style="clear:both;"></div> <div class="help-block"><?php echo $_LANG['AD_SITE_ONLY_AUTHORIZED_INFO']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_DEBUG_ON']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['debug']) { echo 'active'; } ?>"> <input type="radio" name="debug" <?php if ($config['debug']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['debug']) { echo 'active'; } ?>"> <input type="radio" name="debug" <?php if (!$config['debug']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> <div style="clear:both;"></div> <div class="help-block"><?php echo $_LANG['AD_WIEW_DB_ERRORS']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_WHY_STOP']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="offtext" value="<?php echo htmlspecialchars($config['offtext']); ?>" /> <div class="help-block"><?php echo $_LANG['AD_VIEW_WHY_STOP']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_WATERMARK']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="wmark" value="<?php echo $config['wmark']; ?>" /> <div class="help-block"><?php echo $_LANG['AD_WATERMARK_NAME']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_QUICK_CONFIG']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['fastcfg']) { echo 'active'; } ?>"> <input type="radio" name="fastcfg" <?php if ($config['fastcfg']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['fastcfg']) { echo 'active'; } ?>"> <input type="radio" name="fastcfg" <?php if (!$config['fastcfg']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> <div style="clear:both;"></div> <div class="help-block"><?php echo $_LANG['AD_MODULE_CONFIG']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_ONLINESTATS']; ?></label> <div class="col-sm-7"> <select class="form-control" name="user_stats"> <option value="0" <?php if (!$config['user_stats']) { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_NO_ONLINESTATS']; ?></option> <option value="1" <?php if ($config['user_stats'] == 1) { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_YES_ONLINESTATS']; ?></option> <option value="2" <?php if ($config['user_stats'] == 2) { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_CRON_ONLINESTATS']; ?></option> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SEO_URL_COUNT']; ?></label> <div class="col-sm-7"> <input type="number" class="form-control" name="seo_url_count" value="<?php echo $config['seo_url_count']; ?>" /> <div class="help-block"><?php echo $_LANG['AD_SEO_URL_COUNT_HINT']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_PAGEBAR_MAX_LINKS']; ?></label> <div class="col-sm-7"> <input type="number" class="form-control" name="max_pagebar_links" value="<?php echo $config['max_pagebar_links']; ?>" /> </div> </div> </div> </div> <div id="home"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_MAIN_PAGE']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="hometitle" value="<?php echo htmlspecialchars($config['hometitle']); ?>" /> <div class="help-block"><?php echo $_LANG['AD_MAIN_SITENAME']; ?></div> <div class="help-block"><?php echo $_LANG['AD_BROWSER_TITLE']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_KEY_WORDS']; ?></label> <div class="col-sm-7"> <textarea class="form-control" name="keywords" rows="3"><?php echo $config['keywords']; ?></textarea> <div class="help-block"><?php echo $_LANG['AD_FROM_COMMA']; ?></div> <div class="help-block"><a style="color:#09C" href="http://tutorial.semonitor.ru/#5" target="_blank"><?php echo $_LANG['AD_WHAT_KEY_WORDS']; ?></a></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_DESCRIPTION']; ?></label> <div class="col-sm-7"> <textarea class="form-control" name="metadesc" rows="3"><?php echo $config['metadesc']; ?></textarea> <div class="help-block"><?php echo $_LANG['AD_LESS_THAN']; ?></div> <div class="help-block"><a style="color:#09C" href="http://tutorial.semonitor.ru/#219" target="_blank"><?php echo $_LANG['AD_WHAT_DESCRIPTION']; ?></a></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_MAIN_PAGE_COMPONENT']; ?></label> <div class="col-sm-7"> <select class="form-control" name="homecom"> <option value="" <?php if (!$config['homecom']) { ?>selected="selected"<?php } ?>><?php echo $_LANG['AD_ONLY_MODULES']; ?></option> <?php echo cmsCore::getListItems('cms_components', $config['homecom'], 'title', 'ASC', 'internal=0', 'link'); ?> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_GATE_PAGE']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['splash']) { echo 'active'; } ?>"> <input type="radio" name="splash" <?php if ($config['splash']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['SHOW']; ?> </label> <label class="btn btn-default <?php if (!$config['splash']) { echo 'active'; } ?>"> <input type="radio" name="splash" <?php if (!$config['splash']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['HIDE']; ?> </label> <div style="clear:both;"></div> <div class="help-block"><?php echo $_LANG['AD_FIRST_VISIT']; ?></div> <div class="help-block"><?php echo $_LANG['AD_FIRST_VISIT_TEMPLATE']; ?></div> </div> </div> </div> </div> <div id="cache"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_CACHE']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['cache']) { echo 'active'; } ?>"> <input type="radio" name="cache" <?php if ($config['cache']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['cache']) { echo 'active'; } ?>"> <input type="radio" name="cache" <?php if (!$config['cache']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> <div style="clear:both;"></div> <div class="help-block"> <?php echo $_LANG['AD_CACHE_INFO']; ?> </div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_CACHE_TYPE']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <select class="form-control" name="cache_type" onchange="if ($(this).val() == 'memcached'){$('.memcached').show();}else{$('.memcached').hide();}"> <option value="file" <?php if ($config['cache_type'] == 'file') { echo 'selected="selected"'; } ?>>File</option> <?php if (class_exists('Memcached')) { ?> <option value="memcached" <?php if ($config['cache_type'] == 'memcached') { echo 'selected="selected"'; } ?>>Memcached</option> <?php } ?> </select> <div class="help-block"> <?php echo $_LANG['AD_CACHE_TYPE_INFO']; ?> </div> </div> </div> <div class="form-group memcached" <?php if ($config['cache_type'] != 'memcached'){ ?>style="display:none;"<?php } ?>> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_MEMCACHED_HOST']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <input type="text" class="form-control" name="memcached_host" value="<?php echo $config['memcached_host']; ?>" /> <div class="help-block"> <?php echo $_LANG['AD_MEMCACHED_HOST_INFO']; ?> </div> </div> </div> <div class="form-group memcached" <?php if ($config['cache_type'] != 'memcached'){ ?>style="display:none;"<?php } ?>> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_MEMCACHED_PORT']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <input type="number" class="form-control" name="memcached_port" value="<?php echo $config['memcached_port']; ?>" /> <div class="help-block"> <?php echo $_LANG['AD_MEMCACHED_PORT_INFO']; ?> </div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"> <?php echo $_LANG['AD_COLLECT_CSS']; ?><br/> <input type="checkbox" name="combine_css_enable" value="1" <?php if ($config['combine_css_enable']) { ?>checked="checked"<?php } ?> /> <?php echo $_LANG['AD_DO_ENABLE']; ?> </label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <textarea class="form-control" style="height:150px;" name="combine_css"><?php echo cmsCore::getArrVal($config, 'combine_css', ''); ?></textarea> <div class="help-block"> <?php echo $_LANG['AD_COLLECT_CSS_INFO']; ?> </div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"> <?php echo $_LANG['AD_COLLECT_JS']; ?> <br/> <input type="checkbox" name="combine_js_enable" value="1" <?php if ($config['combine_js_enable']) { ?>checked="checked"<?php } ?> /> <?php echo $_LANG['AD_DO_ENABLE']; ?> </label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <textarea class="form-control" style="height:150px;" name="combine_js"><?php echo cmsCore::getArrVal($config, 'combine_js', ''); ?></textarea> <div class="help-block"> <?php echo $_LANG['AD_COLLECT_JS_INFO']; ?> </div> </div> </div> </div> </div> <div id="database"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_DB_SIZE']; ?></label> <div class="col-sm-7"> <?php $result = cmsCore::c('db')->query("SELECT (sum(data_length)+sum(index_length))/1024/1024 as size FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '". $config['db_base'] ."'", true); if (!cmsCore::c('db')->error()) { $s = cmsCore::c('db')->fetch_assoc($result); echo round($s['size'], 2) .' '. $_LANG['SIZE_MB']; } else { echo $_LANG['AD_DB_SIZE_ERROR']; } ?> <div class="help-block"><?php echo $_LANG['AD_MYSQL_CONFIG']; ?></div> </div> </div> </div> </div> <div id="mail"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SITE_EMAIL']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="sitemail" value="<?php echo $config['sitemail']; ?>" /> <div class="help-block"><?php echo $_LANG['AD_SITE_EMAIL_POST']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SENDER_EMAIL']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="sitemail_name" value="<?php echo $config['sitemail_name']; ?>" /> <div class="help-block"><?php echo $_LANG['AD_IF_NOT_HANDLER']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SEND_METHOD']; ?></label> <div class="col-sm-7"> <select class="form-control" name="mailer"> <option value="mail" <?php if ($config['mailer'] == 'mail') { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_PHP_MAILER']; ?></option> <option value="sendmail" <?php if ($config['mailer'] == 'sendmail') { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_SEND_MAILER']; ?></option> <option value="smtp" <?php if ($config['mailer'] == 'smtp') { echo 'selected="selected"'; } ?>><?php echo $_LANG['AD_SMTP_MAILER']; ?></option> </select> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_ENCRYPTING']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if (!$config['smtpsecure']) { echo 'active'; } ?>"> <input type="radio" name="smtpsecure" <?php if (!$config['smtpsecure']) { echo 'checked="checked"'; } ?> value="" /> <?php echo $_LANG['NO']; ?> </label> <label class="btn btn-default <?php if ($config['smtpsecure'] == 'tls') { echo 'active'; } ?>"> <input type="radio" name="smtpsecure" <?php if ($config['smtpsecure'] == 'tls') { echo 'checked="checked"'; } ?> value="tls" /> tls </label> <label class="btn btn-default <?php if ($config['smtpsecure'] == 'ssl') { echo 'active'; } ?>"> <input type="radio" name="smtpsecure" <?php if ($config['smtpsecure'] == 'ssl') { echo 'checked="checked"'; } ?> value="ssl" /> ssl </label> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SMTP_LOGIN']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['smtpauth']) { echo 'active'; } ?>"> <input type="radio" name="smtpauth" <?php if ($config['smtpauth']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['smtpauth']) { echo 'active'; } ?>"> <input type="radio" name="smtpauth" <?php if (!$config['smtpauth']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SMTP_USER']; ?></label> <div class="col-sm-7"> <?php if (!$config['smtpuser']) { ?> <input type="text" class="form-control" name="smtpuser" value="<?php echo $config['smtpuser']; ?>" /> <?php } else { ?> <div class="help-block"><?php echo $_LANG['AD_IF_CHANGE_USER']; ?></div> <?php } ?> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SMTP_PASS']; ?></label> <div class="col-sm-7"> <?php if (!$config['smtppass']) { ?> <input type="text" class="form-control" name="smtppass" value="<?php echo $config['smtppass']; ?>" /> <?php } else { ?> <div class="help-block"><?php echo $_LANG['AD_IF_CHANGE_PASS']; ?></div> <?php } ?> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SMTP_HOST']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="smtphost" value="<?php echo $config['smtphost']; ?>" /> <div class="help-block"><?php echo $_LANG['AD_SOME_HOST']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_SMTP_PORT']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="smtpport" value="<?php echo $config['smtpport']; ?>" /> </div> </div> </div> </div> <div id="other"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_VIEW_PATHWAY']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['show_pw']) { echo 'active'; } ?>"> <input type="radio" name="show_pw" <?php if ($config['show_pw']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['show_pw']) { echo 'active'; } ?>"> <input type="radio" name="show_pw" <?php if (!$config['show_pw']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> <div style="clear:both;"></div> <div class="help-block"><?php echo $_LANG['AD_PATH_TO_CATEGORY']; ?></div> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_MAINPAGE_PATHWAY']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['index_pw']) { echo 'active'; } ?>"> <input type="radio" name="index_pw" <?php if ($config['index_pw']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['index_pw']) { echo 'active'; } ?>"> <input type="radio" name="index_pw" <?php if (!$config['index_pw']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_PAGE_PATHWAY']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if (!$config['last_item_pw']) { echo 'active'; } ?>"> <input type="radio" name="last_item_pw" <?php if (!$config['last_item_pw']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['HIDE']; ?> </label> <label class="btn btn-default <?php if ($config['last_item_pw'] == 1) { echo 'active'; } ?>"> <input type="radio" name="last_item_pw" <?php if (!$config['last_item_pw'] == 1) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['AD_PAGE_PATHWAY_LINK']; ?> </label> <label class="btn btn-default <?php if ($config['last_item_pw'] == 2) { echo 'active'; } ?>"> <input type="radio" name="last_item_pw" <?php if (!$config['last_item_pw'] == 2) { echo 'checked="checked"'; } ?> value="2" /> <?php echo $_LANG['AD_PAGE_PATHWAY_TEXT']; ?> </label> </div> </div> </div> </div> <div id="seq"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_IP_ADMIN']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="allow_ip" value="<?php echo htmlspecialchars($config['allow_ip']); ?>" /> <div class="help-block"><?php echo $_LANG['AD_IP_COMMA']; ?></div> </div> </div> <p style="color:#900"><?php echo $_LANG['AD_ATTENTION']; ?></p> </div> </div> <div id="soc_apps"> <div style="width:750px;"> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_IFRAME_ENABLE']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if (cmsCore::getArrVal($config, 'iframe_enable')) { echo 'active'; } ?>"> <input type="radio" name="iframe_enable" <?php if (cmsCore::getArrVal($config, 'iframe_enable')) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!cmsCore::getArrVal($config, 'iframe_enable')) { echo 'active'; } ?>"> <input type="radio" name="iframe_enable" <?php if (!cmsCore::getArrVal($config, 'iframe_enable')) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> </div> </div> <fieldset> <legend>VK.COM</legend> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_ENABLE']; ?></label> <div class="col-sm-7 btn-group" data-toggle="buttons"> <label class="btn btn-default <?php if ($config['vk_enable']) { echo 'active'; } ?>"> <input type="radio" name="vk_enable" <?php if ($config['vk_enable']) { echo 'checked="checked"'; } ?> value="1" /> <?php echo $_LANG['YES']; ?> </label> <label class="btn btn-default <?php if (!$config['vk_enable']) { echo 'active'; } ?>"> <input type="radio" name="vk_enable" <?php if (!$config['vk_enable']) { echo 'checked="checked"'; } ?> value="0" /> <?php echo $_LANG['NO']; ?> </label> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_IFRAME_APP_ID']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="vk_id" value="<?php echo $config['vk_id']; ?>" /> </div> </div> <div class="form-group"> <label class="col-sm-5 control-label"><?php echo $_LANG['AD_IFRAME_APP_PRIVATE_KEY']; ?></label> <div class="col-sm-7"> <input type="text" class="form-control" name="vk_private_key" value="<?php echo $config['vk_private_key']; ?>" /> </div> </div> </fieldset> </div> </div> </div> <div> <input type="hidden" name="do" value="save" /> <input type="submit" class="btn btn-primary" name="save" value="<?php echo $_LANG['SAVE']; ?>" /> <input type="button" class="btn btn-default" name="back" value="<?php echo $_LANG['CANCEL']; ?>" onclick="window.history.back();" /> </div> </form> <?php }