Jump to content

Search the Community

Showing results for tags 'Одобрено'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • CMS Tools - форум поддержки и развития CMS
    • Обязательно к прочтению!
    • Новостной блок CMSTools
    • Жалобы и предложения
  • Всё о Vii Engine
    • Модули, плагины, хаки, модификации
    • Шаблоны, дизайн, внешний вид
    • Сборки
    • Помощь пользователям
    • F.A.Q.
  • Всё о DataLife Engine (DLE)
    • Новости о DLE
    • Релизы движка
    • Помощь пользователям
  • Коммерция
    • Продажа
    • Услуги
    • Покупка
  • Программирование
    • PHP
    • js,jquery
    • HTML
    • CSS
    • Linux
  • Общий раздел
    • Болталка
    • "Кидалы месные"
    • Ваши проекты на различных CMS
    • Набор в команду
    • Корзина

Categories

  • VII ENGINE
    • Сборки vii engine
    • Модули, плагины, хаки vii engine
    • Шаблоны, дизайн, внешний вид
  • Invision Community
    • Релизы null версий
    • Дизайн, стили
    • Компоненты, модификации
  • DataLifeEngine
    • Релизы DLE

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Сайт


Telegram


Skype


Jabber


ICQ


Yahoo


AIM


MSN


Интересы


Город


Country


Site

Found 13 results

  1. Оригинальный MixNet "лицензия" СКАЧАТЬ
  2. Добавляем возможность загрузки главной фотографии в мобильной версии. Открываем templates\mobile\profile.tpl Вставляем: <blockquote><div class="blockcode"><blockquote>[owner] <form name="upload" enctype="multipart/form-data" action="/index.php?go=m_editprofile&act=upload" method="post" > <input type="hidden" name="size" /> <input type="file" name="uploadfile" /><br/> <input type='Submit' name='Submit'> </form> [/owner] Скачиваем файл и закидываем в папку system/modules/ (файл дублирован от editprofile.php и немного изменен). Пусть не особо красиво но работает и в "Opera Mini" и во всех браузерах. Так же в файле .htaccess вставляем: # Редактирование страницы(мобильная версия) RewriteRule ^m_editmypage(/?)+$ index.php?go=m_editprofile [L] А так же в файле mod.php вставить: //Редактирование моей страницы(моб версия) case "m_editprofile": $spBar = true; include ENGINE_DIR.'/modules/m_editprofile.php'; break; Есть маленькие изменения к способу добавления главной фотографии. способ тот же, только подходит для всех сборок. не которые шаги те же почти... И так начнем [owner] <form name="upload" enctype="multipart/form-data" action="/index.php?go=editprofile&act=upload" method="post" > <input type="hidden" name="size" /> <input type="file" name="uploadfile" /><br/> <input type='Submit' name='Submit'> </form> [/owner] открываем файл system\modules\editprofile.php ищем : //Обновляем имя фотки в бд $path = $config['home_url'].'uploads/users/'.$user_id.'/'.$image_rename.$res_type; $imsize = getimagesize($path); $db->query("UPDATE `".PREFIX."_users` SET user_photo = '{$image_rename}{$res_type}', user_wall_id = '{$dbid}', user_photo_style = '$imsize[0]|$imsize[1]' WHERE user_id = '{$user_id}'"); echo $config['home_url'].'uploads/users/'.$user_id.'/'.$image_rename.$res_type; mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); mozg_clear_cache(); } else echo 'bad'; } else echo 'big_size'; } else echo 'bad_format'; die(); break; И после: echo 'bad_format'; Вставляем: if($config['temp'] == 'mobile'){ header("Location: /"); Готово! ___________________________________________________________________________________________________ Добавление фотографий в альбом Файл albums_addphotos.tpl кидаем в папку нашего шаблона , пусть она называется mobile, тогда кидаем сюда templates/mobile/ В файле mod.php также добавляем: //Альбомы(моб версия) case "m_albums": $spBar = true; if($config['album_mod'] == 'yes') include ENGINE_DIR.'/modules/m_albums.php'; else { $user_speedbar = 'Информация'; msgbox('', 'Сервис отключен.', 'info'); } break; В файл \templates\mobile\albums_top.tpl добавляем: [owner] <div class="new_foto"> <a href="/albums/add/{aid}" onclick="Page.Go(this.href); return false;">Добавить фотографии</a> </div> [/owner] в Style.css который в шаблоне находиться добавляем: .new_foto { display: block; padding: 12px; background-color: #E4E8ED; text-align: center; font-weight: 700; font-size: medium; margin-top: -1px; } И напоследок прикрепленный файл m_albums.php кидаем в папку modules. Немного замечу что файл albums_addphotos.tpl отвечает еще за загрузку фото после создания альбома. А теперь файлы которые нужны для данных обновлений моб. версии: Небольшое примечание: При добавлении данного кода: [owner] <div class="new_foto"> <a href="/albums/add/{aid}" onclick="Page.Go(this.href); return false;">Добавить фотографии</a> </div> [/owner] В файл \templates\mobile\albums_top.tpl добавляем между тегами: [view] [/view] Если у вас не показывает альбомы: Определяем теги которые не определены в profile.php вставляем код ниже ///////////////////////////////* Последние 5 фотографий *////////////// $photo_cnt = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ", false); if ($photo_cnt['cnt']){ $sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 6",1); if($config['temp'] == 'mobile'){ $sql_photos_view = $db->super_query("SELECT * FROM `".PREFIX."_photos` WHERE user_id = '{$id}' ORDER BY id DESC LIMIT 2",1); } if($sql_photos_view){ foreach($sql_photos_view as $row_view_photos) { $photos_view_albums .= "<a onclick=\"Photo.Show(this.href); return false\" href=\"/photo{$row_view_photos['user_id']}_{$row_view_photos['id']}_{$row_view_photos['album_id']}\"><img style=\"margin-left:2px;\" src=\"/uploads/users/{$row_view_photos['user_id']}/albums/{$row_view_photos['album_id']}/c_{$row_view_photos['photo_name']}\" width=\"92\" ></a>"; } } else { $photos_view_albums = '<br><div class="info_center">Нет загруженных фотографий.</div>'; } $tpl->set('{photos_view_albums}', $photos_view_albums); $tpl->set('[photos]', ''); $tpl->set('[/photos]', ''); $tpl->set('{photos_num}', $photo_cnt['cnt']); }else $tpl->set_block("'\\[photos\\](.*?)\\[/photos\\]'si",""); Замечу, что if($config['temp'] == 'mobile') определяет с какой версии сидишь и выводит столько фото на странице лимиты фото сами ищите как менять, потому что это уже и так пережевано Готово! ___________________________________________________________________________________________________ Добавление фотографий в альбом сделали, теперь надо их удалить. Удаление фотографий из альбома. Открываем файл шаблон/js/main.js и вставляем например в самый низ код: //Удаление фотографии из альбома var Photos = { MsgDelete: function(id, aid, type){ Box.Show('del_photo_'+id, '400', lang_title_del_photo, '<div style="padding:15px;">'+lang_del_photo+'</div>', lang_box_canсel, lang_box_yes, 'Photos.Delete('+id+', '+aid+', '+type+'); return false'); }, Delete: function(id, aid, type){ $('#box_loading').show(); $.get('/index.php?go=albums&act=del_photo', {id: id}, location.reload(), function(){ Box.Close('del_photo_'+id); if(!type){ $('#a_photo_'+id).remove(); $('#p_jid'+id).remove(); updateNum('#photo_num'); } else $('#pinfo_'+id).html(lang_photo_info_delok); }); } } Далее открываем \templates\mobile\photo_view.tpl и вставляем: <a href="/" onclick="Photos.MsgDelete({id}, {aid}, 1); return false"><div>Удалить фотографию</div></a> Готово! ___________________________________________________________________________________________________ Добавление групп в моб. версии Заходим в system/mod.php и ставим туда след. код: //Сообщества(мобильная версия) case "m_groups": include ENGINE_DIR.'/modules/m_groups.php'; break; Загружаем и разархивируем файл в папку system/modules/ Далее идем в templates\mobile\public\main.tpl и вставляем код: [admin] <form name="upload" enctype="multipart/form-data" action="/index.php?go=m_groups&act=loadphoto&id={id}" method="post" > <input type="hidden" name="size" /> <input type="file" name="uploadfile" /><br/> <input type='Submit' name='Submit'> </form> [/admin] Для создания групп в сообществе с мобильной версии вставляем код: <a href="/groups" onclick="groups.createbox(); return false">Создать сообщество</a> В \templates\mobile\groups\head.tpl сразу после: <a href="/groups?act=admin">Управление</a> Далее идем в наш \templates\mobile\js\main.js и в самы низ вставляем: //GROUPS var groups = { sendver: function(i){ Page.Loading('start'); $.post('/index.php?go=groups&act=sendver', {public_id: i}, function(d){ Page.Loading('stop'); if(d == 1) addAllErr('Для того, чтоб эта функция была активна, Вы должны верифицировать свою страницу', 5000); else { $('#sendver').html('Заявка отправлена'); $('#sendverlnk').attr('onclick', 'return false'); } }); }, createbox: function(){ Box.Show('create', 490, lang_groups_new, '<div style="padding:20px"><div class="videos_text">Название</div><input type="text" class="videos_input" id="title" maxlength="65" /></div>', lang_box_canсel, lang_groups_cretate, 'groups.creat()', 100, 0, 0, 0, 0, 'title'); $('#title').focus(); }, creat: function(){ var title = $('#title').val(); if(title != 0){ $('#box_loading').show(); ge('box_butt_create').disabled = true; $.post('/index.php?go=groups&act=send', {title: title}, function(id){ if(id == 'antispam_err') AntiSpam('groups'); else Page.Go('/public'+id); Box.Close(); }); } else setErrorInputMsg('title'); }} Готово! ___________________________________________________________________________________________________ Автор гайда:rifmatch Большое ему за это спасибо!
  3. Mr.Timbios

    Вбеседке

    Дорогие пользователи нашего форума, эта сборка была слита одним человеком, у которого нету совести. Так вот, она продавалась за 800 рублей, и появилась у меня где-то на 2-ой недели продажи. Автор: IIoXyUcT Данная сборка является Оригинальной(у автора не было времени выложить её на наш сайт, он попросил меня сделать это).На других сайтах сборка может иметь разные "шпионы". Сборка сделана очень красиво, в зеленых тонах, но все же присутствуют баги. Скачать! Ссылка на базу
  4. В старом классе ошибок БД писалось лишь, в какой таблице не хватает определенной строки. В новом же классе отображается номер ошибки, в каком файле и на какой строке произошла ошибка, где не хватает таблицы или строки и запрос SQL. ИНСТРУКЦИЯ: Загрузить файл в папку system/classes Радоваться жизнью и ждать новых подгонов (а они будут и их будет много в 2016). К данной теме прикрепляю скриншот в случае с отсутствием целой базы данных (как это выглядит). mysql.php
  5. "Social Network - Shaman Design" - это моя фан-разработка, создана на основе Vii Engine 2.0 (Nulled by Tesla) и дизайна VK.com Redesign Concept 2012. Работаю над сборкой время от времени, ради увлечения и в основном по дизайну и адаптации шаблона. Если у Вас есть идеи, предложения, вопросы - задавайте их в этой теме ниже. Дата - 2014-2015 Последняя версия - 0.1.13 Завершено - ~67% Главная страница, Профиль пользователя, Поиск,Всплывающие окна, Страницы ошибок, Стена; Просмотр видеозаписей, Просмотр изображений, Профиль пользователя (развёрнутый),Просмотр сообществ, Вопрос в тех. поддержку, Сообщения; Авторизации: Администратор, Инженер, Модератор, Агент поддержки; Общий вид панели управления; Последние изменения: v0.1.13 (05.08.2015) Финальная правка панелей управления (05.08.2015) v0.1.12 (30.07.2015) Финальная корректировка "лайков" (выпадающее окно) (30.07.2015) Правка добавления аудиозаписей в сообщества (23.05.2015) История давних изменений Shaman Design.rar
  6. Привет всем! Помню как просили что бы данным дампом поделились на форуме, вот сегодня вспомнил, точнее нашёл у себя в базе Теперь немного про управление этим дампом. Файл config.php : Тут вы можете заполнить Контакты покупки Плохие сайты Форумы продающие не лицензию Что бы настроять скачивание апдейтов вам понадобятся файлы updates.php и db.keys.php Автор:viiprogrammer niceweb by viiprogramer.zip
  7. http://htmlbook.ru/ - Для тех, кто делает сайты. http://www.rudebox.org.ua/ - Все для веб-дизайнера. http://findicons.com/ - База иконок. http://shriftkrasivo.ru/ - Бесплатные шрифты. http://dribbbleboard.com/ - Для вдохновения) http://www.freepik.com/ - База векторных изображений. http://tympanus.net/Development/CreativeLinkEffects/ - Различные эффекты для ссылок. http://www.calltoidea.com/ - Для вдохновения №2) PS: Этими сайтами пользуюсь сам. Не является рекламой или копипастом. Все сайты проверены!
  8. И так все мы помним паблик модуль вакансии, где после установки, окна в которых выводилась вакансия - "отсебячно" плавали по сборке, убивая весь дизайн "на нет". Вот правка модуля, которая решает эту проблему: 1. Заливка файлов: - из папки js => /templates/Default/js/ - из папки modules => /system/modules/ - из папки page => /templates/Default/page/ - из папки css => /templates/Default/style/ - из папки inc => /system/inc/ - из папки jobs => /templates/Default/images/jobs/ PS: При необходимости папки СОЗДАТЬ! 2. Подключение файлов: - Открываем /system/mod.php, находим: //Регистрация case "register": include ENGINE_DIR.'/modules/register.php'; break; Ниже ставим: //Работа case "jobs": include ENGINE_DIR.'/modules/jobs.php'; break; case "job": include ENGINE_DIR.'/modules/job.php'; break; - Открываем .htaccess и находим: RewriteEngine On Ниже ставим: # Робота RewriteRule ^jobs(/?)+$ index.php?go=jobs [L] PS: Насколько я помню js и css подключены в самом шаблоне jobs.tpl, но учитывая разные сборки и возможности - добавлю ка я и этот пункт. ВАЖНО! Добавлять в случае отсутствия стиля и вывода окон! - Открываем /system/inc/mod.php и находим: //Настройки системы case "system": include ADMIN_DIR.'/system.php'; break; Ниже ставим: //Вакансии case "jobs": include ADMIN_DIR.'/jobs.php'; break; - Открываем /system/inc/main.php и находим: echoblock('Города', 'Добавление, удаление и редактирование городов', 'city', 'city'); Ниже ставим: echoblock('Вакансии'.$new_jobs, 'Просмотр вакансий', 'jobs', 'jobs'); 3. Добавить запросы: CREATE TABLE IF NOT EXISTS `vii_job` ( `id` int(11) NOT NULL AUTO_INCREMENT, `num` mediumint(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `vii_jobs` ( `namejob` varchar(255) NOT NULL, `name` varchar(50) NOT NULL, `phone` varchar(64) NOT NULL, `email` varchar(200) NOT NULL, `description` text NOT NULL, `user_id` int(11) NOT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; PS: Дабы всем было понятно, добавлю скриншоты как было "до" и "после": PS: Дизайн подгоняйте под свои сборки и нужды. Автор изначального мода - Developer.Sloopy Правки вносил - Shaman Вакансии (корректировка).rar
  9. Тема легкая, поэтому бесплатно выложу. Итак, создаем в таблице документов 2 новых поля - file_type и jpgif оба text Далее, открываем wall.php, который в папке classes и меняем код от } elseif($attach_type[0] == 'doc'){ До } elseif($attach_type[0] == 'vote'){ На мой } elseif($attach_type[0] == 'doc'){ $doc_id = intval($attach_type[1]); $row_doc = $db->super_query("SELECT dname, dsize, file_type, ddownload_name, duser_id, jpgif, did FROM `doc` WHERE did = '{$doc_id}'"); if($row_doc){ if($row_doc['file_type'] == 'gif'){ $attach_result .= '<div class="post_media clear_fix"> <div class="media_desc media_desc_soft"> <a class="page_gif_preview page_gif_loaded" onclick="gif.hide('.$row_doc['did'].');" id="full_gif_'.$row_doc['did'].'" style="display: none"> <div class="page_gif_loading progress_inv" style="display: none;"></div> <img src="http://ivinete.ru/uploads/doc/'.$row_doc['duser_id'].'/'.$row_doc['ddownload_name'].'" class="pages_gif_img page_gif_big"></a> <a onclick="gif.show('.$row_doc['did'].');" class="photo page_doc_photo_href" id="gif_'.$row_doc['did'].'"> <div class="page_doc_photo" style="background-image: url(http://ivinete.ru/uploads/doc/'.$row_doc['duser_id'].'/'.$row_doc['jpgif'].');"></div> <div class="page_doc_photo_hint"><span class="fl_l" style="width:5em">'.$row_doc['dname'].'</span> <span class="fl_r">'.$row_doc['dsize'].'</span></div> </a> </div> </div>'; } else { $attach_result .= '<div style="margin-top:5px;margin-bottom:5px" class="clear"><div class="doc_attach_ic fl_l" style="margin-top:4px;margin-left:0px"></div><div class="attach_link_block_te"><div class="fl_l">Файл <a href="/index.php?go=doc&act=download&did='.$doc_id.'" target="_blank" onMouseOver="myhtml.title(\''.$doc_id.$cnt_attach.$row_wall['id'].'\', \'<b>Размер файла: '.$row_doc['dsize'].'</b>\', \'doc_\')" id="doc_'.$doc_id.$cnt_attach.$row_wall['id'].'">'.$row_doc['dname'].'</a></div></div></div><div class="clear"></div>'; } $cnt_attach++; } //Если опрос } elseif($attach_type[0] == 'vote'){ Теперь JS код var gif = { hide: function(did){ $('#full_gif_'+did).hide(); $('#gif_'+did).show(); }, show: function(did){ $('#full_gif_'+did).show(); $('#gif_'+did).hide(); } } Обновляем стили .media_desc { line-height: 140%; } .media_desc b { background: url(/images/icons/mono_iconset.png?1) no-repeat left -237px; width: 15px; height: 11px; margin-top: 2px; } .media_preview b.postpone { background-position: 0 -334px; margin-top: 2px; } .media_desc b.topic { background-position: 0 -192px; } .media_desc b.group { background-position: 0 -45px; height: 12px; } .media_desc b.doc { background-position: 0 -280px; height: 11px; } .media_desc b.note, .media_preview .note b { background-position: 0 -134px; } .media_desc_soft { padding: 0px; float: left; margin-bottom: 2px; margin-right: 8px; margin-top: 8px; clear: none; } .page_doc_photo_href { position: relative; } .page_doc_photo_href:hover { text-decoration: none; } .page_doc_photo { width: 130px; height: 98px; background: #000000; background-position: 50% 50%; background-repeat: no-repeat; text-align: center; } .page_doc_photo_hint { width: 110px; *width: 130px; text-align: center; color: #FFFFFF; background: #000000; margin-bottom: 5px; *background: #000000; background: rgba(0, 0, 0, 0.5); position: absolute; margin-top: -18px; height: 14px; *height: 18px; padding: 2px 10px; font-size: 0.81em; } Собственно doc.php Заменяем аплоад на мой case "upload": NoAjaxQuery(); //Получаем данные о фотографии $file_tmp = $_FILES['uploadfile']['tmp_name']; $file_name = $_FILES['uploadfile']['name']; // оригинальное название для оприделения формата $file_size = $_FILES['uploadfile']['size']; // размер файла $type = end(explode(".", $file_name)); // формат файла //Разришенные форматы $allowed_files = array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'rtf', 'pdf', 'png', 'jpg', 'gif', 'psd', 'mp3', 'djvu', 'fb2', 'ps', 'jpeg', 'txt'); //Проверям если, формат верный то пропускаем if(in_array(strtolower($type), $allowed_files)){ if($file_size < 10000000){ $res_type = strtolower('.'.$type); //Директория загрузки $upload_dir = ROOT_DIR."/uploads/doc/{$user_id}/"; //Если нет папки юзера, то создаём её if(!is_dir($upload_dir)){ @mkdir($upload_dir, 0777); @chmod($upload_dir, 0777); } $downl_file_name = substr(md5($file_name.rand(0, 1000).$server_time), 0, 25); //Загружаем сам файл if(move_uploaded_file($file_tmp, $upload_dir.$downl_file_name.$res_type)){ function formatsize($file_size){ if($file_size >= 1073741824){ $file_size = round($file_size / 1073741824 * 100 ) / 100 ." Gb"; } elseif($file_size >= 1048576){ $file_size = round($file_size / 1048576 * 100 ) / 100 ." Mb"; } elseif($file_size >= 1024){ $file_size = round($file_size / 1024 * 100 ) / 100 ." Kb"; } else { $file_size = $file_size." b"; } return $file_size; } $dsize = formatsize($file_size); $file_name = textFilter($file_name, false, true); if($type == 'gif'){ $img = imagecreatefromgif($upload_dir.$downl_file_name.$res_type); imagejpeg ($img, $upload_dir.$downl_file_name.'.jpg', 100); $jpgif .= $downl_file_name.'.jpg'; } //Обновляем кол-во док. у юзера $db->query("UPDATE `users` SET user_doc_num = user_doc_num+1 WHERE user_id = '{$user_id}'"); if(!$file_name) $file_name = 'Без названия.'.$res_type; $strLn = strlen($file_name); if($strLn > 50){ $file_name = str_replace('.'.$res_type, '', $file_name); $file_name = substr($file_name, 0, 50).'...'.$res_type; } //Вставляем файл в БД $db->query("INSERT INTO `doc` SET duser_id = '{$user_id}', dname = '{$file_name}', dsize = '{$dsize}', ddate = '{$server_time}', ddownload_name = '{$downl_file_name}{$res_type}', file_type = '{$type}', jpgif = '{$jpgif}'"); echo $file_name.'"'.$db->insert_id().'"'.$dsize.'"'.strtolower($type).'"'.langdate('сегодня в H:i', $server_time); mozg_mass_clear_cache_file("user_{$user_id}/profile_{$user_id}|user_{$user_id}/docs"); } } else echo 1; } exit; break; Вроде бы ничего не забыл. В итоге получите такую тему Не забываем плюсовать. P.S. В коде для 100% работоспособности кое-что нужно поправить, там сами увидите, он и так нормально пашет. Если что-то не так - отпишитесь, может забыл что-то.
  10. 1. Открываем .htaccess Перед : # Альбомы Вставить: # Альбомы в группах RewriteRule ^albums-([0-9]+)(/?)+$ index.php?go=groups_albums&uid=$1 [L] RewriteRule ^albums-([0-9]+)_([0-9]+)/add(/?)+$ index.php?go=groups_albums&act=add&aid=$2&pid=$1 [L] RewriteRule ^albums-([0-9]+)_([0-9]+)(/?)+$ index.php?go=groups_albums&act=view&aid=$2&pid=$1 [L] RewriteRule ^albums-([0-9]+)_([0-9]+)/page/([0-9]+)(/?)+$ index.php?go=groups_albums&act=view&aid=$2&page=$3&pid=$1 [L] RewriteRule ^albums-([0-9]+)/comments(/?)+$ index.php?go=groups_albums&act=all_comments&uid=$1 [L] RewriteRule ^albums-([0-9]+)/comments/page/([0-9]+)(/?)+$ index.php?go=groups_albums&act=all_comments&uid=$1&page=$3 [L] RewriteRule ^albums-([0-9]+)_([0-9]+)/comments(/?)+$ index.php?go=groups_albums&act=all_comments&aid=$2&pid=$1 [L] RewriteRule ^albums-([0-9]+)_([0-9]+)/comments/page/([0-9]+)(/?)+$ index.php?go=groups_albums&act=all_comments&aid=$2&page=$2&pid=$1 [L] RewriteRule ^albums-([0-9]+)/editphotos/([0-9]+)(/?)+$ index.php?go=groups_albums&act=edit_pos_photos&aid=$2&pid=$1 [L] RewriteRule ^albums-([0-9]+)/newphotos(/?)+$ index.php?go=groups_albums&act=new_photos&pid=$1 [L] RewriteRule ^albums-([0-9]+)/newphotos/([0-9]+)(/?)+$ index.php?go=groups_albums&act=new_photos&page=$2&pid=$1 [L] # Просмотр фото в группах RewriteRule ^photo-([0-9]+)_([0-9]+)_([0-9]+)(/?)+$ index.php?go=groups_albums&act=view&pid=$1&aid=$3 [L] 2. Открываем ../Default/style/style.css в самый низ добавляем /* GROUPS ALBUMS */ .page_album_row {margin: 10px 10px 0px;width: 140px;height: 118px;overflow: hidden;display: inline-block;vertical-align: top;background: #EEE;} .page_album_row a {position: relative;display: block;text-align: center; cursor: pointer;} .page_photo_thumb_big {vertical-align: top;max-width: 140px;} .page_album_title_wrap:not([dummy]) {-ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled='false')";} .page_album_title_wrap {background: rgba(0, 0, 0, 0.5);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#7f000000', endColorstr='#7f000000')";color: white;position: absolute;top: 0px;width: 178px;margin-top: 98px;text-align: left;padding: 4px 0px 10px;line-height: 12px;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .page_album_title {white-space: nowrap;overflow: hidden;-o-text-overflow: ellipsis;text-overflow: ellipsis;max-width: 125px;font-weight: bold;margin-left: 6px;} .page_album_camera {background: url(../images/camera_white.png) 0 2px no-repeat;padding-left: 14px;font-weight: bold;margin: 0px 6px;} .page_album_description {max-width: 166px;margin: 5px 6px 0px;font-size: 0.9em;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;-o-text-overflow: ellipsis;text-overflow: ellipsis;} .page_album_title_wrap_descr:hover .page_album_title_wrap {margin-top:81px;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .photo_row {padding: 9px 9px 0px 10px;width: 250px;height: 196px;overflow: hidden;display: inline-block;vertical-align: top;} .photo_row a.img_link {position: relative;display: block;width: 250px;height: 185px;overflow: hidden;text-align: center;background: #F1F1F1;} .photo_row img {vertical-align: top;max-width:250px;} .photo_album_title:not([dummy]) {-ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled='false')";} .photo_album_title {background: rgba(0, 0, 0, 0.5);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#7f000000', endColorstr='#7f000000')";color: white;position: absolute;top: 0px;width: 250px;margin-top: 163px;text-align: left;padding: 4px 0px 10px;line-height: 12px;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .photo_album_title div.description {margin-top: 5px;max-width: 250px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;-o-text-overflow: ellipsis;text-overflow: ellipsis;} .photo_album_title div {margin: 0 7px;} .photo_album_title div.ge_photos_album {white-space: nowrap;overflow: hidden;-o-text-overflow: ellipsis;text-overflow: ellipsis;max-width: 208px;font-weight: bold;margin-right: 5px;} .photo_album_title div.camera {background: url(../images/camera_white.png) 0 2px no-repeat;padding-left: 14px;font-weight: bold;} .photo_row .img_link.no_photo {background: #F1F1F1 url('../images/camera_big.png') 50% 60px no-repeat !important;} .photo_row a.img_link {position: relative;display: block;width: 250px;height: 185px;overflow: hidden;text-align: center;background: #F1F1F1;} .photo_row .no_photo div.camera, .photo_row .no_photo img {display: none;} .photo_album_title_show:hover .photo_album_title{margin-top:144px;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} #albums_load_more {display: block;background: #eef2ee;margin: 0px 18px 15px;padding: 10px;text-align: center;color: #739273;} #photos_load_more .progress, #albums_load_more .progress {margin: 0px auto;} .progress, .progress_inv, .progress_inv_img {display: none;width: 32px;height: 13px;background: url(../images/upload.gif) no-repeat 50% 50%;} #albums_load_more:hover {text-decoration: none;background: #e8f0e8;} #photos_upload_area {background: #eef2ee;padding: 24px;text-align: center;border-bottom: 1px solid #e3ece3;color: #739273;font-size: 1.18em;line-height: 16px;display: block;} #photos_upload_area:hover {background: #e8f0e8;text-decoration:none} .photos_upload_area_img {background: url('../images/camera.png') left 0px no-repeat;padding: 3px 0px 3px 35px;} .photo_row .photo_album_info, .photo_row .photo_album_privacy {position: absolute;top: 6px;right: 6px;width: 19px;height: 19px;} .photo_row .photo_album_info_back {position: absolute;top: 0px;right: 0px;background-color: black;opacity: 0;filter: alpha(opacity=0);width: 20px;height: 20px;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;-webkit-transition: all 400ms ease-in-out;-moz-transition: all 400ms ease-in-out;-o-transition: all 400ms ease-in-out;transition: all 400ms ease-in-out;} .photo_row .photo_album_info_cont {position: absolute;background: url(../images/photo_icons.png) 0px -47px no-repeat;top: 0px;right: 0px;opacity: 0;filter: alpha(opacity=0);width: 13px;height: 13px;padding: 0px;margin: 4px;-webkit-transition: all 400ms ease-in-out;-moz-transition: all 400ms ease-in-out;-o-transition: all 400ms ease-in-out;transition: all 400ms ease-in-out;} .edit_owner:hover .photo_album_info_back {opacity:0.6;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .edit_owner:hover .photo_album_info_cont {opacity:1;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .photo_comment_info {float:left;width: 427px;} /* PHOTO GROUPS */ .pv_can_edit:hover {cursor: pointer;margin: -5px 0px 10px;background: #E9EDF1;padding: 5px;} .pv_can_edit, .pv_cant_edit {overflow: hidden;line-height: 1.37em;margin:-5px 0px 10px;padding: 5px;} .pv_desc_edit {color: #777;} .inpst_comments {vertical-align: top;width: 386px;height: 65px;margin-bottom: 10px;border:1px solid #c6dcc6;padding:3px 4px;} /* COMMENTS ICONS */ .reply_actions_wrap {position: relative;z-index: 10;} .reply_actions {height: 11px;width: 32px;padding-top: 4px;position: absolute;right: 0;} .reply_delete_button, .reply_edit_button {background: url(../images/statusx_op.gif) 0 0 no-repeat;opacity:0;cursor: pointer;height: 11px;width: 11px;margin-left: 5px;} .reply_edit_button {background-image: url(../images/statusedit.gif);opacity:0} .wall_fast_block:hover .reply_delete_button, .wall_fast_block:hover .reply_edit_button {opacity:0.3;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .wall_fast_block:hover .reply_delete_button:hover {opacity:1;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .wall_fast_block:hover .reply_edit_button:hover {opacity:1;-webkit-transition: all 200ms ease-in-out;-moz-transition: all 200ms ease-in-out;-o-transition: all 200ms ease-in-out;transition: all 200ms ease-in-out;} .reply_to_title {display: block;padding: 10px 5px 0px;white-space: nowrap;overflow: hidden;-o-text-overflow: ellipsis;text-overflow: ellipsis;} 3. Открываем ../Default/js/profile.js Перед: //PHOTOS Вставляем: //ALBUMS GROUPS var AlbumsGroups = { CreatAlbum: function(j){ var pid = '&pid='+$('#pid').val(); Page.Loading('start'); $.post('/index.php?go=groups_albums&act=create_page'+pid, {pid: j}, function(data){ Box.Show('albums', 410, lang_title_new_album, data, lang_box_canсel, 'Создать альбом', 'StartCreatAlbum(); return false;', 0, 0, 0, 0); $('#name').focus(); Page.Loading('stop'); }); }, Delete: function(id, hash){ Box.Show('del_album_'+id, 410, 'Удаление альбома', '<div style="padding:15px;">'+lang_del_album+'</div>', lang_box_canсel, 'Удалить', 'AlbumsGroups.StartDelete('+id+', \''+hash+'\'); return false;'); }, StartDelete: function(id, hash){ var pid = '&pid='+$('#pid').val(); $('#box_loading').show(); $.post('/index.php?go=groups_albums&act=del_album'+pid, {id: id, hash: hash}, function(d){ Box.Close('del_album_'+id); $('#album_'+id).remove(); updateNum('#albums_num'); if($('.albums').size() < 1) Page.Go(location.href); }); }, Drag: function(){ var pid = '&pid='+$('#pid').val(); $("#dragndrop ul").sortable({ cursor: 'move', opacity: 0.9, scroll: true, update: function(){ var order = $(this).sortable("serialize"); $.post("/index.php?go=groups_albums&act=save_pos_albums"+pid, order, function(){}); } }); }, EditBox: function(id){ var pid = '&pid='+$('#pid').val(); Page.Loading('start'); $.post('/index.php?go=groups_albums&act=edit_page'+pid, {id: id}, function(d){ Page.Loading('stop'); Box.Show('edit_albums_'+id, 410, lang_edit_albums, d, lang_box_canсel, lang_box_save, 'AlbumsGroups.SaveDescr('+id+'); return false', 0, 0, 0, 0); $('#name_'+id).focus(); }); }, SaveDescr: function(id){ var pid = '&pid='+$('#pid').val(); var name = $("#name_"+id).val(); var descr = $("#descr_t"+id).val(); var privated = $('#privated').val(); if(name != 0){ $("#name_"+id).css('background', '#fff'); $('#box_loading').show(); $.post('/index.php?go=groups_albums&act=save_album'+pid, {id: id, name: name, descr: descr, privated: privated}, function(data){ $('#box_loading').hide(); if(data == 'no_name'){ $('.err_red').show().text(lang_empty); ge('box_but').disabled = false; } else if(data == 'no'){ $('.err_red').show().text(lang_nooo_er); ge('box_but').disabled = false; } else { Box.Close('edit_albums_'+id); row = data.split('|#|||#row#|||#|'); $('#descr_'+id).html(row[1]); $('#albums_name_'+id).html(row[0]); } }); } else { $("#name_"+id).css('background', '#ffefef'); setTimeout("$('#name_"+id+"').css('background', '#fff').focus()", 800); $('#box_loading').hide(); } }, EditCover: function(id, page_num){ var pid = '&pid='+$('#pid').val(); if(page_num) page = '&page='+page_num; else { page = ''; page_num = 1; } Box.Page( '/index.php?go=groups_albums&act=edit_cover'+pid, //URL 'id='+id+page, //POST данные 'edit_cover_'+id+page_num, //ID 627, //Ширина окна lang_edit_cover_album, //Заголовок окна lang_box_canсel, //Имя кнопки для закртие окна 0, //Текст кнопки выполняющая функцию 0, //Сама функция для выполнения 400, //Высота окна 'overflow', //Скролл 'bg_show_top', //Внутреняя тень окна верх 'bg_show_bottom', //Внутреняя тень окна низ '', 1 ); }, SetCover: function(id, aid, photo){ var pid = '&pid='+$('#pid').val(); $('#box_loading').show(); $.get('/index.php?go=groups_albums&act=set_cover'+pid, {id: id}, function(){ $('#cover_'+aid).attr('src', photo); Box.Close('edit_cover_'+aid); $('#box_loading').hide(); }); }, MovePhoto: function(aid){ var pid = '&pid='+$('#pid').val(); $('#box_loading').show(); $.get('/index.php?go=groups_albums&act=box_move_photo'+pid, {aid: aid}, function(data){ Box.Show('movephotos', 400, 'Перемещение фотографии', data, lang_msg_close); }); }, ChangeMove: function(aid){ $('#value_album').val($('#change_move_box_album :selected').val()); }, MovingPhotos: function(id, aid){ var pid = '&pid='+$('#pid').val(); var from_aid = $('#value_album').val(); $('#box_loading').show(); $.get('/index.php?go=groups_albums&act=move_photo'+pid, {user_id: id, id: aid, from_album: from_aid}, function(data){ Box.Close('movephotos'); }); } } //PHOTOS GROUPS var PhotoGroups = { Drag: function(){ var pid = '&pid='+$('#pid').val(); $("#dragndrop ul").sortable({ cursor: 'move', scroll: false, update: function(){ var order = $(this).sortable("serialize"); $.post("/index.php?go=groups_albums&act=save_pos_photos"+pid, order); } }); }, Show: function(h){ Distinguish.GeneralClose(); var id = h.split('_'); var uid = id[0].split('photo'); var section = h.split('sec='); var fuser = h.split('wall/fuser='); var note_id = h.split('notes/id='); var msg_id = h.split('msg/id='); if(fuser[1]) section[1] = 'wall'; if(note_id[1]){ section[1] = 'notes'; fuser[1] = note_id[1]; } if(msg_id[1]){ section[1] = 'msg'; fuser[1] = msg_id[1]; } $('.photo_view').hide(); if(is_moz && !is_chrome) scrollTopForFirefox = $(window).scrollTop(); $('html').css('overflow', 'hidden'); if(is_moz && !is_chrome) $(window).scrollTop(scrollTopForFirefox); if(ge('photo_view_'+id[1])){ $('#photo_view_'+id[1]).show(); history.pushState({link:h}, null, h); } else { Photo.Loading('start'); $.post('/index.php?go=photo_groups', {uid: uid[1], pid: id[1], section: section[1], fuser: fuser[1]}, function(d){ if(d == 'no_photo'){ Photo.Loading('stop'); Box.Info('no_video', lang_dd2f_no, lang_photo_info_text, 300); $('html, body').css('overflow-y', 'auto'); return false; } else if(d == 'err_privacy'){ Photo.Loading('stop'); addAllErr(lang_pr_no_title); $('html, body').css('overflow-y', 'auto'); } if(section[1] != 'loaded') history.pushState({link:h}, null, h); $('body').append(d); $('#photo_view_'+id[1]).show(); Photo.Loading('stop'); }); } }, Profile: function(uid, photo, type){ Photo.Loading('start'); $.post('/index.php?go=photo_groups&act=profile', {uid: uid, photo: photo, type: type}, function(d){ Photo.Loading('stop'); if(d == 'no_photo'){ Box.Info('no_video', lang_dd2f_no, lang_photo_info_text, 300); $('html, body').css('overflow-y', 'auto'); } else { $('body').append(d); $('#photo_view').show(); $('html, body').css('overflow-y', 'hidden'); } }); }, Prev: function(h){ var id = h.split('_'); $('.photo_view').hide(); $('html, body').css('overflow', 'hidden'); $('.pinfo, .photo_prev_but, .photo_next_but').show(); $('.save_crop_text').hide(); $('.ladybug_ant').imgAreaSelect({remove: true}); if(ge('photo_view_'+id[1])){ $('#photo_view_'+id[1]).show(); return false; } else { Photo.Show(h); } }, Close: function(close_link){ $('.ladybug_ant').imgAreaSelect({remove: true}); $('.photo_view').remove(); $('html, body').css('overflow-y', 'auto'); if(is_moz && !is_chrome) $(window).scrollTop(scrollTopForFirefox); if(close_link != false) history.pushState({link: close_link}, null, close_link); }, Loading: function(f){ if(f == 'start'){ if(is_moz && !is_chrome) scrollTopForFirefox = $(window).scrollTop(); $('html').css('overflow', 'hidden'); if(is_moz && !is_chrome) $(window).scrollTop(scrollTopForFirefox); var loadcontent = '<div class="photo_view" id="photo_load" style="padding-right:17px" onClick="PhotoGroups.setEvent(event, false)">'+ '<div class="photo_close" onClick="PhotoGroups.LoadingClose(); return false" style="right:15px;"></div>'+ '<div class="photo_bg" style="height:310px;padding-top:290px;">'+ '<center><img src="/templates/Default/images/progress.gif" alt="" /></center>'+ '</div>'+ '</div>'; $('body').append(loadcontent); $('#photo_load').show(); } if(f == 'stop') $('#photo_load').remove(); }, LoadingClose: function(){ $('#photo_load').remove(); $('html, body').css('overflow-y', 'auto'); }, Init: function(target){ this.target = $(target); var that = this; $(window).scroll(function(){ if ($(document).height() - $(window).height() <= $(window).scrollTop()){ alert(1); } }); }, Panel: function(id, f){ if(f == 'show') $('#albums_photo_panel_'+id).show(); else $('#albums_photo_panel_'+id).hide(); }, MsgDelete: function(id, aid, type){ Box.Show('del_photo_'+id, '400', lang_title_del_photo, '<div style="padding:15px;">'+lang_del_photo+'</div>', lang_box_canсel, lang_box_yes, 'PhotoGroups.Delete('+id+', '+aid+', '+type+'); return false'); }, Delete: function(id, aid, type){ var pid = '&pid='+$('#pid').val(); $('#box_loading').show(); $.get('/index.php?go=groups_albums&act=del_photo'+pid, {id: id}, function(){ Box.Close('del_photo_'+id); if(!type){ $('#a_photo_'+id).remove(); $('#p_jid'+id).remove(); updateNum('#photo_num'); } else $('#pinfo_'+id).html(lang_photo_info_delok); }); }, SetCover: function(id, jid){ var pid = '&pid='+$('#pid').val(); Page.Loading('start'); $.get('/index.php?go=groups_albums&act=set_cover'+pid, {id: id}, function(){ $('.albums_new_cover').fadeOut(); $('#albums_new_cover_'+jid).fadeIn(); Page.Loading('stop'); }); }, EditBox: function(id, r){ var pid = '&pid='+$('#pid').val(); Page.Loading('start'); $.get('/index.php?go=groups_albums&act=editphoto'+pid, {id: id}, function(data){ Box.Show('edit_photo_'+id, '400', 'Редактирование фотографии', '<div class="box_ppad"><div style="color:#888;padding-bottom:5px;"><b>Описание фотографии</b></div><textarea class="inpst" id="descr_'+id+'" style="width:355px;height:71px;">'+data+'</textarea></div>', 'Отмена', 'Сохранить', 'Photo.SaveDescr('+id+', '+r+'); return false'); Page.Loading('stop'); }); }, SaveDescr: function(id, r){ var pid = '&pid='+$('#pid').val(); var descr = $('#descr_'+id).val(); $('#box_loading').show(); $.post('/index.php?go=groups_albums&act=save_descr'+pid, {id: id, descr: descr}, function(d){ Box.Close('edit_photo_'+id); if(r == 1) $('.photo_view').remove(); else $('#photo_descr_'+id).html(d); }); }, setEvent: function(event, close_link){ var oi = (event.target) ? event.target.id: ((event.srcElement) ? event.srcElement.id : null); var el = oi.substring(0, 10); if(el == 'photo_view' || el == 'photo_load') Photo.Close(close_link); }, Rotation: function(pos, id){ $('#loading_gradus'+id).show(); $.post('/index.php?go=photo_groups&act=rotation', {id: id, pos: pos}, function(d){ var rndval = new Date().getTime(); $('#ladybug_ant'+id).attr('src', d+'?'+rndval); $('#loading_gradus'+id).hide(); }); }, loadingAlbums: function(){ var page_cnt = $('#page_cnt_albums').val(); var count_albums = parseInt($('#num_albums').text()); if($('#loading_albums').val() == 1 && (page_cnt*6)<=count_albums) { $('#loading_albums').val(0); $.post('/index.php?go=groups_albums&uid='+$('#pid').val(), {page_cnt: page_cnt}, function(d){ $('#page_cnt_albums').val(parseInt($('#page_cnt_albums').val())+1); $('#dragndrop').find('ul').append(d); if($('#dragndrop').find('ul > div').length>=count_albums) {$('#albums_load_more').detach();} $('#loading_albums').val(1); }); } }, loadingPhotos: function(){ var page_cnt = $('#page_cnt_photos').val(); var count_photos = parseInt($('#num_photos').val()); if($('#loading_photos').val() == 1 && (page_cnt*30)<=count_photos) { $('#loading_photos').val(0); $.post('/index.php?go=groups_albums&uid='+$('#pid').val(), {page_cnt_photos: page_cnt}, function(d){ $('#page_cnt_photos').val(parseInt($('#page_cnt_photos').val())+1); $('#page').append(d); $('#loading_photos').val(1); }); } }, wall_add_like: function(rec_id, user_id){ if($('#wall_like_cnt'+rec_id).text()) var wall_like_cnt = parseInt($('#wall_like_cnt'+rec_id).text())+1; else { $('#public_likes_user_block'+rec_id).show(); $('#update_like'+rec_id).val('1'); var wall_like_cnt = 1; } $('#wall_like_cnt'+rec_id).html(wall_like_cnt).css('color', '#2e782e'); $('#wall_active_ic'+rec_id).addClass('public_wall_like_yes'); $('#wall_like_link'+rec_id).attr('onClick', 'PhotoGroups.wall_remove_like('+rec_id+', '+user_id+')'); $('#like_user'+user_id+'_'+rec_id).show(); updateNum('#like_text_num'+rec_id, 1); $.post('/index.php?go=groups_albums&act=wall_like_yes', {rec_id: rec_id}); }, wall_remove_like: function(rec_id, user_id){ var wall_like_cnt = parseInt($('#wall_like_cnt'+rec_id).text())-1; if(wall_like_cnt <= 0){ var wall_like_cnt = ''; $('#public_likes_user_block'+rec_id).hide(); } $('#wall_like_cnt'+rec_id).html(wall_like_cnt).css('color', '#95c095'); $('#wall_active_ic'+rec_id).removeClass('public_wall_like_yes'); $('#wall_like_link'+rec_id).attr('onClick', 'PhotoGroups.wall_add_like('+rec_id+', '+user_id+')'); $('#Xlike_user'+user_id+'_'+rec_id).hide(); $('#like_user'+user_id+'_'+rec_id).hide(); updateNum('#like_text_num'+rec_id); $.post('/index.php?go=groups_albums&act=wall_like_remove', {rec_id: rec_id}); }, wall_like_users_five: function(rec_id){ $('.public_likes_user_block').hide(); if(!ge('like_cache_block'+rec_id) && $('#wall_like_cnt'+rec_id).text() && $('#update_like'+rec_id).val() == 0){ $.post('/index.php?go=groups_albums&act=wall_like_users_five', {rec_id: rec_id}, function(data){ $('#likes_users'+rec_id).html(data+'<span id="like_cache_block'+rec_id+'"></span>'); $('#public_likes_user_block'+rec_id).show(); }); } else if($('#wall_like_cnt'+rec_id).text()) $('#public_likes_user_block'+rec_id).show(); }, wall_like_users_five_hide: function(){$('.public_likes_user_block').hide();}, wall_all_liked_users: function(rid, page_num, liked_num){ $('.public_likes_user_block').hide(); if(page_num) page = '&page='+page_num; else {page = '';page_num = 1;} if(!liked_num) liked_num = 1; Box.Page('/index.php?go=groups_albums&act=all_liked_users', 'rid='+rid+'&liked_num='+liked_num+page, 'all_liked_users_'+rid+page_num, 525, lang_wall_liked_users, lang_msg_close, 0, 0, 345, 1, 1, 1, 0, 1); } } // PHOTOS GROUPS COMMENTS var commentsGroups = { add: function(id){ var comment = $('#textcom_'+id).val(); if(comment != 0){ butloading('add_comm', '56', 'disabled', ''); $.post('/index.php?go=photo_groups&act=addcomm', {pid: id, comment: comment}, function(data){ if(data == 'err_privacy'){ addAllErr(lang_pr_no_title); } else { $('#comments_'+id).append(data); $('#textcom_'+id).val(''); } butloading('add_comm', '56', 'enabled', lang_box_send); }); } else { $('#textcom_'+id).val(''); $('#textcom_'+id).focus(); } }, delet: function(id, hash){ textLoad('del_but_'+id); $.post('/index.php?go=photo_groups&act=del_comm', {hash: hash}, function(){ $('#comment_'+id).html('<div style="padding-bottom:5px;color:#777;">'+lang_del_comm+'</div>'); }); }, delet_page_comm: function(id, hash){ textLoad('full_del_but_'+id); $.post('/index.php?go=photo_groups&act=del_comm', {hash: hash}, function(){ $('#comment_all_'+id).html('<div style="padding:25px;color:#777;">'+lang_del_comm+'</div>'); }); }, all: function(id, num){ textLoad('all_lnk_comm_'+id); $('#all_href_lnk_comm_'+id).attr('onClick', '').attr('href', '#'); $.post('/index.php?go=photo_groups&act=all_comm', {pid: id, num: num}, function(d){ $('#all_href_lnk_comm_'+id).hide(); $('#all_comments_'+id).html(d); }); }, } 4. Открываем ../Default/public/main.tpl После: <span id="del_pho_but" class="{display-ava}"><a href="/" onClick="groups.delphoto('{id}'); return false;"><div>Удалить фотографию</div></a></span> Вставляем: <a href="/albums-{public-id}" onClick="Page.Go(this.href); return false"><div>Альбомы</div></a> Ищем: [discussion]<div class="page_bg border_radius_5 margin_top_10" style="padding-bottom:0px"> Перед ней вставляем: [albums]<div class="b_albums {b_albums}"><div class="page_bg border_radius_5 margin_top_10"><a href="/albums-{public-id}" onClick="Page.Go(this.href); return false" style="text-decoration:none"><div class="albtitle albtitle2"><div class="profile_ic_albums fl_l"></div>Альбомы <span>{albums-num}</span></div></a>{albums}<div class="clear"></div></div> </div>[/albums] 5. Открываем /system/mod.php Ищем: //Регистрация case "register": include ENGINE_DIR.'/modules/register.php'; break; После вставляем: //Альбомы case "groups_albums": include ENGINE_DIR.'/modules/albums_groups.php'; break; case "photo_groups": include ENGINE_DIR.'/modules/photo_groups.php'; break; 6. Открываем /system/modules/functions.php Ищем: //Выводим все фотографии из альбома и обновляем их позицию только для просмотра альбома if($uid AND $aid){ $sql_ = $db->super_query("SELECT id FROM `".PREFIX."_photos` WHERE album_id = '{$aid}' ORDER by `position` ASC", 1); $count = 1; foreach($sql_ as $row){ $db->query("UPDATE LOW_PRIORITY `".PREFIX."_photos` SET position = '{$count}' WHERE id = '{$row['id']}'"); $photo_info .= $count.'|'.$row['id'].'||'; $count++; } mozg_create_cache('user_'.$uid.'/position_photos_album_'.$aid, $photo_info); } } function CheckFriends($friendId){ global $user_info; $openMyList = mozg_cache("user_{$user_info['user_id']}/friends"); if(stripos($openMyList, "u{$friendId}|") !== false) return true; else return false; } function CheckDemand($demandId){ global $db, $user_info; Заменяем на: //Выводим все фотографии из альбома и обновляем их позицию только для просмотра альбома if($uid AND $aid){ $sql_ = $db->super_query("SELECT id FROM `".PREFIX."_photos` WHERE album_id = '{$aid}' ORDER by `position` ASC", 1); $count = 1; foreach($sql_ as $row){ $db->query("UPDATE LOW_PRIORITY `".PREFIX."_photos` SET position = '{$count}' WHERE id = '{$row['id']}'"); $photo_info .= $count.'|'.$row['id'].'||'; $count++; } mozg_create_cache('user_'.$uid.'/position_photos_album_'.$aid, $photo_info); } } function GenerateAlbumPhotosPositionGroups($uid, $aid = false){ global $db; //Выводим все фотографии из альбома и обновляем их позицию только для просмотра альбома if($uid AND $aid){ $sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS id FROM `".PREFIX."_communities_photos` WHERE album_id = '{$aid}' ORDER by `position` ASC", 1); $count = 1; foreach($sql_ as $row){ $db->query("UPDATE LOW_PRIORITY `".PREFIX."_communities_photos` SET position = '{$count}' WHERE id = '{$row['id']}'"); $photo_info .= $count.'|'.$row['id'].'||'; $count++; } mozg_create_cache('user_'.$uid.'/position_photos_album_groups_'.$aid, $photo_info); } } function CheckFriends($friendId){ global $user_info; $openMyList = mozg_cache("user_{$user_info['user_id']}/friends"); if(stripos($openMyList, "u{$friendId}|") !== false) return true; else return false; } function CheckDemand($demandId){ global $db, $user_info; 7. Открываем /system/modules/groups.php Ищем: @chmod(ROOT_DIR.'/uploads/groups/'.$cid.'/photos/', 0777); Ниже добавляем: @mkdir(ROOT_DIR.'/uploads/groups/'.$cid.'/albums/', 0777); @chmod(ROOT_DIR.'/uploads/groups/'.$cid.'/albums/', 0777); 8. Загружаем запрос vii.sql 9. Добавляем файлы из архива Фотоальбомы в сообщества.rar
  11. Обновленный шаблон админки для vii engine Автор: pantaleone48 Установка: Загрузить папку inc с заменой, экспортировать в базу данных файл vii_notice.sql Vii Engine Admin 0.2.rar
  12. Доброго времени суток. Как и обещал, выкладываю в общий доступ страницу. Инструкция по установке в архиве. Ниже есть скрины. Автор: Timbios (Jion) Будут какие-то вопросы, пишите в теме. Страница реггистрации.zip
  13. 1. Открываем .htaccess находим строчку: RewriteRule ^editmypage/interests(/?)+$ index.php?go=editprofile&act=interests [L] Ниже ставим: RewriteRule ^edit&act=education(/?)+$ index.php?go=editprofile&act=education [L] RewriteRule ^edit&act=higher_education(/?)+$ index.php?go=editprofile&act=higher_education [L] RewriteRule ^edit&act=career(/?)+$ index.php?go=editprofile&act=career [L] RewriteRule ^edit&act=military(/?)+$ index.php?go=editprofile&act=military [L] RewriteRule ^edit&act=personal(/?)+$ index.php?go=editprofile&act=personal [L] 2. Открываем /lang/Russian/site.lng и находим: 'editmyprofile_interests' => 'Интересы', Ниже ставим: 'editmyprofile_personal' => 'Жизненная позиция', 3. Открываем /templates/Default/editprofile.tpl и находим: [interests] <div class="buttonsprofile"> <a href="/editmypage" onClick="Page.Go(this.href); return false;">Основное</a> <a href="/editmypage/contact" onClick="Page.Go(this.href); return false;">Контакты</a> <div class="activetab"><a href="/editmypage/interests" onClick="Page.Go(this.href); return false;"><div>Интересы</div></a></div> <a href="/editmypage/military" onClick="Page.Go(this.href); return false;">Служба</a> <a href="/editmypage/personal" onClick="Page.Go(this.href); return false;">Жизненная позиция</a> <a href="/editmypage/all" onClick="Page.Go(this.href); return false;">Другое</a> </div> <div class="clear"></div> <div class="err_yellow" id="info_save" style="display:none;font-weight:normal;"></div> <div class="clear"></div> <div class="texta">Деятельность:</div><textarea id="activity" class="inpst" style="width:300px;height:50px;overflow:hidden;">{activity}</textarea><div class="mgclr"></div> <div class="texta">Интересы:</div><textarea id="interests" class="inpst" style="width:300px;height:50px;">{interests}</textarea><div class="mgclr"></div> <div class="texta">Любимая музыка:</div><textarea id="music" class="inpst" style="width:300px;height:50px;">{music}</textarea><div class="mgclr"></div> <div class="texta">Любимые фильмы:</div><textarea id="kino" class="inpst" style="width:300px;height:50px;">{kino}</textarea><div class="mgclr"></div> <div class="texta">Любимые сериалы:</div><textarea id="serials" class="inpst" style="width:300px;height:50px;">{serials}</textarea><div class="mgclr"></div> <div class="texta">Любимые телешоу:</div><textarea id="shou" class="inpst" style="width:300px;height:50px;">{shou}</textarea><div class="mgclr"></div> <div class="texta">Любимые книги:</div><textarea id="books" class="inpst" style="width:300px;height:50px;">{books}</textarea><div class="mgclr"></div> <div class="texta">Любимые игры:</div><textarea id="games" class="inpst" style="width:300px;height:50px;">{games}</textarea><div class="mgclr"></div> <div class="texta">Любимые цитаты:</div><textarea id="quote" class="inpst" style="width:300px;height:50px;">{quote}</textarea><div class="mgclr"></div> <div class="texta">О себе:</div><textarea id="myinfo" class="inpst" style="width:300px;height:50px;">{myinfo}</textarea><div class="mgclr"></div> <div class="texta"> </div><div class="button_div fl_l"><button name="save" id="saveform_interests">Сохранить</button></div><div class="mgclr"></div> [/interests] Ниже ставим: [education] <div class="sft" style="margin-top:-6px"> <div class="buttonsprofile albumsbuttonsprofile buttonsprofileSecond2" style="height:15px"> <a href="/edit" onClick="Page.Go(this.href); return false;">Основное</a> <a href="/edit&act=contact" onClick="Page.Go(this.href); return false;">Контакты</a> <a href="/edit&act=interests" onClick="Page.Go(this.href); return false;">Интересы</a> <div class="buttonsprofileSec2"><a href="/edit&act=education" onClick="Page.Go(this.href); return false;"><div>Образование</div></a></div> <a href="/edit&act=career" onClick="Page.Go(this.href); return false;">Карьера</a> <a href="/edit&act=military" onClick="Page.Go(this.href); return false;">Служба</a> <a href="/edit&act=personal" onClick="Page.Go(this.href); return false;">Жизненная позиция</a> </div></div> <div class="search_form_tab" style="margin-top:12px;height:20px"> <div class="clear"></div> <div class="clear"></div> <div class="buttonsprofile buttonsprofileSecond" style="margin-top:-1px;; <div class="texta"></div><div class="buttonsprofileSec"><a href="/edit&act=education" onClick="Page.Go(this.href); return false;"><div><b>Среднее образование</b></div></a></div> <a href="/edit&act=higher_education" onClick="Page.Go(this.href); return false;"><b>Высшее образование</b></a> </div></div> <div class="summary_wrap"> <div id="summary" class="summary" style="padding-left:13px;;Здесь Вы можете указать учебные заведения, в которых Вы учились или учитесь.</div> </div> <div style="margin-top:-12px"></div> <div class="settings_general"> <div class="err_yellow" id="info_save" style="display:none;font-weight:normal;"></div> <div class="header" style="margin-left:200px">Среднее образование</div> <div style="margin-top:10px"></div> <div class="texta3">Страна:</div> <div class="padstylej"><select id="country" style="width:210px;" class="inpst" onChange="Profile.LoadCity(this.value); return false;"> <option value="0">- Не выбрано -</option> {country} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div> <span id="city"><div class="texta3">Город:</div> <div class="padstylej"><select id="select_city" style="width:210px;" class="inpst"> <option value="0">- Не выбрано -</option> {city} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div></span> <div class="texta3">Школа:</div><input type="text" id="shkola" class="inpst" maxlength="100" value="{shkola}" style="width:200px;" /> <div class="mgclr"></div> <div class="texta3">Год начала обучения:</div> <div class="padstylej"><select id="nacalosr" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {nacalosr} </select></div> <div class="mgclr"></div> <div class="texta3">Год окончания обучения:</div> <div class="padstylej"><select id="konecsr" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {konecsr} </select></div> <div class="mgclr"></div> <div class="texta3">Дата выпуска:</div> <div class="padstylej"><select id="datasr" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {datasr} </select></div> <div class="mgclr"></div> <div class="texta3">Класс:</div> <div class="padstylej"><select id="klass" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {klass} </select></div> <div class="mgclr"></div> <div class="texta3">Специализация:</div><input type="text" id="spec" class="inpst" maxlength="100" value="{spec}" style="width:200px;" /> <div class="mgclr"></div> <div class="pedit_controls_separator"></div><br> <div class="texta3"> </div><div class="button_blue fl_l"><button name="save" id="saveform_education">Сохранить</button></div><div class="mgclr"></div> </div> [/education] [higher_education] <div class="sft" style="margin-top:-6px"> <div class="buttonsprofile albumsbuttonsprofile buttonsprofileSecond2" style="height:15px"> <a href="/edit" onClick="Page.Go(this.href); return false;">Основное</a> <a href="/edit&act=contact" onClick="Page.Go(this.href); return false;">Контакты</a> <a href="/edit&act=interests" onClick="Page.Go(this.href); return false;">Интересы</a> <div class="buttonsprofileSec2"><a href="/edit&act=education" onClick="Page.Go(this.href); return false;"><div>Образование</div></a></div> <a href="/edit&act=career" onClick="Page.Go(this.href); return false;">Карьера</a> <a href="/edit&act=military" onClick="Page.Go(this.href); return false;">Служба</a> <a href="/edit&act=personal" onClick="Page.Go(this.href); return false;">Жизненная позиция</a> </div></div> <div class="search_form_tab" style="margin-top:12px;height:20px"> <div class="buttonsprofile buttonsprofileSecond" style="margin-top:-1px;; <div class="texta"></div><a href="/edit&act=education" onClick="Page.Go(this.href); return false;"><div><b>Среднее образование</b></div></a> <div class="buttonsprofileSec"><a href="/edit&act=higher_education" onClick="Page.Go(this.href); return false;"><b>Высшее образование</b></a></div> </div></div> <div class="summary_wrap"> <div id="summary" class="summary" style="padding-left:13px;;Здесь Вы можете указать основное и дополнительные высшие образования.</div> </div> <div style="margin-top:-12px"></div> <div class="settings_general"> <div class="err_yellow" id="info_save" style="display:none;font-weight:normal;"></div> <div class="header" style="margin-left:200px">Высшее образование</div> <div class="settings_general"> <div style="margin-top:-12px;"></div> <div class="texta3">Страна:</div> <div class="padstylej"><select id="country" style="width:210px;" class="inpst" onChange="Profile.LoadCity(this.value); return false;"> <option value="0">- Не выбрано -</option> {country} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div> <span id="city"><div class="texta3">Город:</div> <div class="padstylej"><select id="select_city" style="width:210px;" class="inpst"> <option value="0">- Не выбрано -</option> {city} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div></span> <div class="texta3">ВУЗ:</div><input type="text" id="vuz" class="inpst" maxlength="100" value="{vuz}" style="width:200px;" /> <div class="mgclr"></div> <div class="texta3">Факультет:</div><input type="text" id="fac" class="inpst" maxlength="100" value="{fac}" style="width:200px;" /> <div class="mgclr"></div> <div class="texta3">Форма обучения:</div> <div class="padstylej"><select id="form" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {form} </select></div> <div class="mgclr"></div> <div class="texta3">Статус:</div> <div class="padstylej"><select id="statusvi" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {statusvi} </select></div> <div class="mgclr"></div> <div class="texta3">Дата выпуска:</div> <div class="padstylej"><select id="datavi" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {datavi} </select></div> <div class="pedit_controls_separator" style=";</div><br> <div class="texta3"> </div><div class="button_blue fl_l"><button name="save" id="saveform_higher_education">Сохранить</button></div><div class="mgclr"></div></div></div> [/higher_education] [career] <div class="sft" style="margin-top:-6px"> <div class="buttonsprofile albumsbuttonsprofile buttonsprofileSecond2" style="height:15px"> <a href="/edit" onClick="Page.Go(this.href); return false;">Основное</a> <a href="/edit&act=contact" onClick="Page.Go(this.href); return false;">Контакты</a> <a href="/edit&act=interests" onClick="Page.Go(this.href); return false;">Интересы</a> <a href="/edit&act=education" onClick="Page.Go(this.href); return false;">Образование</a> <div class="buttonsprofileSec2"><a href="/edit&act=career" onClick="Page.Go(this.href); return false;"><div>Карьера</div></a> </div> <a href="/edit&act=military" onClick="Page.Go(this.href); return false;">Служба</a> <a href="/edit&act=personal" onClick="Page.Go(this.href); return false;">Жизненная позиция</a> </div></div> <div class="settings_general"> <div class="clear"></div> <div class="err_yellow" id="info_save" style="display:none;font-weight:normal;"></div> <div class="clear"></div> <div class="header" style="margin-left:200px">Карьера</div> </br> <div class="texta3">Страна:</div> <div class="padstylej"><select id="country" style="width:210px;" class="inpst" onChange="Profile.LoadCity(this.value); return false;"> <option value="0">- Не выбрано -</option> {country} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div> <span id="city"><div class="texta3">Город:</div> <div class="padstylej"><select id="select_city" style="width:210px;" class="inpst"> <option value="0">- Не выбрано -</option> {city} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div></span> <div class="texta3">Место работы:</div><input type="text" id="mesto" class="inpst" maxlength="100" value="{mesto}" style="width:200px;" /> <div class="mgclr"></div> <div class="texta3">Год начала работы:</div> <div class="padstylej"><select id="nacaloca" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {nacaloca} </select></div> <div class="mgclr"></div> <div class="texta3">Год окончания работы:</div> <div class="padstylej"><select id="konecca" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {konecca} </select></div> <div class="mgclr"></div> <div class="texta3">Должность:</div><input type="text" id="dolj" class="inpst" maxlength="100" value="{dolj}" style="width:200px;" /> <div class="mgclr"></div> <div class="pedit_controls_separator"></div><br> <div class="texta3"> </div><div class="button_blue fl_l"><button name="save" id="saveform_career">Сохранить</button></div><div class="mgclr"></div> </div> [/career] [military] <div class="sft" style="margin-top:-6px"> <div class="buttonsprofile albumsbuttonsprofile buttonsprofileSecond2" style="height:15px"> <a href="/edit" onClick="Page.Go(this.href); return false;">Основное</a> <a href="/edit&act=contact" onClick="Page.Go(this.href); return false;">Контакты</a> <a href="/edit&act=interests" onClick="Page.Go(this.href); return false;">Интересы</a> <a href="/edit&act=education" onClick="Page.Go(this.href); return false;">Образование</a> <a href="/edit&act=career" onClick="Page.Go(this.href); return false;">Карьера</a> <div class="buttonsprofileSec2"><a href="/edit&act=military" onClick="Page.Go(this.href); return false;"><div>Служба</div></a></div> <a href="/edit&act=personal" onClick="Page.Go(this.href); return false;">Жизненная позиция</a> </div></div> <div class="settings_general"> <div class="clear"></div> <div class="err_yellow" id="info_save" style="display:none;font-weight:normal;"></div> <div class="clear"></div> <div class="header" style="margin-left:200px">Военная служба</div> </br> <div class="texta3">Страна:</div> <div class="padstylej"><select id="country" style="width:210px;" class="inpst" onChange="Profile.LoadCity(this.value); return false;"> <option value="0">- Не выбрано -</option> {country} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div> <span id="city"><div class="texta3">Город:</div> <div class="padstylej"><select id="select_city" style="width:210px;" class="inpst"> <option value="0">- Не выбрано -</option> {city} </select><img src="{theme}/images/loading_mini.gif" alt="" class="load_mini" id="load_mini" /></div> <div class="mgclr"></div></span> <div class="texta3">Воисковая часть:</div><input type="text" id="chast" class="inpst" maxlength="100" value="{chast}" style="width:200px;" /> <div class="mgclr"></div> <div class="texta3">Воинское звание:</div><input type="text" id="zvanie" class="inpst" maxlength="100" value="{zvanie}" style="width:200px;" /> <div class="mgclr"></div> <div class="texta3">Год начала службы:</div> <div class="padstylej"><select id="nacalosl" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {nacalosl} </select></div> <div class="mgclr"></div> <div class="texta3">Год окончания службы:</div> <div class="padstylej"><select id="konecsl" class="inpst" onChange="sp.check()" style="width:210px;" > <option value="0">- Не выбрано -</option> {konecsl} </select></div> <div class="mgclr"></div> <div class="pedit_controls_separator"></div><br> <div class="texta3"> </div><div class="button_blue fl_l"><button name="save" id="saveform_military">Сохранить</button></div><div class="mgclr"></div> </div> [/military] [personal] <div class="sft" style="margin-top:-6px"> <div class="buttonsprofile albumsbuttonsprofile buttonsprofileSecond2" style="height:15px"> <a href="/edit" onClick="Page.Go(this.href); return false;">Основное</a> <a href="/edit&act=contact" onClick="Page.Go(this.href); return false;">Контакты</a> <a href="/edit&act=interests" onClick="Page.Go(this.href); return false;">Интересы</a> <a href="/edit&act=education" onClick="Page.Go(this.href); return false;">Образование</a> <a href="/edit&act=career" onClick="Page.Go(this.href); return false;">Карьера</a> <a href="/edit&act=military" onClick="Page.Go(this.href); return false;">Служба</a> <div class="buttonsprofileSec2"><a href="/edit&act=personal" onClick="Page.Go(this.href); return false;"><div>Жизненная позиция</div></a></div> </div></div> <div class="settings_general"> <div class="clear"></div> <div class="err_yellow" id="info_save" style="display:none;font-weight:normal;"></div> <div class="clear"></div> </br> <div class="texta3">Полит. предпочтения:</div> <div class="padstylej"><select id="pred" class="inpst" onChange="sp.check()" style="width:200px;" > <option value="0">- Не выбрано -</option> {pred} </select></div> <div class="mgclr"></div> <div class="texta3">Мировозрение:</div> <input type="text" list="list" id="miro" value="{miro}" class="inpst" maxlength="100" style="width:190px;" /> <datalist id="list"> <option value="Иудаизм" /> <option value="Православие" /> <option value="Католицизм" /> <option value="Протестантизм" /> <option value="Ислам" /> <option value="Буддизм" /> <option value="Конфуцианство" /> <option value="Светский гуманизм" /> </datalist> <div class="mgclr"></div> <div class="texta3">Главное в жизни:</div> <div class="padstylej"><select id="jizn" class="inpst" onChange="sp.check()" style="width:200px;" > <option value="0">- Не выбрано -</option> {jizn} </select></div> <div class="mgclr"></div> <div class="texta3">Главное в людях:</div> <div class="padstylej"><select id="ludi" class="inpst" onChange="sp.check()" style="width:200px;" > <option value="0">- Не выбрано -</option> {ludi} </select></div> <div class="mgclr"></div> <div class="texta3">Отношение к курению:</div> <div class="padstylej"><select id="kurenie" class="inpst" onChange="sp.check()" style="width:200px;" > <option value="0">- Не выбрано -</option> {kurenie} </select></div> <div class="mgclr"></div> <div class="texta3">Отношение к алкоголю:</div> <div class="padstylej"><select id="alkogol" class="inpst" onChange="sp.check()" style="width:200px;" > <option value="0">- Не выбрано -</option> {alkogol} </select></div> <div class="mgclr"></div> <div class="texta3">Отношение к наркотикам:</div> <div class="padstylej"><select id="narkotiki" class="inpst" onChange="sp.check()" style="width:200px;" > <option value="0">- Не выбрано -</option> {narkotiki} </select></div> <div class="mgclr"></div> <div class="texta3">Источники вдохновения:</div><input type="text" id="vdox" class="inpst" maxlength="100" value="{vdox}" style="width:190px;" /><div class="mgclr"></div> <div class="pedit_controls_separator"></div><br> <div class="texta3"> </div><div class="button_blue fl_l"><button id="saveform_personal">Сохранить</button></div><div class="mgclr"></div> </div> [/personal] 3.1 В этом-же файле нужно вкладки, находим: <a href="/editmypage/interests">Интересы</a> Ниже ставим: <a href="/edit&act=education" onClick="Page.Go(this.href); return false;">Образование</a> <a href="/edit&act=career" onClick="Page.Go(this.href); return false;">Карьера</a> <a href="/edit&act=military" onClick="Page.Go(this.href); return false;">Служба</a> <a href="/edit&act=personal" onClick="Page.Go(this.href); return false;"><div>Жизненная позиция</div></a> PS: И так с каждой вкладкой! 4. Открываем /templates/Default/js/profile_edit.js, находим: //Сохранение контактов Перед этим ставим: //Сохранение среднего образования $("#saveform_education").click(function(){ var country = $("#country").val(); var city = $("#select_city").val(); var shkola = $("#shkola").val(); var nacalosr = $("#nacalosr").val(); var konecsr = $("#konecsr").val(); var datasr = $("#datasr").val(); var klass = $("#klass").val(); var spec = $("#spec").val(); butloading('saveform_education', '55', 'disabled', ''); $.post('/index.php?go=editprofile&act=save_education', {country: country, city: city, shkola: shkola, nacalosr: nacalosr, konecsr: konecsr, datasr: datasr, klass: klass, spec: spec}, function(data){ $('#info_save').hide(); if(data == 'ok'){ $('#info_save').show(); $('#info_save').html(lang_infosave); } else { $('#info_save').show(); $('#info_save').html(data); } butloading('saveform_education', '55', 'enabled', lang_box_save); }); }); //Сохранение высшего образования $("#saveform_higher_education").click(function(){ var country = $("#country").val(); var city = $("#select_city").val(); var vuz = $("#vuz").val(); var fac = $("#fac").val(); var form = $("#form").val(); var statusvi = $("#statusvi").val(); var datavi = $("#datavi").val(); butloading('saveform_higher_education', '55', 'disabled', ''); $.post('/index.php?go=editprofile&act=save_higher_education', {country: country, city: city, vuz: vuz, fac: fac, form: form, statusvi: statusvi, datavi: datavi}, function(data){ $('#info_save').hide(); if(data == 'ok'){ $('#info_save').show(); $('#info_save').html(lang_infosave); } else { $('#info_save').show(); $('#info_save').html(data); } butloading('saveform_higher_education', '55', 'enabled', lang_box_save); }); }); //Сохранение карьеры $("#saveform_career").click(function(){ var country = $("#country").val(); var city = $("#select_city").val(); var mesto = $("#mesto").val(); var nacaloca = $("#nacaloca").val(); var konecca = $("#konecca").val(); var dolj = $("#dolj").val(); butloading('saveform_career', '55', 'disabled', ''); $.post('/index.php?go=editprofile&act=save_career', {country: country, city: city, mesto: mesto, nacaloca: nacaloca, konecca: konecca, dolj: dolj}, function(data){ $('#info_save').hide(); if(data == 'ok'){ $('#info_save').show(); $('#info_save').html(lang_infosave); } else { $('#info_save').show(); $('#info_save').html(data); } butloading('saveform_career', '55', 'enabled', lang_box_save); }); }); //Сохранение военной службы $("#saveform_military").click(function(){ var country = $("#country").val(); var city = $("#select_city").val(); var chast = $("#chast").val(); var zvanie = $("#zvanie").val(); var nacalosl = $("#nacalosl").val(); var konecsl = $("#konecsl").val(); butloading('saveform_military', '55', 'disabled', ''); $.post('/index.php?go=editprofile&act=save_military', {country: country, city: city, chast: chast, zvanie: zvanie, nacalosl: nacalosl, konecsl: konecsl}, function(data){ $('#info_save').hide(); if(data == 'ok'){ $('#info_save').show(); $('#info_save').html(lang_infosave); } else { $('#info_save').show(); $('#info_save').html(data); } butloading('saveform_military', '55', 'enabled', lang_box_save); }); }); //Сохранение жизненных позиций $("#saveform_personal").click(function(){ var pred = $("#pred").val(); var miro = $("#miro").val(); var jizn = $("#jizn").val(); var ludi = $("#ludi").val(); var kurenie = $("#kurenie").val(); var alkogol = $("#alkogol").val(); var narkotiki = $("#narkotiki").val(); var vdox = $("#vdox").val(); butloading('saveform_personal', '55', 'disabled', ''); $.post('/index.php?go=editprofile&act=save_personal', {pred: pred, miro: miro, jizn: jizn, ludi: ludi, kurenie: kurenie, alkogol: alkogol, narkotiki: narkotiki, vdox: vdox}, function(data){ $('#info_save').hide(); if(data == 'ok'){ $('#info_save').show(); $('#info_save').html(lang_infosave); } else { $('#info_save').show(); $('#info_save').html(data); } butloading('saveform_personal', '55', 'enabled', lang_box_save); }); }); 5. Открываем /system/modules/editprofile.рhp, ищем: //Сохранение доп.полей Перед этим ставим: //Сохранение среднего образования case "save_education": NoAjaxQuery(); $user_countrysr = intval($_POST['country']); $user_citysr = intval($_POST['city']); $user_shkola = ajax_utf8(textFilter($_POST['shkola'])); $user_datasr = intval($_POST['datasr']); $user_nacalosr = intval($_POST['nacalosr']); $user_konecsr = intval($_POST['konecsr']); $user_klass = intval($_POST['klass']); $user_spec = ajax_utf8(textFilter($_POST['spec'])); if($user_countrysr > 0){ $country_info = $db->super_query("SELECT name FROM `".PREFIX."_country` WHERE id = '".$user_countrysr."'"); $city_info = $db->super_query("SELECT name FROM `".PREFIX."_city` WHERE id = '".$user_citysr."'"); $user_country_city_namesr = $country_info['name'].'|'.$city_info['name']; } else { $user_citysr = 0; $user_countrysr = 0; $user_country_city_namesr = ''; } $db->query("UPDATE `".PREFIX."_users` SET user_countrysr = '{$user_countrysr}', user_citysr = '{$user_citysr}', user_shkola = '{$user_shkola}', user_datasr = '{$user_datasr}', user_nacalosr = '{$user_nacalosr}', user_konecsr = '{$user_konecsr}', user_country_city_namesr = '{$user_country_city_namesr}', user_spec = '{$user_spec}', user_klass = '{$user_klass}' WHERE user_id = '{$user_info['user_id']}'"); mozg_clear_cache_file('user_'.$user_info['user_id'].'/profile_'.$user_info['user_id']); mozg_clear_cache(); echo 'ok'; die(); break; //Сохранение высшего образования case "save_higher_education": NoAjaxQuery(); $user_countryvi = intval($_POST['country']); $user_cityvi = intval($_POST['city']); $user_vuz = ajax_utf8(textFilter($_POST['vuz'])); $user_fac = ajax_utf8(textFilter($_POST['fac'])); $user_form = intval($_POST['form']); $user_statusvi = intval($_POST['statusvi']); $user_datavi = intval($_POST['datavi']); if($user_countryvi > 0){ $country_info = $db->super_query("SELECT name FROM `".PREFIX."_country` WHERE id = '".$user_countryvi."'"); $city_info = $db->super_query("SELECT name FROM `".PREFIX."_city` WHERE id = '".$user_cityvi."'"); $user_country_city_namevi = $country_info['name'].'|'.$city_info['name']; } else { $user_cityvi = 0; $user_countryvi = 0; $user_country_city_namevi = ''; } $db->query("UPDATE `".PREFIX."_users` SET user_countryvi = '{$user_countryvi}', user_cityvi = '{$user_cityvi}', user_vuz = '{$user_vuz}', user_fac = '{$user_fac}', user_form = '{$user_form}', user_statusvi = '{$user_statusvi}', user_country_city_namevi = '{$user_country_city_namevi}', user_datavi = '{$user_datavi}' WHERE user_id = '{$user_info['user_id']}'"); mozg_clear_cache_file('user_'.$user_info['user_id'].'/profile_'.$user_info['user_id']); mozg_clear_cache(); echo 'ok'; die(); break; //Сохранение карьеры case "save_career": NoAjaxQuery(); $user_countryca = intval($_POST['country']); $user_cityca = intval($_POST['city']); $user_mesto = ajax_utf8(textFilter($_POST['mesto'])); $user_nacaloca = intval($_POST['nacaloca']); $user_konecca = intval($_POST['konecca']); $user_dolj = ajax_utf8(textFilter($_POST['dolj'])); if($user_countryca > 0){ $country_info = $db->super_query("SELECT name FROM `".PREFIX."_country` WHERE id = '".$user_countryca."'"); $city_info = $db->super_query("SELECT name FROM `".PREFIX."_city` WHERE id = '".$user_cityca."'"); $user_country_city_nameca = $country_info['name'].'|'.$city_info['name']; } else { $user_cityca = 0; $user_countryca = 0; $user_country_city_nameca = ''; } $db->query("UPDATE `".PREFIX."_users` SET user_countryca = '{$user_countryca}', user_cityca = '{$user_cityca}', user_mesto = '{$user_mesto}', user_dolj = '{$user_dolj}', user_nacaloca = '{$user_nacaloca}', user_konecca = '{$user_konecca}', user_country_city_nameca = '{$user_country_city_nameca}' WHERE user_id = '{$user_info['user_id']}'"); mozg_clear_cache_file('user_'.$user_info['user_id'].'/profile_'.$user_info['user_id']); mozg_clear_cache(); echo 'ok'; die(); break; //Сохранение военной службы case "save_military": NoAjaxQuery(); $user_countrysl = intval($_POST['country']); $user_citysl = intval($_POST['city']); $user_chast = ajax_utf8(textFilter($_POST['chast'])); $user_zvanie = ajax_utf8(textFilter($_POST['zvanie'])); $user_nacalosl = intval($_POST['nacalosl']); $user_konecsl = intval($_POST['konecsl']); if($user_countrysl > 0){ $country_info = $db->super_query("SELECT name FROM `".PREFIX."_country` WHERE id = '".$user_countrysl."'"); $city_info = $db->super_query("SELECT name FROM `".PREFIX."_city` WHERE id = '".$user_citysl."'"); $user_country_city_namesl = $country_info['name'].'|'.$city_info['name']; } else { $user_citysl = 0; $user_countrysl = 0; $user_country_city_namesl = ''; } $db->query("UPDATE `".PREFIX."_users` SET user_countrysl = '{$user_countrysl}', user_citysl = '{$user_citysl}', user_chast = '{$user_chast}', user_zvanie = '{$user_zvanie}', user_nacalosl = '{$user_nacalosl}', user_konecsl = '{$user_konecsl}', user_country_city_namesl = '{$user_country_city_namesl}' WHERE user_id = '{$user_info['user_id']}'"); mozg_clear_cache_file('user_'.$user_info['user_id'].'/profile_'.$user_info['user_id']); mozg_clear_cache(); echo 'ok'; die(); break; //Сохранение жизненной позиции case "save_personal": NoAjaxQuery(); $user_pred = intval($_POST['pred']); $user_miro = ajax_utf8(textFilter($_POST['miro'])); $user_jizn = intval($_POST['jizn']); $user_ludi = intval($_POST['ludi']); $user_kurenie = intval($_POST['kurenie']); $user_alkogol = intval($_POST['alkogol']); $user_narkotiki = intval($_POST['narkotiki']); $user_vdox = ajax_utf8(textFilter($_POST['vdox'])); $db->query("UPDATE `".PREFIX."_users` SET user_pred = '{$user_pred}', user_miro = '{$user_miro}', user_jizn = '{$user_jizn}', user_ludi = '{$user_ludi}', user_kurenie = '{$user_kurenie}', user_alkogol = '{$user_alkogol}', user_narkotiki = '{$user_narkotiki}', user_vdox = '{$user_vdox}' WHERE user_id = '{$user_info['user_id']}'"); mozg_clear_cache_file('user_'.$user_info['user_id'].'/profile_'.$user_info['user_id']); mozg_clear_cache(); echo 'ok'; die(); break; Ищем: //Страница Редактирование доп.полей Перед этим ставим: //Страница Редактирование среднего образования case "education": $user_speedbar = $lang['editmyprofile'].' » '.$lang['editmyprofile_education']; $tpl->load_template('editprofile.tpl'); $row = $db->super_query("SELECT user_shkola, user_datasr, user_klass, user_spec, user_nacalosr, user_konecsr, user_countrysr, user_citysr FROM `".PREFIX."_users` WHERE user_id = '{$user_info['user_id']}'"); $sql_country = $db->super_query("SELECT * FROM `".PREFIX."_country` ORDER by `name` ASC", true, "country", true); foreach($sql_country as $row_country) $all_country .= '<option value="'.$row_country['id'].'">'.stripslashes($row_country['name']).'</option>'; $tpl->set('{country}', installationSelected($row['user_countrysr'], $all_country)); $sql_city = $db->super_query("SELECT id, name FROM `".PREFIX."_city` WHERE id_country = '{$row['user_countrysr']}' ORDER by `name` ASC", true, "country_city_".$row['user_countrysr'], true); foreach($sql_city as $row2) $all_city .= '<option value="'.$row2['id'].'">'.stripslashes($row2['name']).'</option>'; $tpl->set('{city}', installationSelected($row['user_citysr'], $all_city)); $tpl->set('{shkola}', $row['user_shkola']); $tpl->set('{nacalosr}', installationSelected($row['user_nacalosr'], '<option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set('{konecsr}', installationSelected($row['user_konecsr'], '<option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set('{datasr}', installationSelected($row['user_datasr'], '<option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set('{klass}', installationSelected($row['user_klass'], '<option value="1">а</option><option value="2">б</option><option value="3">в</option><option value="4">г</option><option value="5">д</option><option value="6">е</option><option value="7">ж</option><option value="8">з</option><option value="9">и</option><option value="10">к</option><option value="11">л</option><option value="12">м</option><option value="13">н</option><option value="14">о</option><option value="15">п</option><option value="16">р</option><option value="17">с</option><option value="18">т</option><option value="19">у</option><option value="20">ф</option><option value="21">х</option><option value="22">ц</option><option value="23">ч</option><option value="24">ш</option><option value="25">щ</option><option value="26">ы</option><option value="27">э</option><option value="28">ю</option><option value="29">я</option><option value="30">а2</option><option value="31">б2</option><option value="32">в2</option><option value="33">г2</option><option value="34">д2</option><option value="35">е2</option><option value="36">ж2</option><option value="37">з2</option><option value="38">и2</option><option value="39">к2</option><option value="40">л2</option><option value="41">м2</option><option value="42">н2</option><option value="43">о2</option><option value="44">п2</option><option value="45">р2</option><option value="46">с2</option><option value="47">т2</option><option value="48">у2</option><option value="49">ф2</option><option value="50">х2</option><option value="51">ц2</option><option value="52">ч2</option><option value="53">ш2</option><option value="54">щ2</option><option value="55">ы2</option><option value="56">э2</option><option value="57">ю2</option><option value="58">я2</option><option value="59">а3</option><option value="60">б3</option><option value="61">в3</option><option value="62">г3</option><option value="63">д3</option><option value="64">е3</option><option value="65">ж3</option><option value="66">з3</option><option value="67">и3</option><option value="68">к3</option><option value="69">л3</option><option value="70">м3</option><option value="71">н3</option><option value="72">о3</option><option value="73">п3</option><option value="74">р3</option><option value="75">с3</option><option value="76">т3</option><option value="77">у3</option><option value="78">ф3</option><option value="79">х3</option><option value="80">ц3</option><option value="81">ч3</option><option value="82">ш3</option><option value="83">щ3</option><option value="84">ы3</option><option value="85">э3</option><option value="86">ю3</option><option value="87">я3</option><option value="88">1</option><option value="89">2</option><option value="90">3</option><option value="91">4</option><option value="92">5</option><option value="93">6</option><option value="94">7</option><option value="95">8</option><option value="96">9</option><option value="97">10</option><option value="98">11</option><option value="99">12</option><option value="100">13</option><option value="101">14</option><option value="102">15</option>')); $tpl->set('{spec}', $row['user_spec']); $tpl->set_block("'\\[contact\\](.*?)\\[/contact\\]'si",""); $tpl->set_block("'\\[general\\](.*?)\\[/general\\]'si",""); $tpl->set_block("'\\[interests\\](.*?)\\[/interests\\]'si",""); $tpl->set_block("'\\[higher_education\\](.*?)\\[/higher_education\\]'si",""); $tpl->set_block("'\\[career\\](.*?)\\[/career\\]'si",""); $tpl->set_block("'\\[military\\](.*?)\\[/military\\]'si",""); $tpl->set_block("'\\[personal\\](.*?)\\[/personal\\]'si",""); $tpl->set_block("'\\[xfields\\](.*?)\\[/xfields\\]'si",""); $tpl->set('[education]', ''); $tpl->set('[/education]', ''); $tpl->compile('content'); $tpl->clear(); break; //Страница Редактирование высшего образования case "higher_education": $user_speedbar = $lang['editmyprofile'].' » '.$lang['editmyprofile_higher_education']; $tpl->load_template('editprofile.tpl'); $row = $db->super_query("SELECT user_vuz, user_fac, user_form, user_statusvi, user_datavi, user_countryvi, user_cityvi FROM `".PREFIX."_users` WHERE user_id = '{$user_info['user_id']}'"); $sql_country = $db->super_query("SELECT * FROM `".PREFIX."_country` ORDER by `name` ASC", true, "country", true); foreach($sql_country as $row_country) $all_country .= '<option value="'.$row_country['id'].'">'.stripslashes($row_country['name']).'</option>'; $tpl->set('{country}', installationSelected($row['user_countryvi'], $all_country)); $sql_city = $db->super_query("SELECT id, name FROM `".PREFIX."_city` WHERE id_country = '{$row['user_countryvi']}' ORDER by `name` ASC", true, "country_city_".$row['user_countryvi'], true); foreach($sql_city as $row2) $all_city .= '<option value="'.$row2['id'].'">'.stripslashes($row2['name']).'</option>'; $tpl->set('{city}', installationSelected($row['user_cityvi'], $all_city)); $tpl->set('{vuz}', $row['user_vuz']); $tpl->set('{fac}', $row['user_fac']); $tpl->set('{form}', installationSelected($row['user_form'], '<option value="1">Дневная</option> <option value="2">Вечерняя</option> <option value="3">Заочная</option>')); $tpl->set('{statusvi}', installationSelected($row['user_statusvi'], '<option value="1">Абитуриент</option> <option value="2">Студент(специалист)</option> <option value="3">Студент(бакалавр)</option> <option value="4">Студент(магистр)</option> <option value="5">Выпускник(специалист)</option> <option value="6">Выпускник(бакалавр)</option> <option value="7">Выпускник(магистр)</option> <option value="8">Аспирант</option> <option value="9">Кандидат наук</option> <option value="10">Доктор наук</option>')); $tpl->set('{datavi}', installationSelected($row['user_datavi'], '<option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set_block("'\\[contact\\](.*?)\\[/contact\\]'si",""); $tpl->set_block("'\\[general\\](.*?)\\[/general\\]'si",""); $tpl->set_block("'\\[interests\\](.*?)\\[/interests\\]'si",""); $tpl->set_block("'\\[education\\](.*?)\\[/education\\]'si",""); $tpl->set_block("'\\[career\\](.*?)\\[/career\\]'si",""); $tpl->set_block("'\\[military\\](.*?)\\[/military\\]'si",""); $tpl->set_block("'\\[personal\\](.*?)\\[/personal\\]'si",""); $tpl->set_block("'\\[xfields\\](.*?)\\[/xfields\\]'si",""); $tpl->set('[higher_education]', ''); $tpl->set('[/higher_education]', ''); $tpl->compile('content'); $tpl->clear(); break; //Страница Редактирование карьеры case "career": $user_speedbar = $lang['editmyprofile'].' » '.$lang['editmyprofile_career']; $tpl->load_template('editprofile.tpl'); $row = $db->super_query("SELECT user_mesto, user_nacaloca, user_konecca, user_dolj, user_countryca, user_cityca FROM `".PREFIX."_users` WHERE user_id = '{$user_info['user_id']}'"); $sql_country = $db->super_query("SELECT * FROM `".PREFIX."_country` ORDER by `name` ASC", true, "country", true); foreach($sql_country as $row_country) $all_country .= '<option value="'.$row_country['id'].'">'.stripslashes($row_country['name']).'</option>'; $tpl->set('{country}', installationSelected($row['user_countryca'], $all_country)); $sql_city = $db->super_query("SELECT id, name FROM `".PREFIX."_city` WHERE id_country = '{$row['user_countryca']}' ORDER by `name` ASC", true, "country_city_".$row['user_countryca'], true); foreach($sql_city as $row2) $all_city .= '<option value="'.$row2['id'].'">'.stripslashes($row2['name']).'</option>'; $tpl->set('{city}', installationSelected($row['user_cityca'], $all_city)); $tpl->set('{mesto}', $row['user_mesto']); $tpl->set('{nacaloca}', installationSelected($row['user_nacaloca'], '<option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set('{konecca}', installationSelected($row['user_konecca'], '<option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set('{dolj}', $row['user_dolj']); $tpl->set_block("'\\[contact\\](.*?)\\[/contact\\]'si",""); $tpl->set_block("'\\[general\\](.*?)\\[/general\\]'si",""); $tpl->set_block("'\\[interests\\](.*?)\\[/interests\\]'si",""); $tpl->set_block("'\\[education\\](.*?)\\[/education\\]'si",""); $tpl->set_block("'\\[higher_education\\](.*?)\\[/higher_education\\]'si",""); $tpl->set_block("'\\[military\\](.*?)\\[/military\\]'si",""); $tpl->set_block("'\\[personal\\](.*?)\\[/personal\\]'si",""); $tpl->set_block("'\\[xfields\\](.*?)\\[/xfields\\]'si",""); $tpl->set('[career]', ''); $tpl->set('[/career]', ''); $tpl->compile('content'); $tpl->clear(); break; //Страница Редактирование службы case "military": $user_speedbar = $lang['editmyprofile'].' » '.$lang['editmyprofile_military']; $tpl->load_template('editprofile.tpl'); $row = $db->super_query("SELECT user_chast, user_zvanie, user_nacalosl, user_konecsl, user_countrysl, user_citysl FROM `".PREFIX."_users` WHERE user_id = '{$user_info['user_id']}'"); $sql_country = $db->super_query("SELECT * FROM `".PREFIX."_country` ORDER by `name` ASC", true, "country", true); foreach($sql_country as $row_country) $all_country .= '<option value="'.$row_country['id'].'">'.stripslashes($row_country['name']).'</option>'; $tpl->set('{country}', installationSelected($row['user_countrysl'], $all_country)); $sql_city = $db->super_query("SELECT id, name FROM `".PREFIX."_city` WHERE id_country = '{$row['user_countrysl']}' ORDER by `name` ASC", true, "country_city_".$row['user_countrysl'], true); foreach($sql_city as $row2) $all_city .= '<option value="'.$row2['id'].'">'.stripslashes($row2['name']).'</option>'; $tpl->set('{city}', installationSelected($row['user_citysl'], $all_city)); $tpl->set('{chast}', $row['user_chast']); $tpl->set('{zvanie}', $row['user_zvanie']); $tpl->set('{nacalosl}', installationSelected($row['user_nacalosl'], '<option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set('{konecsl}', installationSelected($row['user_konecsl'], '<option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option> <option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option>')); $tpl->set_block("'\\[contact\\](.*?)\\[/contact\\]'si",""); $tpl->set_block("'\\[general\\](.*?)\\[/general\\]'si",""); $tpl->set_block("'\\[interests\\](.*?)\\[/interests\\]'si",""); $tpl->set_block("'\\[education\\](.*?)\\[/education\\]'si",""); $tpl->set_block("'\\[higher_education\\](.*?)\\[/higher_education\\]'si",""); $tpl->set_block("'\\[career\\](.*?)\\[/career\\]'si",""); $tpl->set_block("'\\[personal\\](.*?)\\[/personal\\]'si",""); $tpl->set_block("'\\[xfields\\](.*?)\\[/xfields\\]'si",""); $tpl->set('[military]', ''); $tpl->set('[/military]', ''); $tpl->compile('content'); $tpl->clear(); break; //Страница Редактирование жизненная позиция case "personal": $user_speedbar = $lang['editmyprofile'].' » '.$lang['editmyprofile_personal']; $tpl->load_template('editprofile.tpl'); $row = $db->super_query("SELECT user_pred, user_miro, user_jizn, user_ludi, user_kurenie, user_alkogol, user_narkotiki, user_vdox FROM `".PREFIX."_users` WHERE user_id = '{$user_info['user_id']}'"); $tpl->set('{pred}', installationSelected($row['user_pred'], '<option value="1">Индифферентные</option> <option value="2">Коммунистические</option> <option value="3">Социалистические</option> <option value="4">Умеренные</option> <option value="5">Либеральные</option> <option value="6">Консервативные</option> <option value="7">Монархические</option> <option value="8">Ультраконсервативные</option> <option value="9">Либертарические</option>')); $tpl->set('{miro}', $row['user_miro']); $tpl->set('{jizn}', installationSelected($row['user_jizn'], '<option value="1">Семья и дети</option> <option value="2">Карьера и дети</option> <option value="3">Развлечения и отдых</option> <option value="4">Наука и исследование</option> <option value="5">Совершенствование мира</option> <option value="6">Саморазвитие</option> <option value="7">Красота и искуство</option> <option value="8">Слава и влияние</option>')); $tpl->set('{ludi}', installationSelected($row['user_ludi'], '<option value="1">Ум и креативность</option> <option value="2">Доброта и честность</option> <option value="3">Красота и здоровье</option> <option value="4">Власть и богатство</option> <option value="5">Смелость и упорство</option> <option value="6">Юмор и жизнелюбие</option>')); $tpl->set('{kurenie}', installationSelected($row['user_kurenie'], '<option value="1">Резко негативное</option> <option value="2">Негативное</option> <option value="3">Компромиссное</option> <option value="4">Нейтральное</option> <option value="5">Положительное</option>')); $tpl->set('{alkogol}', installationSelected($row['user_alkogol'], '<option value="1">Резко негативное</option> <option value="2">Негативное</option> <option value="3">Компромиссное</option> <option value="4">Нейтральное</option> <option value="5">Положительное</option>')); $tpl->set('{narkotiki}', installationSelected($row['user_narkotiki'], '<option value="1">Резко негативное</option> <option value="2">Негативное</option> <option value="3">Компромиссное</option> <option value="4">Нейтральное</option> <option value="5">Положительное</option>')); $tpl->set('{vdox}', $row['user_vdox']); $tpl->set_block("'\\[contact\\](.*?)\\[/contact\\]'si",""); $tpl->set_block("'\\[general\\](.*?)\\[/general\\]'si",""); $tpl->set_block("'\\[education\\](.*?)\\[/education\\]'si",""); $tpl->set_block("'\\[higher_education\\](.*?)\\[/higher_education\\]'si",""); $tpl->set_block("'\\[career\\](.*?)\\[/career\\]'si",""); $tpl->set_block("'\\[military\\](.*?)\\[/military\\]'si",""); $tpl->set_block("'\\[interests\\](.*?)\\[/interests\\]'si",""); $tpl->set_block("'\\[education\\](.*?)\\[/education\\]'si",""); $tpl->set_block("'\\[higher_education\\](.*?)\\[/higher_education\\]'si",""); $tpl->set_block("'\\[career\\](.*?)\\[/career\\]'si",""); $tpl->set_block("'\\[military\\](.*?)\\[/military\\]'si",""); $tpl->set_block("'\\[xfields\\](.*?)\\[/xfields\\]'si",""); $tpl->set('[personal]', ''); $tpl->set('[/personal]', ''); $tpl->compile('content'); $tpl->clear(); break; Далее нужно закрыть все вкладки дабы вся эта каша работала, показываю на одном примере - соображайте и меняйте по всем! Найти: //Страница Редактирование контактов В этой вкладке ищем строку: $tpl->set_block("'\\[interests\\](.*?)\\[/interests\\]'si",""); И после этого добавляем: $tpl->set_block("'\\[education\\](.*?)\\[/education\\]'si",""); $tpl->set_block("'\\[higher_education\\](.*?)\\[/higher_education\\]'si",""); $tpl->set_block("'\\[career\\](.*?)\\[/career\\]'si",""); $tpl->set_block("'\\[military\\](.*?)\\[/military\\]'si",""); $tpl->set_block("'\\[personal\\](.*?)\\[/personal\\]'si",""); $tpl->set_block("'\\[xfields\\](.*?)\\[/xfields\\]'si",""); И так далее: интересы, образование...
×