2 Commits

View File

@@ -216,12 +216,19 @@ function outras_brafitec($es, $ms, $est, $apy, $acy, $cy, $ly, $ry, $ea, $pa, $c
function simulador_mob_shortcode() { function simulador_mob_shortcode() {
\wp_enqueue_script( 'mathjax' );
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ if ($_SERVER['REQUEST_METHOD'] == 'POST'){
//var_dump($_POST); //var_dump($_POST);
if (isset($_POST["calcular"])) { if (isset($_POST["calcular"])) {
validar_entrada(); validar_entrada();
global $entradas; global $entradas;
if ($entradas["programa"] != 4){ if ($entradas["media"] <= 0){
// Media curricular e a base da nota (peso 5 no Padrao V2, peso 7 no
// BRAFITEC). Sem ela, evita exibir uma nota baixa enganosa.
global $h, $h_brafitec;
$h = $h_brafitec = "Preencha a média curricular para calcular a nota.";
} elseif ($entradas["programa"] != 4){
global $o, $ro, $s, $y, $a, $h, $entradas; global $o, $ro, $s, $y, $a, $h, $entradas;
$ro = nota_reprovacoes($entradas["repro_rec"], $entradas["repro_nrec"]); $ro = nota_reprovacoes($entradas["repro_rec"], $entradas["repro_nrec"]);
$o = nota_historico($entradas["porcentagem"], $ro, $entradas["media"]); $o = nota_historico($entradas["porcentagem"], $ro, $entradas["media"]);
@@ -648,8 +655,6 @@ foreach ($sie_niveis as $sie_rotulo => $sie_valor) {
</div> </div>
</div> </div>
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML"></script>
<script type="text/javascript"> <script type="text/javascript">
function start() { function start() {
var inputReproRec = document.querySelector("#repro_rec"); var inputReproRec = document.querySelector("#repro_rec");
@@ -719,4 +724,17 @@ start();
return ob_get_clean(); return ob_get_clean();
} }
function register_assets() {
// MathJax 3 renderiza as formulas $$...$$. Registrado aqui e carregado via
// wp_enqueue_script() so quando o shortcode aparece na pagina; no rodape e async.
\wp_register_script(
'mathjax',
'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js',
array(),
'3',
array( 'in_footer' => true, 'strategy' => 'async' )
);
}
\add_action( 'wp_enqueue_scripts', __NAMESPACE__ . '\\register_assets' );
\add_shortcode( 'simulador_mob', __NAMESPACE__ . '\\simulador_mob_shortcode' ); \add_shortcode( 'simulador_mob', __NAMESPACE__ . '\\simulador_mob_shortcode' );