AJAX Userinfo

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 5 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

AJAX Userinfo

Сообщение romeo_piter »

Поставил сей мод. Работает, но криво, вместо всплывания окна размером, прописанным в css, всплывающее окно имеет ширину форума. :cry:
При этом в css в явном виде задан фиксированный размер в 350 пикселей.
Сссылка на мод: http://www.phpbb.com/community/viewtopi ... 7#p3009017
Нашел в рунете форум с этим установленным модом: http://www.lvatu.ru/index.php
Скрин работы с этого же форума (да простят меня авторы).
userinfo.JPG
mod_ajax-userinfo_1_0_4.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Pazh 10.04.2013 6:06, всего редактировалось 2 раза.
Причина: Добавлен сам мод, т.к. сайт автора канул в лета
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 21 год 4 месяца
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза

Re: AJAX Userinfo кто-то ставил?

Сообщение Поручик »

В чём вопрос? Попробуй поиграться с html-кодом, в конце концов попробуй разные браузеры.

Добавлено спустя 15 минут 41 секунду:
ОБрати внимание на эту страницу
http://www.phpbb-seo.de/downloads/mod-a ... info.htmll
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Warlock75
Former team member
Сообщения: 1429
Стаж: 18 лет 7 месяцев
Откуда: Москва
Благодарил (а): 50 раз
Поблагодарили: 95 раз

Re: AJAX Userinfo кто-то ставил?

Сообщение Warlock75 »

Внимательно изучаем форум и чиаем FAQ. 95% всех ответов на возможные вопросы там уже есть!

Правила
Мини FAQ по phpBB 3.1.x/3.2.x/3.3.x
Как устанавливать расширения
Альтаир Бергадлер
phpBB 2.0.5
Сообщения: 495
Стаж: 16 лет 5 месяцев
Благодарил (а): 80 раз
Поблагодарили: 16 раз

Re: AJAX Userinfo

Сообщение Альтаир Бергадлер »

http://www.lvatu.ru/index.php
А как это они так умудрились сделать? Здесь используется аякс и кверти? Я ставил обычный мод, но ничего более терроризированой мышки я не добился. Мож опытные подскажут что там такого умного наделано?
Enkil
phpBB 1.0.0
Сообщения: 7
Стаж: 15 лет 10 месяцев

Re: AJAX Userinfo

Сообщение Enkil »

на своем форуме на основе этого поста смог заставить работать этот мод.
версия форума 3.08

Правда есть пара вопросов
1. как можно сделать так, чтобы информация о пользователе появлялась не сразу при наведении курсора на ник, а если курсор задержан на пару секунд?
2. не смог разобраться как скорректировать само окно информации - например, я хочу сделать его поуже, размер аватара в выводе окна уменьшить. игры с css не помогли

может кто из профи подскажет?

что сделал чтоб мод работал
1.
/styles/prosilver/theme/common.css в конец добавить

Код: Выделить всё

/* Ajax User-Info Popups */
.popup {
   z-index: 60;
   position: absolute;
   display: none; 
   font-size: 10px;
   width: 400px;
}

.avimg {width:100px; float: left; overflow: hidden; height: 400px; }
.ajaxusername {font-weight: bold;}

.ajax_avatar {
	width:100px;
	float: left;
	overflow: hidden;
	height: 400px;
	text-align: center;
}
2.
в styles/prosilver/template/forum_fn.js в конец добавить

Код: Выделить всё

//Ajax Userinfo
   var lockAnim;
   lockAnim = false;
   
   function show_popup(uID) {
      chOpac(0, 'popup');
      if (!lockAnim) {
         lockAnim = true;
         opacAnim('popup', 0, 100, 500);
      } 
      document.onmousemove = snapdiv;
      sendRequest(uID);
      document.getElementById('popup').style.display='block';
   }
   function close_popup() {
      if (!lockAnim) {
         lockAnim = true;
         opacAnim('popup', 100, 0, 500);
      } else {
         document.getElementById('popup').style.display='none';
         setDefaults();
      }
   }
   function setDefaults() {
      document.getElementById('ajaxusername').innerHTML = '';
      document.getElementById('ajax_registert').innerHTML = '';
      document.getElementById('ajax_posts').innerHTML = '';
      document.getElementById('ajax_from').innerHTML = '';
      document.getElementById('ajax_last_visit').innerHTML = '';
   //   document.getElementById('ajaxavatar').src = "morpexota.ru/forum/styles/prosilver/theme/images/final.gif";
      document.getElementById('ajax_rank').innerHTML = '';
      document.getElementById('ajaxusername').style.color = '#000000';
      document.getElementById('ajax_website').innerHTML = '';
      document.onmousemove = '';
   }

   	// Make the request
	function createRequestObject() {
		if(window.XMLHttpRequest){
			ro = new XMLHttpRequest();
		} else if(window.ActiveXObject) {
			ro = new ActiveXObject("Msxml2.XMLHTTP");
			if(!ro) {
				ro = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		return ro;
	}
   
   var http_getuser = createRequestObject();
   
   function sendRequest(UserID) {
      http_getuser.open('get', '/forum/ajax_userinfo.php?userid='+UserID);
      http_getuser.onreadystatechange = handleResponse;
      http_getuser.send(null);
   }

   
	// fill in the response
	function handleResponse() {
		if(http_getuser.readyState == 4 ){
			var xmlDoc = http_getuser.responseXML;
			if(xmlDoc.hasChildNodes()) {
				document.getElementById('ajaxusername').innerHTML = xmlDoc.getElementsByTagName('username')[0].firstChild.nodeValue;
				document.getElementById('ajax_registert').innerHTML = xmlDoc.getElementsByTagName('regdate')[0].firstChild.nodeValue;
				document.getElementById('ajax_posts').innerHTML = xmlDoc.getElementsByTagName('posts')[0].firstChild.nodeValue;
				document.getElementById('ajax_website').innerHTML = xmlDoc.getElementsByTagName('website')[0].firstChild.nodeValue;
				document.getElementById('ajax_from').innerHTML = xmlDoc.getElementsByTagName('from')[0].firstChild.nodeValue;
				document.getElementById('ajax_last_visit').innerHTML = xmlDoc.getElementsByTagName('lastvisit')[0].firstChild.nodeValue;
				document.getElementById('ajax_rank').innerHTML = xmlDoc.getElementsByTagName('rank')[0].firstChild.nodeValue;
				document.getElementById('ajax_avatar').innerHTML = xmlDoc.getElementsByTagName('avatar')[0].firstChild.nodeValue;
				document.getElementById('popup').style.display='block';
			}
		}
	}   
   
   function snapdiv(e) {      
      var docX, docY;
      if(e) {
         if(typeof(e.pageX) == 'number') { docX = e.pageX; docY = e.pageY;}
         else {docX = e.clientX; docY = e.clientY;}
      }
      else {
         e = window.event;
         docX = e.clientX; docY = e.clientY;
         if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
            docX += document.documentElement.scrollLeft; docY += document.documentElement.scrollTop;
         } 
         else if(document.body && (document.body.scrollTop || document.body.scrollLeft)) {
            docX += document.body.scrollLeft; docY += document.body.scrollTop;
         }
      }
      if (docX > document.body.offsetWidth - 400) {
         document.getElementById('popup').style.left = (docX - 390) + "px";
      } else {document.getElementById('popup').style.left = (docX - 10) + "px";}
      document.getElementById('popup').style.top    = (docY + 20) + "px";
   }
   
   function opacAnim(id, opacStart, opacEnd, millisec) {
      lockAnim = true;
       var speed = Math.round(millisec / 100);
       var timer = 0; var i = 0;
      if (opacEnd>opacStart) {
         for (i = opacStart+1; i <= opacEnd; i=i+2) {
            i= (i==99)?100:i;
            setTimeout("chOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
         }      
      } else {
         for (i = opacStart-1; i >= opacEnd; i--) {
            setTimeout("chOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
         }
      }
   }
   function chOpac(opacity, id) {
      var object = document.getElementById(id).style;
      object.filter = "alpha(opacity:" + opacity + ")";
      object.opacity = object.MozOpacity = object.KhtmlOpacity = (opacity / 100);
      if ((opacity <= 0) || (opacity >= 100)) {
         lockAnim = false;
         if (opacity <= 0) {document.getElementById(id).style.display='none';setDefaults();}
      }
   }
3.
в styles/prosilver/template/ajax_userinfo.html оставить только

Код: Выделить всё

<div class="popup forabg" id="popup" style="display: none;">
   <div class="inner">
      <span class="corners-top"><span></span></span>
      <ul class="topiclist fullwidth">
         <li class="header"><dl><dt>Информация о пользователе</dt></dl></li>
      </ul>
      <ul class="topiclist forums">
         <li><dl>
            <dd class="posts_portal">
               <div id="avimg">
                  <img id="ajax_avatar">
               </div>
               <strong>Пользователь:</strong> <span id="ajaxusername"></span><br />
               <strong>Всего сообщений:</strong> <span id="ajax_posts"></span><br />
               <strong>Звание:</strong> <span id="ajax_rank"></span><br />
               <strong>Зарегистрирован:</strong> <span id="ajax_registert"></span><br />
               <strong>Последний визит:</strong> <span id="ajax_last_visit"></span><br />
               <strong>Откуда:</strong> <span id="ajax_from"></span><br />
               <strong>Сайт:</strong> <span id="ajax_website"></span>
               <br style="clear: both;">
            </dd>
         </dl></li>
      </ul>
      <span class="corners-bottom"><span></span></span>
   </div>
</div>
4.

Добавлено спустя 12 минут 1 секунду:
и, блин, пять минут назад перестали отображаться аватары в всплывающем окне. Ничего не менял, только скопипастил сюда часть кода.
подскажите плз, в чем ошибка
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 15 лет 4 месяца
Благодарил (а): 28 раз
Поблагодарили: 41 раз
Забанен: Бессрочно

Re: AJAX Userinfo

Сообщение deadromeo »

а у меня проблема другого рода :( все работает нормально но если пару раз провести мышкой по нику то всплывающее окно приклеивается к курсору и плавает за ним :( в чем может быть проблема??
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
Dmitrijan30
phpBB 1.2.1
Сообщения: 23
Стаж: 15 лет 7 месяцев
Откуда: Kharkov, UA
Благодарил (а): 17 раз
Поблагодарили: 5 раз

Re: AJAX Userinfo

Сообщение Dmitrijan30 »

Аналогичная проблема, как и у deadromeo

Добавлено спустя 1 час 16 минут 42 секунды:
Нашел вроде решение, в файле ajax_userinfo.html заменить секцию с Java-скриптом, на Java-скрипт приведенный ниже:

Код: Выделить всё

<script type="text/javascript">
// <![CDATA[
	function show_popup(UserID) {
      if(http_getuser) {
         document.getElementById('popup').style.display='block'; sendRequest(UserID);
      }
   }
	// hide the popup
	function close_popup() {
      document.getElementById('popup').style.display='none';
      document.getElementById('ajax_username').innerHTML = '&nbsp;';
      document.getElementById('ajax_registert').innerHTML = '&nbsp;';
      document.getElementById('ajax_posts').innerHTML = '&nbsp;';
      document.getElementById('ajax_website').innerHTML = '&nbsp;';
      document.getElementById('ajax_from').innerHTML = '&nbsp;';
      document.getElementById('ajax_last_visit').innerHTML = '&nbsp;';
      document.getElementById('ajax_rank').innerHTML = '&nbsp;';
      document.getElementById('ajax_avatar').innerHTML = '&nbsp;';
   }
	// Make the request
	function createRequestObject() {
		if(window.XMLHttpRequest){
			ro = new XMLHttpRequest();
		} else if(window.ActiveXObject) {
			ro = new ActiveXObject("Msxml2.XMLHTTP");
			if(!ro) {
				ro = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		return ro;
	}
	var http_getuser = createRequestObject();
	function sendRequest(UserID) {
		var userinfo_url = '{AJAX_USERINFO_PATH}';
		http_getuser.open('get', userinfo_url.replace('USERID', UserID));
		http_getuser.onreadystatechange = handleResponse;
		http_getuser.send(null);
	}
	// fill in the response
	function handleResponse() {
      if(http_getuser.readyState == 4 ){
         var xmlDoc = http_getuser.responseXML;
         if(xmlDoc.hasChildNodes()) {
            document.getElementById('ajax_username').innerHTML = xmlDoc.getElementsByTagName('username')[0].firstChild.nodeValue;
            document.getElementById('ajax_registert').innerHTML = xmlDoc.getElementsByTagName('regdate')[0].firstChild.nodeValue;
            document.getElementById('ajax_posts').innerHTML = xmlDoc.getElementsByTagName('posts')[0].firstChild.nodeValue;
            document.getElementById('ajax_website').innerHTML = xmlDoc.getElementsByTagName('website')[0].firstChild.nodeValue;
            document.getElementById('ajax_from').innerHTML = xmlDoc.getElementsByTagName('from')[0].firstChild.nodeValue;
            document.getElementById('ajax_last_visit').innerHTML = xmlDoc.getElementsByTagName('lastvisit')[0].firstChild.nodeValue;
            document.getElementById('ajax_rank').innerHTML = xmlDoc.getElementsByTagName('rank')[0].firstChild.nodeValue;
            document.getElementById('ajax_avatar').innerHTML = xmlDoc.getElementsByTagName('avatar')[0].firstChild.nodeValue;
            //document.getElementById('popup').style.display='block';
         }
      }
   }
	// set popup to mouse possition
	function set_div_to_mouse(e) {
		var docX, docY;
		if(e) {
			if(typeof(e.pageX) == 'number') { docX = e.pageX; docY = e.pageY;}
			else {docX = e.clientX; docY = e.clientY;}
		} else {
			e = window.event;
			docX = e.clientX; docY = e.clientY;
			if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
				docX += document.documentElement.scrollLeft; docY += document.documentElement.scrollTop;
			}
			else if(document.body && (document.body.scrollTop || document.body.scrollLeft)) {
				docX += document.body.scrollLeft; docY += document.body.scrollTop;
			}
		}
		if (docX > document.body.offsetWidth - 400) {
			document.getElementById('popup').style.left = (docX - 350) + "px";
		} else {
			document.getElementById('popup').style.left = (docX - 5) + "px";
		}
		document.getElementById('popup').style.top    = (docY + 30) + "px";
	}
	document.onmousemove = set_div_to_mouse;
// ]]>
</script>
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 15 лет 4 месяца
Благодарил (а): 28 раз
Поблагодарили: 41 раз
Забанен: Бессрочно

Re: AJAX Userinfo

Сообщение deadromeo »

Dmitrijan30 большое спасибо ;) действительно помогло
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
LuxeMat
phpBB 1.2.1
Сообщения: 20
Стаж: 16 лет 10 месяцев
Благодарил (а): 6 раз

Re: AJAX Userinfo

Сообщение LuxeMat »

Поставил данный модуль но както не вышло у меня вровень ему работать,
где ошибка понять не могу скриншот прилагаю:
Изображение
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: AJAX Userinfo

Сообщение владимир1983 »

LuxeMat, во всех браузерах?
Ссылка на форум не помещала бы с тестовым пользователем.
Сколько раз проверили установку мода?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
FEAR93
Former team member
Сообщения: 666
Стаж: 17 лет 11 месяцев
Откуда: Кривой Рог, Украина
Благодарил (а): 22 раза
Поблагодарили: 76 раз

Re: AJAX Userinfo

Сообщение FEAR93 »

По-моему стиль окна не подгрузился.
Аватара пользователя
LuxeMat
phpBB 1.2.1
Сообщения: 20
Стаж: 16 лет 10 месяцев
Благодарил (а): 6 раз

Re: AJAX Userinfo

Сообщение LuxeMat »

владимир1983 писал(а):LuxeMat, во всех браузерах?
Ссылка на форум не помещала бы с тестовым пользователем.
Сколько раз проверили установку мода?
Проверял в Мозиле, IE8, Google Chrome
везде одно и тоже
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 15 лет 4 месяца
Благодарил (а): 28 раз
Поблагодарили: 41 раз
Забанен: Бессрочно

Re: AJAX Userinfo

Сообщение deadromeo »

у меня такое же было когда я забыл прописать нужные изменения в css - файле ;) так что проверяйте правильность правки файла stylesheet.css если у вас стиль на сабсильвере либо common.css если стиль на просильвере ;)
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
Evgesh
phpBB 2.0.3
Сообщения: 360
Стаж: 15 лет 4 месяца
Откуда: Красноярский край,Богучаны
Благодарил (а): 32 раза
Поблагодарили: 43 раза

Re: AJAX Userinfo

Сообщение Evgesh »

Дааа уж я тоже на этом прилип.Окно во всю ширину.Так как решить данную проблему?
Аватара пользователя
ВладимирТ
phpBB 2.0.4
Сообщения: 421
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 52 раза
Поблагодарили: 75 раз

Re: AJAX Userinfo

Сообщение ВладимирТ »

LuxeMat писал(а):Поставил данный модуль но както не вышло у меня вровень ему работать,
где ошибка понять не могу скриншот прилагаю:
LuxeMat писал(а):Проверял в Мозиле, IE8, Google Chrome
везде одно и тоже
Evgesh писал(а):Дааа уж я тоже на этом прилип.Окно во всю ширину.Так как решить данную проблему?
Куда ставите
<!-- INCLUDE ajax_userinfo.html -->
, там его и получаете.
вставляйте перед
</head>
и будет отображаться как положено.
Ну и пожалуй стоит скрипт заменить как выше рекомендовано, дабы не приклепал и вроде тогда работает нормально, хотя еще нужно за ним посмотреть.
На вкус и цвет - разный CSS

Вернуться в «Поддержка модов для phpBB 3.0.x»