Лидеры
Популярный контент
Показан контент с высокой репутацией 06.10.2019 во всех областях
-
HTML Шаблон Админ панели Zeiss Просмотр файла Полнофункциональный шаблон администратора премиум класса, созданный с помощью Bootstrap, HTML5, CSS3, jQuery и LESS, множество прекрасных функций, готовых к использованию. Язык: Английский Для Bootstrap: 3 Вес файла: 79мб Добавил Kir KMS Добавлено 06.10.2019 Категория Шаблоны админ панелей2 балла
-
1.В .htaccess(Который в корне сайта)вставляем в любое место: # Ads RewriteRule ^ads&act=ads_view_my(/?)+$ index.php?go=ads&act=ads_view_my [L] RewriteRule ^ads&act=ads_view_my&page=([0-9]+)(/?)+$ index.php?go=ads&act=ads_view_my&page=$1 [L] RewriteRule ^ads(/?)+$ index.php?go=ads&act=ads_target [L] RewriteRule ^ads&act=office_help(/?)+$ index.php?go=ads&act=office_help [L] RewriteRule ^ads&act=ads(/?)+$ index.php?go=ads&act=ads [L] RewriteRule ^ads&page=([0-9]+)(/?)+$ index.php?go=ads&page=$1 [L] RewriteRule ^adscreate(/?)+$ index.php?go=ads&act=create_ads [L] RewriteRule ^ads&act=office(/?)+$ index.php?go=ads&act=office [L] RewriteRule ^ads&act=settings(/?)+$ index.php?go=ads&act=settings [L] 2.В /system/mod.php (В любое место вставляем): //ADS case "ads": include ENGINE_DIR.'/modules/ads.php'; break; 3.Делаем общий запрос в самой базе данных: CREATE TABLE IF NOT EXISTS `vii_ads` ( `id` int(11) NOT NULL AUTO_INCREMENT, `settings` varchar(64) NOT NULL, `description` varchar(100) NOT NULL, `links` varchar(200) NOT NULL, `link` varchar(200) NOT NULL, `views` int(11) NOT NULL, `user_id` int(11) NOT NULL, `category` text NOT NULL, `companyads` varchar(50) NOT NULL, `bal` int(11) NOT NULL, `active` int(11) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `vii_ads_cab` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `name` varchar(60) NOT NULL, `type` int(11) NOT NULL, `admins` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `vii_ads_ub` ( `user_id` int(11) NOT NULL, `balance` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 4. В templates/Default/js открыть main.js ишем function updateNum(i, type){ if(type) $(i).text(parseInt($(i).text())+1); else $(i).text($(i).text()-1); } ниже вставить $(document).ready(function(){ setInterval(function(){ $("#ads_view").show(); $("#ads_view1").show(); }, 10000); setInterval(function(){ $.ajax({ url: "index.php?go=ads&act=ads_view", cache: true, success: function(html){ $("#ads_view").html(html); } }); $.ajax({ url: "index.php?go=ads&act=ads_view1", cache: true, success: function(html){ $("#ads_view1").html(html); } }); }, 10000); }); function ads_close(){ $("#ads_view").fadeOut(400); $("#ads_view1").fadeOut(400); } 5. В /templates/Default/js открыть profil.js (В самый конец вставляем): //Ads var ads = { to:function(){ $.post('/index.php?go=ads&act=to',function(body){ $('body').append('<div id="newbox_miniature"><div class="miniature_box"><div class="miniature_pos" style="width: 540px;padding:15px;"><div class="news_title fl_l" style="color: #2B587A;font-weight: bold;">Таргетированные рекламные объявления</div><a class="cursor_pointer fl_r" onclick="Profile.miniatureClose()">Закрыть</a><div class="clear"></div><br>Таргетированная реклама яВинете — уникальный инструмент, позволяющий всего за несколько минут создать рекламное объявление и начать показывать его Вашим потенциальным клиентам.<br><h1>Преимущества таргетированных объявлений</h1><ul class="listing2"><li><span>Вы обращаетесь только к той аудитории, которая Вам необходима.</span></li><li><span>Вы выбираете – платить за уникальные переходы или за показы.</span></li><li><span>Вы платите меньше, создавая эффективные объявления.</span></li><li><span>Вы можете изменить дизайн и текст объявлений в любой момент.</span></li><li><span>Вы получаете подробную статистику эффективности кампаний.</span></li></ul><h1>Возможности выбора целевой аудитории безграничны</h1><ul class="listing2"><li><span>Пол, возраст, семейное положение, страна и город проживания.</span></li><li><span>Вуз, факультет, школа, год получения высшего образования.</span></li><li><span>Должности, районы, станции метро и даже улицы.</span></li><li><span>Интересы, увлечения, любимые фильмы, книги, игры и т.д.</span></li></ul><center><div class="ads_intro_box_targeting_image"></div><br><div class="button_blue"><a href="/adscreate"><button style="width:161px">Создать объявление</button></a></div></center><br></div></div></div>'); }); }, zvs:function(){ $.post('/index.php?go=ads&act=zvs',function(body){ $('body').append('<div id="newbox_miniature"><div class="miniature_box"><div class="miniature_pos" style="width: 540px;padding:15px;"><div class="news_title fl_l" style="color: #2B587A;font-weight: bold;">Рекламные записи в сообществах</div><a class="cursor_pointer fl_r" onclick="Profile.miniatureClose()">Закрыть</a><div class="clear"></div><br>Новая рекламная платформа предоставляет рекламодателям простой и прозрачный доступ к тысячам сообществ яВинете для размещения рекламных записей.<br><br>Цены на размещение формируются рынком и устанавливаются администраторами групп или публичных страниц. Помимо удобных инструментов управления записями и подбора сообществ, рекламодателю предоставляется расширенная статистика для расчета эффективности рекламных кампаний.<br><center><div class="ads_intro_box_posts_image"></div></center></div></div></div>'); }); }, contacts:function(){ $.post('/index.php?go=ads&act=contacts',function(body){ $('body').append('<div id="newbox_miniature"><div class="miniature_box"><div class="miniature_pos" style="width: 540px;padding:15px;"><div class="news_title fl_l" style="color: #2B587A;font-weight: bold;">Рекламные агентства и юридические лица</div><a class="cursor_pointer fl_r" onclick="Profile.miniatureClose()">Закрыть</a><div class="clear"></div><br><div style="font-size: 11px">Если Вы представляете <b>юридическое лицо</b>, Вы можете связаться с отделом рекламы по вопросам заключения договоров, безналичной оплаты и т.д. Оставьте свои контакты в форме ниже, и специалисты нашего рекламного отдела свяжутся с Вами в ближайшее время.<br><br>Специально для <b>рекламных агентств</b> мы предоставляем удобные инструменты, рассчитанные на работу с большим количеством клиентов. Также действует система премирования в зависимости от объемов привлеченных бюджетов и возможность сотрудничества на основе постоплаты.</div><h1>Связь с отделом рекламы</h1><div style="font-size:11px">'+body+'</div></div></div></div>'); }); }, ajax:function(){ if(is_moz && !is_chrome) scrollTopForFirefox = $(window).scrollTop(); $('html').css('overflow', 'hidden'); if(is_moz && !is_chrome) $(window).scrollTop(scrollTopForFirefox); $.post('/index.php?go=ads&act=ajax',function(body){ $('body').append('<div id="newbox_miniature"><div class="miniature_box"><div class="miniature_pos" style="width: 540px;padding:15px;"><div class="news_title fl_l" style="color: #2B587A;font-weight: bold;">Все рекламные объявления</div><a class="cursor_pointer fl_r" onclick="Profile.miniatureClose()">Закрыть</a><div class="clear"></div><br>'+body+'</div></div>'); }); }, createpublic:function(){ if(is_moz && !is_chrome) scrollTopForFirefox = $(window).scrollTop(); $('html').css('overflow', 'hidden'); if(is_moz && !is_chrome) $(window).scrollTop(scrollTopForFirefox); $.post('/index.php?go=ads&act=createpublic',function(body){ $('body').append('<div id="newbox_miniature"><div class="miniature_box"><div class="miniature_pos" style="width: 540px;padding:15px;"><div class="news_title fl_l" style="color: #2B587A;font-weight: bold;">Оформление</div><a class="cursor_pointer fl_r" onclick="Profile.miniatureClose()">Закрыть</a><div class="clear"></div><br>'+body+'</div></div>'); }); }, createpublicfp:function(){ $('#ads_public').show(); $('#ads_apps').hide(); $('#ads_site').hide(); $('#ads_param_link_type_community1').show(); $('#ads_param_link_type_community').hide(); $('#ads_param_link_type_app_vk1').hide(); $('#ads_param_link_type_app_vk').show(); $('#ads_param_link_type_link1').hide(); $('#ads_param_link_type_link').show(); }, createappsfp:function(){ $('#ads_apps').show(); $('#ads_public').hide(); $('#ads_site').hide(); $('#ads_param_link_type_community1').hide(); $('#ads_param_link_type_community').show(); $('#ads_param_link_type_app_vk').hide(); $('#ads_param_link_type_app_vk1').show(); $('#ads_param_link_type_link1').hide(); $('#ads_param_link_type_link').show(); }, createlinkfp:function(){ $('#ads_site').show(); $('#ads_public').hide(); $('#ads_apps').hide(); $('#ads_param_link_type_link').hide(); $('#ads_param_link_type_link1').show(); $('#ads_param_link_type_community1').hide(); $('#ads_param_link_type_community').show(); $('#ads_param_link_type_app_vk1').hide(); $('#ads_param_link_type_app_vk').show(); }, noadspublic:function(){ $('#ads_public').hide(); $('#ads_param_link_type_community1').hide(); $('#ads_param_link_type_app_vk1').hide(); $('#ads_param_link_type_link1').hide(); $('#ads_param_link_type_community').show(); }, noadsapps:function(){ $('#ads_public').hide(); $('#ads_apps').hide(); $('#ads_site').hide(); $('#ads_param_link_type_community1').hide(); $('#ads_param_link_type_app_vk1').hide(); $('#ads_param_link_type_app_vk').show(); }, noadslink:function(){ $('#ads_public').hide(); $('#ads_apps').hide(); $('#ads_site').hide(); $('#ads_param_link_type_community1').hide(); $('#ads_param_link_type_app_vk1').hide(); $('#ads_param_link_type_link1').hide(); $('#ads_param_link_type_link').show(); }, loadphoto: function(){ Box.Page('/index.php?go=ads&act=loadphoto', 'loadphoto', 400, lang_title_load_photo, 'Загрузка фотографии', lang_box_canсel, 0, 0, 0, 0, 0, 0, 1); }, createapps:function(){ if(is_moz && !is_chrome) scrollTopForFirefox = $(window).scrollTop(); $('html').css('overflow', 'hidden'); if(is_moz && !is_chrome) $(window).scrollTop(scrollTopForFirefox); $.post('/index.php?go=ads&act=createapps',function(body){ $('body').append('<div id="newbox_miniature"><div class="miniature_box"><div class="miniature_pos" style="width: 540px;padding:15px;"><div class="news_title fl_l" style="color: #2B587A;font-weight: bold;">Оформление</div><a class="cursor_pointer fl_r" onclick="Profile.miniatureClose()">Закрыть</a><div class="clear"></div><br>'+body+'</div></div>'); }); }, createlink:function(){ if(is_moz && !is_chrome) scrollTopForFirefox = $(window).scrollTop(); $('html').css('overflow', 'hidden'); if(is_moz && !is_chrome) $(window).scrollTop(scrollTopForFirefox); $.post('/index.php?go=ads&act=createlink',function(body){ $('body').append('<div id="newbox_miniature"><div class="miniature_box"><div class="miniature_pos" style="width: 540px;padding:15px;"><div class="news_title fl_l" style="color: #2B587A;font-weight: bold;">Оформление</div><a class="cursor_pointer fl_r" onclick="Profile.miniatureClose()">Закрыть</a><div class="clear"></div><br>'+body+'</div></div>'); }); }, update: function(){ var add = $('#transitions').val(); var pr = parseInt(add); if(!isNaN(pr)) $('#transitions').val(parseInt(add)); else $('#transitions').val(''); var rCost = $('#transitions').val(); $('#cost_num').text(rCost); }, updatetitle: function(){ var rTitle = $('#title').val(); $('#new_title').text(rTitle); }, updatedescr: function(){ var rDescr = $('#description').val(); $('#new_description').text(rDescr); }, updatetitle2: function(){ var rTitle = $('.titleapps').val(); $('#new_title2').text(rTitle); }, updatedescr2: function(){ var rDescr = $('.descriptionapps').val(); $('#new_description2').text(rDescr); }, updatetitle3: function(){ var rTitle = $('.titlelink').val(); $('#new_title3').text(rTitle); }, updatedescr3: function(){ var rDescr = $('.descriptionlink').val(); $('#new_description3').text(rDescr); }, send: function(){ var photo = $('#photo').attr('src'); var link_site = $('#link_site').val(); var title = $('#title').val(); var description = $('#description').val(); var companyads = $('#companyads').val(); var transitions = $('#transitions').val(); var category = $('#category').val(); var cost_num = $('#cost_num').val(); butloading('sending', '56', 'disabled', ''); $.post('/index.php?go=ads&act=add_ads', {photo: photo, link_site: link_site, title: title, description: description, companyads: companyads, category: category, transitions: transitions, cost_num: cost_num}, function(d){ if(d == '1'){ var result = 'Успешно. Процесс оплаты пройден. Ваша реклама размещена.'; } else if(d == '2'){ var result = 'Внимание. Все поля обязательны к заполнению.'; } else if(d == '3'){ var result = 'Внимание. Недостаточное количество средств на счете.'; } butloading('sending', '56', 'enabled', 'Заказать'); $('#result').show(); $('#result').html(result); }); }, ClickLink: function(id){ $.post('/index.php?go=ads&act=view', {id: id}); }, delete_ads: function(id){ $('#ads_'+id).html('<div style="padding:10px;color:#666;"><center>Объявления удалено успешно, средства для покупки были возвращены.</center></div><div class="clear"></div>'); $.post('/index.php?go=ads&act=delete_ads', {id: id}); }, edit_form: function(id){ $('#edit_res_'+id).hide(); $('#edit_res_show_'+id).show(); $('#edit_info_'+id).hide(); $('#image_view_'+id).hide(); $('#edit_con_'+id).show(); }, edit_close: function(id){ $('#edit_res_'+id).show(); $('#edit_res_show_'+id).hide(); $('#edit_info_'+id).show(); $('#image_view_'+id).show(); $('#edit_con_'+id).hide(); }, edit_save: function(id){ ads.edit_close(id); var link_photos = $('#link_'+id).val(); var link_site = $('#links_'+id).val(); $('#settings_save_'+id).text($('#settings_'+id).val()); $('#description_save_'+id).text($('#description_'+id).val()); $('#category_save_'+id).text($('#category_'+id).val()); $.post('/index.php?go=ads&act=edit_save', {id: id, link_photos: link_photos, link_site: link_site, settings: $('#settings_'+id).val(), description: $('#description_'+id).val(), category: $('#category_'+id).val()}, function(d){ $('span#category_save_'+id).load('# #category_save_'+id); $('div#category_load_'+id).load('# #category_load_'+id); if(d == '1'){ var result = 'Ваши изменения объявления успешно сохранены.'; } $('#result_'+id).show(); $('#result_'+id).html(result); }); }, createnewcab: function(){ $('.js_titleRemove').remove(); viiBox.start(); $.post('/index.php?go=ads&act=createnewcab', function(d){ viiBox.win('vii_cnc_box', d); }); }, sendnewcab: function(){ var name = $('#name').val(); butloading('sending', '56', 'disabled', ''); $.post('/index.php?go=ads&act=createnc', {name: name}, function(d){ if(d == '1'){ var result = 'Успешно. Новый кабинет создан.'; } if(d == '2'){ var result = 'Ошибка. У Вас уже есть кабинет.'; } butloading('sending', '56', 'enabled', 'Сохранить'); $('#result').show(); $('#result').html(result); location.reload(); }); }, open: function(){ $('#container13').fadeIn(100); $('#namecab').focus(); $('#namecab').select(); if($('#namecab').val()){ $('.yes_status_text').show(); $('.no_status_text').hide(); } else { $('.yes_status_text').hide(); $('.no_status_text').show(); } $('.status_tell_friends').hide(); }, close: function(){ $('#container13').hide(); $('#namecab').val($('#namecab').val()); }, setnewname: function(id){ text = $('#namecab').val(); if(text != $('#new_namecab').text()){ butloading('namecab_but', 55, 'disabled'); $.post('/index.php?go=ads&act=newnamecab', {text: text, id: id}, function(data){ $('#new_namecab').html(text); ads.close(); butloading('namecab_but', 55, 'enabled', lang_box_save); }); } else ads.close(); } } 6. В /templates/Default/ открыть main.tpl (Вставляем в <head>): <link media="screen" href="{theme}/style/ads.css" type="text/css" rel="stylesheet" /> ишем [/yes_balance] ниже вставить [menuads] <div id="ads_navigation" class="fl_l ads_nav"> <a class="nav nav_selected" href="/ads&act=office">Таргетинг</a> <!--<a class="nav" href="/ads&act=office">Реклама в сообществах</a>--> <div class="nav_separator"></div> <a class="nav [not-menu]nav_selected[/not-menu]" href="/ads&act=office">Личный кабинет</a> <a class="nav [menusett]nav_selected[/menusett]" href="/ads&act=settings">Настройки</a> <div class="nav_separator"></div> <a class="nav [menuhelp]nav_selected[/menuhelp]" href="/ads&act=office_help">Справка</a> <!--<a class="nav" href="/ads&act=office_help">Правила</a>--> <a class="nav" href="/adsnews">Новости</a> </div> [/menuads] в футер вставить 8. <a href="/ads" onClick="Page.Go(this.href); return false;">реклама</a> открыть index.php ишем $tpl->set('{header}', $headers); выше вставить $ads = $user_info['ads']; $help = $user_info['help']; $settings = $user_info['settings']; $developer = $user_info['developer']; if($developer == 1) { $tpl->set_block("'\\[main\\](.*?)\\[/main\\]'si",""); $tpl->set('[maindev]',''); $tpl->set('[/maindev]',''); } else { $tpl->set_block("'\\[maindev\\](.*?)\\[/maindev\\]'si",""); $tpl->set('[main]',''); $tpl->set('[/main]',''); } if($ads == 1) { $tpl->set_block("'\\[not-menuads\\](.*?)\\[/not-menuads\\]'si",""); $tpl->set('[menuads]',''); $tpl->set('[/menuads]',''); } else { $tpl->set_block("'\\[menuads\\](.*?)\\[/menuads\\]'si",""); $tpl->set('[not-menuads]',''); $tpl->set('[/not-menuads]',''); } if($help == 1) { $tpl->set_block("'\\[not-menu\\](.*?)\\[/not-menu\\]'si",""); $tpl->set_block("'\\[menusett\\](.*?)\\[/menusett\\]'si",""); $tpl->set('[menuhelp]',''); $tpl->set('[/menuhelp]',''); } else { $tpl->set_block("'\\[menuhelp\\](.*?)\\[/menuhelp\\]'si",""); $tpl->set('[not-menu]',''); $tpl->set('[/not-menu]',''); $tpl->set('[menusett]',''); $tpl->set('[/menusett]',''); } if($settings == 1) { $tpl->set_block("'\\[not-menu\\](.*?)\\[/not-menu\\]'si",""); $tpl->set_block("'\\[menuhelp\\](.*?)\\[/menuhelp\\]'si",""); $tpl->set('[menusett]',''); $tpl->set('[/menusett]',''); } else { $tpl->set_block("'\\[menusett\\](.*?)\\[/menusett\\]'si",""); $tpl->set('[not-menu]',''); $tpl->set('[/not-menu]',''); $tpl->set('[menuhelp]',''); $tpl->set('[/menuhelp]',''); } 9.В style.css в самый конец вставить: /* ADS */ #ads_rows{ position: relative; padding: 15px 0px 0px 15px; } #ads_view{ margin:15px 5px 5px 4px; } .ads_view{ text-align: center; padding: 10px 0px; width:110px; margin: 0px 0px 10px; overflow: hidden; } .ads_view1{ text-align: center; padding: 10px 0px; width:110px; margin: 0px 0px 10px; overflow: hidden; } .albtitle { font-weight: bold; outline: medium none; color: #45688E; font-size: 11px; padding: 3px 8px 3px 23px; border-top: 1px solid #B1BDD6; background: url('/images/flex_arrow_open.gif') no-repeat scroll left center #DAE2E8; } .ads_view h4 { font-size: 1.00em; border-bottom: solid 1px #DAE1E8; padding: 0px 0px 3px; margin: 0px 5px 8px; } .ads_close { margin: -2px 112px; position: absolute; background:url("../images/hide.gif") no-repeat; width:14px; height:14px; cursor:pointer; } .ads_description { padding-top: 10px; } Автор Developer.Sloopy [модуль] рекламы как у вк v_2.0.rar1 балл
-
Обновленная система друзей 1. В таблицу friends_demands добавить поле old_demands int(11) 2. Сделать запрос в бд CREATE TABLE IF NOT EXISTS `vii_friends_list` ( `user_id` int(11) NOT NULL, `list_id` int(11) NOT NULL, `list_name` varchar(50) NOT NULL, `list_edit` int(11) NOT NULL, `friends` text NOT NULL, `bg_color` varchar(25) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3. В profile.tpl под $(document).ready(function(){ поставить Friends.show_list(user_id); В этом же файле после [/friends] ставим <div id="friends_list"></div> 4. В main.tpl после {js} добавить <script type="text/javascript" src="/templates/Default/js/friends.js"></script> 5. Залить friends.js в папук js, newfriends.php и friends.php в папку modules, подключить newfriends.php 6. Заменить в .htaccess #Друзья на RewriteRule ^friends(/?)+$ index.php?go=newfriends [L] RewriteRule ^friends§ion=list([0-9]+)(/?)+$ index.php?go=newfriends§ion=list&list_id=$1 [L] RewriteRule ^friends§ion=online(/?)+$ index.php?go=newfriends§ion=online [L] RewriteRule ^friends§ion=requests(/?)+$ index.php?go=newfriends§ion=requests [L] RewriteRule ^friends§ion=all_requests(/?)+$ index.php?go=newfriends§ion=all_requests [L] RewriteRule ^friends§ion=out_requests(/?)+$ index.php?go=newfriends§ion=out_requests [L] RewriteRule ^friends&act=find(/?)+$ index.php?go=newfriends&act=find [L] RewriteRule ^friends§ion=phonebook(/?)+$ index.php?go=newfriends§ion=phonebook [L] RewriteRule ^friends&user_id=([0-9]+)§ion=list([0-9]+)(/?)+$ index.php?go=newfriends§ion=list&user_id=$1&list_id=$2 [L] RewriteRule ^friends&user_id=([0-9]+)§ion=online(/?)+$ index.php?go=newfriends§ion=online&user_id=$1 [L] RewriteRule ^friends&user_id=([0-9]+)(/?)+$ index.php?go=newfriends&user_id=$1 [L] Установка закончена, грац. Автор Developer.Sloopy [Модуль] Дополнение к разделу друзья.rar1 балл
-
1 заходим в templates\Default\search открыть файл ишем <div class="html_checkbox" id="online" onClick="myhtml.checkbox(this.id); gSearch.go();">сейчас на сайте</div> после ставим <div class="html_checkbox" id="sortbydate" onClick="myhtml.checkbox(this.id); gSearch.go();" style="margin-top:9px;margin-bottom:12px;">сортировать по дате</div> тамже находим myhtml.checked(['{checked-online}', '{checked-user-photo} вставляем сюда ']); вот эта ', '{checked-sortbydate} 2 заходим в templates\Default\js открыть там файл profile.js ишем user_photo = $('#user_photo').val(); ниже ставим sortbydate = $('#sortbydate').val(); тамже ишем if(user_photo != 0) all_queryeis_user_photo = '&user_photo='+user_photo; else all_queryeis_user_photo = ''; ниже ставим if(sortbydate != 0) all_queryeis_sortbydate = '&sortbydate='+sortbydate; else all_queryeis_sortbydate = ''; ишем res_sort_query = all_queryeis_sex+all_queryeis_day+all_queryeis_month+all_queryeis_year+all_queryeis_country+all_queryeis_city+all_queryeis_online+all_queryeis_user_photo+all_queryeis_sp+all_queryeis_mesto+all_queryeis_dolj+all_queryeis_chast+all_queryeis_countrysl+all_queryeis_nacalosl; вканце строчки находим +all_queryeis_nacalosl и после нее ставим встрочку +all_queryeis_sortbydate 3 заходим в system\modules открыть там файл search.php ишем $user_photo = intval($_GET['user_photo']); ниже ставим $sortbydate = intval($_GET['sortbydate']); ишем if($type == 1){ //Если критерий поиск "по людям" $sql_query = "SELECT user_id, user_search_pref, user_photo, user_birthday, user_country_city_name, user_last_visit, user_rai, user_metro, user_ulica, user_nazvanie, user_shkola, user_klass, user_spec, user_vuz, user_fac, user_form, user_statusvi, user_dolj, user_chast, user_zvanie, user_pred, user_logged_mobile FROM `".PREFIX."_users` {$where_sql_gen} {$sql_sort} ORDER by `user_rate` DESC LIMIT {$limit_page}, {$gcount}"; $sql_count = "SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` {$where_sql_gen} {$sql_sort}"; заменяем на if($type == 1){ //Если критерий поиск "по людям" if ($sortbydate) { $sql_query = "SELECT SQL_CALC_FOUND_ROWS user_id, user_real, user_paid, user_search_pref, user_photo, user_birthday, user_country_city_name, user_last_visit, vkava1 FROM `".PREFIX."_users` WHERE user_search_pref LIKE '%{$query}%' {$sql_sort} ORDER by `user_id` LIMIT {$limit_page}, {$gcount}"; $sql_count = "SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE user_search_pref LIKE '%{$query}%' {$sql_sort}"; } else { $sql_query = "SELECT SQL_CALC_FOUND_ROWS user_id, user_real, user_paid, user_search_pref, user_photo, user_birthday, user_country_city_name, user_last_visit, vkava1 FROM `".PREFIX."_users` WHERE user_search_pref LIKE '%{$query}%' {$sql_sort} ORDER by `user_rate` DESC LIMIT {$limit_page}, {$gcount}"; $sql_count = "SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE user_search_pref LIKE '%{$query}%' {$sql_sort}"; }; ишем if($online) $tpl->set('{checked-online}', 'online'); else $tpl->set('{checked-online}', '0'); ниже ставим if($sortbydate) $tpl->set('{checked-sortbydate}', 'sortbydate'); else $tpl->set('{checked-sortbydate}', '0'); автор неизвестен1 балл
-
1 заходим в templates\Default\wall открыть там файл record.tpl ишем там <div class="clear"></div> </div>[/comment] [comment-form]<div class="wall_fast_opened_form" id="fast_form"> выше ставим <div class="public_likes_user_block no_display" id="public_likes_user_block{rec-id}" onMouseOver="groups.wall_like_users_five('{rec-id}')" onMouseOut="groups.wall_like_users_five_hide('{rec-id}')"> <div onClick="wall.all_liked_users('{rec-id}', '', '{likes}')">Понравилось {likes-text}</div> <div class="public_wall_likes_hidden"> <div class="public_wall_likes_hidden2"> <a href="/id{viewer-id}" id="like_user{viewer-id}_{rec-id}" class="no_display" onClick="Page.Go(this.href); return false"><img src="{viewer-ava}" width="32" /></a> <div id="likes_users{rec-id}"></div> </div> </div> <div class="public_like_strelka"></div> </div> <input type="hidden" id="update_like{rec-id}" value="0" /> <div class="fl_r public_wall_like cursor_pointer" onClick="{like-js-function}" onMouseOver="groups.wall_like_users_five('{rec-id}', 'uPages')" onMouseOut="groups.wall_like_users_five_hide('{rec-id}')" id="wall_like_link{rec-id}"> <div class="fl_l" id="wall_like_active">Мне нравится</div> <div class="public_wall_like_no {yes-like}" id="wall_active_ic{rec-id}"></div> <b id="wall_like_cnt{rec-id}" class="{yes-like-color}">{likes}</b> </div> заходим в templates\Default\wall открыть там файл one_record.tpl ишем там <div class="clear"></div> </div>[/comment] [comment-form]<div class="wall_fast_opened_form" id="fast_form"> выше ставим <div class="public_likes_user_block no_display" id="public_likes_user_block{rec-id}" onMouseOver="groups.wall_like_users_five('{rec-id}')" onMouseOut="groups.wall_like_users_five_hide('{rec-id}')"> <div onClick="wall.all_liked_users('{rec-id}', '', '{likes}')">Понравилось {likes-text}</div> <div class="public_wall_likes_hidden"> <div class="public_wall_likes_hidden2"> <a href="/id{viewer-id}" id="like_user{viewer-id}_{rec-id}" class="no_display" onClick="Page.Go(this.href); return false"><img src="{viewer-ava}" width="32" /></a> <div id="likes_users{rec-id}"></div> </div> </div> <div class="public_like_strelka"></div> </div> <input type="hidden" id="update_like{rec-id}" value="0" /> <div class="fl_r public_wall_like cursor_pointer" onClick="{like-js-function}" onMouseOver="groups.wall_like_users_five('{rec-id}', 'uPages')" onMouseOut="groups.wall_like_users_five_hide('{rec-id}')" id="wall_like_link{rec-id}"> <div class="fl_l" id="wall_like_active">Мне нравится</div> <div class="public_wall_like_no {yes-like}" id="wall_active_ic{rec-id}"></div> <b id="wall_like_cnt{rec-id}" class="{yes-like-color}">{likes}</b> </div> заходим в system/classes/wall.php ишем там //Помещаем все комменты в id wall_fast_block_{id} это для JS $tpl->result[$this->compile] .= '<div id="wall_fast_block_'.$fast_comm_id.'">'; //Загружаем кнопку "Показать N запсии" если их больше 3 if($record_fasts_num > 3){ $tpl->set('{gram-record-all-comm}', gram_record(($record_fasts_num-3), 'prev').' '.($record_fasts_num-3).' '.gram_record(($record_fasts_num-3), 'comments')); $tpl->set('[all-comm]', ''); $tpl->set('[/all-comm]', ''); $tpl->set('{rec-id}', $fast_comm_id); $tpl->set('{author-id}', $for_user_id); $tpl->set('[wall-func]', ''); $tpl->set('[/wall-func]', ''); $tpl->set_block("'\\[groups\\](.*?)\\[/groups\\]'si",""); $tpl->set_block("'\\[record\\](.*?)\\[/record\\]'si",""); $tpl->set_block("'\\[comment-form\\](.*?)\\[/comment-form\\]'si",""); $tpl->set_block("'\\[comment\\](.*?)\\[/comment\\]'si",""); $tpl->compile($this->comm_compile); } else $tpl->set_block("'\\[all-comm\\](.*?)\\[/all-comm\\]'si",""); //Сообственно выводим комменты foreach($this->comm_query as $row_comments){ $tpl->set('{name}', $row_comments['user_search_pref']); if($row_comments['user_photo']) $tpl->set('{ava}', '/uploads/users/'.$row_comments['author_user_id'].'/50_'.$row_comments['user_photo']); else $tpl->set('{ava}', '{theme}/images/no_ava_50.png'); $tpl->set('{rec-id}', $fast_comm_id); $tpl->set('{comm-id}', $row_comments['id']); $tpl->set('{user-id}', $row_comments['author_user_id']); $expBR2 = explode('<br />', $row_comments['text']); $textLength2 = count($expBR2); $strTXT2 = strlen($row_comments['text']); if($textLength2 > 6 OR $strTXT2 > 470) $row_comments['text'] = '<div class="wall_strlen" id="hide_wall_rec'.$row_comments['id'].'" style="max-height:102px"">'.$row_comments['text'].'</div><div class="wall_strlen_full" onMouseDown="wall.FullText('.$row_comments['id'].', this.id)" id="hide_wall_rec_lnk'.$row_comments['id'].'">Показать полностью..</div>'; if($row_comments['attach']){ $attcahed = attached($row_comments); if($attcahed) $row_comments['text'] = preg_replace('`(http(?:s)?://\w+[^\s\[\]\<]+)`i', '<a href="/away.php?url=$1" target="_blank">$1</a>', $row_comments['text']).$attcahed; else $row_comments['text'] = preg_replace('`(http(?:s)?://\w+[^\s\[\]\<]+)`i', '<a href="/away.php?url=$1" target="_blank">$1</a>', $row_comments['text']); } else $row_comments['text'] = preg_replace('`(http(?:s)?://\w+[^\s\[\]\<]+)`i', '<a href="/away.php?url=$1" target="_blank">$1</a>', $row_comments['text']); $resLinkTitle = ''; $tpl->set('{text}', stripslashes($row_comments['text'])); megaDate($row_comments['add_date']); if(!$id) $id = $for_user_id; if($user_id == $row_comments['author_user_id'] || $user_id == $id){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); } else $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); if($user_id == $row_comments['author_user_id']) $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); } $tpl->set('[comment]', ''); $tpl->set('[/comment]', ''); $tpl->set('[wall-func]', ''); $tpl->set('[/wall-func]', ''); $tpl->set_block("'\\[groups\\](.*?)\\[/groups\\]'si",""); $tpl->set_block("'\\[record\\](.*?)\\[/record\\]'si",""); $tpl->set_block("'\\[comment-form\\](.*?)\\[/comment-form\\]'si",""); $tpl->set_block("'\\[all-comm\\](.*?)\\[/all-comm\\]'si",""); 2 МЕЖДУ ВОТ ЭТИМ СТАВИМ $tpl->compile($this->comm_compile); } ЭТА //Мне нравится if(stripos($row_comments['likes_users'], "u{$user_id}|") !== false){ $tpl->set('{yes-like}', 'public_wall_like_yes'); $tpl->set('{yes-like-color}', 'public_wall_like_yes_color'); $tpl->set('{like-js-function}', 'groups.wall_remove_like('.$row_comments['id'].', '.$user_id.', \'uPages\')'); } else { $tpl->set('{yes-like}', ''); $tpl->set('{yes-like-color}', ''); $tpl->set('{like-js-function}', 'groups.wall_add_like('.$row_comments['id'].', '.$user_id.', \'uPages\')'); } if($row_comments['likes_num']){ $tpl->set('{likes}', $row_comments['likes_num']); $tpl->set('{likes-text}', '<span id="like_text_num'.$row_comments['id'].'">'.$row_comments['likes_num'].'</span> '.gram_record($row_comments['likes_num'], 'like')); } else { $tpl->set('{likes}', ''); $tpl->set('{likes-text}', '<span id="like_text_num'.$row_comments['id'].'">0</span> человеку'); } $tpl->set('{rec-id}', $row_comments['id']); //Выводим информцию о том кто смотрит страницу для себя $tpl->set('{viewer-id}', $user_id); if($user_info['user_photo']) $tpl->set('{viewer-ava}', '/uploads/users/'.$user_id.'/50_'.$user_info['user_photo']); else $tpl->set('{viewer-ava}', '{theme}/images/no_ava_50.png'); ТАМЖЕ ИШЕМ //Помещаем все комменты в id wall_fast_block_{id} это для JS $tpl->result[$this->compile] .= '<div id="wall_fast_block_'.$row_wall['id'].'">'; //Если есть комменты к записи, то открываем форму ответа уже в развернутом виде и выводим комменты к записи if($user_privacy['val_wall3'] == 1 OR $user_privacy['val_wall3'] == 2 AND $check_friend OR $user_id == $id){ if($row_wall['fasts_num']){ if($row_wall['fasts_num'] > 3) $comments_limit = $row_wall['fasts_num']-3; else $comments_limit = 0; $sql_comments = $db->super_query("SELECT tb1.id, attach, tell_uid,author_user_id, text, add_date, tb2.user_photo, user_search_pref FROM `".PREFIX."_wall` tb1, `".PREFIX."_users` tb2 WHERE tb1.author_user_id = tb2.user_id AND tb1.fast_comm_id = '{$row_wall['id']}' ORDER by `add_date` ASC LIMIT {$comments_limit}, 3", 1); //Загружаем кнопку "Показать N запсии" $tpl->set('{gram-record-all-comm}', gram_record(($row_wall['fasts_num']-3), 'prev').' '.($row_wall['fasts_num']-3).' '.gram_record(($row_wall['fasts_num']-3), 'comments')); if($row_wall['fasts_num'] < 4) $tpl->set_block("'\\[all-comm\\](.*?)\\[/all-comm\\]'si",""); else { $tpl->set('{rec-id}', $row_wall['id']); $tpl->set('[all-comm]', ''); $tpl->set('[/all-comm]', ''); } $tpl->set('{author-id}', $id); $tpl->set_block("'\\[record\\](.*?)\\[/record\\]'si",""); $tpl->set_block("'\\[comment-form\\](.*?)\\[/comment-form\\]'si",""); $tpl->set_block("'\\[comment\\](.*?)\\[/comment\\]'si",""); $tpl->compile($this->compile); //Сообственно выводим комменты foreach($sql_comments as $row_comments){ $tpl->set('{name}', $row_comments['user_search_pref']); if($row_comments['user_photo']) $tpl->set('{ava}', '/uploads/users/'.$row_comments['author_user_id'].'/50_'.$row_comments['user_photo']); else $tpl->set('{ava}', '{theme}/images/no_ava_50.png'); $tpl->set('{rec-id}', $row_wall['id']); $tpl->set('{comm-id}', $row_comments['id']); $tpl->set('{user-id}', $row_comments['author_user_id']); $expBR2 = explode('<br />', $row_comments['text']); $textLength2 = count($expBR2); $strTXT2 = strlen($row_comments['text']); if($textLength2 > 6 OR $strTXT2 > 470) $row_comments['text'] = '<div class="wall_strlen" id="hide_wall_rec'.$row_comments['id'].'" style="max-height:102px"">'.$row_comments['text'].'</div><div class="wall_strlen_full" onMouseDown="wall.FullText('.$row_comments['id'].', this.id)" id="hide_wall_rec_lnk'.$row_comments['id'].'">Показать полностью..</div>'; //Обрабатываем ссылки $row_comments['text'] = preg_replace('`(http(?:s)?://\w+[^\s\[\]\<]+)`i', '<a href="/away.php?url=$1" target="_blank">$1</a>', $row_comments['text']); $attcahed = attached($row_comments); if($attcahed) $row_comments['text'] = preg_replace('`(http(?:s)?://\w+[^\s\[\]\<]+)`i', '<a href="/away.php?url=$1" target="_blank">$1</a>', $row_comments['text']).$attcahed; else $row_comments['text'] = preg_replace('`(http(?:s)?://\w+[^\s\[\]\<]+)`i', '<a href="/away.php?url=$1" target="_blank">$1</a>', $row_comments['text']); $tpl->set('{text}', stripslashes($row_comments['text'])); megaDate($row_comments['add_date']); if($user_id == $row_comments['author_user_id'] || $user_id == $id){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); } else $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); if($user_id == $row_comments['author_user_id']) $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); } $tpl->set('[comment]', ''); $tpl->set('[/comment]', ''); $tpl->set_block("'\\[record\\](.*?)\\[/record\\]'si",""); $tpl->set_block("'\\[comment-form\\](.*?)\\[/comment-form\\]'si",""); $tpl->set_block("'\\[all-comm\\](.*?)\\[/all-comm\\]'si",""); МЕЖДУ ЭТИМ ВСТАВЛЯЕМ $tpl->compile($this->compile); } ЭТА //Мне нравится 222 if(stripos($row_comments['likes_users'], "u{$user_id}|") !== false){ $tpl->set('{yes-like}', 'public_wall_like_yes'); $tpl->set('{yes-like-color}', 'public_wall_like_yes_color'); $tpl->set('{like-js-function}', 'groups.wall_remove_like('.$row_comments['id'].', '.$user_id.', \'uPages\')'); } else { $tpl->set('{yes-like}', ''); $tpl->set('{yes-like-color}', ''); $tpl->set('{like-js-function}', 'groups.wall_add_like('.$row_comments['id'].', '.$user_id.', \'uPages\')'); } if($row_comments['likes_num']){ $tpl->set('{likes}', $row_comments['likes_num']); $tpl->set('{likes-text}', '<span id="like_text_num'.$row_comments['id'].'">'.$row_comments['likes_num'].'</span> '.gram_record($row_comments['likes_num'], 'like')); } else { $tpl->set('{likes}', ''); $tpl->set('{likes-text}', '<span id="like_text_num'.$row_comments['id'].'">0</span> человеку'); } $tpl->set('{rec-id}', $row_comments['id']); //Выводим информцию о том кто смотрит страницу для себя $tpl->set('{viewer-id}', $user_id); if($user_info['user_photo']) $tpl->set('{viewer-ava}', '/uploads/users/'.$user_id.'/50_'.$user_info['user_photo']); else $tpl->set('{viewer-ava}', '{theme}/images/no_ava_50.png'); 3. В том же файле ищем запрос $sql_comments = $db->super_query и добавляем к нему tb1.likes_num, tb1.likes_users, автор неизвестен1 балл
-
1 заходим в templates\Default открыть там файл album_photo.tpl ищем <div class="albums_cover_photo" [owner]onMouseOver="Photo.Panel({id}, 'show')" onMouseOut="Photo.Panel({id}, 'hide')" id="a_photo_{id}"[/owner]><a href="/photo{uid}_{id}{aid}{section}" onClick="Photo.Show(this.href); return false"><div class="albums_new_cover" id="albums_new_cover_{id}"></div></a>[owner]<div class="albums_photo_panel" id="albums_photo_panel_{id}"> впереди вставить <a href="/" class="albums_ic ic_posi" title="переместить фотографию" onClick="Albums.MovePhoto('{id}'); return false"></a> 2 заходим в templates\Default\js открыть там файл profile.js ищем SetCover: function(id, aid, photo){ $('#box_loading').show(); $.get('/index.php?go=albums&act=set_cover', {id: id}, function(){ $('#cover_'+aid).html('<img src="'+photo+'" alt="" />'); Box.Close('edit_cover_'+aid); $('#box_loading').hide(); }); }, выше вставить MovePhoto: function(aid){ $('#box_loading').show(); $.get('/index.php?go=albums&act=box_move_photo', {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 from_aid = $('#value_album').val(); $('#box_loading').show(); $.get('/index.php?go=albums&act=move_photo', {user_id: id, id: aid, from_album: from_aid}, function(data){ Box.Close('movephotos'); }); }, 3 заходим в system\modules открыть там файл albums.php ищем //################### Удаление фотографии из альбома ###################// ниже вставить //################### Перемещение фотографии в другой альбом ###################// case "move_photo": NoAjaxQuery(); $id = intval($_GET['id']); $user_id = $user_info['user_id']; $from_album = intval($_GET['from_album']); $row = $db->super_query("SELECT user_id, album_id, photo_name, comm_num, position FROM `".PREFIX."_photos` WHERE id = '{$id}'"); $row_ = $db->super_query("SELECT user_id FROM `".PREFIX."_albums` WHERE aid = '{$from_album}'"); //Если есть такая фотография и владельце действителен if($row['user_id'] == $user_id and $row_['user_id'] == $user_id){ //Директория фотографии $del_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$row['album_id'].'/'; $copy_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$from_album.'/'; // Перемещение фотографий @copy($del_dir.$row['photo_name'],$copy_dir.$row['photo_name']); @copy($del_dir.'c_'.$row['photo_name'],$copy_dir.'c_'.$row['photo_name']); //Удаление фотки с сервера @unlink($del_dir.'c_'.$row['photo_name']); @unlink($del_dir.$row['photo_name']); $db->query("UPDATE `".PREFIX."_photos` SET album_id = '".$from_album."' WHERE id = '".$id."'"); $check_photo_album = $db->super_query("SELECT id FROM `".PREFIX."_photos` WHERE album_id = '{$row['album_id']}'"); $album_row = $db->super_query("SELECT cover FROM `".PREFIX."_albums` WHERE aid = '{$row['album_id']}'"); //Если удаляемая фотография является обложкой то обновляем обложку на последнюю фотографию, если фотки еще есть из альбома if($album_row['cover'] == $row['photo_name'] AND $check_photo_album){ $row_last_photo = $db->super_query("SELECT photo_name FROM `".PREFIX."_photos` WHERE user_id = '{$user_id}' AND album_id = '{$row['album_id']}' ORDER by `id` DESC"); $set_cover = ", cover = '{$row_last_photo['photo_name']}'"; } //Если в альбоме уже нет фоток, то удаляем обложку if(!$check_photo_album) $set_cover = ", cover = ''"; $db->query("UPDATE `".PREFIX."_photos_comments` SET album_id = '".$from_album."' WHERE pid = '".$id."'"); //Обновляем количество комментов у альбома $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num-1, comm_num = comm_num-{$row['comm_num']} {$set_cover} WHERE aid = '{$row['album_id']}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, comm_num = comm_num+{$row['comm_num']} WHERE aid = '{$from_album}'"); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$row['user_id']}/position_photos_album_{$row['album_id']}"); mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$row['user_id']}/position_photos_album_{$from_album}"); mozg_clear_cache_file('user_'.$user_id.'/photos'); } die(); break; ищем //################### Установка новой обложки для альбома ###################// ниже вставить //################### Окно для перемещения фотки ###################// case "box_move_photo": NoAjaxQuery(); $id = intval($_GET['aid']); $row_ = $db->super_query("SELECT aid,name FROM `".PREFIX."_albums` WHERE user_id = '{$user_info['user_id']}'",1); $row_d = $db->super_query("SELECT aid FROM `".PREFIX."_albums` WHERE user_id = '{$user_info['user_id']}' LIMIT 1"); echo '<div class="load_photo_pad"><div class="err_red" style="display:none;font-weight:normal;"></div><div class="load_photo_quote">Для перемещения фотографии Вам нужно выбрать конечный альбом из списка ниже.</div><div class="mgclr"></div><div class="texta">Группа приложения:</div><div id="group_sel_w"><select id="change_move_box_album" onchange="Albums.ChangeMove();" class="inpst">'; foreach($row_ as $group) { $var.= '<option value="'.$group['aid'].'">'.$group['name'].'</option>'; } echo $var.'</select></div></div><input type="hidden" id="value_album" value="'.$row_d['aid'].'" />'; echo '<div class="button_div fl_l" style="margin-bottom:15px;line-height:15px;margin-left: 20px;"><button onClick="Albums.MovingPhotos('.$user_info['user_id'].','.$id.'); return false" style="width:174px">Переместить фотографию</button></div>'; die(); break; ДЛЯ АЛЬБОМА В ГРУППАХ 1 заходим в заходим в templates\Default\js открыть там файл profile.js ищем 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'); }); }, 2 заходим в system\modules открыть там файл albums_groups.php ищем //################### Установка новой обложки для альбома ###################// ниже вставить //################### Окно для перемещения фотки ###################// case "box_move_photo": NoAjaxQuery(); $id = intval($_GET['aid']); $row_ = $db->super_query("SELECT aid,name FROM `".PREFIX."_communities_albums` WHERE pid = '{$pid}'",1); $row_d = $db->super_query("SELECT aid FROM `".PREFIX."_communities_albums` WHERE pid = '{$pid}' LIMIT 1"); echo '<div class="load_photo_pad"><div class="err_red" style="display:none;font-weight:normal;"></div><div class="load_photo_quote">Для перемещения фотографии Вам нужно выбрать конечный альбом из списка ниже.</div><div class="mgclr"></div><div class="texta">Группа приложения:</div><div id="group_sel_w"><select id="change_move_box_album" onchange="Albums.ChangeMove();" class="inpst">'; foreach($row_ as $group) { $var.= '<option value="'.$group['aid'].'">'.$group['name'].'</option>'; } echo $var.'</select></div></div><input type="hidden" id="value_album" value="'.$row_d['aid'].'" />'; echo '<div class="button_div fl_l" style="margin-bottom:15px;line-height:15px;margin-left: 20px;"><button onClick="Albums.MovingPhotos('.$pid.','.$id.'); return false" style="width:174px">Переместить фотографию</button></div>'; die(); break; ищем //################### Удаление фотографии из альбома ###################// ниже вставить //################### Перемещение фотографии в другой альбом ###################// case "move_photo": NoAjaxQuery(); $id = intval($_GET['id']); $from_album = intval($_GET['from_album']); $row = $db->super_query("SELECT pid, album_id, photo_name, comm_num, position FROM `".PREFIX."_communities_photos` WHERE id = '{$id}'"); $row_ = $db->super_query("SELECT pid FROM `".PREFIX."_communities_albums` WHERE aid = '{$from_album}'"); $row_check = $db->super_query("SELECT admin FROM `".PREFIX."_communities` WHERE id = '{$pid}'"); //Если есть такая фотография и владельце действителен if(stripos($row_check['admin'], "id{$user_id}|") !== false){ //Директория фотографии $del_dir = ROOT_DIR.'/uploads/groups/'.$pid.'/albums/'.$row['album_id'].'/'; $copy_dir = ROOT_DIR.'/uploads/groups/'.$pid.'/albums/'.$from_album.'/'; // Перемещение фотографий @copy($del_dir.$row['photo_name'],$copy_dir.$row['photo_name']); @copy($del_dir.'c_'.$row['photo_name'],$copy_dir.'c_'.$row['photo_name']); //Удаление фотки с сервера @unlink($del_dir.'c_'.$row['photo_name']); @unlink($del_dir.$row['photo_name']); $db->query("UPDATE `".PREFIX."_communities_photos` SET album_id = '".$from_album."' WHERE id = '".$id."'"); $check_photo_album = $db->super_query("SELECT id FROM `".PREFIX."_communities_photos` WHERE album_id = '{$row['album_id']}'"); $album_row = $db->super_query("SELECT cover FROM `".PREFIX."_communities_albums` WHERE aid = '{$row['album_id']}'"); //Если удаляемая фотография является обложкой то обновляем обложку на последнюю фотографию, если фотки еще есть из альбома if($album_row['cover'] == $row['photo_name'] AND $check_photo_album){ $row_last_photo = $db->super_query("SELECT photo_name FROM `".PREFIX."_communities_photos` WHERE pid = '{$pid}' AND album_id = '{$row['album_id']}' ORDER by `id` DESC"); $set_cover = ", cover = '{$row_last_photo['photo_name']}'"; } //Если в альбоме уже нет фоток, то удаляем обложку if(!$check_photo_album) $set_cover = ", cover = ''"; $db->query("UPDATE `".PREFIX."_communities_photos_comments` SET album_id = '".$from_album."' WHERE pid = '".$id."'"); //Обновляем количество комментов у альбома $db->query("UPDATE `".PREFIX."_communities_albums` SET photo_num = photo_num-1, comm_num = comm_num-{$row['comm_num']} {$set_cover} WHERE aid = '{$row['album_id']}'"); $db->query("UPDATE `".PREFIX."_communities_albums` SET photo_num = photo_num+1, comm_num = comm_num+{$row['comm_num']} WHERE aid = '{$from_album}'"); mozg_mass_clear_cache_file("user_{$user_info['user_id']}/position_photos_album_groups_{$row['album_id']}"); mozg_mass_clear_cache_file("user_{$user_info['user_id']}/position_photos_album_groups_{$from_album}"); } die(); break; 3 заходим в templates\Default\albums_groups открыть там файл album_photo.tpl ищем <a href="/" class="albums_ic ic_del" title="удалить" onClick="PhotoGroups.MsgDelete({id}, null); return false"></a> выще вставить <a href="/" class="albums_ic ic_posi" title="переместить фотографию" onClick="Albums.MovePhoto('{id}'); return false"></a> вырезана из сборки флайбей1 балл
-
1. Заходим в system Открыть Файл init.php Ищем: include ENGINE_DIR.'/classes/templates.php'; Ниже ставим include ENGINE_DIR.'/classes/Masonry.php'; ищем: if($config['gzip'] == 'yes') include ENGINE_DIR.'/modules/gzip.php'; Ниже ставим $masonry = new Masonry(); 2. Заходим в templates\Default\js Открыть Файл main.js Ищем: var url_next_id = 1; Ниже ставим function set_collage(id){ var collage = document.getElementById(id); var images = collage.getElementsByTagName('img'); //Маленький набор опций: averageRowHeight - примерная высота строки; gap - отступы между картинками; var options = {averageRowHeight: 175, gap: 3}; var widths = [], rows = [], rowNumber = 0, index = 0, k = 0; //Записываем в массив ширину каждой картинки при одинаковой высоте for(var i = 0; i < images.length; i++){ widths.push(Math.round(images[i].width / images[i].height * options.averageRowHeight)); } //Функция суммы элементов массива Array.prototype.sum = function(){ return this.reduce( function(prev,current){ return +current + prev; }, 0); } //Разбиение оизображений на строки обичным деление общей ширины всех картинок на ширину контейнера while(rowNumber < Math.ceil(widths.sum() / collage.clientWidth)){ rows[rowNumber] = []; //Как только общая ширина картинок превысила ширину контейнера переходим на следующую строку while(index < widths.length && rows[rowNumber].sum()+(rows[rowNumber].length * options.gap) < collage.clientWidth + options.gap){ rows[rowNumber].push(widths[index]); index++; //Если на последнюю строку осталось одно изображение, то дописываем его в "предпоследнюю" if(index == widths.length - 1){ rows[rowNumber].push(widths[index]); rowNumber++; break; } } rowNumber++; } index = 0; //Непосредственно изменение масштаба картинок (пропорционально, без обрезания изображений) for(var i = 0; i < rows.length; i++){ for(var j = 0; j < rows[i].length; j++){ // Если ширина строки больше/меньше ширины контейнера - соответственно // уменьшаем/увеличиваем до ширины контейнера с учетем отступов между картинками k = (collage.clientWidth - ((rows[i].length - 1) * options.gap)) / rows[i].sum(); images[index].style.width = rows[i][j] * k + 'px'; images[index].style.height = k * options.averageRowHeight + 'px'; if(j < rows[i].length - 1) images[index].style.marginRight = options.gap + 'px'; if(i < rows.length - 1) images[index].style.marginBottom = options.gap + 'px'; index++; } } } 3. Заходим в templates\Default Открыть файл main.tpl ищем: <script type="text/javascript" src="{theme}/js/reg.js"></script> Ниже ставим <script type="text/javascript" src="{theme}/js/masonry.pkgd.js"></script> 4. Заходим в system\classes Открыть там файл wall.php Ищем: $attach_result .= '<div class="clear"></div>'; Ниже ставим $masonry_array_images = array(); Ищем: //Фото со стены юзера } elseif($attach_type[0] == 'photo_u'){ if($row_wall['tell_uid']) $attauthor_user_id = $row_wall['tell_uid']; else $attauthor_user_id = $row_wall['author_user_id']; if($attach_type[1] == 'attach' AND file_exists(ROOT_DIR."/uploads/attach/{$attauthor_user_id}/c_{$attach_type[2]}")){ if($cnt_attach == 1) $attach_result .= "<div class="page_photo cursor_pointer page_num{$row_wall['id']}" onClick="groups.wall_photo_view('{$row_wall['id']}', '{$attauthor_user_id}', '{$attach_type[1]}', '{$cnt_attach}', 'photo_u')"><img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/attach/{$attauthor_user_id}/{$attach_type[2]}" align="left" /></div>"; else $attach_result .= "<img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/attach/{$attauthor_user_id}/c_{$attach_type[2]}" style="margin-top:3px;margin-right:3px" align="left" onClick="groups.wall_photo_view('{$row_wall['id']}', '', '{$attach_type[1]}', '{$cnt_attach}')" class="cursor_pointer page_num{$row_wall['id']}" height="{$rodImHeigh}" />"; $cnt_attach++; } elseif(file_exists(ROOT_DIR."/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/c_{$attach_type[1]}")){ if($cnt_attach < 2) $attach_result .= "<div class="page_photo cursor_pointer page_num{$row_wall['id']}" onClick="groups.wall_photo_view('{$row_wall['id']}', '{$attauthor_user_id}', '{$attach_type[1]}', '{$cnt_attach}', 'photo_u')"><img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/{$attach_type[1]}" align="left" /></div>"; else $attach_result .= "<img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/c_{$attach_type[1]}" style="margin-top:3px;margin-right:3px" align="left" onClick="groups.wall_photo_view('{$row_wall['id']}', '{$row_wall['tell_uid']}', '{$attach_type[1]}', '{$cnt_attach}')" class="cursor_pointer page_num{$row_wall['id']}" />"; $cnt_attach++; } $resLinkTitle = ''; Заменить на эта //Фото со стены юзера } elseif($attach_type[0] == 'photo_u'){ if($row_wall['tell_uid']) $attauthor_user_id = $row_wall['tell_uid']; else $attauthor_user_id = $row_wall['author_user_id']; $masonry_array_images[] = $config['home_url']."uploads/attach/{$attauthor_user_id}/c_{$attach_type[2]}"; if($attach_type[1] == 'attach' AND file_exists(ROOT_DIR."/uploads/attach/{$attauthor_user_id}/c_{$attach_type[2]}")){ if($cnt_attach == 1) $attach_result .= "<div class="profile_wall_attach_photo cursor_pointer page_num{$row_wall['id']}" onClick="groups.wall_photo_view('{$row_wall['id']}', '{$attauthor_user_id}', '{$attach_type[1]}', '{$cnt_attach}', 'photo_u')"><img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/attach/{$attauthor_user_id}/{$attach_type[2]}" align="left" /></div>"; else $attach_result .= "<img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/attach/{$attauthor_user_id}/c_{$attach_type[2]}" style="margin-top:3px;margin-right:3px" align="left" onClick="groups.wall_photo_view('{$row_wall['id']}', '', '{$attach_type[1]}', '{$cnt_attach}')" class="cursor_pointer page_num{$row_wall['id']}" height="{$rodImHeigh}" />"; $cnt_attach++; } elseif(file_exists(ROOT_DIR."/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/c_{$attach_type[1]}")){ if($cnt_attach < 2) $attach_result .= "<div class="profile_wall_attach_photo cursor_pointer page_num{$row_wall['id']}" onClick="groups.wall_photo_view('{$row_wall['id']}', '{$attauthor_user_id}', '{$attach_type[1]}', '{$cnt_attach}', 'photo_u')"><img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/{$attach_type[1]}" align="left" /></div>"; else $attach_result .= "<img id="photo_wall_{$row_wall['id']}_{$cnt_attach}" src="/uploads/users/{$attauthor_user_id}/albums/{$attach_type[2]}/c_{$attach_type[1]}" style="margin-top:3px;margin-right:3px" align="left" onClick="groups.wall_photo_view('{$row_wall['id']}', '{$row_wall['tell_uid']}', '{$attach_type[1]}', '{$cnt_attach}')" class="cursor_pointer page_num{$row_wall['id']}" />"; $cnt_attach++; } $resLinkTitle = ''; автор неизвестен [Модуль] вывод блоков виде кирпичной кладки.rar1 балл