61 lines
2.2 KiB
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' => ''];
|
|
|
|
}
|
|
|
|
?>
|