Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
HEXFIX

Исправление скрипта

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

Как-то тут помогали со скриптом, теперь прошу помощи в его исправлении под IPB 4:

 

На тройке в GlobalTemplate перед закрытием body было прописано:

<script type="text/javascript">
var ctrlDown = false;
var ctrlKey = 17, cKey = 67, psKey = 44;
document.observe('dom:loaded', function() {
   Event.observe(document, 'keydown', function(e) {
      if (e.keyCode == ctrlKey) ctrlDown = true;
      if (ctrlDown && e.keyCode == cKey) {
           new Ajax.Request('/ctrlc.php', {
             method: 'get',
             parameters: {member: '{$this->memberData['members_display_name']} IP:{$this->member->ip_address}', place: ' (Copy):{$_SERVER['REQUEST_URI']}' }
           });       
      };
   });
   Event.observe(document, 'keyup', function(e) {
      if (e.keyCode == ctrlKey) ctrlDown = false;
   });
   Event.observe(document, 'keyup', function(e) {
      if (e.keyCode == psKey) {
           new Ajax.Request('/ctrlc.php', {
             method: 'get',
             parameters: {member: '{$this->memberData['members_display_name']} IP:{$this->member->ip_address}', place: ' (PrtScr):{$_SERVER['REQUEST_URI']}' }
           });       
      };	   
   });    
});
</script>

 

В корне сайта лежал сам ctrlc.php, который записывал в текстовый файл ctrlc.log:

 

<?php
if(!empty($_GET['member']) && !empty($_GET['place'])) {
   $safe = htmlspecialchars(preg_replace('/\s/m', '', $_GET['place']));
   $handle = fopen('ctrlc.log', 'a');
   fwrite($handle, "DATE:".date('d.m.y H:i:s')." UserName:".strval($_GET['member'])." THEME".$safe."\r\n");
   fclose($handle);    
}

 

Если коротко, то скрипт отслеживал нажатия заданный клавиш и записывал имя пользователя, дату, IP и директорию форума, где была нажата клавиша в текстовый файл. После переноса на IPB 4 скрипт перестал работать.

Поделиться сообщением


Ссылка на сообщение
06/01/16 10:44 (изменено)
<script>
jQuery(function($){
var ctrlDown = false;
var ctrlKey = 17, cKey = 67, psKey = 44;
$(document).keydown(function(e){
	if (e.keyCode == ctrlKey) ctrlDown = true;
	if (ctrlDown && e.keyCode == cKey) {
		$.get('{setting="base_url"}ctrlc.php', {
			member: '{member="name"} IP:{member="ip_address"}',
			place: ' (Copy):{$_SERVER['REQUEST_URI']}' 
		});
	};
});
   $(document).keyup(function(e){
	if (e.keyCode == ctrlKey) ctrlDown = false;
	if (e.keyCode == psKey) {
		$.get('{setting="base_url"}ctrlc.php', {
			member: '{member="name"} IP:{member="ip_address"}',
			place: ' (PrtScr):{$_SERVER['REQUEST_URI']}'
		});
	}
   }); 
});
</script>

Изменено пользователем etc
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
06/01/16 14:50 (изменено)

Спасибо. Всё записывает в файл, но почему-то после выполнения скрипта с форума перекидывает на url

http://www.САЙТ.ru/ctrlc.php?csrfKey=ЦИФРЫИБУКВЫ&member=ИМЯМЕМБЕРА+IP%3AАЙПИШНИКЮЗЕРА&place=+(Copy)УРЛГДЕСРАБОТАЛСКРИПТ

Изменено пользователем HEXFIX

Поделиться сообщением


Ссылка на сообщение

Попробуй заменить {setting="base_url"}ctrlc.php на /ctrlc.php

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Получилось. Срабатывает еще лучше, чем на тройке, без визуальных излишеств)

 

Большое спасибо!

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...