Перейти к контенту
  • 0

Помогите разобраться с яваскриптом


fagediba

Вопрос

В общем стоит мод спасибо. Нажатие кнопки реализовано яваскриптом, а если ява отключен то по ссылке. Нужно вставить дополнительное ограничение, 15 дней регистрации для нажатии и репутацию >= 0

 

С пхп частью справился, вставил доп код:

 

$member_spasibo = $this->ipsclass->DB->build_and_exec_query( array ('select' => 'joined,reputation',
                                                                   'from'     => 'members',
                                                                    'where'     => 'id='.$this->ipsclass->member['id'],
'limit'  => array( 0,1 ) ));

       // Check permissions
       if (   ((intval($member_spasibo['joined']) + 1296000 ) > time() ) OR
           ( intval($member_spasibo['reputation'])  < 0 )

      )
       {
           $this->ipsclass->print->redirect_screen( $this->ipsclass->lang['thx_out_of_permissions'], "showtopic={$topic_id}&view=findpost&p={$post_id}" );
       }

 

А вот что делать с яваскриптом вообще понять не могу

 

В шаблонах нажатие кнопки спасибо и вызов ява скрипта:

<span id='thank_button{$post}'><a href="{$this->ipsclass->base_url}act=thanks&type=add&f={$this->ipsclass->input['f']}&t={$this->ipsclass->input['t']}&pid={$post}" title="Спасибо" onclick="return add_thanks({$post}, {$member_id});"><img src='style_images/<#IMG_DIR#>/thanks.gif' border='0'  alt='Спасибо' /></a></span>

 

Сама функция яваскрипта:

function add_thanks(post_id,member_id)

{

if(!use_enhanced_js)

{

return true;

}

 

var url=ipb_var_base_url+'act=xmlout&do=addthx&t='+ipb_input_t+'&f='+ipb_input_f+'&pid='+post_id;

var fields=new Array();

fields['t']=ipb_input_t;

fields['f']=ipb_input_f;

fields['pid']=post_id;

fields['act']='xmlout';

fields['do']='addthx';

 

do_request_function=function()

{

if(!xmlobj.readystate_ready_and_ok())

{

xmlobj.show_loading();

return;

}

 

xmlobj.hide_loading();

html=xmlobj.xmlhandler.responseText;

 

if(html!='no_thx_itself'&&html!='no_2_thx'&&html!='no_permission'&&html!='error')

{

for(i=0;i<document.getElementsByTagName("span").length;i++)

{

obj=document.getElementsByTagName("span");

thxid='thank_count'+member_id;

if(obj.id==thxid)

{

obj.innerHTML=parseInt(obj.innerHTML)+1;

}

}

 

document.getElementById('thank_button'+post_id).style.display='none';document.getElementById('thank'+post_id).innerHTML=html;

show_inline_messages_instant('thx_added');

}

 

else

{

show_inline_messages_instant(html);

}

}

xmlobj=new ajax_request();

xmlobj.onreadystatechange(do_request_function);

var xmlreturn=xmlobj.process(url,'POST',xmlobj.format_for_post(fields));

return false;

}

Изменено пользователем fagediba
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.