Fatal1ti| 07.11.2012, 17:16 | Комментариев: (6) | Заглянули 303
Пожаловаться
Категория: uCoz » Скрипты, Разное, Хаки для uCoz ![]() По просьбе пользователя "FAKIR" сделал хак для Персональной страницы. Многие знают что в редактировании данных пользователя очень мало полей, А вам например нужно чтобы пользователя заполнил как можно больше информации о себе: WMR-кошелёк, любимые фильмы, музыку, skype и т.д. Данный хак увеличивает количество дополнительных полей на девять штук - Как работает это чудо? Ответ: Хак использует поле "Подпись" Но само поле подпись тоже останется доступным)) Особенности: - Максимальная Длина введенных символов в эти доп.поля и в подпись в сумме 1000 Довольно таки хорошее число и её должно хватить - Вывод информации из доп.поля в Персон. странице в любом место - Информацию также можно выводить на форуме =D, что очень удобно в некоторых планах - Заполнять все поля не обязательно Установка не так уж легка, но надеюсь всё подробно написать: Первым делом зайдём в настройки пользователей и увеличим "Максимальное количество символов в подписи" до 1000 Делается это тут: http://адрес_вашего_сайта/panel/?a=users;l=setup Потом заходим в ПУ » Управление дизайном » Пользователи » "Форма редактирования персональной информации" И в самый конец добавляем этот код: 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') + 10,strrpos($_SIGNATURE$,'_x_Polus2') - strrpos($_SIGNATURE$,'_x_Polus1') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus2')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus2') + 10,strrpos($_SIGNATURE$,'_x_Polus3') - strrpos($_SIGNATURE$,'_x_Polus2') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus3')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus3') + 10,strrpos($_SIGNATURE$,'_x_Polus4') - strrpos($_SIGNATURE$,'_x_Polus3') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus4')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus4') + 10,strrpos($_SIGNATURE$,'_x_Polus5') - strrpos($_SIGNATURE$,'_x_Polus4') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus5')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus5') + 10,strrpos($_SIGNATURE$,'_x_Polus6') - strrpos($_SIGNATURE$,'_x_Polus5') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus6')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus6') + 10,strrpos($_SIGNATURE$,'_x_Polus7') - strrpos($_SIGNATURE$,'_x_Polus6') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus7')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus7') + 10,strrpos($_SIGNATURE$,'_x_Polus8') - strrpos($_SIGNATURE$,'_x_Polus7') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus8')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus8') + 10,strrpos($_SIGNATURE$,'_x_Polus9') - strrpos($_SIGNATURE$,'_x_Polus8') - 10)?> <?endif?> <?if(strrpos($_SIGNATURE$,'_x_Polus9')>2)?> <?substr($_SIGNATURE$,strrpos($_SIGNATURE$,'_x_Polus9') + 10,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') + 10,strrpos($SIGNATURE$,'_x_Polus2') - strrpos($SIGNATURE$,'_x_Polus1') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus2')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus2') + 10,strrpos($SIGNATURE$,'_x_Polus3') - strrpos($SIGNATURE$,'_x_Polus2') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus3')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus3') + 10,strrpos($SIGNATURE$,'_x_Polus4') - strrpos($SIGNATURE$,'_x_Polus3') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus4')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus4') + 10,strrpos($SIGNATURE$,'_x_Polus5') - strrpos($SIGNATURE$,'_x_Polus4') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus5')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus5') + 10,strrpos($SIGNATURE$,'_x_Polus6') - strrpos($SIGNATURE$,'_x_Polus5') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus6')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus6') + 10,strrpos($SIGNATURE$,'_x_Polus7') - strrpos($SIGNATURE$,'_x_Polus6') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus7')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus7') + 10,strrpos($SIGNATURE$,'_x_Polus8') - strrpos($SIGNATURE$,'_x_Polus7') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus8')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus8') + 10,strrpos($SIGNATURE$,'_x_Polus9') - strrpos($SIGNATURE$,'_x_Polus8') - 10)?> <?endif?> <?if(strrpos($SIGNATURE$,'_x_Polus9')>2)?> <?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus9') + 10,len($SIGNATURE$) - strrpos($SIGNATURE$,'_x_Polus9'))?> <?endif?> В общем-то и всё, надеюсь всё понятно - вопросы в комментарии. Доп. полей можно было сделать ещё больше - например 15, Но тогда будет немного хуже для поля подписи, Так как там уменьшается мак. количество символов.. На этом все, удачи) Спонсор :
Источник: /
Похожие материалы
ИнформацияПосетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации. Пожалуйста войдите на сайт как пользователь или зарегистрируйтесь. |
Логотип сайта:
Навигация
Мини-чат
Витрина Активистов
Загрузка...
Топ Пользователей
Опрос
Последние комментарии
Статистика
Онлайн всего: 1 Гостей: 1 Пользователей: 0
Сегодня
зашли на сайт
0 пользователя ![]() За месяц: 17
За неделю: 6 Вчера: 0 Сегодня: 0
У нас нашли
Загрузка...
Друзья сайта
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||