
Posts posted by by_ix
-
-
-
-
-
3 минуты назад, Desti сказал:
Тянет на целое приложение
о чём и речь.
@BlackShot будет очередной повод изучить строение плагинов и приложений. -
-
-
BlackShot самый простой вариант, это создать новую страницу c блоком.
Спойлервставить свой код туда, я немного изменил его.
$servername = "***"; $username = "***"; $password = ""***";"; $dbname = ""***";"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $perm = ''; $pid = '8'; $ptypeid = '3'; $sql = "UPDATE core_permission_index SET perm_3='$perm' WHERE perm_id=$pid AND perm_type_id=$ptypeid"; if ($conn->query($sql) === TRUE) { echo "<span style='color:green;'>Record updated successfully!</span>"; } else { echo "<span style='color:red;'>Error updating record: </span>" . $conn->error; } $conn->close(); ?>
создать страницу, в принципе, без разницу какую, но тебе удобнее второй вариант, думаю.
вставить во вкладку Content тот самый ключ с созданного блока.
дать нужным группам разрешения для доступа к странице и блоку и перейти на страницу.
наслаждаться.
при желании, можно на страницу добавить ввод необходимых значений через инпут.
ещё можно запрос сделать логикой ипс, как писал Desti, но я привык так. -
-
36 минут назад, BlackShot сказал:
Что вы подразумеваете под "в соседней теме дали ссылку"?
https://ipbmafia.ru/topic/23438-plugin-tutorialrukovodstvo-po-plaginam/
тут дали ссылку на документацию.
перейдя по ней, можно найти раздел с плагинами.33 минуты назад, BlackShot сказал:Вы ведь не записали, как создавали плагин
просто в режиме разработчика создаёшь плагин, заходишь в developer center в плагине и делаешь там всё, что хочешь.
-
-
-
@BlackShot в соседней теме дали ссылку. да и в режиме разработчика создавать небольшие плагины давольно-таки не сложно.
полезный плагин при использовании дев режима, дабы не заходить постоянно в constants.php: Toggle Developers Mode On/Off Deluxe.
-
-
-
-
-
-
Edited by by_ix
@the.bunin открой код, почти в конце стоит условие для вертикального блока, в нём только 60 человек могут отображаться, насколько помню. примерно то же самое нужно сделать для горизонтального.
-
@the.bunin да. в дефолтном плагине обновление раз в 30 минут. в котором я кинул - в 20. пользователи рандом из тех, что в базе.
и при каждом редактировании и измении значений, новые плюсуются к предыдущим.
через 20+ минут старые спишутся и будут отображаться только новые.
-
-
-
Спойлер
<?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 ); } }
-
-
Traffic Generator 1.0.9 ENG + RUS
in Interface
the.bunin но там нет обратного скрытия. тоже придётся допиливать самому.