Jump to content

Блок "Последние посетители" 4.6.5


WebUser
 Share

Recommended Posts

Отличная работа, @by_ix!! Не могли бы вы сделать это плагином, чтобы мы не потеряли изменения после обновления IPS? Спасибо!!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

7 hours ago, by_ix said:

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

Звучит честно. Но я все же предпочел бы, чтобы все было автоматически, вместо того, чтобы вручную менять файлы при каждом обновлении. Это было бы просто для удобства.

Знаете ли вы о каких-либо учебных пособиях, в которых рассказывается, как создавать плагины? У меня уже есть файлы и инструменты для разработчиков. Не должно быть слишком сложно создать плагин для добавления и замены кодов, верно? Может быть, вы могли бы указать мне правильное направление...

Link to comment
Share on other sites

@BlackShot в соседней теме дали ссылку. да и в режиме разработчика создавать небольшие плагины давольно-таки не сложно.

полезный плагин при использовании дев режима, дабы не заходить постоянно в constants.php: Toggle Developers Mode On/Off Deluxe. 

Link to comment
Share on other sites

9 hours ago, by_ix said:

@BlackShot в соседней теме дали ссылку. да и в режиме разработчика создавать небольшие плагины давольно-таки не сложно.

полезный плагин при использовании дев режима, дабы не заходить постоянно в constants.php: Toggle Developers Mode On/Off Deluxe. 

Виноват, Что вы подразумеваете под "в соседней теме дали ссылку"?

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

1 hour ago, by_ix said:

Спасибо!!! Вы ведь не записали, как создавали плагин, не так ли? Мне действительно интересно, как сделать такой простой плагин, тот, который заменяет только активный код. 😁

Edited by BlackShot
Link to comment
Share on other sites

36 минут назад, BlackShot сказал:

Что вы подразумеваете под "в соседней теме дали ссылку"?

https://ipbmafia.ru/topic/23438-plugin-tutorialrukovodstvo-po-plaginam/
тут дали ссылку на документацию.
перейдя по ней, можно найти раздел с плагинами.
321.PNG.94917a5d860049d2f983ae7bbc174339.PNG

33 минуты назад, BlackShot сказал:

Вы ведь не записали, как создавали плагин

просто в режиме разработчика создаёшь плагин, заходишь в developer center в плагине и делаешь там всё, что хочешь.
123.png.44228c2f0c09c0a1c71021f579dcaa07.png

Link to comment
Share on other sites

12 minutes ago, by_ix said:

https://ipbmafia.ru/topic/23438-plugin-tutorialrukovodstvo-po-plaginam/
here they gave a link to the documentation.
by clicking on it, you can find a section with plugins.

Ага! Я смог добраться до этой части. Может быть, мне не хватает навыков программирования. Но было бы замечательно, если бы кто-нибудь когда-нибудь снял видео, создав простой плагин, подобный вашему, с самого начала. Или тот, который добавляет «ловушку» для замены определенного кода в одном из файлов IPS.

В любом случае, спасибо за вашу помощь, @by_ix!! 😊

Кроме того, я проверил ваш плагин и заметил эту строку:

"namespace IPS\plugins\<{LOCATION}>\widgets;"

Должно ли быть так? <{LOCATION}>

Link to comment
Share on other sites

7 минут назад, BlackShot сказал:

Должно ли быть так? <{LOCATION}>

да.
так же, как и в "public $plugin = '<{ID}>';"
зайди в: /plugins/k4activeusersnocache/widgets/activeUsersNoCache.php
и ты увидишь, что там.

Edited by by_ix
Link to comment
Share on other sites

случаем не подскажите, как заставить блок отображать юзеров через запятую?

в настройках стоит " через запятую", но форум игнорит ...

Снимок.PNG

Link to comment
Share on other sites

  • 2 weeks later...
В 21.08.2021 в 23:03, by_ix сказал:

После установки у меня ничего не изменилось (((

В блоке "Последние посетители" никого нет.

Плагин имеет где-то настройки или его надо дополнительно включать? 

Link to comment
Share on other sites

2 часа назад, by_ix сказал:

@Juar так а ты его виджет добавил вообще? или старый стоит. 

Теперь понятна моя ошибка, блок не добавлял и думал что все должно выводится в старом.

Link to comment
Share on other sites

В 25.08.2021 в 04:12, t_reks сказал:

случаем не подскажите, как заставить блок отображать юзеров через запятую?

в настройках стоит " через запятую", но форум игнорит ...

Снимок.PNG

у тебя байда какая то с форматированием ников вообще, перепроверь мб проблема в этом

Link to comment
Share on other sites

у меня плагин стоит на форматирование ников под цвет групп...

Попробую, спасибо за совет.

 

Link to comment
Share on other sites

36 минут назад, t_reks сказал:

у меня плагин стоит на форматирование ников под цвет групп...

Попробую, спасибо за совет.

 

В любом случае можно принудительно заставить выставлять запятые, например в самом блоке отредактировать код.
Можно и при помощи css все сделать, используя метод как в саблистах. Код под твой блок:

.ipsWidget[data-blockid="app_core_members_42xd4dgoj"] li a:after { content: ','; }
.ipsWidget[data-blockid="app_core_members_42xd4dgoj"] li:last-child a:after { content: ''; }

 

Edited by ZIKURIK
Link to comment
Share on other sites

  • 1 month later...
В 19.08.2021 в 19:35, by_ix сказал:

the.bunin 

  Показать контент
<?php
/**
 * @brief		whosOnline Widget
 * @author		<a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
 * @copyright	(c) Invision Power Services, Inc.
 * @license		https://www.invisioncommunity.com/legal/standards/
 * @package		Invision Community
 * @since		28 Jul 2014
 */

namespace IPS\core\widgets;

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
	exit;
}

/**
 * whosOnline Widget
 */
class _whosOnline extends \IPS\Widget
{
	/**
	 * @brief	Widget Key
	 */
	public $key = 'whosOnline';
	
	/**
	 * @brief	App
	 */
	public $app = 'core';
		
	/**
	 * @brief	Plugin
	 */
	public $plugin = '';

	/**
	 * Render a widget
	 *
	 * @return	string
	 */
	public function render()
	{
		/* Do we have permission? */
		if ( !\IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'online' ) ) )
		{
			return "";
		}
		
		/* Init */
		$members     = array();
		$anonymous   = 0;
		
		$users = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_MEMBERS, 'desc', NULL, NULL, TRUE );
		foreach( $users as $row )
		{
			switch ( $row['login_type'] )
			{
				/* Not-anonymous Member */
				case \IPS\Session\Front::LOGIN_TYPE_MEMBER:
					if ( $row['member_id'] != \IPS\Member::loggedIn()->member_id ) // We add them manually to make sure they go at the top of the list
					{
						if ( $row['member_name'] )
						{
							$members[ $row['member_id'] ] = $row;
						}
					}
					break;
					
				/* Anonymous member */
				case \IPS\Session\Front::LOGIN_TYPE_ANONYMOUS:
					$anonymous += 1;
					break;
			}
		}
		$memberCount = \count( $members );

		/* Get an accurate guest count */
		$guests = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_GUESTS | \IPS\Session\Store::ONLINE_COUNT_ONLY, 'desc', NULL, NULL, TRUE );
		
		/* If it's on the sidebar (rather than at the bottom), we want to limit it to 60 so we don't take too much space */
		if ( $this->orientation === 'vertical' and \count( $members ) >= 60 )
		{
			$members = \array_slice( $members, 0, 60 );
		}
		
		/* Add ourselves at the top of the list */
		if( \IPS\Member::loggedIn()->member_id )
		{
			$memberCount++;
						
			$members = array_merge( array( \IPS\Member::loggedIn()->member_id => array(
				'member_id'			=> \IPS\Member::loggedIn()->member_id,
				'member_name'		=> \IPS\Member::loggedIn()->name,
				'seo_name'			=> \IPS\Member::loggedIn()->members_seo_name,
				'member_group'		=> \IPS\Member::loggedIn()->member_group_id
			) ), $members );
		}
		
		/* Display */
		return $this->output( $members, $memberCount, $guests, $anonymous );
	}
}

 

 

Привет, а с виджетом кто был на форуме можешь тоже самое сделать? 

Link to comment
Share on other sites

1 минуту назад, by_ix сказал:

этот виджет не кэшируется. по крайней мере, в 4.6.6.

жаль

2 минуты назад, by_ix сказал:

этот виджет не кэшируется. по крайней мере, в 4.6.6.

А изменить настройки как-то можно что бы например показывалось если я например зашел сегодня и до конца суток показывало что я заходил ?

5 минут назад, by_ix сказал:

этот виджет не кэшируется. по крайней мере, в 4.6.6.

Можешь подсказать этот виджет stats называется?

image.png.997aad15b5b5cb5951b39db5f2f1dce7.png

Link to comment
Share on other sites

10 минут назад, umbro32111 сказал:

А изменить настройки как-то можно что бы например показывалось если я например зашел сегодня и до конца суток показывало

плагин Who Was Online (Hours) 1.0.3

9 минут назад, umbro32111 сказал:

жаль

чего жаль? вы же просите сделать его без кэша, а его нём и так нет. 

к тому же, этот виджет вообще не дефолтный, тогда вы о чём говорите? 

11 минут назад, umbro32111 сказал:

Можешь подсказать этот виджет stats называется?

название где? в файлах? 

Link to comment
Share on other sites

11 минут назад, by_ix сказал:

плагин Who Was Online (Hours) 1.0.3

Подскажи у меня прям рядом пишется с краем виджета, как сделать отступ ?
image.png.a0f19157ea184b170635ed56d964fff9.png

Link to comment
Share on other sites

12 минут назад, umbro32111 сказал:

да

нет. 

/applications/forums/widgets/forumStatistics.php

2 минуты назад, umbro32111 сказал:

как сделать отступ ?

код элемента + редактирование шаблона.

но у меня, вроде, такого не было ни на дефолтной теме, ни на других. 

Link to comment
Share on other sites

4 минуты назад, by_ix сказал:

нет. 

/applications/forums/widgets/forumStatistics.php

код элемента + редактирование шаблона.

но у меня, вроде, такого не было ни на дефолтной теме, ни на других. 

Извини что так голову морочу, я нашел где прописать и строчку, как мне в html прописать отступ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...