О нас Форум Баннеры RSS картинка Нас уже 577, Присоединяйся
Пожаловаться

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

На этом все, удачи)


Спонсор :



Источник: /
Всего голосов: ... | ... | ...

Всего комментариев: 6
Hаписал: globino , 09.11.2012 Пятница 16:49 Сообщение #1
OFFLINE
+ 0 -

А как сдеать типа информация не заполнена, если пользователь не заполнил какоето поле ? yo

Hаписал: Fatal1ti , 10.11.2012 Суббота 13:23 Сообщение #2
Fatal1ti
Администратор
OFFLINE
+ 0 -

Code
<?if(strrpos($SIGNATURE$,'_x_Polus1')>2)?>  
<?substr($SIGNATURE$,strrpos($SIGNATURE$,'_x_Polus1') + 9,strrpos($SIGNATURE$,'_x_Polus2') - strrpos($SIGNATURE$,'_x_Polus1') - 9)?>  
<?else?>
Информация не заполнена
<?endif?>


Нужно в конце кода вывода доп.поля вместо <?endif?> поставить
Code
<?else?>
Информация не заполнена
<?endif?>

Hаписал: globino , 10.11.2012 Суббота 15:53 Сообщение #3
OFFLINE
+ 0 -

Работает только если ни одно из полей не заполнено((
И подругом никак д?

Hаписал: Fatal1ti , 10.11.2012 Суббота 20:04 Сообщение #4
Fatal1ti
Администратор
OFFLINE
+ 0 -

Что-то не так сделал, если аська или майл агент есть то могу легко и быстро помочь решить проблему

По-другому только если купить php и скрипт установить специальный

Hаписал: globino , 11.11.2012 Воскресенье 20:34 Сообщение #5
OFFLINE
+ 0 -

Как тут можно что-то не так сделать:?)
Я в лс отписался :)

Hаписал: MeVeR , 25.11.2012 Воскресенье 13:04 Сообщение #6
MeVeR
OFFLINE
+ 0 -

Круто))) Я сделал и помогло, автору спасибо :)

Информация


Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.
Пожалуйста войдите на сайт как пользователь или зарегистрируйтесь.

Логотип сайта:
Навигация
Мини-чат
Витрина Активистов
Опрос
Нужно ли модернизировать сайт?

Всего ответов: 205
Последние комментарии
  • Fatal1ti
    Оставлен 05.02.2013
    50+ качественных анимированных иконок загрузки для сайта
    Автор комментария: Fatal1ti
    Оставлен 05.02.2013 в 16:19
    Тема: 50+ качественных анимированных иконок загрузки для сайта
    Это просто gif картинки,
    А чтобы при загрузке страницы крутилась анимация, нужен скрипт
  • sasha26
    Оставлен 04.02.2013
    Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    Автор комментария: sasha26
    Оставлен 04.02.2013 в 12:43
    Тема: Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    С цветами разобрался, пришлось путь к файлу zvetaf.xml полностью писать.
  • sasha26
    Оставлен 04.02.2013
    Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    Автор комментария: sasha26
    Оставлен 04.02.2013 в 12:32
    Тема: Новый, светлый мини-чат как на Zagruzka-Plus для uCoz
    Что-то окно с цветами начинает открываться и сразу же пропадает.
    А как можно чат растянуть по высоте с 300рх до 500рх, где это меняется?
  • Mihail
    Оставлен 01.02.2013
    Замена alert на ajax окно с прямой ссылки к сообщению на форуме
    Автор комментария: Mihail
    Оставлен 01.02.2013 в 17:12
    Тема: Замена alert на ajax окно с прямой ссылки к сообщению на форуме
    А вот это супер )
  • Fatal1ti
    Оставлен 31.01.2013
    Форма добавления комментариев как на dle для uCoz
    Автор комментария: Fatal1ti
    Оставлен 31.01.2013 в 18:23
    Тема: Форма добавления комментариев как на dle для uCoz
    Должно работать, у некоторых файл zvetaf.xml
    Повреждается при загрузке, попробуй его перезалить

    Если ничего не изменяется, то ищи в коде такую строчку:
    Код
    <img src="http:/bbcodes/color.gif" id="kmn" title="Выбрать цвет" onclick="openLayerB('sda',0,'/bbcodes/zvetaf.xml','Выбор цвета',190,200,'1','','',0,'justify');return false;">


    И меняй на эту:
    Код
    <script type="text/javascript" src="http:/serv/zvet.js"></script>
    <img src="http:/bbcodes/color.gif" id="kmn" title="Выбрать цвет" onclick="viewzvet()">

    Должно заработать..
  • Fatal1ti
    Оставлен 27.01.2013
    Зелёное меню как на we-place для uCoz
    Автор комментария: Fatal1ti
    Оставлен 27.01.2013 в 15:05
    Тема: Зелёное меню как на we-place для uCoz
    DevilShadow, извини что сразу не ответил
    Чтобы счетчики были справа нужно в css найти такую строчку:
    Код
    .coole div {position: relative;margin-left: 173px;z-index: 1;}

    И заменить на эту
    Код
    .coole div {position: relative;margin-left: 219px;z-index: 1;}


    А чтобы и фото счетчик был, нужно после этой строчки:
    Код
    <script type="text/javascript" src="http://worldinfo.my1.ru//informer/6"></script>

    Добавить эту:
    Код
    <script type="text/javascript" src="http://worldinfo.my1.ru//informer/7"></script>


    И после скрипта, который находится снизу после меню, добавь ещё скрипт:
    Код
    <script type="text/javascript">  
      function setCatNumEnt(){  
      if(!window.uCatsOut)return;  
      $('div.naviglot a').each(function(){  
      var a=this,ah=a.href,cArr=window.uCatsOut;  
      if(!/\/photo\//.test(ah))return;  
      var t=ah.split('/'),id=t[t.length-1]||t[t.length-2],a=$(a).parent();  
      if(!isNaN(id)){  
      $.each(cArr,function(j){  
      if(cArr[j][0]==id){  
      a.prepend('</span><div class="coole"><div><span class="vnav-subnav2">'+cArr[j][6]+'</span></div></div>');  
      }  
      });  
      };  
      });  
      };setCatNumEnt();
      </script>
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня зашли на сайт
0 пользователя

Новых пользователей:
За месяц: 17
За неделю: 6
Вчера: 0
Сегодня: 0
У нас нашли
Загрузка...
Друзья сайта
Наш Баннер
Всё для новичков
Всё для новичков