Skip to content

Commit

Permalink
chore(ianseo): update to 2024-12-08 rev 5 and fix issues
Browse files Browse the repository at this point in the history
  • Loading branch information
ecelis committed Dec 18, 2024
1 parent 7144471 commit 7ef22f1
Show file tree
Hide file tree
Showing 719 changed files with 147,810 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/Accreditation/PrintAcc.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php
require_once(dirname(dirname(__FILE__)) . '/config.php');
checkACL(AclAccreditation, AclReadWrite);
$badge2Print = urldecode($_REQUEST["toPrint"] ?? '');
$specificAutomator='';
$customPrinter = $_REQUEST["printer"] ?? '';;

runJack("AutoCheckinPrint", $_SESSION['TourId'], array("URL"=>$badge2Print , "Automator"=>$specificAutomator, "Printer"=>$customPrinter, "TourId"=>$_SESSION['TourId']));
51 changes: 51 additions & 0 deletions src/Api/ISK-NG/ManualDataDownload.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
var lastDeviceCode = '';

$(function() {
$('#runningDeviceId').html(lastDeviceCode);
$('#data').focus();
$("#data").on('keyup', function (e) {
if (e.key === 'Enter') {
sendMsg();
}
});

});

function sendMsg() {
if(isJsonString($('#data').val())) {
let tmpPayload = JSON.parse($('#data').val());
if(tmpPayload.action === 'handshake') {
lastDeviceCode = tmpPayload.uuid;
} else {
if(tmpPayload.device === undefined) {
tmpPayload.device = lastDeviceCode;
} else {
lastDeviceCode = tmpPayload.device;
}
sendPayload(tmpPayload);
}
$('#runningDeviceId').html(lastDeviceCode);
$('#qrLastRead').html(new Date().toLocaleTimeString()
+ ' - '
+ (tmpPayload.action === 'handshake' ? 'Device' : (tmpPayload.action === 'sendall' ? 'Scorecard' : tmpPayload.action)));
$('#data').val('');
$('#data').focus();
} else {
$.alert({
title: Error,
content: WrongData,
boxWidth: '30%',
type: 'red',
useBootstrap: false,
});
}
}

function isJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
54 changes: 54 additions & 0 deletions src/Api/ISK-NG/ManualDataDownload.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

require_once(dirname(__FILE__) . '/config.php');
require_once('Common/Lib/CommonLib.php');

CheckTourSession(true);
if(!($_SESSION["UseApi"] == ISK_NG_LIVE_CODE AND module_exists('ISK-NG_Live'))) {
CD_redirect($CFG->ROOT_DIR);
}
checkACL(AclISKServer, AclReadWrite);

$PAGE_TITLE=get_text('ISK-GetQRData');
$IncludeJquery = true;
//$IncludeFA = true;

$JS_SCRIPT=array(
phpVars2js(array(
'isLive' => ($_SESSION["UseApi"] === ISK_NG_LIVE_CODE and module_exists('ISK-NG_Live')),
'tourCode' => $_SESSION["TourCode"],
'SocketIP'=>getModuleParameter('ISK-NG', 'SocketIP', gethostbyname($_SERVER['HTTP_HOST'])),
'SocketPort'=>getModuleParameter('ISK-NG', 'SocketPort', '12346'),
'Error' => get_text('Error'),
'WrongData' => get_text('WrongData', 'Errors')
)),
($_SESSION["UseApi"] == ISK_NG_LIVE_CODE ? '<script type="text/javascript" src="./socket.js"></script>' : '<script></script>'),
'<script type="text/javascript" src="./ManualDataDownload.js"></script>',
'<link href="./isk.css" rel="stylesheet" type="text/css">',
);

include('Common/Templates/head.php');

echo '<table class="Tabella mb-3">'.
'<tr><th colspan="3" class="Title">' . $PAGE_TITLE. '</th></tr>';
echo '<tr>'.
(($_SESSION["UseApi"] === ISK_NG_LIVE_CODE) ?
'<th class="w-15">' . get_text('ISK-ConnectionStatus', 'Api') . '</th>'.
'<th class="w-35">' . get_text('Masters', 'Api') . '</th>'.
'<th class="w-50">' . get_text('ISK-DeviceId', 'Api') . '</th>'
: ''
).
'</tr>';
echo '<tr>'.
(($_SESSION["UseApi"] === ISK_NG_LIVE_CODE) ?
'<td id="ctrConnStatus" class="socketOFF" ondblclick="changeMasterSocket()">DISCONNECTED</td>'.
'<td class="txtFixW"><span id="ctrMastersNo" class="TargetAssigned"></span><span id="ctrMasters"></span></td>'.
'<td class="txtFixW"><span id="runningDeviceId" class="TargetAssigned"></span><span class="ml-3" id="qrLastRead"></span></td>'
: ''
).
'</tr>';
echo '<tr><td colspan="3" class="Center"><textarea id="data" class="w-80" name="data" rows="25"></textarea></td></tr>'.
'<tr><td colspan="3" class="Center"><input type="button" onclick="sendMsg()" value="'.get_text("CmdSend","Tournament").'"></td></tr>'.
'</table>';

include('Common/Templates/tail.php');
16 changes: 16 additions & 0 deletions src/Api/ISK-NG/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Ianseo Scorekeeper NG

## Debug

If you are instructed to, please do the following to submit debug information to the developers:

- create a folder called "log" (all lowercase) inside the the ISK-NG folder and make it world-writeable
- open the competition as usual, then add `?ianseo-debug-session` (including the "**?**") at the URL

- Ianseo will turn "brownish" to show it is in debug mode
- only the browser where you modified the URL is in debug mode, letting other connected devices to behave normally
- to go back to the usual bluish ianseo, just close the competition or quit the browser (or use a different browser)

This procedure will start log the comunication between ianseo and the devices into a file called `messages-YYYY-MM-DD.log` where Y, M and D are current year, month and day

You will then need to send the file(s) of the problematic day(s) with the export of the competition to [email protected]
Binary file added src/Common/Images/ACL3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions src/Common/Languages/ar/Awards.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php
$lang['CM0']='قوس مركب رجال';
$lang['CM1']='فرق قوس مركب رجال';
$lang['CustomAward']='جائزة مخصصة';
$lang['CustomEvent']='اسم الجائزة';
$lang['CustomNation']='الدولة الحاصلة على الجائزة';
$lang['CustomPrize']='تقديم الجائزة';
$lang['CustomWinner']='الشخص الحاصل على الجائزة';
$lang['CW0']='قوس مركب سيدات';
$lang['CW1']='فرق قوس مركب سيدات';
$lang['CX']='فرق مختلط قوس مركب';
$lang['CX1']='فرق مختلط قوس مركب';
$lang['EvNameTranslated']='حدث مصحوب بالترجمة';
$lang['PrecisionPrizeEvent']='جائزة الدقة';
$lang['PrecPrizePresentation']='الفائز بجائزة الدقة للقوس المركب رجال في المرحلة XXX';
$lang['RM0']='قوس أوليمبي رجال';
$lang['RM1']='فرق قوس أوليمبي رجال';
$lang['RW0']='قوس أوليمبي سيدات';
$lang['RW1']='فرق قوس أوليمبي سيدات';
$lang['RX']='فرق مختلط رجال قوس أوليمبي';
$lang['RX1']='فرق مختلط رجال قوس أوليمبي';
$lang['WaitAthletes']='انتظر الرياضيين';
?>
6 changes: 6 additions & 0 deletions src/Common/Languages/ar/ISK.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?php
$lang['0_Phase']='الذهبية';
$lang['UpdateLang']='تحديث اللغات';
$lang['Winner']='الفائز';
$lang['Yes']='نعم';
?>
181 changes: 181 additions & 0 deletions src/Common/Languages/es-ar/ISK-App.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
<?php
$lang['0_Phase']='Oro';
$lang['12_Phase']='1/12';
$lang['14_Phase']='1/14';
$lang['16_Phase']='1/16';
$lang['1_Phase']='Bronce';
$lang['24_Phase']='1/24';
$lang['2_Phase']='Semifinales';
$lang['32_Phase']='1/32';
$lang['48_Phase']='1/48';
$lang['4_Phase']='Cuartos de Final';
$lang['64_Phase']='1/64';
$lang['7_Phase']='1/7';
$lang['8_Phase']='1/8';
$lang['AboutAppDeveloper']='App desarrollada por';
$lang['AboutPrivacy']='Política de Privacidad de Ianseo';
$lang['AboutProducer']='Diseñado y desarrollado por';
$lang['AboutTitle']='Acerca de ScoreKeeper';
$lang['AboutUX']='UX diseñada en cooperación con';
$lang['AppPageAbout']='Acerca de';
$lang['AppPageHelp']='Ayuda';
$lang['AppPageSettings']='Configuración';
$lang['AppPageStart']='Página de inicio';
$lang['AppTitle']='Scorekeeper NG';
$lang['BarcodeErrorMessage']='Código de barras inválido';
$lang['BarcodeErrorTitle']='Error Código de Barras';
$lang['BarcodeScanPrompt']='Centrar el código QR en el lector';
$lang['DeviceId']='ID Dispositivo';
$lang['EnterPinCodeInvalidValue']='Código de autorización inválido';
$lang['EnterPinCodeMessage']='Ingrese el código de autorización para usar ésta función';
$lang['EnterPinCodeTitle']='Código de autorización requerido';
$lang['EnterPinCodeValue']='Código';
$lang['FabReconnect']='Reconectar';
$lang['GenericCancel']='Cancelar';
$lang['GenericDelete']='Eliminar';
$lang['GenericNext']='Próximo';
$lang['GenericNo']='No';
$lang['GenericOk']='OK';
$lang['GenericPrevious']='Anterior';
$lang['GenericYes']='Si';
$lang['HelpContactHead']='Contacto';
$lang['HelpContactText']='Si tiene problemas con la aplicación y necesita asistencia, puede contactarse enviando un email a';
$lang['HelpIntro13D']='3D';
$lang['HelpIntro1Field']='Juego de Campo';
$lang['HelpIntro1Head']='ScoreKeeper NG';
$lang['HelpIntro1RR']='Todos contra Todos';
$lang['HelpIntro1TargetIn']='Indoor';
$lang['HelpIntro1TargetOut']='Aire Libre';
$lang['HelpIntro1Text']='es la próxima generación de aplicaciones de carga de puntos en tiro con arco! Es una aplicación complementaria del software de tiro con arco Ianseo y permite la carga de puntos en vivo de:';
$lang['HelpIntro2Elim']='Eliminatorias';
$lang['HelpIntro2MI']='Individual';
$lang['HelpIntro2MT']='Por equipos';
$lang['HelpIntro2Qual']='Clasificación';
$lang['HelpIntro2Text']='La aplicación permite puntuar todas las facetas de una competencia de arquería, incluyendo:';
$lang['HelpIntro3Lite']='Lite';
$lang['HelpIntro3Live']='Live';
$lang['HelpIntro3Pro']='Pro';
$lang['HelpIntro3Text']='Scorekeeper NG funciona igual de bien en competencias con versiones Lite, Pro o Live en Ianseo. Dependiendo del tipo de competencia, la aplicación habilitará o deshabilitará la posibilidad de utilizar algunas de las funciones avanzadas.';
$lang['HelpIntro4Text']='La aplicación posee cinco funciones principales:';
$lang['HelpMainHead']='Principal';
$lang['HelpMainText']='Esta es la pantalla principal utilizada por los arqueros una vez que la aplicación está configurada y conectada a Ianseo. Se muestra la información de la competencia, el turno actual y una lista de arqueros que están configurados en las contenciones determinadas. Para cada arquero, se muestran las rondas actuales, tipo de blanco, los valores de cada flecha y los totales. Al seleccionar un arquero se mostrará la pantalla de puntuación. También es posible ir a la hoja de puntuación y ver información de todos los arqueros y series ejecutadas.';
$lang['HelpScorecardHead']='Planilla de puntos';
$lang['HelpScoringHead']='Carga de Puntos';
$lang['HelpSettingsHead']='Configuración';
$lang['HelpStartHead']='Página de Inicio';
$lang['MainDistance']='Distancia';
$lang['MainInvalidKey']='Licencia Inválida';
$lang['MainNotInUse']='Dispositivo no está en uso';
$lang['MainSignatureTitle']='Puntuación completada';
$lang['MainTargets']='Contención(es) asignadas';
$lang['MainTotal']='Total';
$lang['MainWinner']='GANADOR';
$lang['MenuAppVersion']='Versión:';
$lang['MenuCloseMenu']='Cerrar menú';
$lang['MenuDeviceId']='ID Dispositivo:';
$lang['MenuExitApp']='Salir';
$lang['ScorecardArrows']='Puntajes';
$lang['ScorecardCompTotal']='Total';
$lang['ScorecardDistTotal']='Acum';
$lang['ScorecardEnd']='Ronda';
$lang['ScorecardEndTotal']='Parcial';
$lang['ScorecardSetPoints']='Set';
$lang['ScorecardTarget']='Contenc.';
$lang['ScoreTotalsCloseButton']='Cerrar';
$lang['ScoreTotalsConfirmButton']='Confirmar';
$lang['ScoreTotalsConfirmOrReview']='Uno o más de los totales no coinciden. Cambie los valores y presione Confirmar para verificar nuevamente o presione Cerrar para regresar y verificar sus puntajes.';
$lang['ScoreTotalsMessage']='Ingrese los resultados desde su planilla de puntuación';
$lang['ScoreTotalsMissingValues']='Por favor ingrese todos los valores solicitados';
$lang['ScoreTotalsScore']='Puntaje total';
$lang['ScoringDeleteArrow']='Eliminar Flecha';
$lang['ScoringDeleteEnd']='Eliminar Ronda';
$lang['ScoringDeleteEndConfirmMessage']='Realmente quiere borrar todas las flechas de la ronda seleccionada?';
$lang['ScoringDistTotal']='Total';
$lang['ScoringEndTotal']='Parcial';
$lang['SettingsChooseValue']='Elegir';
$lang['SettingsCompetitionType']='Tipo de Prueba';
$lang['SettingsConnectionCategory']='Conexión';
$lang['SettingsConnectionCompCode']='Código de la Competencia';
$lang['SettingsConnectionSocketAddress']='Dirección Socket';
$lang['SettingsConnectionSocketPort']='Puerto Socket';
$lang['SettingsConnectionUrl']='Url';
$lang['SettingsCouldNotGetCompInfo']='Imposible obtener información de la competencia';
$lang['SettingsCouldNotGetEventInfo']='Imposible obtener información del evento';
$lang['SettingsDeviceNotAllowed']='Dispositivo no permitido para ésta competencia. Verifique la configuración o contáctese con el organizador del evento.';
$lang['SettingsDeviceUnknownError']='Dispositivo no autorizado por Ianseo por razones desconocidas';
$lang['SettingsElimFirstTarget']='Primer Contención';
$lang['SettingsEventSelection']='Seleccionar Evento';
$lang['SettingsFunctionsCategory']='Otras funciones';
$lang['SettingsFunctionsResetSettings']='Reiniciar configuración a valores por defecto';
$lang['SettingsGenerateQr']='Generar';
$lang['SettingsGpsCategory']='Ubicación GPS';
$lang['SettingsGpsFrequency']='Frecuencia';
$lang['SettingsGpsMinute']='minuto';
$lang['SettingsGpsMinutes']='minutos';
$lang['SettingsGpsSeconds']='segundos';
$lang['SettingsGpsSendPosition']='Enviar ubicación del dispositivo';
$lang['SettingsLanguageCategory']='Idioma';
$lang['SettingsLanguageCurrent']='Idioma Seleccionado';
$lang['SettingsLanguageUpdate']='Actualizar Idiomas';
$lang['SettingsManualAllDistances']='Todas';
$lang['SettingsManualDistance']='Serie';
$lang['SettingsManualEvent']='Prueba';
$lang['SettingsManualMatch']='Oponente';
$lang['SettingsManualPhase']='Fase';
$lang['SettingsManualSession']='Turnos';
$lang['SettingsManualStage']='Etapa';
$lang['SettingsManualTarget']='Contención';
$lang['SettingsOtherCategory']='Otras opciones';
$lang['SettingsOtherSignatureNone']='No';
$lang['SettingsOtherSignatureScan']='Escanear ID Arquero';
$lang['SettingsQrCodesCategory']='Códigos QR';
$lang['SettingsQrCodesDevice']='Dispositivo';
$lang['SettingsQrCodesScorecard']='Planilla de Puntuación';
$lang['SettingsReset']='Reiniciar';
$lang['SettingsSaveConfig']='Guardar';
$lang['SettingsScanSendQr']='Enviar';
$lang['SettingsScanSendQrError']='Imposible procesar el código QR';
$lang['SettingsScanSendQrOk']='Código QR enviado a Ianseo';
$lang['SettingsShowAdvanced']='Avanzado';
$lang['SettingsStageMI']='Encuentros - Individual';
$lang['SettingsStageMT']='Encuentros - Equipos';
$lang['SettingsStageQ']='Clasificatorias';
$lang['SettingsStageRI']='Todos contra Todos - Prueba Individual';
$lang['SettingsStageRT']='Todos contra Todos - Equipos';
$lang['SettingsTitle']='Configuración';
$lang['SettingsWifiAdd']='Añadir WiFi';
$lang['SettingsWifiAddNew']='Añadir nuevo SSID WiFi';
$lang['SettingsWifiCategory']='WiFi';
$lang['SettingsWifiEdit']='Editar WiFi';
$lang['SetupManually']='Configuración Manual';
$lang['SetupNeedHelp']='Necesita Ayuda?';
$lang['SetupUsingBarcode']='Configurar usando QR';
$lang['ShootoffClosestNew']='Nuevo Shoot-Off';
$lang['SignatureClear']='Limpiar';
$lang['SignatureIncorrectCodeTitle']='Código de barras incorrecto';
$lang['SignatureReturnDev']='Devolver dispositivo al equipo de resultados';
$lang['SignatureSaved']='Guardado!';
$lang['SignatureSaveSign']='Guardar firma';
$lang['SignatureSignature']='Firma';
$lang['SignatureSuccess']='OK';
$lang['SignatureTextArcher']='Firma Arquero';
$lang['SignatureTextScorer']='Firma Planillero';
$lang['SignatureTitle']='Firmar planilla de puntos';
$lang['SignatureTitleFinished']='Planilla de puntos finalizada';
$lang['SignatureVerificationFailed']='Imposible verificar el código. Verifique la conexión de red e intente nuevamente.';
$lang['SignatureVerified']='Verificado!';
$lang['UpdateLangAdditional']='Idiomas Adicionales';
$lang['UpdateLangGetAll']='Obteniendo idiomas disponibles...';
$lang['UpdateLangGetSingle']='Descargando idioma...';
$lang['UpdateLangInstalled']='Idiomas Instalados';
$lang['UpdateLangTitle']='Actualizar Idiomas';
$lang['WiFiCannotAdd']='WIFI: No se puede añadir WiFi {{n}}';
$lang['WiFiCannotConnect']='WIFI: No se puede conectar a WiFi {{n}}';
$lang['WiFiConnected']='WIFI: Conectado a WiFi {{n}}';
$lang['WiFiDeviceEnabled']='WIFI: Dispositivo habilitado';
$lang['WiFiDeviceNotEnabled']='WIFI: Dispositivo NO habilitado';
$lang['WifiPassword']='Contraseña';
$lang['WifiSsid']='SSID';
$lang['WifiTargetFrom']='Contención desde';
$lang['WifiTargetTo']='Contención hasta';
?>
40 changes: 40 additions & 0 deletions src/Common/Languages/es-ar/ODF.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?php
$lang['AssignAndSend']='Asignar y Enviar';
$lang['BrokenRecords']='Records Superados';
$lang['DescrCONN']='Comenzar Transmisión / Detener Transmisión / KA';
$lang['DirNotWriteable']='Imposible escribir en $a. Verifique los Permisos!';
$lang['DocumentCode']='Código Documento';
$lang['DocumentLastSent']='Fecha/Hora último envío';
$lang['DocumentStatus']='Estado Documento';
$lang['DocumentSubcode']='Subcódigo Documento';
$lang['DocumentType']='Tipo Documento';
$lang['DocumentVersion']='Versión';
$lang['GoodMorning']='BUENOS DIAS';
$lang['GoodNight']='BUENAS NOCHES';
$lang['IntCONN']='Conexión (DT_LOCAL_XX)';
$lang['IntEVENT']='Nombre Evento';
$lang['IntFUNC']='Función';
$lang['IntMATCH']='Juegos';
$lang['IntRES']='Resultados';
$lang['IntTRANSLATE']='Cadenas Multi Idiomas';
$lang['LangNotSupported']='Idioma $a no soportado';
$lang['LogNotWritable']='PRECAUCION: El sistema no puede escribir en el directorio $a. Por favor, cambie los privilegios!';
$lang['LoserMatchName']='Perdedor del juego $a';
$lang['MissingFile']='Archivo Faltante';
$lang['NoDataNothingSent']='Sin datos todavía';
$lang['Receiver']='Receptor';
$lang['SendNewMessage']='Enviar Nuevo Mensaje';
$lang['SendOldMessage']='Re enviar';
$lang['SendOldMessageHelp']='Re enviar mensajes verificados';
$lang['SourceCode']='Código Fuente';
$lang['Test']='Probar';
$lang['TestMode']='Producción/Modo Prueba';
$lang['TMMeeting']='Reunión Capitanes de Equipo';
$lang['Transmitter']='Transmisor';
$lang['TypEVENT']='Descripción del Evento';
$lang['TypNAME']='Descripción';
$lang['TypSCHEDLOC']='Ubicación de la Descripción';
$lang['TypSCHEDVEN']='Descripción del Lugar';
$lang['TypSTATUS']='Estado';
$lang['WinnerMatchName']='Ganador del juego $a';
?>
Loading

0 comments on commit 7ef22f1

Please sign in to comment.