Skip to content

Commit

Permalink
Update better license checking
Browse files Browse the repository at this point in the history
  • Loading branch information
GermanBluefox committed Jul 4, 2021
1 parent 25ad455 commit c2934b6
Show file tree
Hide file tree
Showing 3 changed files with 140 additions and 8 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ Notice that these settings are valid only for reconnection and not for the first
-->

## Changelog
### 1.4.1 (2021-07-03)
### __WORK IN PROGRESS__
* (bluefox) Added possibility to check license offline (only special once)

### 1.4.0 (2021-07-01)
Expand Down
60 changes: 54 additions & 6 deletions admin/index_m.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,27 @@
.m .col .select-wrapper+label {
top: -26px;
}
#uuid {
width: 320px;
}
#copyUuid {
cursor: pointer;
display: inline-block;
}
</style>
<script type="text/javascript">
function copyToClipboard(text, e) {
const el = window.document.createElement('textarea');
el.value = text;
window.document.body.appendChild(el);
el.select();
window.document.execCommand('copy');
window.document.body.removeChild(el);
console.log(text);
e && e.stopPropagation();
e && e.preventDefault();
}

function setValue(id, value, onChange) {
var $value = $('#' + id + '.value');
if ($value.attr('type') === 'checkbox') {
Expand Down Expand Up @@ -75,6 +94,18 @@
setValue(key, settings[key], onChange);
}
}

socket.emit('getObject', 'system.meta.uuid', function (err, obj) {
if (obj && obj.native && obj.native.uuid) {
$('#uuid').val(obj.native.uuid);
M.updateTextFields();
}
});
$('#copyUuid').on('click', function (e) {
copyToClipboard($('#uuid').val(), e);
showToast(null, _('Copied'));
});

var $check = $('#check');
$check.click(function () {
$('#check').addClass('disabled');
Expand All @@ -83,7 +114,7 @@
$.ajax({
type: 'POST',
url: 'https://iobroker.net/api/v1/public/cert/',
data: $('#license').val(),
data: JSON.stringify({json: $('#license').val(), uuid: $('#uuid').val()}),
contentType: 'text/plain',
xhrFields: {
withCredentials: false
Expand All @@ -92,12 +123,18 @@
success: function(data, status, request) {
$('#check').removeClass('disabled');
var text = data ? data.result : 'error';
if (data && data.type === 'commercial') {
text += ' (offline)';
if (!data && data.error) {
if (data.type === 'commercial') {
text += ' (offline)';
} else {
text += ' (community)';
}
}
if (data && data.error) {
$('#checkResult').html(_(data.error)).addClass('error').removeClass('success');
} else {
text += ' (community)';
$('#checkResult').html(text).removeClass('error').addClass(data.result === 'OK' ? 'success': '');
}
$('#checkResult').html(text).removeClass('error').addClass(data.result === 'OK' ? 'success': '');
},
error: function (res, error) {
$('#check').removeClass('disabled');
Expand Down Expand Up @@ -134,7 +171,7 @@
<div class="col s12">
<div class="row">
<div class="col s12 m3 l2">
<img src="vis.png" class="logo">
<img src="vis.png" class="logo" alt="logo"/>
</div>
</div>
<div class="row">
Expand All @@ -143,6 +180,17 @@
<label class="translate" for="license">License:</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input id="uuid" type="text" readonly />
<label class="translate" for="uuid">Serial number</label>
<div id="copyUuid" class="translateT" title="Copy to clipboard">
<svg viewBox="0 0 512 512" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"/>
</svg>
</div>
</div>
</div>
<div class="row">
<div class="input-field col s6">
<a class="waves-effect waves-light btn" id="check"><i class="material-icons">help</i><span class="translate">Check license</span></a>
Expand Down
86 changes: 85 additions & 1 deletion admin/words.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,92 @@

systemDictionary = {
"Check license": { "en": "Check license", "de": "Lizenz prüfen", "ru": "Проверить лицензию", "pt": "Verifique a licença", "nl": "Controleer licentie", "fr": "Vérifier la licence", "it": "Controlla la licenza", "es": "Verificar licencia", "pl": "Sprawdź licencję", "zh-cn": "请检查许可证"},
"License:": { "en": "License key:", "de": "License Key:", "ru": "Лицензионный ключ:", "pt": "Chave de licença:", "nl": "Licentiesleutel:", "fr": "Clé de licence:", "it": "Chiave di licenza:", "es": "Clave de licencia:", "pl": "Klucz licencyjny:", "zh-cn": "注册码:"},
"License": { "en": "License key", "de": "License Key", "ru": "Лицензионный ключ", "pt": "Chave de licença", "nl": "Licentiesleutel", "fr": "Clé de licence", "it": "Chiave di licenza", "es": "Clave de licencia", "pl": "Klucz licencyjny", "zh-cn": "注册码"},
"Service is offline. Please try later.": { "en": "Service is offline or no internet available. Please try later or check the internet connection.", "de": "Service ist momentan nicht erreichbar oder keine Internetverbindung vorhanden. Bitte fersuchen Sie später noch ein mal oder prüfen Sie die Internetverbindung.", "ru": "Сервис сейчас недоступен или нет интернет соединения. Попробуйте попозже или проверте интеренет соединение.", "pt": "O serviço está offline ou não há internet disponível. Por favor tente mais tarde ou confira a conexão com a internet.", "nl": "Service is offline of geen internet beschikbaar. Probeer het later opnieuw of controleer de internetverbinding.", "fr": "Le service est hors ligne ou pas disponible sur Internet. Veuillez réessayer plus tard ou vérifier la connexion Internet.", "it": "Il servizio è offline o non disponibile su Internet. Si prega di provare più tardi o controllare la connessione internet.", "es": "El servicio está fuera de línea o no hay internet disponible. Por favor intente más tarde o verifique la conexión a internet.", "pl": "Usługa jest niedostępna lub nie ma dostępu do Internetu. Spróbuj później lub sprawdź połączenie internetowe.", "zh-cn": "服务器离线或主机无法上网。请请检查网络连接, 稍后再试。"},
"instruction": { "en": "To use <b>vis</b>, you must get the license key for it.<br><b>vis</b> is free for private use, but for commercial use it has a price.<br>You can get the license on <a href='https://iobroker.net' target='_blank'>iobroker.net</a> after short registration.", "de": "Man braucht eine Lizenz um <b>vis</b> zu nutzen.<br><b>vis</b> ist kostenlos für private Nutzung. Nur für kommerzielle Gebrauch muss man für eine Lizenz bezahlen.<br>Man kann eine Lizenz auf <a href='https://iobroker.net' target='_blank'>iobroker.net</a> nach der Registrierung bekommen.", "ru": "Для пользования <b>vis</b> необходимо получить лицензионный ключ.<br><b>vis</b> бесплатен для личного использования в некоммерческих целях. Для использования <b>vis</b> в коммерческих целях необходимо заплатить за лицензию.<br>Лицензионный ключ можно получить здесь <a href='https://iobroker.net/accountLicenses' target='_blank'>iobroker.net</a> после регистрации.", "pt": "Para usar <b> vis </b>, você deve obter a chave de licença para isso. <b>vis</b> é grátis para uso privado, mas para uso comercial, ele tem um preço. <br> Você pode obter a licença em <a href='https://iobroker.net' target='_blank'>iobroker.net</a> após curto registro.", "nl": "Als u <b> vis </b> wilt gebruiken, moet u hiervoor de licentiesleutel hebben. <br> <b> vis </b> is gratis voor privégebruik, maar voor commercieel gebruik heeft het een prijs. <br> You kan de licentie krijgen op <a href='https://iobroker.net' target='_blank'>iobroker.net</a> na een korte registratie.", "fr": "Pour utiliser <b> vis </b>, vous devez obtenir la clé de licence. <br> <b>vis</b> est libre pour un usage privé, mais pour un usage commercial, il a un prix. <br> Vous peut obtenir la licence sur <a href='https://iobroker.net' target='_blank'>iobroker.net</a> après une brève inscription.", "it": "Per utilizzare <b> vis </b>, devi ottenere il codice di licenza per esso. <br> <b>vis</b> è gratuito per uso privato, ma per uso commerciale ha un prezzo. <br> Tu può ottenere la licenza su <a href='https://iobroker.net' target='_blank'>iobroker.net</a> dopo una breve registrazione.", "es": "Para usar <b> vis </b>, debe obtener la clave de licencia correspondiente. <br> <b> vis </b> es gratuito para uso privado, pero para uso comercial tiene un precio. <br> Usted puede obtener la licencia en <a href='https://iobroker.net' target='_blank'>iobroker.net</a> después de un breve registro.", "pl": "Aby użyć <b> vis </b>, musisz uzyskać klucz licencyjny. <B> vis </b> jest bezpłatny do użytku prywatnego, ale do celów komercyjnych ma swoją cenę. może uzyskać licencję na <a href='https://iobroker.net' target='_blank'>iobroker.net</a> po krótkiej rejestracji.", "zh-cn": "如果要使用<b>vis</b>, 您必须获取它的注册码.<br><b>vis</b>对个人免费使用, 但是对商业项目有偿使用.<br>您可以在<a href='https://iobroker.net' target='_blank'>iobroker.net</a>网页上购买注册码。"},
"vis adapter settings": { "en": "vis adapter settings", "de": "vis Adapter-Einstellungen", "ru": "Настройки драйвера vis", "pt": "vis as configurações do adaptador", "nl": "vis adapter instellingen", "fr": "paramètres de l'adaptateur vis", "it": "impostazioni della scheda vis", "es": "vis configuración del adaptador", "pl": "ustawienia adaptera vis", "zh-cn": "vis适配器设置"},
"Serial number": {
"en": "Serial number",
"de": "Seriennummer",
"ru": "Серийный номер",
"pt": "Número de série",
"nl": "Serienummer",
"fr": "Numéro de série",
"it": "Numero di serie",
"es": "Número de serie",
"pl": "Numer seryjny",
"zh-cn": "序列号"
},
"Copied": {
"en": "Copied",
"de": "Kopiert",
"ru": "Скопировано",
"pt": "Copiado",
"nl": "gekopieerd",
"fr": "Copié",
"it": "copiato",
"es": "Copiado",
"pl": "Skopiowane",
"zh-cn": "已复制"
},
"Copy to clipboard": {
"en": "Copy to clipboard",
"de": "In die Zwischenablage kopieren",
"ru": "Скопировать в буфер обмена",
"pt": "Copiar para área de transferência",
"nl": "Kopieer naar klembord",
"fr": "Copier dans le presse-papier",
"it": "Copia negli appunti",
"es": "Copiar al portapapeles",
"pl": "Skopiuj do schowka",
"zh-cn": "复制到剪贴板"
},
"offline license has no serial number (UUID)": {
"en": "offline license has no serial number (UUID)",
"de": "Offline-Lizenz hat keine Seriennummer (UUID)",
"ru": "офлайн-лицензия не имеет серийного номера (UUID)",
"pt": "licença offline não tem número de série (UUID)",
"nl": "offline licentie heeft geen serienummer (UUID)",
"fr": "la licence hors ligne n'a pas de numéro de série (UUID)",
"it": "la licenza offline non ha un numero di serie (UUID)",
"es": "la licencia fuera de línea no tiene número de serie (UUID)",
"pl": "licencja offline nie ma numeru seryjnego (UUID)",
"zh-cn": "离线许可证没有序列号 (UUID)"
},
"offline license must be linked to serial number (UUID)": {
"en": "offline license must be linked to serial number (UUID)",
"de": "Offline-Lizenz muss mit Seriennummer (UUID) verknüpft sein",
"ru": "офлайн-лицензия должна быть привязана к серийному номеру (UUID)",
"pt": "a licença offline deve ser vinculada ao número de série (UUID)",
"nl": "offline licentie moet gekoppeld zijn aan serienummer (UUID)",
"fr": "la licence hors ligne doit être liée au numéro de série (UUID)",
"it": "la licenza offline deve essere collegata al numero di serie (UUID)",
"es": "la licencia fuera de línea debe estar vinculada al número de serie (UUID)",
"pl": "licencja offline musi być połączona z numerem seryjnym (UUID)",
"zh-cn": "离线许可证必须链接到序列号 (UUID)"
},
"serial number (UUID) not provided": {
"en": "serial number (UUID) not provided",
"de": "Seriennummer (UUID) nicht angegeben",
"ru": "серийный номер (UUID) не указан",
"pt": "número de série (UUID) não fornecido",
"nl": "serienummer (UUID) niet verstrekt",
"fr": "numéro de série (UUID) non fourni",
"it": "numero di serie (UUID) non fornito",
"es": "número de serie (UUID) no proporcionado",
"pl": "brak numeru seryjnego (UUID)",
"zh-cn": "未提供序列号 (UUID)"
},
"invalid": {
"en": "invalid",
"de": "ungültig",
"ru": "невалидная",
"pt": "inválido",
"nl": "ongeldig",
"fr": "invalide",
"it": "non valido",
"es": "inválido",
"pl": "nieważny",
"zh-cn": "无效的"
}
};

0 comments on commit c2934b6

Please sign in to comment.