Каталог файлов

Рейтинг:5.0
Категория: Скрипты для Ucoz
 


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


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

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

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

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

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

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

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

Заходим в ПУ » Управление дизайном » Пользователи » "Форма редактирования персональной информации"
И в самый конец добавляем этот код:

Code
<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 вставляем этот код:

Code
<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$ - Этот код выводит подпись пользователя
Заменяем его на этот код:

Code
<?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?>


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

Теперь в Персональной странице где хотите выводите доп. поля через эти коды:

Code
<?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$ и заменяем его на это:

Code
<?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?>


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

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

Code
<?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,
Но тогда будет немного хуже для поля подписи,
Так как там уменьшается мак. количество символов..

На этом все, удачи)
 
 
 
Источник: http://novi4ok.ru
 
 1 комментариев  773 просмотров  дата: 03.05.2024  автор: admin
 
 
Советую взглянуть:
  • Кнопка "СКАЧАТЬ"
  • Медальки пользователей для uCoz
  • Рип вида материалов форума cs-doza
  • Убираем повторный ввод пароля при регистрации
  •  
     
    Всего комментариев: 1

    OFFLINE
    05.11.2013 09:11 Вторник | №1 Спам
    0
    не работает, после заполнения полей нажимаю сохранить и пишется Размеры аватара не должны превышать 500x500Px и 200Kb
     
    Добавлять комментарии могут только зарегистрированные пользователи.
    Регистрация | Вход

    Меню сайта

    Мини чат

    Последние комментарии


    Опрос сайта

    Какой дизайн лучше?
    Всего ответов: 9

    Статистика

    Кол-во зареганных: 2908 (+0)
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Сейчас на сайте:

    Нас посетили: