// JLM phrase dans binding_dev
function acces_notes_dev($acces_externe,$acces_url,$issn,$nul,$tit1)
{ global $iremweb,$codesirem,$lien_acces,$txt_acces,$lien_apmep,$txt_apmep,$rub_apmep;
$style_a='';
// if ($acces)
// élimination blancs parasites
// $acces=preg_replace("/ /"," ",$acces);
$mess="";
// changement message 2016-06-10
// $mess_ressources = " Ressources numérisées des IREM et de leurs partenaires";
$mess_ressources = "Bibliothèque numérique des IREM et de l'APMEP";
// codes A C E F R S T X = type de lien
// $c=strtoupper(substr($acces,0,1));
// if (array_key_exists($c,$mess_internet))
// $suite=substr($acces,2);
// lien codé et/ou adresse explicite
// cas 1 : 2 caractères X YY ou X NU GR pour Grand N ou Petit x
// cas 2 supprimé
// cas 3 : code+http X YY http://...
$code_acces=strtoupper($acces_externe);
// if (strlen($suite) == 2 or $suite == "NU GR")
// cas 1 : lien codé 2 caractères = taxo fich_acces_externe
if ($acces_url == '')
{
$code_externe=$code_acces;
if ($code_acces == "GN" or $code_acces == "PX") $code_externe="GR";
// lien vers un serveur IREM
if (array_key_exists($code_externe,$iremweb))
{
$nomirem=ucfirst(array_search($code_externe,$codesirem));
// cas petit x / grand n
// $test_GR=0;
if (preg_match("/N°/",$tit1))
{
// extraction numéro
$numero=$nul;
if ($code_acces == "PX") $rep="petit-x";
if ($code_acces == "GN") $rep="grand-n";
if ($numero)
{
// 2019-07-15 changement référencement => lien sur sommaire
if ($numero == "HSA4") $adr_numero="hors-serie-activites-";
else $adr_numero="numero-$numero-$rep";
$adr="https://irem.univ-grenoble-alpes.fr/revues/$rep/consultation/$adr_numero/";
}
else $adr=$iremweb[$code_externe];
}
else $adr=$iremweb[$code_externe];
// $mess .= $mess_internet[$c];
if (substr($code_externe,0,1)!="W") // cas des IREM
{
$mess .= " de l'IREM";
if ($code_externe != "PN")
{
if ($code_externe == "BO") $mess .= " d'";
else $mess .= " de";
}
}
else // cas CII
$mess .= " de la ";
$mess .= " $nomirem";
// 2021-12-03 lien bibli numérique après TIT1
} // fin cas IREM
else
// autres cas
{
// cas APMEP : AP 5 fiches AA AI PL disparus
if ($code_acces == "AP")
{
$lien_AP="http://www.apmep.fr/Les-brochures-de-l-APMEP";
$txt_AP=" de l'APMEP en consultant la rubrique ";
$rub_AP="\"Les brochures\"";
$mess .= "$txt_AP $rub_AP";
}
// autres cas : liste fi_acces
if (array_key_exists($code_acces,$lien_acces))
{
$l=$lien_acces[$code_acces];
$t=$txt_acces[$code_acces];
$mess .= " $t";
}
} // fin autres cas
} // fin cas 1
else
// cas 3 code + http
{
// codes NU UE VS
$adr=$acces_url;
// $mess .= $mess_internet[$c];
if ($code_acces == "UE") // remplace cas 2
$mess .=" $adr";
else
if ($code_acces == "NU")
{
if (preg_match("/^http/",$adr)) // lien si adresse correcte
{
$mess .= " $mess_ressources";
$mess .=" et sur le site "." $adr";
}
else
// cas brochures APMEP codage "_ NU AP" pour cohérence codage "_ AP"
if (substr($adr,0,2) == "AP")
{
$a="http://www.apmep.fr/Les-brochures-de-l-APMEP";
$mess .=" de l'APMEP";
}
}
else
{
// autres cas : VS
if (array_key_exists($code_acces,$lien_acces))
{
$l=$lien_acces[$code_acces];
$t=$txt_acces[$code_acces];
$mess .= " $t";
}
if (preg_match("/^http/",$adr)) // lien si adresse correcte
$mess .=" et sur le site "." $adr";
}
}
return $mess;
}
/**
* Callback pour le traitement du binding sur les données ACCES dans notes
*
* @return mixed
*/
function publimath_callback_acces_notes_dev($source_args, $post)
{ global $link_wcdb;
if (!function_exists('get_field')) {
return ''; // ACF n'est pas disponible
}
// $id_cpt = get_field('cpt_id_unique');
$post_id=get_post_field('ID');
$sql="select * from wp_postmeta where post_id=$post_id and meta_key='fich_acces_phrase'";
$r_p=mysqli_query($link_wcdb,$sql);
if (mysqli_num_rows($r_p) > 0)
{
$term_phrase=mysqli_fetch_array($r_p)['meta_value'];
$r_t=mysqli_query($link_wcdb,"select * from wp_terms where term_id=$term_phrase");
$acc_phrase=mysqli_fetch_array($r_t)['name'];
$term_externe= get_field('fich_acces_externe');
if (!empty($term_externe)) $acc_externe=$term_externe->slug;
else $acc_externe='';
$acc_url= get_field('fich_acces_url');
// $acc_titre = get_field('fich_acces_titre');
$issn = get_field('fich_issn');
// pour Grand N Petit x
$collection_num=get_field('fich_collection_num');
$title=get_the_title();
// Vérifie si $acc_phrase et $acc_code existent et ne sont pas vides
if (empty($acc_phrase)) {
return ''; // Retourne une chaîne vide si l'un des champs est vide
}
else
{
$acces_notes = acces_notes_dev($acc_externe,$acc_url,$issn,$collection_num,$title);
if ($acces_notes) $return="".$acc_phrase.$acces_notes;
else $return='';
return $return;
}
}
else return '';
}
/**
* Callback pour afficher les notices du glossaire ORT
*
* @return mixed
*/
function publimath_callback_glossaire_ort_dev($source_args,$post)
{ global $link_wcdb;
// Vérification de la disponibilité de la fonction get_field de ACF
if (!function_exists('get_field')) {
return ''; // Retourner une chaîne vide si ACF n'est pas disponible
}
$return='';
$comment='';
$title=get_the_title();
// traitement apostrophe html => '
$title=preg_replace("/’/","'",$title);
$title_e=mysqli_real_escape_string($link_wcdb,$title);
$r_t=mysqli_query($link_wcdb,"select * from wp_terms where name='$title_e'");
if (mysqli_num_rows($r_t)==1)
{
$l_t=mysqli_fetch_array($r_t);
$term_id=$l_t['term_id'];
$slug=$l_t['slug'];
$comment .= "";
if ($slug)
{
$sql="select group_concat(term_id) from wp_termmeta where meta_value=\"$slug\"";
$comment .= "";
$r_m=mysqli_query($link_wcdb,"select group_concat(term_id) from wp_termmeta where meta_value=\"$slug\"");
$group_terms=mysqli_fetch_array($r_m)[0];
$tab_terms=explode(',',$group_terms);
foreach ($tab_terms as $term_renvoi)
{
$r_r=mysqli_query($link_wcdb,"select * from wp_terms where term_id=$term_renvoi");
if (!empty($r_r))
{
$name_renvoi=mysqli_fetch_array($r_r)['name'];
$return .= "$name_renvoi
";
}
}
$glossaire_ort=$return;
}
// else $glossaire_ort = get_field('gloss_ort'); // Obtenir la valeur du champ ACF
}
// Vérifier si le champ est vide
if (empty($glossaire_ort)) {
return ''; // Retourner une chaîne vide si le champ est vide
}
// Afficher ORT
return $comment.wp_kses_post($glossaire_ort);
}
/**
* Callback pour afficher les notices du glossaire MCL
*
* @return mixed
*/
function publimath_callback_glossaire_mcl_dev($source_args,$post)
{ global $link_wcdb;
// Vérification de la disponibilité de la fonction get_field de ACF
if (!function_exists('get_field')) {
return ''; // Retourner une chaîne vide si ACF n'est pas disponible
}
$return='';
$gloss_mcl=get_field('gloss_mcl');
$term=get_term($gloss_mcl);
if (!empty($term)) $return=$term->name;
return $return;
}
/**
* Affiche la liste des termes pour la taxonomie `fi_class` pour le post type `fiche`.
*
* @param array $source_args Arguments de la source.
* @return string Liste HTML des termes.
*/
function publimath_callback_class_dev($source_args) {
// Vérifier si ACF est actif
if (!function_exists('get_field')) {
return ''; // Retourner une chaîne vide si ACF n'est pas actif
}
// Obtenir les termes associés au post courant pour la taxonomie `fi_mot_cle`
$terms = get_the_terms(get_the_ID(), 'fi_class');
// Vérifier si des termes ont été trouvés
if (empty($terms) || is_wp_error($terms)) {
return ''; // Retourner une chaîne vide si aucun terme n'a été trouvé ou en cas d'erreur
}
// Initialiser une variable pour stocker la liste HTML
$output = 'Classification
';
$output .= '';
// Parcourir chaque terme
foreach ($terms as $term) {
// Obtenir le titre et le permalien du terme
$term_title = esc_html($term->name);
$term_slug=$term->slug;
// $term_link = esc_url(get_term_link($term));
$term_link = home_url("/taxo/?t=c&i=$term_slug");
// Ajouter un élément de liste avec le titre et le permalien
$output .= "