Контакты для связи с администрацией ресурса www.saloed.net, skype: sa-lo-ed или Email:sal0ed@yandex.ru

 
Сделай свой сайт лучше с порталом saloed.net » Vii Engine CMS » Адресс страницы пользователя для Vii engine

Адресс страницы пользователя для Vii engine

Установка:
1. Заходим в базу данных и находим таблицу vii_users.
2. Создаем новое поле с названием alias (тип: text, размер: 15).
3. Заходим в /templates/Default/settings/general.tpl и в удобное, Вам, место размещаем данный код, который отвечает за форму:


   <divclass="margin_top_10"></div><divclass="allbar_title">Адрес персональной страницы</div>
        <divclass="err_yellowno_displayname_errors"id="ok_alias"style="font-weight:normal;">Адрес персональной страницы был успешно установлен.</div>
        <divclass="err_redno_displayname_errors"id="err_alias_str"style="font-weight:normal;">Неправильный адрес.</div>
        <divclass="err_redno_displayname_errors"id="err_alias_name"style="font-weight:normal;">Адрес уже занят.</div>
        <divstyle="color:#555;margin-bottom:10px">Вы можете установить удобный для вас адрес персональной страницы. Адрес должен быть не менее 5 символов, свободен и состоять из букв латинского алфавита.</div>
        <divclass="texta">Личный адрес:</div><fontstyle="color:#555">http://navali.ru/ </font><inputtype="text"id="alias"class="inpst"maxlength="10"style="width:150px;"value="{alias}"/><divclass="mgclr"></div>
        <divclass="texta">&nbsp;</div><divclass="button_divfl_l"><buttononclick="settings.savealias();returnfalse"id="saveAlias">Сохранить</button></div><div

class="mgclr"></div>


4. Далее открываем /templates/Default/js/profile.js и ишем:



//SETTINGS
var settings ={


5. Нижевставляем:



savealias:function(){
varalias= $('#alias').val();
butloading('saveAlias',87,'disabled');
$.post('/index.php?go=settings&act=alias',{alias:alias},function(data){

if(data =='err_alias_name'){
$('#err_alias_name').show();
$('#err_alias_str').hide();
$('#ok_alias').hide();
}elseif(data =='err_alias_str'){
$('#err_alias_str').show();
$('#err_alias_name').hide();
$('#ok_alias').hide();
}elseif(data =='ok_alias'){
$('#err_alias_name').hide();
$('#err_alias_str').hide();
$('#ok_alias').show();
}
butloading('saveAlias',87,'enabled','Сохранить');
});

},

6. Открываем /system/modules/settings.php иищем:



if($logged){
$user_id = $user_info['user_id'];
$act = $_GET['act'];
$metatags['title']= $lang['settings'];

switch($act){


7. Вставляемниже:



//################### Личныйадреспрофиля ###################//
case"alias":
NoAjaxQuery();
$alias = ajax_utf8(strtolower(textFilter($_POST['alias'],false,true)));

if(!preg_match("/^[a-zA-Z0-9_-]+$/", $alias)) $alias_ok =false;
else $alias_ok =true;



if(preg_match("/^id/", $alias)) $alias_s_ok =false;
else $alias_s_ok =true;



if($alias_ok AND $alias_s_ok AND strlen($alias)>4or strlen($alias)==0){

$check_public = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_communities` WHERE adres = '".$alias."' ");//Проверяемадресаупубличныхстраниц
$chek_user = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE alias = '".$alias."' AND user_id != '".$user_id."'");// Проверяемадресаупользователей

if(!$check_public['cnt'] AND !$chek_user['cnt'] OR $alias ==''){
$db->query("UPDATE `".PREFIX."_users` SET alias = '".$alias."' WHERE user_id = '".$user_id."'");
echo 'ok_alias';
}else{echo 'err_alias_name';}

}else echo 'err_alias_str';


mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id);
mozg_clear_cache();
die();
break;


8. Тут-жеищем:



default:
$row = $db->super_query("SELECT user_name, ...


9. И добавляем к запросу:


alias

10. Находим:


//Завершении смены E-mail


11. Выше добавляем:


if($row['alias'])$tpl->set('{alias}',$row['alias']);else $tpl->set('{alias}','id'.$user_id);


12. Открываем .htaccess иищем:


RewriteRule^public([0-9]+)(/?)+$ index.php?go=public&pid=$1 [L]


13. Чуть ниже должа быть строка с таким началом:


RewriteRule^([^.]+)/?$


14. Заменяем её на эту:


RewriteRule^([^.]+)/?$ ?go=alias&url=$1 [L]


15. Открываем /system/mod.php и находим:



case"report":
include ENGINE_DIR.'/modules/report.php';
break;


16. Нижедобавляем:



// Алиасы
case"alias":
$spBar =true;
$alias = $db->safesql($_GET['url']);
if($alias){
$alias_public = $db->super_query("SELECT id,title FROM `".PREFIX."_communities` WHERE adres = '".$alias."' ");//Проверяемадресаупубличныхстраниц
$alias_user = $db->super_query("SELECT user_id, user_search_pref FROM `".PREFIX."_users` WHERE alias = '".$alias."'");// Проверяемадресаупользователей
if($alias_user){
$_GET['id']= $alias_user['user_id'];
include ENGINE_DIR.'/modules/profile.php';
}elseif($alias_public){
$_GET['pid']= $alias_public['id'];
include ENGINE_DIR.'/modules/public.php';
}else{
$spBar =true;
$user_speedbar ='Информация';
msgbox('','Доменноеимя<b>'.$alias.'</b>свободнодлярегистрации.Данныйскриптбылвзятсфорума MainTalk.ru','info');
}
}
break;


17. Далее делаем проверку в публичных страницах, чтобы не было "случайных" совпадений, в /system/modules/groups.php ищем:


//Проверканато, чтоадресстраницысвободен
if($adres_page)
$checkAdres = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_communities` WHERE adres = '".$adres_page."' AND id != '".$id."'");


18. Инижевставляем:


$chek_user = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE alias = '".$adres_page."' ");// Проверяем адреса у пользователей


19. Еще ниже идет if. Заменяем его на этот:


if(!$checkAdres['cnt'] AND !$chek_user['cnt'] OR $adres_page ==''){


Ещё дополнение, кому интересно:

Вот к примеру замена {my-page-link}

Открываем в index.php

Находим строку:


$tpl->set('{my-page-link}','/id'.$user_info['user_id']);


Изаменяемеёна:


//Заменаиданассылку Talant1k
$row = $db->super_query("SELECT alias FROM `".PREFIX."_users` WHERE user_id = '{$user_info['user_id']}'");

if($row['alias']){

        $tpl->set('{my-page-link}','/'.$row['alias']);

}else{

        $tpl->set('{my-page-link}','/id'.$user_info['user_id']);

}


И сохраняем, теперь если адрес страницы установлен, нажимая на "моя страница" будет загружаться алиас, а если нет, так и останется ид страницы.

Обновлено:
1. Открываем profile.tpl
2. Находим строку:
<inputtype="hidden"id="type_page"value="profile"/>

3. После неё вставляем код:
<inputid="fid"value="{user-id}"type="hidden"/>

4. Открываем profile.js
5. Находим строчку
//WALL

6. Удаляем всё от
//WALL

до
//BBCODES
7. Вставляем код:
[code]//WALL
var prevAnsweName =false;
var comFormValID =false;
var wall ={
        form_open:function(){
                $('#wall_input').hide();
                $('#wall_textarea').show();
                $('#wall_text').val('');
                $('#wall_text').focus();
        },
        form_close:function(){
                wall_text = $('#wall_text').val();
                if(wall_text !=0){
                        $('#wall_input').val($('#wall_text').val());
                }else{
                        $('#wall_input').show();
                        $('#wall_textarea').hide();
                        $('#wall_input').val($('#wall_input_text').val());
                }
        },
        event:function(event){
                oi =(event.target)?event.target.id:((event.srcElement)?event.srcElement.id :null);
                fast_oi = oi.substring(0,9);
                attach_files = $('#vaLattach_files').val();
                if(oi !='wall_tab'&& oi !='wall_input'&& oi !='wall_textarea'&& oi !='wall_text'&& oi !='wall_send'&& oi !='wall_attach'&& oi !='wall_attach_link'&&!attach_files)
                        wall.form_close();

                if(fast_oi !='fast_form'&& fast_oi !='fast_link'&& fast_oi !='fast_inpt'&& fast_oi !='fast_text'&& fast_oi !='fast_buts'&& oi !='answer_lnk')
                        wall.fast_form_close();
                        
                //скрываемформуустановкистатуса
                if(oi !='set_status_bg'&& oi !='status_text'&& oi !='status_but'&& oi !='status_link'&& oi !='new_status')
                        gStatus.close();
        },
        send:function(){
                wall_text = $('#wall_text').val();
                
                attach_files = $('#vaLattach_files').val();
                for_user_id = $('#fid').val();
                
                rec_num = parseInt($('#wall_rec_num').text())+1;
                if(!rec_num)
                        rec_num =1;
                        
                if(wall_text !=0|| attach_files !=0){
                        butloading('wall_send',56,'disabled');
                        $.post('/index.php?go=wall&act=send',{wall_text: wall_text, for_user_id: for_user_id, attach_files: attach_files, vote_title: $('#vote_title').val(), vote_answer_1: $('#vote_answer_1').val(), vote_answer_2: $('#vote_answer_2').val(), vote_answer_3: $('#vote_answer_3').val(), vote_answer_4: $('#vote_answer_4').val(), vote_answer_5: $('#vote_answer_5').val(), vote_answer_6: $('#vote_answer_6').val(), vote_answer_7: $('#vote_answer_7').val(), vote_answer_8: $('#vote_answer_8').val(), vote_answer_9: $('#vote_answer_9').val(), vote_answer_10: $('#vote_answer_10').val()},function(data){
                                if(data =='err_privacy'){
                                        addAllErr(lang_pr_no_title);
                                }else{
                                        $('#wall_records').html(data);
                                        $('#wall_all_record').html('');
                                        $('#wall_rec_num').text(rec_num)
                                        $('#wall_text').val('');
                                        $('#attach_files').hide();
                                        $('#attach_files').html('');
                                        $('#vaLattach_files').val('');
                                        wall.form_close();
                                        wall.RemoveAttachLnk();
                                        Votes.RemoveForAttach();
                                }
                                butloading('wall_send',56,'enabled', lang_box_send);
                        });
                }else{
                        $('#wall_text').val('');
                        $('#wall_text').focus();
                }
        },
        delet:function(rid){
                var rec_num = parseInt($('#wall_rec_num').text())-1;
                if(!rec_num)
                        rec_num ='';
                        
                $('#wall_record_'+rid).html(lang_wall_del_ok);
                $('#wall_fast_block_'+rid).remove();
                $('#wall_rec_num').text(rec_num);
                myhtml.title_close(rid);
                $.post('/index.php?go=wall&act=delet',{rid: rid});
        },
        fast_comm_del:function(rid){
                $('#wall_fast_comment_'+rid).html(lang_wall_del_com_ok);
                $.post('/index.php?go=wall&act=delet',{rid: rid});
        },
        page:function(for_user_id){
                if($('#wall_link').text()=='кпредыдущимзаписям'){
                        textLoad('wall_link');
                        $('#wall_l_href').attr('onclick','');
                        last_id = $('.wallrecord:last').attr('id').replace('wall_record_','');
                        rec_num = parseInt($('#wall_rec_num').text());
                        $.post('/index.php?go=wall&act=page',{last_id: last_id, for_user_id: for_user_id},function(data){
                                $('#wall_all_record').append(data);
                                $('#wall_l_href').attr('onclick','wall.page('+for_user_id+'); return false');
                                $('#wall_link').html(lang_wall_all_lnk);
                                count_record = $('.wallrecord').size();
                                if(count_record >= rec_num)
                                        $('#wall_l_href').hide();
                        });
                }
        },
        open_fast_form:function(rid){
                val = $('.wall_fast_text').val();
                $('.wall_fast_text').val('');//Текстовоезначениеполей Texatrea делаем 0
                $('.wall_fast_form, .wall_fast_texatrea').hide();//закрываемокнокомментированиеиполей textarea комментирования
                $('.wall_fast_input, .fast_comm_link').show();//возвращаем input полесословом "Комментировать..." икнопкукомменатировать
                $('#fast_form_'+rid).show();//показываемфорумкомментирования
                $('#fast_comm_link_'+rid).hide();//скрываемкнопкукомментировать
        },
        fast_form_close:function(){
                if(!$('#fast_text_'+comFormValID).val()){
                        $('.wall_fast_text, .answer_comm_id').val('');//Текстовоезначениеполей Texatrea делаем 0
                        $('.wall_fast_form, .wall_fast_texatrea').hide();//закрываемокнокомментированиеиполей textarea комментирования
                        $('.wall_fast_input, .fast_comm_link').show();//возвращаем input полесословом "Комментировать..." икнопкукомменатировать
                        $('.answer_comm_for').text('');
                }
        },
        fast_open_textarea:function(rid, type){
                $('.wall_fast_text').val('');//Текстовоезначениеполей Texatrea делаем 0
                
                comFormValID = rid;
                
                //Еслидействияужеизоткрытойформы
                if(type ==2){
                        $('.wall_fast_input').show();//Возвращаемвсем input слово "Комментировать..."
                   &nbs10. Находим:#39;br /nbsp;nbsp;#39;/index.php?go=wallnbsp;nbsp;nbsp;p;    $('.wall_fast_texatrea, .wall_fast_form').hide();//Скрываемвсеполя textarea иоткрытыеформыкомментировования
                        $('#fast_inpt_'+rid).hide();//скрываем input слово "Комментировать..."
                        $('#fast_textarea_'+rid).show();//показываемсамуформуответа
                        $('#fast_text_'+rid).focus();//фокусируемнаформеответа
                        $('.fast_comm_link').show();//кнопкукомменатировать
                }else{
                        $('#fast_textarea_'+rid).show();//показываемсамуформуответа
                        $('#fast_text_'+rid).focus();//фокусируемнаформеответа
                }
        },
        fast_send:function(rid, for_user_id, type){
                wall_text = $('#fast_text_'+rid).val();
                if(wall_text !=0){
                        butloading('fast_buts_'+rid,56,'disabled');
                        $.post('/index.php?go=wall&act=send',{wall_text: wall_text, for_user_id: for_user_id, rid: rid, type: type, answer_comm_id: $('#answer_comm_id'+rid).val()},function(data){
                                if(data =='err_privacy'){
                                        addAllErr(lang_pr_no_title);
                                }else{
                                        $('#ava_rec_'+rid).addClass('wall_ava_mini');//добавляемдляавыкласс wall_ava_mini
                                        $('#fast_textarea_'+rid).remove();//удаляемполей texatra
                                        $('#fast_comm_link_'+rid).remove();//удаляемкнопкукомментировать
                                        $('#wall_fast_block_'+rid).html(data);//выводимсамрезультат
                                        $('.wall_fast_text').val('');//Текстовоезначениеполей Texatrea делаем 0
                                        wall.fast_form_close();
                                }
                                butloading('fast_buts_'+rid,56,'enabled', lang_box_send);
                        });
                }else{
                        $('#fast_text_'+rid).val('');
                        $('#fast_text_'+rid).focus();
                }
        },
        all_comments:function(rid, for_user_id, type){
                textLoad('wall_all_comm_but_'+rid);
                $('#wall_all_but_link_'+rid).attr('onclick','');
                $.post('/index.php?go=wall&act=all_comm',{fast_comm_id: rid, for_user_id: for_user_id, type: type},function(data){
                        if(data =='err_privacy')
                                addAllErr(lang_pr_no_title);
                        else
                                $('#wall_fast_block_'+rid).html(data);//выводимсамрезультат
                });
        },
        all_liked_users:function(rid, page_num, liked_num){
                if(page_num)
                        page ='&page='+page_num;
                else{
                        page ='';
                        page_num =1;
                }
                        
                Box.Page('/index.php?go=wall&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);
        },
        attach_menu:function(type, id, show_id){
                if(type =='open'){
                        $('#'+id).addClass('wall_attach_selected');
                        $('#'+show_id).show();
                }
                if(type =='close'){
                        $('#'+show_id).hide();
                        $('#'+id).removeClass('wall_attach_selected');
                }
        },
        attach_insert:function(type, data, action_url, uid){
                if(!$('#wall_text').val())
                        wall.form_open();
                
                $('#attach_files').show();
                var attach_id =Math.floor(Math.random()*(1000-1+1))+1;
                var for_user_id = $('#fid').val();
                if(uid)
                        for_user_id[1]= uid;
                        
                //Есливставляемсмайлик
                if(type =='smile'){
                        Box.Close('attach_smile',1);
                        smile = data.split('smiles/');
                        res_attach_id ='smile_'+attach_id;
                        $('#attach_files').append('<span id="attach_file_'+res_attach_id+'" class="attach_file"><img src="'+data+'" class="wall_attach_smile fl_l" onclick="wall.attach_delete(\''+res_attach_id+'\', \'smile|'+smile[1]+'||\')" onmouseover="myhtml.title(\''+res_attach_id+'\', \''+lang_wall_no_atttach+'\', \'wall_smile_\')" onmouseout="myhtml.title_close(\''+res_attach_id+'\')" id="wall_smile_'+res_attach_id+'" style="margin-top:0px" /></span>');
                        $('#vaLattach_files').val($('#vaLattach_files').val()+'smile|'+smile[1]+'||');
                }
                
                //Есливставляемфотографию
                if(type =='photo'){
                        Box.Close('all_photos',1);
                        res_attach_id ='photo_'+attach_id;
                        $('#attach_files').append('<span id="attach_file_'+res_attach_id+'" class="attach_file"><div class="wall_attach_photo fl_l"><div class="wall_attach_del" onmouseover="myhtml.title(\''+res_attach_id+'\', \''+lang_wall_no_atttach+'\', \'wall_photo_\')" onmouseout="myhtml.title_close(\''+res_attach_id+'\')" onclick="wall.attach_delete(\''+res_attach_id+'\', \'photo_u|'+action_url+'||\')" id="wall_photo_'+res_attach_id+'"></div><img src="'+data+'" alt="" /></div></span>');
                        $('#vaLattach_files').val($('#vaLattach_files').val()+'photo_u|'+action_url+'||');
                }
                
                //Есливставляемвидео
                if(type =='video'){
                        Box.Close('all_videos',1);
                        res_attach_id ='video_'+attach_id;
                        aPslit = action_url.split('|');
                        action_url = action_url.replace('http://'+location.host+'/uploads/videos/'+aPslit[2]+'/','');
                        $('#attach_files').append('<span id="attach_file_'+res_attach_id+'" class="attach_file"><div class="wall_attach_photo fl_l"><div class="wall_attach_del" onmouseover="myhtml.title(\''+res_attach_id+'\', \''+lang_wall_no_atttach+'\', \'wall_video_\')" onmouseout="myhtml.title_close(\''+res_attach_id+'\')" onclick="wall.attach_delete(\''+res_attach_id+'\', \'video|'+action_url+'||\')" id="wall_video_'+res_attach_id+'"></div><img src="'+data+'" alt="" /></div></span>');
                        $('#vaLattach_files').val($('#vaLattach_files').val()+'video|'+action_url+'||');
                }
                
                //Есливставляемаудио
                if(type =='audio'){
                        var artist = $('#artis'+action_url).text();
                        var name = $('#name'+action_url).text();
                        Box.Close();
                        res_attach_id ='audio_'+attach_id;
                        $('#attach_files').append('<span id="attach_file_'+res_attach_id+'" class="attach_file fl_l" style="display:block;width:100%"><div class="audio_wall_attach"><div class="fl_l"><b>'+artist+'</b>&ndash; '+name+'</div><img src="/images/close_a.png" onmouseover="myhtml.title(\''+res_attach_id+'\', \''+lang_wall_no_atttach+'\', \'wall_audio_\')" onclick="wall.attach_delete(\''+res_attach_id+'\', \'audio|'+action_url+'||\')" id="wall_audio_'+res_attach_id+'" class="fl_l cursor_pointer" style="margin-left:5px;margin-top:1px" /></span></div>');
                        $('#vaLattach_files').val($('#vaLattach_files').val()+'audio|'+action_url+'||');
                }
                
                count = $('.attach_file').size();
                if(count >9)
                        $('#wall_attach').hide();
        },
        attach_delete:function(id, realId){
                $('#vaLattach_files').val($('#vaLattach_files').val().replace(realId,''));
                $('#attach_file_'+id).remove();
                myhtml.title_close(id);
                count = $('.attach_file').size();
                if(!count)
                        $('#attach_files').hide();

                if(count <10)
                        $('#wall_attach').show();
        },
        attach_addsmile:function(){
                wall.attach_menu('close','wall_attach','wall_attach_menu');
                Box.Show('attach_smile',395, lang_wall_atttach_addsmile, lang_wall_attach_smiles, lang_box_canсel,'','',0,1,1,1);
        },
        attach_addphoto:function(id, page_num, notes){
                wall.attach_menu('close','wall_attach','wall_attach_menu');
                if(page_num)
                        page ='&page='+page_num;
                else{
                        page ='';
                        page_num =1;
                }
                
                if(notes)
                        notes ='&notes=1';
                else
                        notes ='';
                
                Box.Page('/index.php?go=albums&act=all_photos_box', page+notes,'all_photos_'+page_num,627, lang_wall_attatch_photos, lang_box_canсel,0,0,400,1,1,1,0,1);
        },
        attach_addvideo:function(id, page_num, notes){
                wall.attach_menu('close','wall_attach','wall_attach_menu');
                if(page_num)
                        page ='&page='+page_num;
                else{
                        page ='';
                        page_num =1;
                }
                
                if(notes)
                        notes ='&notes=1';
                else
                        notes ='';
                
                Box.Page('/index.php?go=videos&act=all_videos', page+notes,'all_videos_'+page_num,627, lang_wall_attatch_videos, lang_box_canсel,0,0,400,1,1,1,0,1);
        },
        attach_addaudio:function(id, page_num){
                wall.attach_menu('close','wall_attach','wall_attach_menu');
                if(page_num)
                        page ='page='+page_num;
                else{
                        page ='';
                        page_num =1;
                }

                Box.Page('/index.php?go=audio&act=allMyAudiosBox', page,'all_audios',627, lang_audio_wall_attatch, lang_box_canсel,0,0,400,1,1,1,0,0);
                music.jPlayerInc();
     #34;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;#41;.valnbsp;nbsp;nbsp;ifnbsp;nbsp;nbsp;

Связь с автором

Автор: Godkill от 18-05-2013, 20:16

Своё Спасибо, еще не выражали.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Комментарии: Оставить комментарий
  • Группа: Гости 26 мая 2013 16:19
^
попробовал..отлично пошло:)
  • Группа: Гости 26 мая 2013 16:54
^
супер!!!!!!!!!!
  • Группа: Гости 30 мая 2013 13:22
^
Большое спасибо
  • Группа: Гости 5 июня 2013 18:22
^
Молодцы, спасибо)
  • Группа: Гости 5 октября 2013 02:21
^
спасибо огромное
Назад Вперед
Наверх
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Дополнения для InstantCMS
 
Copyright © 2009-2015

Дополнения для InstantCMS | Рипы сайтов | Социальные сети