Exemple #1
0
/**
 * Aendert die seo42 Sitemap und fuegt die URLs des Addons hinzu.
 * @global mixed[] $REX Die Redaxo Variable
 * @var mixed[] $_params Array mit Sitemap URLs
 * @return mixed[] Erweiterter Array mit Sitemap URLs
 */
function d2u_kurse_extended_sitemap($_params)
{
    global $REX;
    $rex_clang_ids = array_keys($REX['CLANG']);
    $clang_id = array_shift($rex_clang_ids);
    // Startkacheln
    $add_array = array();
    $add_array[$clang_id] = array('loc' => kurse_utils::getStartkachelURL($REX['ADDON']['d2u_kurse']['settings']['kategorie_titel'], $clang_id, TRUE), 'lastmod' => date('c', time()), 'changefreq' => 'monthly', 'priority' => 0.8);
    $_params['subject'][] = $add_array;
    $add_array = array();
    $add_array[$clang_id] = array('loc' => kurse_utils::getStartkachelURL($REX['ADDON']['d2u_kurse']['settings']['ort_titel'], $clang_id, TRUE), 'lastmod' => date('c', time()), 'changefreq' => 'monthly', 'priority' => 0.8);
    $_params['subject'][] = $add_array;
    $add_array = array();
    $add_array[$clang_id] = array('loc' => kurse_utils::getStartkachelURL($REX['ADDON']['d2u_kurse']['settings']['termin_titel'], $clang_id, TRUE), 'lastmod' => date('c', time()), 'changefreq' => 'monthly', 'priority' => 0.8);
    $_params['subject'][] = $add_array;
    $add_array = array();
    $add_array[$clang_id] = array('loc' => kurse_utils::getStartkachelURL($REX['ADDON']['d2u_kurse']['settings']['zielgruppe_titel'], $clang_id, TRUE), 'lastmod' => date('c', time()), 'changefreq' => 'monthly', 'priority' => 0.8);
    $_params['subject'][] = $add_array;
    // Kurse
    $kurse = Kurs::getAll($REX['TABLE_PREFIX'], TRUE);
    foreach ($kurse as $kurs) {
        $add_array = array();
        $add_array[$clang_id] = array('loc' => $kurs->getURL(TRUE), 'lastmod' => date('c', $kurs->updatedate), 'changefreq' => 'weekly', 'priority' => 1.0);
        $_params['subject'][] = $add_array;
    }
    // Kurskategorie
    $kurskategorien = Kurskategorie::getAll($REX['TABLE_PREFIX'], 0, TRUE);
    foreach ($kurskategorien as $kurskategorie) {
        $add_array = array();
        $add_array[$clang_id] = array('loc' => $kurskategorie->getURL(TRUE), 'lastmod' => date('c', $kurskategorie->updatedate), 'changefreq' => 'monthly', 'priority' => 0.6);
        $_params['subject'][] = $add_array;
    }
    // Kursorte
    $kursorte = Kursort::getAll($REX['TABLE_PREFIX'], 0, TRUE);
    foreach ($kursorte as $kursort) {
        $add_array = array();
        $add_array[$clang_id] = array('loc' => $kursort->getURL(TRUE), 'lastmod' => date('c', $kursort->updatedate), 'changefreq' => 'monthly', 'priority' => 0.6);
        $_params['subject'][] = $add_array;
    }
    // Kursortskategorien
    $kursortskategorien = KursortKategorie::getAll($REX['TABLE_PREFIX'], TRUE);
    foreach ($kursortskategorien as $kursortskategorie) {
        $add_array = array();
        $add_array[$clang_id] = array('loc' => $kursortskategorie->getURL(TRUE), 'lastmod' => date('c', $kursortskategorie->updatedate), 'changefreq' => 'monthly', 'priority' => 0.6);
        $_params['subject'][] = $add_array;
    }
    // Terminkategorien
    $terminkategorien = Terminkategorie::getAll($REX['TABLE_PREFIX'], TRUE);
    foreach ($terminkategorien as $terminkategorie) {
        $add_array = array();
        $add_array[$clang_id] = array('loc' => $terminkategorie->getURL(TRUE), 'lastmod' => date('c', $terminkategorie->updatedate), 'changefreq' => 'monthly', 'priority' => 0.6);
        $_params['subject'][] = $add_array;
    }
    // Zielgruppen
    $zielgruppen = Zielgruppe::getAll($REX['TABLE_PREFIX'], TRUE);
    foreach ($zielgruppen as $zielgruppe) {
        $add_array = array();
        $add_array[$clang_id] = array('loc' => $zielgruppe->getURL(TRUE), 'lastmod' => date('c', $zielgruppe->updatedate), 'changefreq' => 'monthly', 'priority' => 0.6);
        $_params['subject'][] = $add_array;
    }
    return $_params['subject'];
    /*
    Allgemeiner Hinweis:
    In der config.inc.php muessen folgende Zeilen hinzugefuegt werden:
    -----%<-----
    require_once dirname(__FILE__) ."/extensions/seo42.inc.php";
    rex_register_extension('SEO42_SITEMAP_ARRAY_CREATED', 'd2u_kurse_extended_sitemap');
    -----%<-----
    */
}
                 getKachelbox($cur_kurskategorie->name, $cur_kurskategorie->bild, $cur_kurskategorie->farbe, $cur_kurskategorie->getURL(TRUE));
             }
         } else {
             // Wenn keine Kinderkategorien vorhanden sind, Kurse anzeigen
             $kurse = $kurskategorie->getAllKurse(TRUE);
         }
     } else {
         $kurse = $kurskategorie->getAllKurse(TRUE);
     }
 } else {
     if ($ort_kategorie_id > 0) {
         $ortkategorie = new KursortKategorie($ort_kategorie_id, $REX['TABLE_PREFIX']);
         print '<div class="col-xs-12 abstand"><div class="h1-bg" style="background-color: #' . $REX['ADDON']['d2u_kurse']['settings']['ort_farbe'] . ' !important">';
         print '<h1 class="h1">' . $ortkategorie->name . '</h1>';
         print '</div></div>';
         $orte = Kursort::getAll($REX['TABLE_PREFIX'], $ort_kategorie_id, TRUE);
         foreach ($orte as $ort) {
             getKachelbox($ort->name, $ort->bild, $REX['ADDON']['d2u_kurse']['settings']['ort_farbe'], $ort->getURL(TRUE));
         }
     } else {
         if ($ort_id > 0) {
             $orte = new Kursort($ort_id, $REX['TABLE_PREFIX']);
             $kurse = $orte->getAllKurse(TRUE);
         } else {
             if ($terminkategorie_id > 0) {
                 $terminkategorie = new Terminkategorie($terminkategorie_id, $REX['TABLE_PREFIX']);
                 if ($terminkategorie->eltern_terminkategorie === FALSE) {
                     $terminkategorien = Terminkategorie::getAll($REX['TABLE_PREFIX'], TRUE, $terminkategorie_id);
                     if (count($terminkategorien) > 0) {
                         print '<div class="col-xs-12 abstand"><div class="h1-bg" style="background-color: #' . $REX['ADDON']['d2u_kurse']['settings']['termin_farbe'] . ' !important">';
                         print '<h1 class="h1">' . $terminkategorie->name . '</h1>';