function stylesheet_tag($path) { echo "<link rel=\"stylesheet\" href=\"" . static_asset($path) . "\" />\n"; }
recoverSendMail($db, $email); } else { if ($action == "recover") { $recoverCode = $_REQUEST["recoverCode"]; $row = getUserFromEmail($db, $email); if (!$row || $row->recoverCode != $recoverCode) { echo "Le lien est invalide."; return; } echo "\r\n <!DOCTYPE html>\r\n <html>\r\n <head>\r\n <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />"; stylesheet_tag('/bower_components/jquery-ui/themes/base/jquery-ui.min.css'); stylesheet_tag('/admin.css'); script_tag('/bower_components/jquery/jquery.min.js'); script_tag('/bower_components/jquery-ui/jquery-ui.min.js'); script_tag('/bower_components/i18next/i18next.min.js'); echo "\r\n <script type='text/javascript'>\r\n window.config = " . json_encode(['defaultLanguage' => $config->defaultLanguage, 'countryCode' => $config->teacherInterface->countryCode, 'infoEmail' => $config->email->sInfoAddress, 'forceOfficialEmailDomain' => $config->teacherInterface->forceOfficialEmailDomain, 'contestPresentationURL' => $config->contestPresentationURL, 'i18nResourcePath' => static_asset('/i18n/__lng__/__ns__.json'), 'useCustomStrings' => $config->useCustomStrings]) . ";\r\n function getRegions() { return {} };\r\n </script>"; script_tag('/admin.js'); echo "<script type=\"text/javascript\">\r\n i18n.init({\r\n lng: config.defaultLanguage,\r\n fallbackLng: [config.defaultLanguage],\r\n getAsync: true,\r\n resGetPath: config.i18nResourcePath,\r\n fallbackNS: 'translation',\r\n ns: {\r\n namespaces: config.useCustomStrings ? ['custom', 'translation', 'country' + config.countryCode] : ['translation', 'country' + config.countryCode],\r\n defaultNs: config.useCustomStrings ? 'custom' : 'translation',\r\n },\r\n useDataAttrOptions: true\r\n }, function () {\r\n \$(\"title\").i18n();\r\n \$(\"body\").i18n();\r\n });\r\n </script>\r\n </head>\r\n <body>\r\n <div id='divHeader'>\r\n <table style='width:100%'><tr>\r\n <td style='width:20%'><img src='images/castor_small.png'/></td>\r\n <td><p class='headerH1'>Castor Informatique France</p>\r\n <p class='headerH2'> Plate-forme du concours Castor - <span style='color:red;font-weight:bold'>ACCES COORDINATEUR</span></p>\r\n </td>\r\n <td></td>\r\n </tr></table>\r\n </div>\r\n <div class='dialog'>\r\n Entrez votre nouveau mot de passe : <input type='password' id='newPassword1' /><br/>\r\n Entrez de nouveau pour le confirmer : <input type='password' id='newPassword2' /><br/>\r\n <input type='button' id='buttonChangePassword' value='Valider' onclick='changePassword(\"" . $email . "\", \"" . $row->recoverCode . "\")' />\r\n </div></html>\r\n "; } else { if ($action === "changePassword") { $recoverCode = $_REQUEST["recoverCode"]; $password = $_REQUEST["password"]; $row = getUserFromEmail($db, $email); if (!$row || $row->recoverCode != $recoverCode) { echo "Le lien est invalide."; return; } $query = "UPDATE `user` SET `passwordMd5` = ? WHERE `ID` = ?"; $stmt = $db->prepare($query); $passwordMd5 = computePasswordMD5($password, $row->salt); $stmt->execute(array($passwordMd5, $row->ID));
</div> </form> <?php global $config; $language = $config->defaultLanguage; $countryCode = $config->teacherInterface->countryCode; // JSON3 shim for IE6-9 compatibility. script_tag('/bower_components/json3/lib/json3.min.js'); // jquery 1.9 is required for IE6+ compatibility. script_tag('/bower_components/jquery/jquery.min.js'); // Ajax CORS support for IE9 and lower. script_tag('/bower_components/jQuery-ajaxTransport-XDomainRequest/jquery.xdomainrequest.min.js'); script_tag('/bower_components/jquery-ui/jquery-ui.min.js'); script_tag('/bower_components/i18next/i18next.min.js'); script_tag('/bower_components/pem-platform/task-pr.js'); script_tag('/bower_components/jqgrid/js/minified/jquery.jqGrid.min.js'); script_tag('/bower_components/jqgrid/js/i18n/grid.locale-' . $language . '.js'); script_tag('/regions/' . strtoupper($countryCode) . '/regions.js'); script_tag('/config.js.php'); script_tag('/admin.js'); ?> <script> window.config = <?php echo json_encode(['defaultLanguage' => $language, 'countryCode' => $countryCode, 'infoEmail' => $config->email->sInfoAddress, 'forceOfficialEmailDomain' => $config->teacherInterface->forceOfficialEmailDomain, 'contestPresentationURL' => $config->contestPresentationURL, 'i18nResourcePath' => static_asset('/i18n/__lng__/__ns__.json'), 'customStringsName' => $config->customStringsName]); ?> ; init(); </script> </body> </html>
// JSON3 shim for IE6-9 compatibility. script_tag('/bower_components/json3/lib/json3.min.js'); // jquery 1.9 is required for IE6+ compatibility. script_tag('/bower_components/jquery/jquery.min.js'); // Ajax CORS support for IE9 and lower. script_tag('/bower_components/jQuery-ajaxTransport-XDomainRequest/jquery.xdomainrequest.min.js'); script_tag('/bower_components/jquery-ui/jquery-ui.min.js'); script_tag('/bower_components/jquery-ui-touch-punch/jquery.ui.touch-punch.min.js'); script_tag('/bower_components/jquery-postmessage/jquery.ba-postmessage.min.js'); script_tag('/bower_components/i18next/i18next.min.js'); script_tag('/bower_components/utf8/utf8.js'); script_tag('/bower_components/base64/base64.min.js'); script_tag('/bower_components/pem-platform/task-pr.js'); script_tag('/common.js'); global $config; ?> <script> window.contestsRoot = <?php echo json_encode(static_asset('/contests')); ?> ; i18n.init(<?php echo json_encode(['lng' => $config->defaultLanguage, 'fallbackLng' => [$config->defaultLanguage], 'getAsync' => true, 'resGetPath' => static_asset('/i18n/__lng__/__ns__.json')]); ?> , function () { $("title").i18n(); $("body").i18n(); }); </script> </body></html>
} window.contestsRoot = <?php echo json_encode($config->teacherInterface->sAbsoluteStaticPath . '/contests'); ?> ; window.sAbsoluteStaticPath = <?php echo json_encode($config->teacherInterface->sAbsoluteStaticPath . '/'); ?> ; window.sAssetsStaticPath = <?php echo json_encode(static_asset('/')); ?> ; try { i18n.init(<?php echo json_encode(['lng' => $config->defaultLanguage, 'fallbackLng' => [$config->defaultLanguage], 'fallbackNS' => 'translation', 'ns' => ['namespaces' => $config->customStringsName ? [$config->customStringsName, 'translation'] : ['translation'], 'defaultNs' => $config->customStringsName ? $config->customStringsName : 'translation'], 'getAsync' => true, 'resGetPath' => static_asset('/i18n/__lng__/__ns__.json')]); ?> , function () { window.i18nLoaded = true; $("title").i18n(); $("body").i18n(); }); } catch(e) { // assuming s3 was blocked, so add ?p=1 to url, see contestInterface/config.php var newLocation = updateQueryStringParameter(window.location.toString(), 'p', '1'); if (newLocation != window.location.toString()) { window.location = newLocation; } } window.ieMode = false; </script>