Plugin - Check feedbacks from PR1

pull/3914/head
Christian 4 years ago
parent f62bf9c278
commit a0532c5382
  1. 4
      plugin/lti_provider/LtiProviderPlugin.php
  2. 10
      plugin/lti_provider/db/lti13_cookie.php
  3. 2
      plugin/lti_provider/delete.php
  4. 2
      plugin/lti_provider/edit.php
  5. 26
      plugin/lti_provider/lang/english.php
  6. 26
      plugin/lti_provider/lang/french.php
  7. 26
      plugin/lti_provider/lang/spanish.php
  8. 10
      plugin/lti_provider/provider_settings.php
  9. 12
      plugin/lti_provider/src/Form/FrmAdd.php
  10. 12
      plugin/lti_provider/src/Form/FrmEdit.php
  11. 12
      plugin/lti_provider/view/admin.tpl

@ -25,14 +25,14 @@ class LtiProviderPlugin extends Plugin
$author = 'Christian Beeznest'; $author = 'Christian Beeznest';
$publicKey = $this->getPublicKey(); $publicKey = $this->getPublicKey();
$message = Display::return_message($this->get_lang('description')); $message = Display::return_message($this->get_lang('Description'));
if (empty($publicKey)) { if (empty($publicKey)) {
$publicKey = $this->get_lang('GenerateKeyPairInfo'); $publicKey = $this->get_lang('GenerateKeyPairInfo');
} }
$pkHtml = '<div class="form-group "> $pkHtml = '<div class="form-group ">
<label for="lti_provider_public_key" class="col-sm-2 control-label">'.$this->get_lang('public_key').'</label> <label for="lti_provider_public_key" class="col-sm-2 control-label">'.$this->get_lang('PublicKey').'</label>
<div class="col-sm-8"> <div class="col-sm-8">
<pre>'.$publicKey.'</pre> <pre>'.$publicKey.'</pre>
<p class="help-block"></p> <p class="help-block"></p>

@ -19,21 +19,21 @@ class Lti13Cookie implements Lti1p3Cookie
public function setCookie($name, $value, $exp = 3600, $options = []): self public function setCookie($name, $value, $exp = 3600, $options = []): self
{ {
$cookie_options = [ $cookieOptions = [
'expires' => time() + $exp 'expires' => time() + $exp
]; ];
// SameSite none and secure will be required for tools to work inside iframes // SameSite none and secure will be required for tools to work inside iframes
/*$same_site_options = [ $sameSiteOptions = [
'samesite' => 'None', 'samesite' => 'None',
'secure' => false, 'secure' => false,
'httponly' => true 'httponly' => true
];*/ ];
setcookie($name, $value, array_merge($cookie_options, $same_site_options, $options)); setcookie($name, $value, array_merge($cookieOptions, $sameSiteOptions, $options));
// Set a second fallback cookie in the event that "SameSite" is not supported // Set a second fallback cookie in the event that "SameSite" is not supported
setcookie("LEGACY_" . $name, $value, array_merge($cookie_options, $options)); setcookie("LEGACY_" . $name, $value, array_merge($cookieOptions, $options));
return $this; return $this;
} }
} }

@ -13,7 +13,7 @@ if (!isset($_REQUEST['id'])) {
api_not_allowed(true); api_not_allowed(true);
} }
$platformId = (int)$_REQUEST['id']; $platformId = (int) $_REQUEST['id'];
$plugin = LtiProviderPlugin::create(); $plugin = LtiProviderPlugin::create();
$em = Database::getManager(); $em = Database::getManager();

@ -14,7 +14,7 @@ if (!isset($_REQUEST['id'])) {
api_not_allowed(true); api_not_allowed(true);
} }
$platformId = (int)$_REQUEST['id']; $platformId = (int) $_REQUEST['id'];
$plugin = LtiProviderPlugin::create(); $plugin = LtiProviderPlugin::create();
$em = Database::getManager(); $em = Database::getManager();

@ -3,7 +3,7 @@
$strings['plugin_title'] = 'LTI 1.3 Advantage Provider'; $strings['plugin_title'] = 'LTI 1.3 Advantage Provider';
$strings['plugin_comment'] = 'Simple application developed as a way to demonstrate how to build an IMS LTI tool provider'; $strings['plugin_comment'] = 'Simple application developed as a way to demonstrate how to build an IMS LTI tool provider';
$strings['description'] = 'The application allows a student inside a course of the platform with external tools which is scored (Assigment and Grade Services) and generating reporting of their members (NRP Services). $strings['Description'] = 'The application allows a student inside a course of the platform with external tools which is scored (Assigment and Grade Services) and generating reporting of their members (NRP Services).
Here are your LTI connection details to try out this app:'; Here are your LTI connection details to try out this app:';
$strings['LtiProviderDescription'] = 'First thing you will need is to configure your registration and deployment. To configure your registration $strings['LtiProviderDescription'] = 'First thing you will need is to configure your registration and deployment. To configure your registration
fill in the form the required values for deployment in your platform'; fill in the form the required values for deployment in your platform';
@ -13,18 +13,18 @@ $strings['EditPlatform'] = 'Edit the customer platform';
$strings['PlatformName'] = 'LMS (issuer)'; $strings['PlatformName'] = 'LMS (issuer)';
$strings['PlatformEdited'] = 'Platform details edited'; $strings['PlatformEdited'] = 'Platform details edited';
$strings['PlatformDeleted'] = 'Platform deleted'; $strings['PlatformDeleted'] = 'Platform deleted';
$strings['client_id'] = 'Client ID'; $strings['ClientId'] = 'Client ID';
$strings['launch_url'] = 'Launch URL'; $strings['LaunchUrl'] = 'Launch URL';
$strings['login_url'] = 'Login URL'; $strings['LoginUrl'] = 'Login URL';
$strings['redirect_url'] = 'Redirect URL'; $strings['RedirectUrl'] = 'Redirect URL';
$strings['auth_login_url'] = 'OIDC Auth URL'; $strings['AuthLoginUrl'] = 'OIDC Auth URL';
$strings['auth_token_url'] = 'OAuth2 Access Token URL'; $strings['AuthTokenUrl'] = 'OAuth2 Access Token URL';
$strings['key_set_url'] = 'Keyset URL'; $strings['KeySetUrl'] = 'Keyset URL';
$strings['deployment_id'] = 'Deployment ID'; $strings['DeploymentId'] = 'Deployment ID';
$strings['kid'] = 'kid'; $strings['KeyId'] = 'key id (kid)';
$strings['public_key'] = 'Public key'; $strings['PublicKey'] = 'Public key';
$strings['name'] = 'Provider name'; $strings['Name'] = 'Provider name';
$strings['enabled'] = 'Enabled'; $strings['Enabled'] = 'Enabled';
$strings['GenerateKeyPairInfo'] = 'A new private and public key pair will be created when enabling.'; $strings['GenerateKeyPairInfo'] = 'A new private and public key pair will be created when enabling.';
$strings['URLs'] = 'Endpoints Urls'; $strings['URLs'] = 'Endpoints Urls';
$strings['PlatformConnectionAdded'] = 'A platform connection is added.'; $strings['PlatformConnectionAdded'] = 'A platform connection is added.';

@ -3,7 +3,7 @@
$strings['plugin_title'] = 'LTI 1.3 Advantage Provider'; $strings['plugin_title'] = 'LTI 1.3 Advantage Provider';
$strings['plugin_comment'] = 'Une application simple développée pour montrer comment créer un outil IMS LTI'; $strings['plugin_comment'] = 'Une application simple développée pour montrer comment créer un outil IMS LTI';
$strings['description'] = 'L\'application permet à un étudiant à l\'intérieur d\'un cours de la plate-forme avec des outils externes qui est noté (Services d\'affectation et de notes) et de générer des rapports de leurs membres (Services NRP). $strings['Description'] = 'L\'application permet à un étudiant à l\'intérieur d\'un cours de la plate-forme avec des outils externes qui est noté (Services d\'affectation et de notes) et de générer des rapports de leurs membres (Services NRP).
Voici les détails de votre connexion LTI pour essayer cette application :'; Voici les détails de votre connexion LTI pour essayer cette application :';
$strings['LtiProviderDescription'] = 'La première chose dont vous aurez besoin est de configurer votre enregistrement et votre déploiement. Pour configurer votre inscription $strings['LtiProviderDescription'] = 'La première chose dont vous aurez besoin est de configurer votre enregistrement et votre déploiement. Pour configurer votre inscription
remplissez le formulaire les valeurs requises pour le déploiement dans votre plateforme'; remplissez le formulaire les valeurs requises pour le déploiement dans votre plateforme';
@ -13,18 +13,18 @@ $strings['EditPlatform'] = 'Modifier la plateforme client';
$strings['PlatformName'] = 'LMS (émetteur)'; $strings['PlatformName'] = 'LMS (émetteur)';
$strings['PlatformEdited'] = 'Détails de la plateforme modifiés'; $strings['PlatformEdited'] = 'Détails de la plateforme modifiés';
$strings['PlatformDeleted'] = 'Plateforme supprimée'; $strings['PlatformDeleted'] = 'Plateforme supprimée';
$strings['client_id'] = 'Client ID'; $strings['ClientId'] = 'Client ID';
$strings['launch_url'] = 'Lancer l\'URL'; $strings['LaunchUrl'] = 'Lancer l\'URL';
$strings['login_url'] = 'URL de connexion'; $strings['LoginUrl'] = 'URL de connexion';
$strings['redirect_url'] = 'URL de redirection'; $strings['RedirectUrl'] = 'URL de redirection';
$strings['auth_login_url'] = 'URL d\'authentification OIDC'; $strings['AuthLoginUrl'] = 'URL d\'authentification OIDC';
$strings['auth_token_url'] = 'URL du jeton d\'accès OAuth2'; $strings['AuthTokenUrl'] = 'URL du jeton d\'accès OAuth2';
$strings['key_set_url'] = 'URL du jeu de clés'; $strings['KeySetUrl'] = 'URL du jeu de clés';
$strings['deployment_id'] = 'ID de déploiement'; $strings['DeploymentId'] = 'ID de déploiement';
$strings['kid'] = 'kid'; $strings['KeyId'] = 'Key Id';
$strings['public_key'] = 'Clé publique'; $strings['PublicKey'] = 'Clé publique';
$strings['name'] = 'Nom du fournisseur'; $strings['Name'] = 'Nom du fournisseur';
$strings['enabled'] = 'Enabled'; $strings['Enabled'] = 'Enabled';
$strings['GenerateKeyPairInfo'] = 'Une nouvelle paire de clés privée et publique sera créée lors de l\'activation.'; $strings['GenerateKeyPairInfo'] = 'Une nouvelle paire de clés privée et publique sera créée lors de l\'activation.';
$strings['URLs'] = 'Endpoints Urls'; $strings['URLs'] = 'Endpoints Urls';
$strings['PlatformConnectionAdded'] = 'Une connexion de plate-forme est ajoutée.'; $strings['PlatformConnectionAdded'] = 'Une connexion de plate-forme est ajoutée.';

@ -3,7 +3,7 @@
$strings['plugin_title'] = 'Proveedor de ventajas LTI 1.3'; $strings['plugin_title'] = 'Proveedor de ventajas LTI 1.3';
$strings['plugin_comment'] = 'Aplicación simple desarrollada como una forma de demostrar cómo construir un proveedor de herramientas IMS LTI'; $strings['plugin_comment'] = 'Aplicación simple desarrollada como una forma de demostrar cómo construir un proveedor de herramientas IMS LTI';
$strings['description'] = 'La aplicación permite a un alumno entrar en un curso de la plataforma con herramientas externas que se puntúan (Assigment and Grade Services) y generar informes de sus miembros (NRP Services). $strings['Description'] = 'La aplicación permite a un alumno entrar en un curso de la plataforma con herramientas externas que se puntúan (Assigment and Grade Services) y generar informes de sus miembros (NRP Services).
Aquí están los detalles de su conexión LTI para probar esta aplicación: '; Aquí están los detalles de su conexión LTI para probar esta aplicación: ';
$strings['LtiProviderDescription'] = 'Lo primero que necesitará es configurar su registro y despliegue. Para configurar su registro $strings['LtiProviderDescription'] = 'Lo primero que necesitará es configurar su registro y despliegue. Para configurar su registro
complete el formulario con los valores requeridos para el despliegue en su plataforma '; complete el formulario con los valores requeridos para el despliegue en su plataforma ';
@ -13,18 +13,18 @@ $strings['EditPlatform'] = 'Edite la plataforma del cliente';
$strings['PlatformName'] = 'LMS (emisor)'; $strings['PlatformName'] = 'LMS (emisor)';
$strings['PlatformEdited'] = 'Detalles de la plataforma editados'; $strings['PlatformEdited'] = 'Detalles de la plataforma editados';
$strings['PlatformDeleted'] = 'Plataforma eliminada'; $strings['PlatformDeleted'] = 'Plataforma eliminada';
$strings['client_id'] = 'ID de cliente'; $strings['ClientId'] = 'ID de cliente';
$strings['launch_url'] = 'URL de lanzamiento'; $strings['LaunchUrl'] = 'URL de lanzamiento';
$strings['login_url'] = 'URL de inicio de sesión'; $strings['LoginUrl'] = 'URL de inicio de sesión';
$strings['redirect_url'] = 'URL de redireccionamiento'; $strings['RedirectUrl'] = 'URL de redireccionamiento';
$strings['auth_login_url'] = 'URL de autenticación OIDC'; $strings['AuthLoginUrl'] = 'URL de autenticación OIDC';
$strings['auth_token_url'] = 'URL del token de acceso de OAuth2'; $strings['AuthTokenUrl'] = 'URL del token de acceso de OAuth2';
$strings['key_set_url'] = 'URL del conjunto de claves'; $strings['KeySetUrl'] = 'URL del conjunto de claves';
$strings['deployment_id'] = 'ID de implementación'; $strings['DeploymentId'] = 'ID de implementación';
$strings['kid'] = 'Kid'; $strings['KeyId'] = 'Key Id';
$strings['public_key'] = 'Clave pública'; $strings['PublicKey'] = 'Clave pública';
$strings['name'] = 'Nombre del proveedor'; $strings['Name'] = 'Nombre del proveedor';
$strings['enabled'] = 'Habilitado'; $strings['Enabled'] = 'Habilitado';
$strings['GenerateKeyPairInfo'] = 'Se creará un nuevo par de claves pública y privada cuando se habilite.'; $strings['GenerateKeyPairInfo'] = 'Se creará un nuevo par de claves pública y privada cuando se habilite.';
$strings['URLs'] = 'URL de puntos finales'; $strings['URLs'] = 'URL de puntos finales';
$strings['PlatformConnectionAdded'] = 'Se agrega una conexión de plataforma.'; $strings['PlatformConnectionAdded'] = 'Se agrega una conexión de plataforma.';

@ -33,23 +33,23 @@ try {
$html = '<div class="row">' $html = '<div class="row">'
.'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('name').'</strong></div>' .'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('Name').'</strong></div>'
.'<div class="col-xs-10">'.$name.'</div>' .'<div class="col-xs-10">'.$name.'</div>'
.'</div>' .'</div>'
.'<div class="row">' .'<div class="row">'
.'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('launch_url').'</strong></div>' .'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('LaunchUrl').'</strong></div>'
.'<div class="col-xs-10">'.$launchUrl.'</div>' .'<div class="col-xs-10">'.$launchUrl.'</div>'
.'</div>' .'</div>'
.'<div class="row">' .'<div class="row">'
.'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('login_url').'</strong></div>' .'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('LoginUrl').'</strong></div>'
.'<div class="col-xs-10">'.$loginUrl.'</div>' .'<div class="col-xs-10">'.$loginUrl.'</div>'
.'</div>' .'</div>'
.'<div class="row">' .'<div class="row">'
.'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('redirect_url').'</strong></div>' .'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('RedirectUrl').'</strong></div>'
.'<div class="col-xs-10">'.$redirectUrl.'</div>' .'<div class="col-xs-10">'.$redirectUrl.'</div>'
.'</div>' .'</div>'
.'<div class="row">' .'<div class="row">'
.'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('public_key').'</strong></div>' .'<div class="col-xs-2 text-right"><strong>'.$plugin->get_lang('PublicKey').'</strong></div>'
.'<div class="col-xs-10"><pre>'.$publicKey.'</pre></div>' .'<div class="col-xs-10"><pre>'.$publicKey.'</pre></div>'
.'</div>'; .'</div>';

@ -40,12 +40,12 @@ class FrmAdd extends FormValidator
$this->addHeader($plugin->get_lang('ConnectionDetails')); $this->addHeader($plugin->get_lang('ConnectionDetails'));
$this->addText('issuer', $plugin->get_lang('PlatformName')); $this->addText('issuer', $plugin->get_lang('PlatformName'));
$this->addUrl('auth_login_url', $plugin->get_lang('auth_login_url')); $this->addUrl('auth_login_url', $plugin->get_lang('AuthLoginUrl'));
$this->addUrl('auth_token_url', $plugin->get_lang('auth_token_url')); $this->addUrl('auth_token_url', $plugin->get_lang('AuthTokenUrl'));
$this->addUrl('key_set_url', $plugin->get_lang('key_set_url')); $this->addUrl('key_set_url', $plugin->get_lang('KeySetUrl'));
$this->addText('client_id', $plugin->get_lang('client_id')); $this->addText('client_id', $plugin->get_lang('ClientId'));
$this->addText('deployment_id', $plugin->get_lang('deployment_id')); $this->addText('deployment_id', $plugin->get_lang('DeploymentId'));
$this->addText('kid', $plugin->get_lang('kid')); $this->addText('kid', $plugin->get_lang('KeyId'));
$this->addButtonCreate($plugin->get_lang('AddPlatform')); $this->addButtonCreate($plugin->get_lang('AddPlatform'));
$this->applyFilter('__ALL__', 'trim'); $this->applyFilter('__ALL__', 'trim');

@ -43,12 +43,12 @@ class FrmEdit extends FormValidator
$this->addHeader($plugin->get_lang('ConnectionDetails')); $this->addHeader($plugin->get_lang('ConnectionDetails'));
$this->addText('issuer', $plugin->get_lang('PlatformName')); $this->addText('issuer', $plugin->get_lang('PlatformName'));
$this->addUrl('auth_login_url', $plugin->get_lang('auth_login_url')); $this->addUrl('auth_login_url', $plugin->get_lang('AuthLoginUrl'));
$this->addUrl('auth_token_url', $plugin->get_lang('auth_token_url')); $this->addUrl('auth_token_url', $plugin->get_lang('AuthTokenUrl'));
$this->addUrl('key_set_url', $plugin->get_lang('key_set_url')); $this->addUrl('key_set_url', $plugin->get_lang('KeySetUrl'));
$this->addText('client_id', $plugin->get_lang('client_id')); $this->addText('client_id', $plugin->get_lang('ClientId'));
$this->addText('deployment_id', $plugin->get_lang('deployment_id')); $this->addText('deployment_id', $plugin->get_lang('DeploymentId'));
$this->addText('kid', $plugin->get_lang('kid')); $this->addText('kid', $plugin->get_lang('KeyId'));
$this->addButtonCreate($plugin->get_lang('EditPlatform')); $this->addButtonCreate($plugin->get_lang('EditPlatform'));
$this->addHidden('id', $this->platform->getId()); $this->addHidden('id', $this->platform->getId());

@ -15,9 +15,9 @@
<thead> <thead>
<tr> <tr>
<th>{{ 'PlatformName'|get_plugin_lang('LtiProviderPlugin') }}</th> <th>{{ 'PlatformName'|get_plugin_lang('LtiProviderPlugin') }}</th>
<th>{{ 'client_id'|get_plugin_lang('LtiProviderPlugin') }}</th> <th>{{ 'ClientId'|get_plugin_lang('LtiProviderPlugin') }}</th>
<th class="text-center">{{ 'deployment_id'|get_plugin_lang('LtiProviderPlugin') }}</th> <th class="text-center">{{ 'DeploymentId'|get_plugin_lang('LtiProviderPlugin') }}</th>
<th class="text-center">{{ 'kid'|get_plugin_lang('LtiProviderPlugin') }}</th> <th class="text-center">{{ 'KeyId'|get_plugin_lang('LtiProviderPlugin') }}</th>
<th class="text-center">{{ 'URLs'|get_plugin_lang('LtiProviderPlugin') }}</th> <th class="text-center">{{ 'URLs'|get_plugin_lang('LtiProviderPlugin') }}</th>
<th class="text-right">{{ 'Actions'|get_lang }}</th> <th class="text-right">{{ 'Actions'|get_lang }}</th>
</tr> </tr>
@ -31,9 +31,9 @@
<td>{{ platform.getDeploymentId }}</td> <td>{{ platform.getDeploymentId }}</td>
<td>{{ platform.getKid }}</td> <td>{{ platform.getKid }}</td>
<td> <td>
<p><strong>{{ 'auth_login_url'|get_plugin_lang('LtiProviderPlugin') }}:</strong><br> {{ platform.getAuthLoginUrl }}</p> <p><strong>{{ 'AuthLoginUrl'|get_plugin_lang('LtiProviderPlugin') }}:</strong><br> {{ platform.getAuthLoginUrl }}</p>
<p><strong>{{ 'auth_token_url'|get_plugin_lang('LtiProviderPlugin') }}:</strong><br> {{ platform.getAuthTokenUrl }}</p> <p><strong>{{ 'AuthTokenUrl'|get_plugin_lang('LtiProviderPlugin') }}:</strong><br> {{ platform.getAuthTokenUrl }}</p>
<p><strong>{{ 'key_set_url'|get_plugin_lang('LtiProviderPlugin') }}:</strong><br> {{ platform.getKeySetUrl }}</p> <p><strong>{{ 'KeySetUrl'|get_plugin_lang('LtiProviderPlugin') }}:</strong><br> {{ platform.getKeySetUrl }}</p>
</td> </td>
<td> <td>
<a href="{{ _p.web_plugin }}lti_provider/edit.php?{{ url_params }}"> <a href="{{ _p.web_plugin }}lti_provider/edit.php?{{ url_params }}">

Loading…
Cancel
Save