1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
| <?php require_once(dirname(__DIR__).'/site/_includes/html0-topPHP.php');
// -----------------------------------------------------------
// générer le SITEMAP automatiquement
// -----------------------------------------------------------
// generate_sitemap();
function generate_sitemap() {
$SITEMAP =
'<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
';
// -----------------
// MENUS
$SITEMAP .= generate_sitemap_mainMenu();
// -----------------
// ARTICLES
$SITEMAP .= generate_sitemap_artArticle();
// -----------------
$SITEMAP .= '</urlset>';
// -----------------
$fp = fopen(dirname(__DIR__).'/sitemap.xml', 'w');
fputs($fp, $SITEMAP);
fclose($fp); // On ferme le fichier
};
// -----------------------------------------------------------
// MENUS/SITEMAP
// -----------------------------------------------------------
function generate_sitemap_mainMenu() {
// -----------------
require(dirname(__DIR__).'/_modules/mod_menumain/_config/boot_menumain_fct_basic.php');
// -----------------
$SITEMAP =
'
';
// pour CHAQUE LANGUE du site
foreach($_SESSION[SITE_URL_WWW]['LANG']['SITE_array'] as $LANG)
{
$menu_query = "SELECT MNM.id_rubrique, ".
" MNM.url_simple_".$LANG.", ".
" MNM.url_simple_".$_SESSION[SITE_URL_WWW]['LANG']['BD_main']." ".
" FROM ".TAB_MENU_MAIN_MNM." MNM ".
" WHERE MNM.menu_publier != 0 ".
" ORDER BY id_rubrique ASC; ";
try {
$pdo_select = $pdo->prepare($menu_query);
$pdo_select->execute();
$menu_nombre = $pdo_select->rowCount();
$menu_rowAll = $pdo_select->fetchAll();
} catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
// -----------------
if($menu_nombre>0)
{
$menu_rowAll_unique = array_unique($menu_rowAll, SORT_REGULAR); // on supprime les doublons
foreach($menu_rowAll_unique as $menu_row)
{
$menu_pageURL = (!empty($menu_row['url_simple_'.$LANG]))?
$menu_row['url_simple_'.$LANG] : $menu_row['url_simple_'.$_SESSION[SITE_URL_WWW]['LANG']['BD_main']];
$PRIORITY = '1';
$SITEMAP .=
' <url>
<loc>'.SITE_URL_HTTP.$LANG.'/'.$menu_row['id_rubrique'].'/'.$menu_pageURL.'</loc>
<priority>'.$PRIORITY.'</priority>
</url>
';
}
}
} // fin foreach LANG
// -----------------
return $SITEMAP;
};
// -----------------------------------------------------------
// -----------------------------------------------------------
// ARTICLES/SITEMAP
// -----------------------------------------------------------
function generate_sitemap_artArticle() {
// -----------------
require(dirname(__DIR__).'/_modules/mod_articles/_config/boot_articles_fct_basic.php');
// -----------------------------------------------------------
$SITEMAP =
'
';
// -----------------
// pour CHAQUE LANGUE du site
foreach($_SESSION[SITE_URL_WWW]['LANG']['SITE_array'] as $LANG)
{
$article_query = "SELECT ART.id_article, ".
" ART.art_titre_".$LANG.", ".
" ART.art_titre_".$_SESSION[SITE_URL_WWW]['LANG']['BD_main']." ".
" FROM ".$TAB_ART_ARTICLES_ART." ART ".
" WHERE ART.art_publier != 0 ".
" ORDER BY id_article ASC; ";
try {
$pdo_select = $pdo->prepare($article_query);
$pdo_select->execute();
$article_nombre = $pdo_select->rowCount();
$article_rowAll = $pdo_select->fetchAll();
} catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
// -----------------
if($article_nombre>0)
{
foreach($article_rowAll as $article_row)
{
$artTitre = ($article_row['art_titre_'.$LANG]!='')?
$article_row['art_titre_'.$LANG] : $article_row['art_titre_'.$_SESSION[SITE_URL_WWW]['LANG']['BD_main']];
$article_pageURL = formatage_nom_fichier($artTitre);
$PRIORITY = '0.7';
$SITEMAP .=
' <url>
<loc>'.SITE_URL_HTTP.$LANG.'/art'.$article_row['id_article'].'/'.$article_pageURL.'</loc>
<priority>'.$PRIORITY.'</priority>
</url>
';
}
}
} // fin foreach LANG
// -----------------
return $SITEMAP;
};
// ----------------------------------------------------------- |
Partager