moan-ark/pasta_publica/LogicaPrefixos/processarPrefixo_eM.php

61 lines
2.2 KiB
PHP

<?php
function processarPrefixo_eM($NAAN, $ark_sem_NAAN, $tem_interrogacao, $resto) {
$pasta_json = "json"; //Substitua pelo nome que vc escolheu para colocar os metadados ARK em JSON
$site_base = "https://ark.livro.online/"; //Coloque o endereço do local em que estes arquivos estão hospedados
$ark_formatado = "ark:".$NAAN.$ark_sem_NAAN;
//Substituindo para o padrao que é encontrado dentro da $pasta_json
$nome_arquivo_ark = str_replace(":", "_dp_", $ark_formatado);
$nome_arquivo_ark = str_replace("/", "_b_", $nome_arquivo_ark);
$nome_arquivo_ark = str_replace(".", "_p_", $nome_arquivo_ark);
$nome_arquivo_ark.= ".json";
$caminho_arquivo_ark = $pasta_json."/".$nome_arquivo_ark;
if(file_exists($caminho_arquivo_ark)){
$arquivo_ark = file_get_contents($caminho_arquivo_ark);
$metadados = json_decode($arquivo_ark, true);
// Verifique se a decodificação foi bem-sucedida
if ($metadados !== null) {
// Acesse o valor da chave 'apontamento'
$apontamento = $metadados['apontamento'] ?? '';
$titulo = $metadados['título'] ?? '';
} else {
return ['ok' => true, 'destino' => '', 'msg' => 'Erro ao decodificar o JSON no arquivo com os metadados do '.$ark_formatado.'. Informe o problema ao responsável.', 'titulo' => ''];
}
if($tem_interrogacao){
return ['ok' => true, 'destino' => $site_base.$caminho_arquivo_ark, 'msg' => $ark_formatado.' encontrado. Direcionando para os metadados...', 'titulo' => $titulo];
}
if ($apontamento){
return ['ok' => true, 'destino' => $apontamento.$resto, 'msg' => $ark_formatado.' encontrado. Direcionando...', 'titulo' => $titulo];
}
return ['ok' => true, 'destino' => $site_base.$caminho_arquivo_ark, 'msg' => $ark_formatado.' encontrado. Mas sem um apontamento configurado. Direcionando para os metadados...', 'titulo' => $titulo];
}
return ['ok' => false, 'destino' => '', 'msg' => $ark_formatado.' não encontrado.', 'titulo' => ''];
}
?>