• Страница 1 из 1
  • 1
Семейное положение одним полем
Пятница, 01.07.2011, 21:30 | Сообщение # 1
Сообщений:
100
Награды:
Замечания:
0


Функциональный скрипт семейного положения из поля MSN для Ucoz...

Итак, недавно наткнулся в инете на скрипт семейного положения для ucoz. Мне в нем не очень понравилось то, что сделан он из двух полей. Теперь же предлагаю вашему вниманию скрипт семейного положения из одного поля.Основные достоинства моего скрипта:

- Убивается только одно поле
- Возможность выбора положения( женат, помолвлен и т.д.)
- Нельзя добавить себя в с.п.
- Нельзя добавить несуществующего пользователя
- На персоналке отображается имя и фамилия, а не ник

Установка:
Сначала активируем в настройках поле MSN. Далее
1. Идем на страницу редактирования данных пользователя. Ставим перед </body>:

Code
<script type="text/javascript">   
     $('input[type=submit]').click(function(e){   
     e.preventDefault()   
     $.post('/index/', {   
     a:15,   
     s:1,   
     user: $('#mylove').val()   
     }, function(data){   
     if($('#searchusers', data).text() == 'Найдено 0 пользователей') {_uWnd.alert('Пользователь не найден!','Ошибка!',{w:170, h:60, close:1, icon: 'http://png.findicons.com/files/icons/1014/ivista/16/error.png'}); $('#siF4').val('');return false}   
     if($('#mylove').val().length > 3 && !$('#siF4').val().match(/$USERNAME$/) && $('#searchusers', data).text() != 'Найдено 0 пользователей'){document.adduser.submit()}   
     }   
     )   
     obj = $(this)   
     if($('#siF4').val().match(/$USERNAME$/) ){   
     _uWnd.alert('Нельзя добавлять себя в семейное положение!','Ошибка!',{w:150, h:80, close:1, icon: 'http://png.findicons.com/files/icons/1014/ivista/16/error.png'})   
     e.preventDefault()}   
     if($('#mylove').val().length < 3){_uWnd.alert('Ник слишком короткий!','Ошибка!',{w:170, h:60, close:1, icon: 'http://png.findicons.com/files/icons/1014/ivista/16/error.png'}); $('#siF4').val(''); e.preventDefault();return false}   

     })   

     $('#siM13').prepend('<div id="block">Сем. положение: <select size="1" id="poloj"><option>Выбор</option><option value="В активном поиске">В активном поиске</option><option value="Женат(Замужем) на">Женат(Замужем) на</option><option value="Помолвлен(а) с">Помолвлен(а) с</option><option value="Не женат(а)">Не женат(а)</option><option value="Есть друг(подруга)">Есть друг(подруга)</option><option value="Всё сложно">Всё сложно</option>  <input type="text" style="margin-left: 2px" id="mylove" value="Ник" /><input id="siF4" class="manFlaMSN" name="msn" size="45" value="" maxlength="30" type="text"> <input id="ok" type="button" value="OK"></div><br>')   
     $('#siF4').removeAttr('style').attr('size', 45)   
     $('#poloj option').click(function(){   
     if($(this).val() == 'В активном поиске' || $(this).val() == 'Всё сложно' || $(this).val() == 'Не женат(а)' || $(this).val() == 'Есть друг(подруга)'){   
     $('#mylove').hide()   
     $('#ok').hide()   
     $('#siF4').val($(this).val())   
     }   
     else{   
     $('#myl ove').show()   
     $('#mylove').val('')   
     $('#ok').show()   
     $('#mylove').blur(function(){$('#siF4').val($('#poloj option:selected').val()+ ' ' + $('#mylove').val())})   
     }   
     })   

     </script>   
<script type="text/javascript">if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1){_uWnd.alert('К сожалению, ваш браузер не поддерживает установку семейного положения','Ошибка!',{w:150, h:120, close:1, icon: 'http://png.findicons.com/files/icons/1014/ivista/16/error.png'});$('#siF4').parent().parent().remove()} </script>


2.Страница со списком пользователей:
Заменяем:

Code
<div align="left"><!--<s5170>-->Найдено <b>$NUM_ENTRIES$</b> пользователей<!--</s>--></div>


На:

Code
<div align="left" id="searchusers"><!--<s5170>-->Найдено <b>$NUM_ENTRIES$</b> пользователей<!--</s>--></div>


3.Персональная страница перед </body>:

Code
<?if($_MSN$)?>   
     <script type="text/javascript">   
var family = '$_MSN$'   
a = /В активном поиске/   
b = /Женат\(Замужем\) на/   
c = /Помолвлен\(а\) с/   
d = /Не женат\(а\)/   
e = /Есть друг\(подруга\)/   
f = /Всё сложно/   
combo = []   
combo.push(a, b, c, d, e, f)   
     for(i=0; i< combo.length; i++){   
     if(family.match(combo[i])){   
     result = family.match(combo[i])   
     okey = result[0]   
     }   
     }   
dlina = okey.length+1   
     username = family.slice(dlina, family.length)   
     $.get('/index/8-0-'+ username, function(data){   
     fullname = $('div[id=fullname]', data).html()   
     if(okey == "В активном поиске" || okey == "Не женат(а)" || okey == "Есть друг(подруга)" || okey == "Всё сложно"){   
     $('#familyok').html(okey)   
     }   
     else {   
     $('#familyok').html(okey + ' ' + '<a href="/index/8-0-' + username + '">' + fullname+ '</a>')   
     }   
     })//конец get   
</script><?else?>Семейное положение не указано<?endif?>


Там же заменяем

Code
$_NAME$


на

Code
<div id="fullname">$_NAME$</div>


Там же заменяем

Code
<?if($_CHANGE_DETAILS_URL$)?>Что-то там<?endif?>


на

Code
<?if($_CHANGE_DETAILS_URL$)?>[ <a href="/index/11" target="blank">Изменить данные</a> ]<?endif?>


4.Форма редактирования персональной информации:
Заменяем:

Code
<?if($MSN_FL$)?>   
что-то там   
<?endif?>


на

Code
<?if($MSN_FL$)?>   
<tr id="siM12"><td id="siM13"></td><td id="siM14"></td></tr><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>   
<?endif?>


Не забываем переименовать в настройках поле MSN!
Вроде все.
  • Страница 1 из 1
  • 1
Поиск:


GOLDFREE.PP.UA © Конструктор сайтовuCoz
Яндекс.Метрика