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


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

3256
9.6 из 10
Проголосовало: 10





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

На этом все, удачи)
Автор публикации: Загрузка
Загрузка
Fatal1ti, это его n материал
Источник: http://novi4ok.ru
  • Всего комментариев: 12

KoNOOS
0
KoNOOS написал: Написано 05 Декабря 2014 в 14:16
Комментарий №11
Вот у меня старый сайт заблокировали из за какого то скрипта)
Данный скрипт ucoz не запрещает? не будет бана?)

Вовчик
0
Вовчик написал: Написано 06 Декабря 2014 в 09:04
Комментарий №12
из-за скрытие рекламы наверно...

А как заблокировали? из-за большого get запросов или за нарушение правил?

Из-за этого скрипта не заблокируют...

nick
+1
nick написал: Написано 18 Ноября 2012 в 23:32
Комментарий №10
нехрена путево не работает(

GhostlyP
0
GhostlyP написал: Написано 11 Ноября 2012 в 16:52
Комментарий №5
Code
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;  
}  
}


Code
var aratr = $('#siF9').html().replace('_x_Polus2',' aXxXa'), afr = 2,  madas = [], madas = aratr.split(' '), razam = madas.length;  
for(g=0;g<razam;g++){if(madas[g]=='aXxXa'){var afr = 1;}}





Code
$('#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>');


Code
var names = ['', 'Н#1', 'Н#2', 'Н#3', 'Н#4', 'Н#5', 'Н#6', 'Н#7', 'Н#8', 'Н#9'], num_names = names.length, num = num_names, element = $('#siM33');
for(i=0;i<num;i++){var gp = gp + '<tr class="tewrt"><td id="rra'+i+'">'+names[i]+'</td><td id="farr'+i+'"></td></tr>';} element.after(gp);

Fatal1ti
0
Fatal1ti написал: Написано 11 Ноября 2012 в 16:57
Комментарий №6
Спасибо,
Вот второе упрощение я хотел реализовать и забыл wink
А вот в первом я много лишнего написал wacko

GhostlyP
0
GhostlyP написал: Написано 11 Ноября 2012 в 17:11
Комментарий №7
я бы весь код переписал бы, но пока что настроения и вдохновения нету, может еще что то упростил)

Fatal1ti
0
Fatal1ti написал: Написано 11 Ноября 2012 в 17:20
Комментарий №8
где и как учился этому?

GhostlyP
+1
GhostlyP написал: Написано 11 Ноября 2012 в 17:26
Комментарий №9
Читал документацию js, потом jquery happy
Брал готовые скрипты, разбирал(что и как работает) biggrin
Писал простые js-скрипты, экспериментировал много) cool

Apple
0
Apple написал: Написано 10 Ноября 2012 в 11:55
Комментарий №3
спасибо

Soner
0
Soner написал: Написано 10 Ноября 2012 в 03:45
Комментарий №2
Слишком большой код, есть и попроще версия

Fatal1ti
0
Fatal1ti написал: Написано 10 Ноября 2012 в 13:42
Комментарий №4
Конечно есть, я много видел предложений купить этот хак..
Но бесплатных нет.. Сам вот сделал, но знания javascript:
1/20
Постоянно спрашивал у гугла как это реализовать или как то..
Вот и состряпал, но вроде работает, возможно кто и поможет немного упростить код..

Fatal1ti
0
Fatal1ti написал: Написано 09 Ноября 2012 в 11:48
Комментарий №1
Забыл ещё кое-что написать:
В настройках пользователей меняем в пункте "Максимальное количество символов в подписи" на 1000

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 24
Скрипты и модификации для Ucoz 2101
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 429
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
как поставить свою ссылку и логотип
  • Сатурн-1 написал:
  • Похвально.
  • Winston888 написал:
  • Я не говорил что делаю только скрипты. Я делаю шаблоны, скрипты, адаптации с разных движков под ucoz и на оборот + я ещё и сам рисую. В данный момент занимаюсь дизайном для webo4ka сам рисую сам верстаю.
  • Сатурн-1 написал:
  • Заметь, мы делаем почти одну и ту же работу.
    Ты - скрипты, я -шаблон. И каждый делает это бесплатно, НО
    ты делаешь скрипты без шаблона, я делаю шаблон без скриптов (не считая основных).
    Я тоже могу сказать что твои скрипты не идеальны, но не буду т.к. даже не знаю какие из всех существующих твои.
    Поэтому ты не сравнивай скрипты и шаблоны да еще и на Ucoz'e, мы же не на хакатоне каком нибудь.
  • Winston888 написал:
  • Если бы я не добавлял бесплатные адаптации или скрипты бесплатно я бы наверное не стал бы комментировать ваш материал.
    Последние темы
    Опрос
    204
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 3
    Гостей: 3
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: