• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
[Мануал]Гаджет мониторинга сервера для рабочего стола
Malezha
Армия спасения
Про гаджеты как такие

Гаджеты в Windows 7 – это HTML или скриптовые приложения, которые отображают какую либо информацию из сторонних источников или выполняют определенную функцию.

Например, гаджет погоды отображает информацию о погодных условиях, а гаджет записки обеспечивает простейший функционал для создания ежедневных записей. Обычно Гаджеты Windows 7 визуально привлекательны и оптимизированы для того, чтобы можно было качественно выполнять какую-то одну конкретную задачу.

Чаще всего гаджеты можно увидеть на боковой панели Windows (Sidebar), которая обычно расположена на правой стороне рабочего стола. Гаджеты в Windows 7 могут быть расположены не только на боковой панели. Для этого достаточно просто их поместить в любое место рабочего стола. Гаджеты – это часть рабочего стола так же, как и кнопка Start и область уведомлений.

Структура гаджетов

Папка уже установленного гаджета находятся по адресам:
%USERPROFILE%\AppData\Local\Microsoft\Windows Sidebar\Gadgets (для текущего пользователя)
%SYSTEM_ROOT%\Program Files\Windows Sidebar\Gadgets (для всех пользователей)

Любой гаджет состоит как минимум из 2 файлов:
1) gadget.xml (самый главный, его имя нельзя изменить), в нем описан манифест гаджета, имя разработчика, сайт, версия, путь к логотипу и т.п
2) gadget.html (его название можно сменить, подробнее ниже), в нем описывайте все как в обычной веб страничке, можете подключить CSS, javascript и др.

В папке гаджета так же могу находиться другие файлы используемые гаджетом. Признаком хорошего тона написания гаджетов будет размещение каждого файла в отдельную папку соответственно его типу (например: картинки складывать в папку img, каскадные таблицы стилей в css, скрипты в vbs или js).
Сам файл установки гаджета представляет из себя zip-архив со средним сжатием. То есть для упаковки готового гаджета достаточно заархивировать все файлы гаджета форматом zip и изменить разрешение на *.gadget.

Структура gadget.xml

“Манифест” гаджетов – это XML файл, который содержит общую конфигурацию и информацию для ассоциированного гаджета. Информация, указанная манифестом, включает мета-информацию, которая передается пользователю в диалоге информации о гаджетах таких как: иконка для гаджета, разработчика гаджета и т.п. Вся эта информация определяется в манифесте. Имя манифеста всегда должно быть gadget.xml.

Стандартная структура манифеста гаджета:

Code
<gadget>
<name>
Название гаджета
</name>
<version>
версия гаджета
</version>
<author name="имя автора">
<info url="ссылка на сайт разработчика"/>
<logo src="путь к логотипу"/>
</author>
<copyright>
Владелец гаджета
</copyright>
<icons>
<icon width="64" height="64" src="путь к иконке гаджета"/>
</icons>
<hosts>
<host name="sidebar">
<base type="HTML" apiVersion="1.0.0" src="путь к файлу .html основное окно"/>
<permissions>
full
</permissions>
<platform minPlatformVersion="0.3"/>
</host>
</hosts>
</gadget>


Обратите внимание на строку:
Code
<base type="HTML" apiVersion="1.0.0" src="gadget.html"/>
Вместо gadget.html можно использовать любое другое название для файла основного окна гаджета.

Структура gadget.html

Данный файл представляет собой обычную html станицу (пример приводить не буду), но имеет некоторые особенности функций JavaScript (я рассмотрю только несколько, для более подробного не хватит одной темы biggrin ).

Поскольку гаджет представляет собой ограниченную страницу, его границы нужно указывать посредством CSS:
Code
body{
          width: 200px;
          height: 80px;
}


Основное отличие от стандартного HTML4 - это способ описания и вставки фона для гаджета:
Code
<body>
<g:background
id="background"
src="img/bg.png"
style="position:absolute;top:0;left:0;z-index:-999;no=repeat;" />
Некоторые параметры правда можно установить посредством CSS:
Code
body{
          background-image: url('../img/bg.png');
          background-repeat: no-repeat;
}


Разбор непосредственно гаджета мониторинга

WoW.gadget.zip - удалив ".zip" получите установочный файл гаджета.
getdata.php - скрипт получения данных, нужно разместить на веб-сервере.

getdata.php

Настройка подключения к базе.
Code
$servername = "wow server";
$gameport="8085";   // Порт игрового сервера 8085 или 8086
$dbip="localhost";  // IP к mysql
$dbport="3306";     // порт к mysql
$dblogin="root";    // Логин для mysql
$dbpass=""; // Пароль для mysql
$cdb="characters";    //база персов 1 реалма
$rdb="auth";
$realmid="1";

Вывод данных для гаджета:
Code
echo "check_gadget_update('1.0'); html = ''; html += getservstat('$servername','$stats','$online','$mon');";

Обратите внимание на "check_gadget_update('1.0');" - эта функция позволяет обновлять гаджет. Измените версию и гаджет будет предлагать обновить себя.

Гаджет

Как изменить файл манифеста можно посмотреть в первой части мануала, так что я сразу перейду к самому скрипту.

Открывайте "ex-game.html".
Code
var jqxhr = $.ajax({ url: 'http://192.168.1.100/getdata.php',  dataType: 'script', timeout: 4000})
"http://192.168.1.100/getdata.php" изменить на адрес по которому доступен "getdata.php".
Code
html = '<div class="error"><b>Доступна новая версия!</b><br /><a href="http://wowserver.com/gatget/wowgadget.gadget">Загрузить</a></div>';
"http://wowserver.com/gatget/wowgadget.gadget" изменить на место, по которому будет доступно обновление гаджета (если такое планируется).
Code
now_version = 1.0;
Текущая версия гаджета. Если не совпадает с значением в скрипте (смотрите выше), предлагает обновиться.
Code
<a href="http://wowserver.com/" id="homeLink"> </a>
"http://wowserver.com/" меняем на адрес своего сайта.
Code
<title>WoW Servers Status</title>
"WoW Servers Status" меняем на название своего сервера.

Название реалма и адрес сайта прилеплен к фоновой картинке, она доступна по "\img\bg.png"

Измененный гаджет запаковываем в *.zip и меняем разрешение на *.gadget. Следите что бы в корне архива был файл манифеста (gadget.xml).

Скрипт гаджета взял у Herurg'a (копирайты в манифесте) за что ему большое спасибо.
Сообщение # 1 отредактировано Malezha - Четверг, 23.02.2012, 11:47
Pro100_Anubis
Сержант
чтото не работает у меня
Сообщение # 2 написано 04.10.2013 в 23:05
smilesdc
++i + ++i
Довольно не плохо.
Сообщение # 3 написано 06.10.2013 в 01:43
Pro100doGuz
Скаут
Гаджет норм пашет, а вот php файл не робит почему-то

Добавлено (16.01.2014, 00:05)
---------------------------------------------
Кто знает почему, помогите
Я все провел, вот код:

Сообщение # 4 отредактировано Pro100doGuz - Четверг, 16.01.2014, 00:06
BackkorCraft
Скаут
Цитата Pro100doGuz ()
Кто знает почему, помогите
порт к mysql - 21?
Сообщение # 5 написано 19.02.2014 в 23:50
WoT_stre
Капрал
3306
Занимаюсь поднятием Бк
Сообщение # 6 написано 19.04.2014 в 02:42
  • Страница 1 из 1
  • 1
Поиск: