Skip to content

Commit

Permalink
Add license, update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
aXenDeveloper committed Mar 5, 2021
1 parent b57f2fb commit 01ba54c
Show file tree
Hide file tree
Showing 15 changed files with 876 additions and 40 deletions.
674 changes: 674 additions & 0 deletions LICENSE.md

Large diffs are not rendered by default.

17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ Server table showing server information about the status, name, number of player
- The scroll that the user can control,
- Color filling of players,
- RWD,
- Lazy loading in img icons
- Lazy loading in img icons,
- Table in 2 columns that the user can control

## Table of contents 📖

Expand All @@ -44,13 +45,15 @@ Server table showing server information about the status, name, number of player
- Minecraft
- Teamspeak 3

_In future versions, new servers will be added to the list._

## Install 🧰

1. Go to: AdminCP -> System -> SITE FEATURES -> **Appliactions**,
![Select Plugin](https://axendev.net/github/app/admincp_select.png)
2. Click on the link **manual upload**,
![Manual Upload](https://axendev.net/github/app/manual_upload.png)
3. Select file **.tar** from packet and click install button
3. Select file **.tar** [from packet](https://github.com/aXenDeveloper/ips-app-serverlist/releases) and click install button

## Update 🛠️

Expand All @@ -62,6 +65,16 @@ Server table showing server information about the status, name, number of player

## Graphics 📷

![1](https://axendev.net/myapps/app/serverlist/1.png)
![2](https://axendev.net/myapps/app/serverlist/2.png)
![3](https://axendev.net/myapps/app/serverlist/3.png)
![4](https://axendev.net/myapps/app/serverlist/4.png)
![5](https://axendev.net/myapps/app/serverlist/5.png)
![6](https://axendev.net/myapps/app/serverlist/6.png)
![7](https://axendev.net/myapps/app/serverlist/7.png)
![8](https://axendev.net/myapps/app/serverlist/8.png)
![9](https://axendev.net/myapps/app/serverlist/9.png)

## Download from other sources 🔌

_The resources from the links above are updated on an ongoing basis if the administration approves the file._
3 changes: 1 addition & 2 deletions data/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,12 @@
<setting key="aXenServerList_settings_fullWidth"><![CDATA[{"key":"aXenServerList_settings_fullWidth","default":"0"}]]></setting>
<setting key="aXenServerList_settings_fullWidth_control"><![CDATA[{"key":"aXenServerList_settings_fullWidth_control","default":"1"}]]></setting>
<setting key="aXenServerList_settings_fullWidth_default"><![CDATA[{"key":"aXenServerList_settings_fullWidth_default","default":"0"}]]></setting>
<setting key="aXenServerList_settings_owners"><![CDATA[{"key":"aXenServerList_settings_owners","default":"1"}]]></setting>
<setting key="aXenServerList_settings_scroll"><![CDATA[{"key":"aXenServerList_settings_scroll","default":"1"}]]></setting>
<setting key="aXenServerList_settings_scroll_control"><![CDATA[{"key":"aXenServerList_settings_scroll_control","default":"1"}]]></setting>
<setting key="aXenServerList_settings_scroll_default"><![CDATA[{"key":"aXenServerList_settings_scroll_default","default":"0"}]]></setting>
<setting key="aXenServerList_settings_scroll_height"><![CDATA[{"key":"aXenServerList_settings_scroll_height","default":"250"}]]></setting>
<setting key="aXenServerList_settings_scroll_mobile"><![CDATA[{"key":"aXenServerList_settings_scroll_mobile","default":"1"}]]></setting>
<setting key="aXenServerList_settings_scroll_mobile_value"><![CDATA[{"key":"aXenServerList_settings_scroll_mobile_value","default":"250"}]]></setting>
<widget key="aXenServerListWidget"><![CDATA[{"class":"\\IPS\\Widget","restrict":["sidebar","cms"],"default_area":"","allow_reuse":false,"menu_style":"menu","embeddable":false}]]></widget>
<widget key="aXenServerListWidget"><![CDATA[{"class":"\\IPS\\Widget","restrict":["sidebar","cms"],"default_area":"","allow_reuse":false,"menu_style":"menu","embeddable":true}]]></widget>
<hook key="loadJSandCSS"><![CDATA[{"type":"C","class":"\\IPS\\Dispatcher\\Standard"}]]></hook>
</build>
2 changes: 1 addition & 1 deletion data/javascript.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="axenserverlist">
<file javascript_app="axenserverlist" javascript_location="front" javascript_path="controllers/axenserverlist" javascript_name="aXenServerList.js" javascript_type="controller" javascript_version="10001" javascript_position="1000050"><![CDATA[const COOKIE_AXENSERVERLIST_HIDE = 'aXenServerList_widget_hide';
<file javascript_app="axenserverlist" javascript_location="front" javascript_path="controllers/axenserverlist" javascript_name="aXenServerList.js" javascript_type="controller" javascript_version="10002" javascript_position="1000050"><![CDATA[const COOKIE_AXENSERVERLIST_HIDE = 'aXenServerList_widget_hide';
const COOKIE_AXENSERVERLIST_SCROLL = 'aXenServerList_widget_scroll';
const COOKIE_AXENSERVERLIST_FULLWIDTH = 'aXenServerList_widget_fullWidth';
Expand Down
8 changes: 4 additions & 4 deletions data/lang.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="axenserverlist" version="10001">
<app key="axenserverlist" version="10002">
<word key="__app_axenserverlist" js="0">(aXen) Server List</word>
<word key="menutab__axenserverlist_icon" js="0">server</word>
<word key="menutab__axenserverlist" js="0">Server List</word>
Expand All @@ -19,8 +19,6 @@
<word key="block_aXenServerListWidget" js="0">Server List</word>
<word key="block_aXenServerListWidget_desc" js="0">Widget shows servers</word>
<word key="aXenServerList_widget_title" js="0">Our servers</word>
<word key="aXenServerList_settings_owners" js="0">Show server owners?</word>
<word key="aXenServerList_settings_owners_desc" js="0">If this option is disabled then serwer owners shows in more button.</word>
<word key="aXenServerList_widget_more" js="0">More</word>
<word key="aXenServerList_widget_connect" js="0">Connect</word>
<word key="aXenServerList_widget_statistics" js="0">Statistics</word>
Expand Down Expand Up @@ -70,7 +68,7 @@
<word key="aXenServerList_settings_scroll_control_desc" js="0">Users will be can to turn the scroll on and off.</word>
<word key="axenserverlist_tab_scroll" js="0">Scroll</word>
<word key="aXenServerList_settings_fullWidth" js="0">Enable table in 2 columns (full width)?</word>
<word key="aXenServerList_settings_fullWidth_desc" js="0"><![CDATA[<p class="ipsMessage ipsMessage_warning">When this option is enabled then the table should be full width and "Show server owners?" option will be disabled!</p>]]></word>
<word key="aXenServerList_settings_fullWidth_desc" js="0"><![CDATA[<p class="ipsMessage ipsMessage_warning">When this option is enabled, the widget area should be the full width of the page!</p>]]></word>
<word key="aXenServerList_widget_clickToConnect" js="0">Click connect button</word>
<word key="aXenServerList_settings_scroll_default" js="0">Enable scroll by default?</word>
<word key="aXenServerList_settings_scroll_mobile" js="0">(Mobile) Force a scroll?</word>
Expand All @@ -82,5 +80,7 @@
<word key="aXenServerList_settings_fullWidth_control" js="0">Can users change view?</word>
<word key="aXenServerList_settings_fullWidth_control_desc" js="0">Users will be can to change widget view.</word>
<word key="aXenServerList_settings_fullWidth_default" js="0">Enable table in 2 columns (full width) by default?</word>
<word key="r__servers" js="0">Server list</word>
<word key="r__servers_manage" js="0">Can manage servers?</word>
</app>
</language>
80 changes: 53 additions & 27 deletions data/theme.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
<template template_group="servers" template_name="more" template_data="$row" template_location="front" template_app="axenserverlist"><![CDATA[<div id="aXenServerList_{$row['axenserverlist_id']}_menu" class="ipsMenu aXenServerListMenu{{if settings.aXenServerList_settings_fullWidth && ( (isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth']) && settings.aXenServerList_settings_fullWidth_control && isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth_manual'])) || !settings.aXenServerList_settings_fullWidth_control || (!isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth_manual']) && settings.aXenServerList_settings_fullWidth_default) )}} aXenServerListMenu_fullWidth{{endif}} ipsHide">
<div class="aXenServerList_item_more_menu ipsPadding:half">
<ul class="aXenServerList_item_more_info{{if !$row['axenserverlist_forum'] || !$row['axenserverlist_vote'] || !$row['axenserverlist_statistics'] || !$row['axenserverlist_tv']}} aXenServerList_item_more_info:fullWidth{{endif}}">
{{if (!settings.aXenServerList_settings_owners && $row['axenserverlist_owners']) || (settings.aXenServerList_settings_fullWidth && $row['axenserverlist_owners'])}}
<li>
{{if $row['axenserverlist_owners']}}
<li class="aXenServerList_item_more_info:owners">
<span><i class="fa fa-users"></i> {lang='aXenServerList_widget_owners'}</span>
<span>
<ul class="ipsList_reset">
Expand Down Expand Up @@ -66,8 +66,7 @@
<li>
<span><i class="fa fa-percent"></i> {lang='aXenServerList_widget_percent_players'}</span>
<span>
{{$calcPercentPlayers = $row['axenserverlist_max_players'] ? round( ($row['axenserverlist_current_players'] * 100) / $row['axenserverlist_max_players'] ) : 0;}}
{$calcPercentPlayers}%
{$row['axenserverlist_max_players'] ? round( ($row['axenserverlist_current_players'] * 100) / $row['axenserverlist_max_players'] ) : 0}%
</span>
</li>
Expand Down Expand Up @@ -121,21 +120,24 @@
<li class="aXenServerList_item_title">
<span class="aXenServerList_item_title:status{{if $row['axenserverlist_status']}} aXenServerList_item_title:status-online{{endif}}"></span>
<img src="{setting=" base_url"}applications/axenserverlist/interface/icons/{$row['axenserverlist_game']}.png" class="aXenServerList_item_title:img" data-ipstooltip _title="{$row['axenserverlist_game_long']}" alt="{$row['axenserverlist_game_long']}">
<span class="aXenServerList_item_title:name">
{{if $row['axenserverlist_top_server']}}
{{$topServerLang = 'axenserverlist_top_server_text_' . $row['axenserverlist_id'];}}
<i class="fa fa-trophy" {{if $row['axenserverlist_top_server'] && $row['axenserverlist_top_server_text']}}data-ipstooltip title="{lang='{$topServerLang}'}" {{endif}}></i>
{{if settings.lazy_load_enabled}}
<img src='{expression="\IPS\Text\Parser::blankImage()"}' data-src="{setting='base_url'}applications/axenserverlist/interface/icons/{$row['axenserverlist_game']}.png" class="aXenServerList_item_title:img" data-ipstooltip _title="{$row['axenserverlist_game_long']}" alt="{$row['axenserverlist_game_long']}">
{{else}}
<img src="{setting='base_url'}applications/axenserverlist/interface/icons/{$row['axenserverlist_game']}.png" class="aXenServerList_item_title:img" data-ipstooltip _title="{$row['axenserverlist_game_long']}" alt="{$row['axenserverlist_game_long']}">
{{endif}}
{{if $row['axenserverlist_new']}}
<span class="ipsBadge ipsBadge_negative">{lang="aXenServerList_widget_new"}</span>
{{endif}}
<span class="aXenServerList_item_title:name">
{{if $row['axenserverlist_top_server']}}
{{$topServerLang = 'axenserverlist_top_server_text_' . $row['axenserverlist_id'];}}
<i class="fa fa-trophy" {{if $row['axenserverlist_top_server'] && $row['axenserverlist_top_server_text']}}data-ipstooltip title="{lang='{$topServerLang}'}" {{endif}}></i>
{{endif}}
{{$getName = $row['axenserverlist_name_default'] ? $row['axenserverlist_name_default_text'] : $row['axenserverlist_name'];}}
{$getName}
</span>
{{if $row['axenserverlist_new']}}
<span class="ipsBadge ipsBadge_negative">{lang="aXenServerList_widget_new"}</span>
{{endif}}
{$row['axenserverlist_name_default'] ? $row['axenserverlist_name_default_text'] : $row['axenserverlist_name']}
</span>
</li>
<li class="aXenServerList_item:ip">
Expand All @@ -145,11 +147,9 @@
</a>
{{endif}}
{{$getIP = $row['axenserverlist_ip_custom'] ? $row['axenserverlist_ip_custom'] : $row['axenserverlist_ip'];}}
{{if $row['axenserverlist_game'] == 'discord' && !$row['axenserverlist_ip_custom']}}
{lang="aXenServerList_widget_clickToConnect"}
{{else}}{$getIP}{{endif}}
{{else}}{$row['axenserverlist_ip_custom'] ? $row['axenserverlist_ip_custom'] : $row['axenserverlist_ip']}{{endif}}
</li>
Expand All @@ -164,7 +164,7 @@
<span>{$row['axenserverlist_current_players']} / {$row['axenserverlist_max_players']}</span>
</li>
{{if settings.aXenServerList_settings_owners && $row['axenserverlist_owners']}}
{{if $row['axenserverlist_owners']}}
<li class="aXenServerList_item_owners">
<ul class="aXenServerList_item_owners_ul">
{{foreach array_filter(explode(',', $row['axenserverlist_owners'])) as $owner}}
Expand Down Expand Up @@ -222,14 +222,14 @@
</li>
</ul>
</li>]]></template>
<template template_group="widgets" template_name="aXenServerListWidget" template_data="$servers" template_location="front" template_app="axenserverlist"><![CDATA[<h3 class="ipsType_reset ipsWidget_title ipsFlex ipsFlex-jc:between aXenServerList{{if isset( \IPS\Request::i()->cookie['aXenServerList_widget_hide'] )}} aXenServerList_hide{{endif}}{{if settings.aXenServerList_settings_scroll && ( (isset(\IPS\Request::i()->cookie['aXenServerList_widget_scroll']) && settings.aXenServerList_settings_scroll_control && isset(\IPS\Request::i()->cookie['aXenServerList_widget_scroll_manual'])) || !settings.aXenServerList_settings_scroll_control || (!isset(\IPS\Request::i()->cookie['aXenServerList_widget_scroll_manual']) && settings.aXenServerList_settings_scroll_default) )}} aXenServerList_scroll{{endif}}{{if settings.aXenServerList_settings_fullWidth && ( (isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth']) && settings.aXenServerList_settings_fullWidth_control && isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth_manual'])) || !settings.aXenServerList_settings_fullWidth_control || (!isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth_manual']) && settings.aXenServerList_settings_fullWidth_default) )}} aXenServerList_fullWidth{{endif}}">
<template template_group="widgets" template_name="aXenServerListWidget" template_data="$servers, $orientation" template_location="front" template_app="axenserverlist"><![CDATA[<h3 class="ipsType_reset ipsWidget_title ipsFlex ipsFlex-jc:between aXenServerList{{if isset( \IPS\Request::i()->cookie['aXenServerList_widget_hide'] )}} aXenServerList_hide{{endif}}{{if settings.aXenServerList_settings_scroll && ( (isset(\IPS\Request::i()->cookie['aXenServerList_widget_scroll']) && settings.aXenServerList_settings_scroll_control && isset(\IPS\Request::i()->cookie['aXenServerList_widget_scroll_manual'])) || !settings.aXenServerList_settings_scroll_control || (!isset(\IPS\Request::i()->cookie['aXenServerList_widget_scroll_manual']) && settings.aXenServerList_settings_scroll_default) )}} aXenServerList_scroll{{endif}}{{if $orientation != 'vertical' && settings.aXenServerList_settings_fullWidth && ( (isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth']) && settings.aXenServerList_settings_fullWidth_control && isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth_manual'])) || !settings.aXenServerList_settings_fullWidth_control || (!isset(\IPS\Request::i()->cookie['aXenServerList_widget_fullWidth_manual']) && settings.aXenServerList_settings_fullWidth_default) )}} aXenServerList_fullWidth{{endif}}{{if $orientation == 'vertical'}} aXenServerList_vertical{{endif}}">
<span>{lang="aXenServerList_widget_title"}</span>

{{if settings.aXenServerList_settings_scroll && settings.aXenServerList_settings_scroll_control}}
<a href="#" class="ipsType_noUnderline aXenServerList_toggle aXenServerList_toggle_scroll ipsMargin_right:half{{if settings.aXenServerList_settings_scroll_mobile}} ipsResponsive_showDesktop{{endif}}" data-ipstooltip title="{lang='aXenServerList_widget_toggle_scroll'}"></a>
{{endif}}

{{if settings.aXenServerList_settings_fullWidth && settings.aXenServerList_settings_fullWidth_control}}
{{if settings.aXenServerList_settings_fullWidth && settings.aXenServerList_settings_fullWidth_control && $orientation != 'vertical'}}
<a href="#" class="ipsType_noUnderline aXenServerList_toggle aXenServerList_toggle_fullWidth ipsMargin_right:half ipsResponsive_showDesktop" data-ipstooltip title="{lang='aXenServerList_widget_toggle_fullWidth'}"></a>
{{endif}}

Expand Down Expand Up @@ -472,8 +472,8 @@
/* ========== More ========== */
.aXenServerList_item_more {
margin: 0 10px 0 auto;
padding: 5px;
margin: 5px 10px 5px auto;
padding: 0;
flex: 0 0 200px;
}
Expand Down Expand Up @@ -511,6 +511,10 @@
list-style: none;
}
.aXenServerList_item_more_info .aXenServerList_item_more_info\:owners {
display: none;
}
.aXenServerList_item_more_menu_links {
padding: 0;
margin: 10px 0 0 0;
Expand Down Expand Up @@ -552,6 +556,22 @@
width: 350px;
}
/* ========== Orientation vertical ========== */
.aXenServerList_vertical + .aXenServerList_ul .aXenServerList_item {
display: block;
}
.aXenServerList_vertical + .aXenServerList_ul .aXenServerList_item > li {
margin: 10px;
}
.aXenServerList_vertical + .aXenServerList_ul .aXenServerList_item > .aXenServerList_item\:ip,
.aXenServerList_vertical + .aXenServerList_ul .aXenServerList_item > .aXenServerList_item_players,
.aXenServerList_vertical + .aXenServerList_ul .aXenServerList_item > .aXenServerList_item_title,
.aXenServerList_vertical + .aXenServerList_ul .aXenServerList_item > .aXenServerList_item_more > .aXenServerList_item_more_ul {
justify-content: center;
}
/* ========== Full width ========== */
{{if settings.aXenServerList_settings_fullWidth}}
.aXenServerList_fullWidth + .aXenServerList_ul {
Expand All @@ -576,26 +596,32 @@
flex: 0;
}
.aXenServerListMenu_fullWidth .aXenServerList_item_more_menu_links {
.aXenServerListMenu_fullWidth .aXenServerList_item_more_menu_links,
.aXenServerListMenu_fullWidth .aXenServerList_item_more_info .aXenServerList_item_more_info\:owners {
display: flex;
}
{{endif}}
/* ========== RWD ========== */
@media screen and (max-width: 979px) {
.aXenServerList_ul {
.aXenServerList ~ .aXenServerList_ul {
flex-direction: column;
flex-wrap: nowrap;
}
.aXenServerList ~ .aXenServerList_ul > li {
flex: 0 0 100%;
}
.aXenServerList_item {
flex-wrap: wrap;
justify-content: center;
}
.aXenServerList_item_title,
.aXenServerList_item\:ip,
.aXenServerList_item_players {
.aXenServerList_item_players,
.aXenServerList_item_more_ul {
justify-content: center;
}
Expand Down
3 changes: 2 additions & 1 deletion data/versions.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"10000": "1.0.0 Alpha 1",
"10001": "1.0.0 Alpha 2"
"10001": "1.0.0 Alpha 2",
"10002": "1.0.0 Beta 1"
}
Original file line number Diff line number Diff line change
Expand Up @@ -346,19 +346,24 @@

/* ========== RWD ========== */
@media screen and (max-width: 979px) {
.aXenServerList_ul {
.aXenServerList ~ .aXenServerList_ul {
flex-direction: column;
flex-wrap: nowrap;
}

.aXenServerList ~ .aXenServerList_ul > li {
flex: 0 0 100%;
}

.aXenServerList_item {
flex-wrap: wrap;
justify-content: center;
}

.aXenServerList_item_title,
.aXenServerList_item\:ip,
.aXenServerList_item_players {
.aXenServerList_item_players,
.aXenServerList_item_more_ul {
justify-content: center;
}

Expand Down
2 changes: 1 addition & 1 deletion hooks/loadJSandCSS.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public static function baseCss()
{
try {
parent::baseCss();
\IPS\Output::i()->cssFiles = array_merge(\IPS\Output::i()->cssFiles, \IPS\Theme::i()->css('aXenServerList_widget.css', 'axenserverlist', 'front'));
\IPS\Output::i()->cssFiles = array_merge(\IPS\Output::i()->cssFiles, \IPS\Theme::i()->css('widget.css', 'axenserverlist', 'front'));
} catch (\RuntimeException $e) {
if (method_exists(get_parent_class(), __FUNCTION__)) {
return \call_user_func_array('parent::' . __FUNCTION__, \func_get_args());
Expand Down
24 changes: 24 additions & 0 deletions setup/upg_10002/data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"id": 10002,
"name": "1.0.0 Beta 1",
"steps": {
"queries": false,
"lang": true,
"theme": true,
"themeSettings": false,
"javascript": true,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": true,
"tasks": false,
"modules": false,
"widgets": true,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
Loading

0 comments on commit 01ba54c

Please sign in to comment.