Файлы Скрипты и модификации

Дополнительные поля для Персональной страницы

Описание:
Многие знают что в редактировании данных пользователя очень мало полей,
А вам например нужно чтобы пользователя заполнил как можно больше информации о себе:
WMR-кошелёк, любимые фильмы, музыку, skype и т.д.
Данный хак увеличивает количество дополнительных полей на девять штук

- Как работает это чудо? Ответ: Хак использует поле "Подпись"
Но сама поле подпись тоже останется доступным))

Особенности:

- Максимальная Длина введенных символов в эти доп.поля и в подпись в сумме 1000
Довольно таки хорошее число и её должно хватить

- Вывод информации из доп.поля в Персон. странице в любом место

- Информацию также можно выводить на форуме =D, что очень удобно в некоторых планах

- Заполнять все поля не обязательно

Установка не так уж легка, но надеюсь всё подробно написать:

Заходим в ПУ » Управление дизайном » Пользователи » "Форма редактирования персональной информации"
И в самый конец добавляем этот код:
Код
<script>  
var adar = document.getElementById("siF9");  
var contedant = adar.innerHTML;  
var aratr = contedant.replace('_x_Polus2',' aXxXa');  
var madas = new Array();  
madas = aratr.split(" ");  
var razam =madas.length;  
var afr=2;  
for (var g=0; g<razam;g++) {  
if(madas[g]=='aXxXa'){  
var afr=1;  
}  
}  
// Author Fatal1ti  
if(afr=='1'){  
$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');  
var text = document.getElementById("siF9");  
var content = text.innerHTML;  
var mas = new Array();  
mas = content.split("_x_");  
var razm =mas.length;  
var artt=mas[0];  
document.getElementById('siF9').innerHTML = artt;  
for (var i=1; i<razm;i++){  
var afr=mas[i];  
if(afr=='Polus9'){afr='';}  
var afrq=afr.replace('Polus'+i+' ','');  
$("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');  
}  
// Site Author Novi4ok.Ru  
$('.manFlSbm:last').click(function() {  
  for(i=1;i<10;i++) {  
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  

  }  
});  
}else {  

$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');  
for(j=1;j<10;j++) {  
$('#farr'+j).append('<input id="apodp'+j+'" style="width:100%;background:white;" />');  
}  
$('.manFlSbm:last').click(function() {  
  for(i=1;i<10;i++) {  
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  
  }  
});  
}  
</script>


Сохраняем

Далее идём. Если у вас подключены локальные пользователи,
То заходим сюда: ПУ » Управление дизайном » Пользователи » Страница регистрации пользователей
И перед /body вставляем этот код:

Код
<script>  
var adar = document.getElementById("siF9");  
var contedant = adar.innerHTML;  
var aratr = contedant.replace('_x_Polus2',' aXxXa');  
var madas = new Array();  
madas = aratr.split(" ");  
var razam =madas.length;  
var afr=2;  
for (var g=0; g<razam;g++) {  
if(madas[g]=='aXxXa'){  
var afr=1;  
}  
}  
// Author Fatal1ti  
if(afr=='1'){  
$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');  
var text = document.getElementById("siF9");  
var content = text.innerHTML;  
var mas = new Array();  
mas = content.split("_x_");  
var razm =mas.length;  
var artt=mas[0];  
document.getElementById('siF9').innerHTML = artt;  
for (var i=1; i<razm;i++){  
var afr=mas[i];  
if(afr=='Polus6'){afr='';}  
var afrq=afr.replace('Polus'+i+' ','');  
$("#farr"+i).append('<input type="text" id="apodp'+i+'" value="'+afrq+'" style="width: 100%;">');  
}  
// Site Author Novi4ok.Ru  
$('.manFlSbm:last').click(function() {  
  for(i=1;i<10;i++) {  
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  

  }  
});  
}  
else {  

$('#siM33').after('<tr class="tewrt"><td id="rra1">Название #1</td><td id="farr1"></td></tr><tr class="tewrt"><td id="rra2">Название #2</td><td id="farr2"></td></tr><tr class="tewrt"><td id="rra3">Название #3</td><td id="farr3"></td></tr><tr class="tewrt"><td id="rra4">Название #4</td><td id="farr4"></td></tr><tr class="tewrt"><td id="rra5">Название #5</td><td id="farr5"></td></tr><tr class="tewrt"><td id="rra6">Название #6</td><td id="farr6"></td></tr><tr class="tewrt"><td id="rra7">Название #7</td><td id="farr7"></td></tr><tr class="tewrt"><td id="rra8">Название #8</td><td id="farr8"></td></tr><tr class="tewrt"><td id="rra9">Название #9</td><td id="farr9"></td></tr>');  
for(j=1;j<10;j++) {  
$('#farr'+j).append('<input id="apodp'+j+'" type="text" style="width:100%;background:white;" />');  
}  
$('.manFlSbm:last').click(function() {  
  for(i=1;i<10;i++) {  
$('#siF9:last').val($('#siF9').val() + '_x_Polus'+i+' '+ $('#apodp' + i).val());  
$('#rra' + i).remove()  
$('#farr' + i).remove()  
if(i==9){  
document.getElementById('siF9').innerHTML = '';  
}  

}  

// Site Author Novi4ok.Ru  
});  
}  
</script>


У кого uNet пользователи - тем этот код выше не вставлять

Теперь заходим в ПУ » Управление дизайном » Пользователи » Персональная страница пользователя
И ищем такой код: $_SIGNATURE$ - Этот код выводит подпись пользователя
Заменяем его на этот код:
Код
<?if($_SIGNATURE$)?>  
<?if(strrpos($_SIGNATURE$,'Polus1')>0)?>  
<?if(len(substr($_SIGNATURE$,0,strrpos($_SIGNATURE$,'_x_Polus1')))>0)?>  

//Код ниже выводит подпись, если она есть и заполнены какие-то доп.поля  
  <?substr($_SIGNATURE$,0,strrpos($_SIGNATURE$,'_x_Polus1'))?>  

<?else?>  

//Тут ничего нету т.к. пользователь не ввёл ничего в подпись, но некоторые доп.поля заполнил  

<?endif?>  
  <?else?>  

//Код ниже выводит подпись, а пользователь все доп.поля оставил пустыми(незаполненными)  
  $_SIGNATURE$  

<?endif?>  
<?else?>  

//Вообще ничего не заполнял, ни подписи, ни доп.полей  

<?endif?>


Комментарии (которые начинаются с двух косых //) удалите.
Их я написал, чтобы вы поняли что за что отвечает

Теперь в Персональной странице где хотите выводите доп. поля через эти коды:
Код
<?if(strrpos($_SIGNATURE$,'_x_Polus1')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus1') + 9,strrpos($_SIGNATURE$,'_x_Polus2') - strrpos($_SIGNATURE$,'_x_Polus1') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus2')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus2') + 9,strrpos($_SIGNATURE$,'_x_Polus3') - strrpos($_SIGNATURE$,'_x_Polus2') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus3')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus3') + 9,strrpos($_SIGNATURE$,'_x_Polus4') - strrpos($_SIGNATURE$,'_x_Polus3') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus4')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus4') + 9,strrpos($_SIGNATURE$,'_x_Polus5') - strrpos($_SIGNATURE$,'_x_Polus4') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus5')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus5') + 9,strrpos($_SIGNATURE$,'_x_Polus6') - strrpos($_SIGNATURE$,'_x_Polus5') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus6')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus6') + 9,strrpos($_SIGNATURE$,'_x_Polus7') - strrpos($_SIGNATURE$,'_x_Polus6') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus7')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus7') + 9,strrpos($_SIGNATURE$,'_x_Polus8') - strrpos($_SIGNATURE$,'_x_Polus7') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus8')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus8') + 9,strrpos($_SIGNATURE$,'_x_Polus9') - strrpos($_SIGNATURE$,'_x_Polus8') - 9)?>  
<?endif?>  

<?if(strrpos($_SIGNATURE$,'_x_Polus9')>2)?>  
<?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus9') + 9,len($_SIGNATURE$) - strrpos($_SIGNATURE$,'_x_Polus9'))?>  
<?endif?>


Все они идут по порядку, из них вы можете делать ссылки или просто информацию
Также есть вариант сделать выбор цвета фона пользователем и т.п.

Теперь, если вы используете форум заходим сюда:
ПУ » Управление дизайном » Форум » Вид материалов
Находим такой код: $SIGNATURE$ и заменяем его на это:
Код
<?if($SIGNATURE$)?>  
<?if(strrpos($SIGNATURE$,'Polus1')>0)?>  
<?if(len(substr($SIGNATURE$,0,strrpos($SIGNATURE$,'_x_Polus1')))>0)?>  

//Код ниже выводит подпись, если она есть и заполнены какие-то доп.поля  
<?substr($SIGNATURE$,0,strrpos($SIGNATURE$,'_x_Polus1'))?>  

<?else?>  

//Тут ничего нету т.к. пользователь не ввёл ничего в подпись, но некоторые доп.поля заполнил  

<?endif?>  
<?else?>  

//Код ниже выводит подпись, а пользователь все доп.поля оставил пустыми(незаполненными)  
$SIGNATURE$  

<?endif?>  
<?else?>  

//Вообще ничего не заполнял, ни подписи, ни доп.полей  

<?endif?>


Комментарии (которые начинаются с двух косых //) удалите.

И если тут хотите вывести информацию из доп.поля то вот коды для вывода:

Код
<?if(strrpos($SIGNATURE$,'_x_Polus1')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus1') + 9,strrpos($SIGNATURE$,'_x_Polus2') - strrpos($SIGNATURE$,'_x_Polus1') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus2')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus2') + 9,strrpos($SIGNATURE$,'_x_Polus3') - strrpos($SIGNATURE$,'_x_Polus2') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus3')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus3') + 9,strrpos($SIGNATURE$,'_x_Polus4') - strrpos($SIGNATURE$,'_x_Polus3') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus4')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus4') + 9,strrpos($SIGNATURE$,'_x_Polus5') - strrpos($SIGNATURE$,'_x_Polus4') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus5')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus5') + 9,strrpos($SIGNATURE$,'_x_Polus6') - strrpos($SIGNATURE$,'_x_Polus5') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus6')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus6') + 9,strrpos($SIGNATURE$,'_x_Polus7') - strrpos($SIGNATURE$,'_x_Polus6') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus7')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus7') + 9,strrpos($SIGNATURE$,'_x_Polus8') - strrpos($SIGNATURE$,'_x_Polus7') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus8')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus8') + 9,strrpos($SIGNATURE$,'_x_Polus9') - strrpos($SIGNATURE$,'_x_Polus8') - 9)?>  
<?endif?>  

<?if(strrpos($SIGNATURE$,'_x_Polus9')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus9') + 9,len($SIGNATURE$) - strrpos($SIGNATURE$,'_x_Polus9'))?>  
<?endif?>


В общем-то и всё, надеюсь всё понятно - вопросы в комментарии.
Доп. полей можно было сделать ещё больше - например 15,
Но тогда будет немного хуже для поля подписи,
Так как там уменьшается мак. количество символов..

На этом все, удачи)
Источник: Неизвестен
Материал «Дополнительные поля для Персональной страницы» ещё никто не комментировал.
Добавлять комментарии могут только зарегистрированные пользователи.
Войдите на сайт или Зарегистрируйтесь
Комментарии
Наш опрос
Как Вам наш дизайн?
1271 ответ
Архив
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Никого нету
Сегодня нас посетили
Никто ещё не посетил
© 2012 – 2021 «For-uCoz». Made with by Snoopak Хостинг от uCoz
Внимание! На сайте ведутся технические работы.
Некоторые изображения и файлы могут быть недоступны