/** * Addon Funktionen * @package redaxo4 * @version $Id: function_rex_addons.inc.php,v 1.3 2008/02/25 09:51:18 kills Exp $ */ function rex_install_addon($addons, $addonname, $installDump = true) { global $REX, $I18N; $state = true; $install_dir = $REX['INCLUDE_PATH'] . '/addons/' . $addonname; $install_file = $install_dir . '/install.inc.php'; $install_sql = $install_dir . '/install.sql'; $config_file = $install_dir . '/config.inc.php'; // Prüfen des Addon Ornders auf Schreibrechte, // damit das Addon später wieder gelöscht werden kann $state = rex_is_writable($install_dir); if ($state === true) { if (is_readable($install_file)) { require $install_file; // Wurde das "install" Flag gesetzt, oder eine Fehlermeldung ausgegeben? Wenn ja, Abbruch if (!OOAddon::isInstalled($addonname) || !empty($REX['ADDON']['installmsg'][$addonname])) { $state = $I18N->msg('addon_no_install', $addonname) . '<br />'; if ($REX['ADDON']['installmsg'][$addonname] == '') { $state .= $I18N->msg('addon_no_reason'); } else { $state .= $REX['ADDON']['installmsg'][$addonname]; } } else { // check if config file exists if (is_readable($config_file)) { if (!OOAddon::isActivated($addonname)) { require $config_file; } } else { $state = $I18N->msg('addon_config_not_found'); } if ($installDump === true && $state === true && is_readable($install_sql)) { $state = rex_install_dump($install_sql); if ($state !== true) { $state = 'Error found in install.sql:<br />' . $state; } } // Installation ok if ($state === true) { // regenerate Addons file $state = rex_generateAddons($addons); } } } else { $state = $I18N->msg('addon_install_not_found'); } } if ($state !== true) { $REX['ADDON']['install'][$addonname] = 0; } return $state; }
/** * Addon Funktionen * @package redaxo3 * @version $Id: function_rex_addons.inc.php,v 1.2 2005/12/30 09:34:47 kills Exp $ */ function rex_install_addon($addons, $addonname) { global $REX, $I18N; $state = true; $install_dir = $REX['INCLUDE_PATH'] . "/addons/{$addonname}"; $install_file = $install_dir . "/install.inc.php"; $config_file = $install_dir . "/config.inc.php"; // Prüfen des Addon Ornders auf Schreibrechte, // damit das Addon später wieder gelöscht werden kann $state = rex_is_writable($install_dir); if ($state === true) { if (is_readable($install_file)) { include $install_file; // Wurde das "install" Flag gesetzt, oder eine Fehlermeldung ausgegeben? Wenn ja, Abbruch if (!OOAddon::isInstalled($addonname) || !empty($REX['ADDON']['installmsg'][$addonname])) { $state = $I18N->msg("addon_no_install", $addonname) . "<br/>"; if ($REX['ADDON']['installmsg'][$addonname] == "") { $state .= $I18N->msg("addon_no_reason"); } else { $state .= $REX['ADDON']['installmsg'][$addonname]; } } else { // check if config file exists if (is_readable($config_file)) { // skip config if it is a reinstall ! if (!OOAddon::isActivated($addonname)) { // if config is broken installation prozess will be terminated -> no install -> no errors in redaxo include $config_file; } } else { $state = $I18N->msg("addon_config_not_found"); } // Installation ok if ($state === true) { // regenerate Addons file $state = rex_generateAddons($addons); } } } else { $state = $I18N->msg("addon_install_not_found"); } } return $state; }
" /> </a> <a href="#" onclick="deleteREXLink(3);return false;"> <img src="media/file_del.gif" width="16" height="16" title="<?php echo $I18N_KURSE->msg('remove_link'); ?> " alt="<?php echo $I18N_KURSE->msg('remove_link'); ?> " /> </a> </p> </div> <?php if (OOAddon::isActivated('multinewsletter')) { ?> <div class="rex-form-row rex-form-element-v1"> <p class="rex-form-text"> <label for="multinewsletter_group"><?php echo $I18N_KURSE->msg('multinewsletter_gruppe'); ?> </label> <?php require_once $REX['INCLUDE_PATH'] . '/addons/multinewsletter/classes/class.multinewsletter_group.inc.php'; $groups = new rex_select(); $groups->setSize(1); $groups->setAttribute('class', 'myrex_select'); $groups->addOption($I18N_KURSE->msg('multinewsletter_nicht_anmelden'), '0'); $newsletter_groups = MultinewsletterGroupList::getAll($REX['TABLE_PREFIX']); foreach ($newsletter_groups as $group) {
/** * Schreibt Addoneigenschaften in die Datei include/addons.inc.php * @param array Array mit den Namen der Addons aus dem Verzeichnis addons/ */ function rex_generateAddons($ADDONS, $debug = false) { global $REX; natsort($ADDONS); $content = ""; foreach ($ADDONS as $cur) { if (!OOAddon::isInstalled($cur)) { $REX['ADDON']['install'][$cur] = 0; } if (!OOAddon::isActivated($cur)) { $REX['ADDON']['status'][$cur] = 0; } $content .= "\$REX['ADDON']['install']['{$cur}'] = " . $REX['ADDON']['install'][$cur] . ";\n" . "\$REX['ADDON']['status']['{$cur}'] = " . $REX['ADDON']['status'][$cur] . ";\n\n"; } // Da dieser Funktion öfter pro request aufgerufen werden kann, // hier die caches löschen clearstatcache(); $file = $REX['INCLUDE_PATH'] . "/addons.inc.php"; if (!rex_replace_dynamic_contents($file, $content)) { return 'Datei "' . $file . '" hat keine Schreibrechte'; } return true; }
</thead> <tbody>'; foreach ($ADDONS as $cur) { if (OOAddon::isSystemAddon($cur)) { $delete = $I18N->msg("addon_systemaddon"); } else { $delete = '<a href="index.php?page=addon&addonname=' . $cur . '&delete=1" onclick="return confirm(\'' . htmlspecialchars($I18N->msg('addon_delete_question', $cur)) . '\');">' . $I18N->msg("addon_delete") . '</a>'; } if (OOAddon::isInstalled($cur)) { $install = $I18N->msg("addon_yes") . ' - <a href="index.php?page=addon&addonname=' . $cur . '&install=1">' . $I18N->msg("addon_reinstall") . '</a>'; $uninstall = '<a href="index.php?page=addon&addonname=' . $cur . '&uninstall=1" onclick="return confirm(\'' . htmlspecialchars($I18N->msg("addon_uninstall_question", $cur)) . '\');">' . $I18N->msg("addon_uninstall") . '</a>'; } else { $install = $I18N->msg("addon_no") . ' - <a href="index.php?page=addon&addonname=' . $cur . '&install=1">' . $I18N->msg("addon_install") . '</a>'; $uninstall = $I18N->msg("addon_notinstalled"); } if (OOAddon::isActivated($cur)) { $status = $I18N->msg("addon_yes") . ' - <a href="index.php?page=addon&addonname=' . $cur . '&activate=0">' . $I18N->msg("addon_deactivate") . '</a>'; } elseif (OOAddon::isInstalled($cur)) { $status = $I18N->msg("addon_no") . ' - <a href="index.php?page=addon&addonname=' . $cur . '&activate=1">' . $I18N->msg("addon_activate") . '</a>'; } else { $status = $I18N->msg("addon_notinstalled"); } echo ' <tr> <td class="rex-icon"><img src="media/addon.gif" alt="' . htmlspecialchars($cur) . '" title="' . htmlspecialchars($cur) . '"/></td> <td>' . htmlspecialchars($cur) . ' [<a href="index.php?page=addon&spage=help&addonname=' . $cur . '">?</a>]</td> <td>' . $install . '</td> <td>' . $status . '</td> <td>' . $uninstall . '</td> <td>' . $delete . '</td> </tr>' . "\n ";
<?php $mypage = 'd2u_stellenmarkt'; // Jetzt das SQL dieses Addons installieren $error = rex_install_dump(dirname(__FILE__) . '/install.sql'); if (!OOAddon::isActivated('xoutputfilter')) { // xoutputfilter aktivieren $error = "Das Addon XOutputFilter ist für die Installation notwendig"; } if ($error != 1) { $REX['ADDON']['installmsg'][$mypage] = $error; } else { $REX['ADDON']['install'][$mypage] = true; }
function isAvailable($addon) { return OOAddon::isInstalled($addon) && OOAddon::isActivated($addon); }
<?php $mypage = 'd2u_stellenmarkt'; // Sprachobjekt $I18N_STELLEN = new i18n($REX['LANG'], $REX['INCLUDE_PATH'] . '/addons/' . $mypage . '/lang'); $REX['ADDON']['page'][$mypage] = $mypage; $REX['ADDON']['name'][$mypage] = "Stellenmarkt"; $REX['ADDON']['version'][$mypage] = '2.0.7'; $REX['ADDON']['perm'][$mypage] = $mypage . '[]'; $REX['ADDON']['author'][$mypage] = "www.design-to-use.de - Tobias Krais - http://www.design-to-use.de/"; $REX['PERM'][] = $mypage . '[]'; // SEO42 Erweiterung if (OOAddon::isActivated('seo42')) { // SEO42 require_once dirname(__FILE__) . "/extensions/seo42.inc.php"; // URLs fuer SEO42 bekannt machen rex_register_extension('SEO42_PATHLIST_CREATED', 'd2u_stellenmarkt_extended_urls'); // URLs in Sitemap eintragen rex_register_extension('SEO42_SITEMAP_ARRAY_CREATED', 'd2u_stellenmarkt_extended_sitemap'); } rex_register_extension('OOMEDIA_IS_IN_USE', 'rex_d2u_stellenmarkt_media_is_in_use'); // add subpages $REX['ADDON'][$mypage]['SUBPAGES'] = array(array('', $I18N_STELLEN->msg('stellenangebote')), array('kategorien', $I18N_STELLEN->msg('kategorien')), array('kontakte', $I18N_STELLEN->msg('kontakte'))); if (OOPlugin::isAvailable('d2u_stellenmarkt', 'hr4you_sync')) { array_push($REX['ADDON'][$mypage]['SUBPAGES'], array('hr4you_sync', 'HR4YOU Sync')); } /** * Prüft ob dieses Addon Medien im Medienpool nutzt. * @global array $REX Redaxo Einstellungen * @param type $params Übergabeparameter des Extension Points * @return string Warnnachricht als Array
/** * Schreibt Addoneigenschaften in die Datei include/addons.inc.php * @param array Array mit den Namen der Addons aus dem Verzeichnis addons/ */ function rex_generateAddons($ADDONS, $debug = false) { global $REX; natsort($ADDONS); $content = "// --- DYN\n\n"; foreach ($ADDONS as $cur) { if (!OOAddon::isInstalled($cur)) { $REX['ADDON']['install'][$cur] = 0; } if (!OOAddon::isActivated($cur)) { $REX['ADDON']['status'][$cur] = 0; } $content .= "\$REX['ADDON']['install']['{$cur}'] = " . $REX['ADDON']['install'][$cur] . ";\n" . "\$REX['ADDON']['status']['{$cur}'] = " . $REX['ADDON']['status'][$cur] . ";\n\n"; } $content .= "// --- /DYN"; $file = $REX['INCLUDE_PATH'] . "/addons.inc.php"; // Sichergehen, dass die Datei existiert und beschreibbar ist if (is_writable($file)) { if (!($h = fopen($file, "r"))) { return 'Konnte Datei "' . $file . '" nicht lesen'; } $fcontent = fread($h, filesize($file)); $fcontent = ereg_replace("(\\/\\/.---.DYN.*\\/\\/.---.\\/DYN)", $content, $fcontent); fclose($h); if (!($h = fopen($file, "w+"))) { return 'Konnte Datei "' . $file . '" nicht zum schreiben oeffnen'; } //if (!fwrite($h, $fcontent, strlen($fcontent))) { if (!fwrite($h, $fcontent, strlen($fcontent))) { return 'Konnte Inhalt nicht in Datei "' . $file . '" schreiben'; } fclose($h); // alles ist gut gegangen return true; } else { return 'Datei "' . $file . '" hat keine Schreibrechte'; } }
<?php $parent = 'rexsearch'; $mypage = 'reindex'; $REX['ADDON']['version'][$mypage] = '0.1'; $REX['ADDON']['author'][$mypage] = 'Robert Rupf'; $REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de'; $REX['EXTRAPERM'][] = $parent . '[' . $mypage . ']'; include_once dirname(__FILE__) . '/functions/function.reindex.inc.php'; include_once dirname(__FILE__) . '/functions/function.reindex_article.inc.php'; if ($REX['REDAXO'] and is_object($REX['USER']) and ($REX['USER']->hasPerm($parent . '[' . $mypage . ']') or $REX['USER']->isAdmin())) { $I18N->appendFile(dirname(__FILE__) . '/lang/'); if (rex_get('func') == 'reindex' and rex_get('article_id', 'int') and 0 <= rex_get('clang', 'int', -1)) { rex_register_extension('ADDONS_INCLUDED', function () { global $REX; $rexsearch = new RexSearch(); $rexsearch->indexArticle($REX['ARTICLE_ID'], $REX['CUR_CLANG']); rex_register_extension('PAGE_CONTENT_OUTPUT', function ($_params) { global $I18N; echo rex_info($I18N->msg('a587_reindex_done')); }); }); } } if (OOAddon::isActivated('rexsearch') or class_exists('rexsearch')) { rex_register_extension('REX_FORM_SAVED', 'a587_rexsearch_reindex'); rex_register_extension('REX_XFORM_SAVED', 'a587_rexsearch_reindex'); rex_register_extension('REX_FORM_DELETED', 'a587_rexsearch_reindex'); rex_register_extension('PAGE_CONTENT_MENU', 'a587_rexsearch_reindex_article'); }
} else { $delete = '<a href="' . $addonurl . 'delete=1" onclick="return confirm(\'' . htmlspecialchars($I18N->msg('addon_delete_question', $addon)) . '\');">' . $I18N->msg('addon_delete') . '</a>'; } if (OOAddon::isInstalled($addon)) { $install = $I18N->msg('addon_yes') . ' - <a href="' . $addonurl . 'install=1">' . $I18N->msg('addon_reinstall') . '</a>'; if (count(OOPlugin::getInstalledPlugins($addon)) > 0) { $uninstall = $I18N->msg('plugin_plugins_installed'); $delete = $I18N->msg('plugin_plugins_installed'); } else { $uninstall = '<a href="' . $addonurl . 'uninstall=1" onclick="return confirm(\'' . htmlspecialchars($I18N->msg('addon_uninstall_question', $addon)) . '\');">' . $I18N->msg('addon_uninstall') . '</a>'; } } else { $install = $I18N->msg('addon_no') . ' - <a href="' . $addonurl . 'install=1">' . $I18N->msg('addon_install') . '</a>'; $uninstall = $I18N->msg('addon_notinstalled'); } if (OOAddon::isActivated($addon)) { $status = $I18N->msg('addon_yes') . ' - <a href="' . $addonurl . 'activate=0">' . $I18N->msg('addon_deactivate') . '</a>'; } elseif (OOAddon::isInstalled($addon)) { $status = $I18N->msg('addon_no') . ' - <a href="' . $addonurl . 'activate=1">' . $I18N->msg('addon_activate') . '</a>'; } else { $status = $I18N->msg('addon_notinstalled'); } echo ' <tr class="rex-addon"> <td class="rex-icon rex-col-a"><span class="rex-i-element rex-i-addon"><span class="rex-i-element-text">' . htmlspecialchars($addon) . '</span></span></td> <td class="rex-col-b">' . htmlspecialchars($addon) . ' [<a href="index.php?page=addon&subpage=help&addonname=' . $addon . '">?</a>]</td> <td class="rex-col-c">' . $install . '</td> <td class="rex-col-d">' . $status . '</td> <td class="rex-col-e">' . $uninstall . '</td> <td class="rex-col-f">' . $delete . '</td> </tr>' . "\n ";
/** * Schreibt Addoneigenschaften in die Datei include/addons.inc.php * * @param array Array mit den Namen der Addons aus dem Verzeichnis addons/ * * @return TRUE bei Erfolg, sonst FALSE */ function rex_generateAddons($ADDONS) { global $REX; natsort($ADDONS); $content = ''; foreach ($ADDONS as $addon) { if (!OOAddon::isInstalled($addon)) { OOAddon::setProperty($addon, 'install', 0); } if (!OOAddon::isActivated($addon)) { OOAddon::setProperty($addon, 'status', 0); } foreach (array('install', 'status') as $prop) { $content .= sprintf("\$REX['ADDON']['%s']['%s'] = '%d';\n", $prop, $addon, OOAddon::getProperty($addon, $prop)); } $content .= "\n"; } // Da dieser Funktion öfter pro request aufgerufen werden kann, // hier die caches löschen clearstatcache(); $file = $REX['INCLUDE_PATH'] . '/addons.inc.php'; if (rex_replace_dynamic_contents($file, $content) === false) { return 'Datei "' . $file . '" hat keine Schreibrechte'; } return true; }
print '<label class="text" for="rechnungsformular-iban">IBAN *</label>'; print '<input type="text" class="text" name="rechnungsformular[iban]" id="rechnungsformular-iban" maxlength="35" value="" required>'; print '</p>'; print '<p class="formtext formlabel-bic" id="xform-formular-bic">'; print '<label class="text" for="rechnungsformular-bic">BIC *</label>'; print '<input type="text" class="text" name="rechnungsformular[bic]" id="rechnungsformular-bic" maxlength="11" value="" required>'; print '</p>'; if ($REX['ADDON']['d2u_kurse']['settings']['vhsagb_artikel'] > 0) { print '<p> </p>'; print '<p class="formcheckbox formlabel-vhsagb" id="xform-formular-vhsagb">'; print '<input type="checkbox" class="checkbox" name="rechnungsformular[agb]" id="rechnungsformular-agb" value="ja" required>'; $agb_article = OOArticle::getArticleById($REX['ADDON']['d2u_kurse']['settings']['vhsagb_artikel'], $REX['CUR_CLANG']); print '<label class="checkbox" for="rechnungsformular-agb">Hiermit stimme ich den <a href="' . rex_getUrl($REX['ADDON']['d2u_kurse']['settings']['vhsagb_artikel']) . '" target="blank">' . $agb_article->getName() . '</a> zu. *</label>'; print '</p>'; } if (OOAddon::isActivated('multinewsletter') && $REX['ADDON']['d2u_kurse']['settings']['multinewsletter_group'] > 0) { print '<p class="formcheckbox formlabel-multinewsletter" id="xform-formular-vhsagb">'; print '<input type="checkbox" class="checkbox" name="rechnungsformular[multinewsletter]" id="rechnungsformular-multinewsletter" value="ja">'; print '<label class="checkbox" for="rechnungsformular-multinewsletter">Bitte informieren Sie per E-Mail Newsletter über ein neues VHS Programm. Sie erhalten 2 bis 4 Newsletter pro Jahr. Ihre Anmeldung können Sie jederzeit widerrufen.</label>'; print '</p>'; } print '<br><br>* Pflichtfeld<br><br>'; print '<p class="formsubmit formsubmit">'; print '<input type="submit" class="submit" name="rechnungsformular[submit]" id="rechnungsformular-submit" value="Jetzt verbindlich buchen">'; print '</p>'; print '</form>'; print '</div>'; print '</div>'; } else { // Warenkorb print '<div class="col-sm-12 col-md-2 abstand">';
echo $I18N->msg("credits_author"); ?> </th> <th><?php echo $I18N->msg("credits_supportpage"); ?> </th> </tr> </thead> <tbody> <?php $ADDONS = rex_read_addons_folder(); foreach ($ADDONS as $cur) { $isActive = OOAddon::isActivated($cur); $version = OOAddon::getVersion($cur); $author = OOAddon::getAuthor($cur); $supportPage = OOAddon::getSupportPage($cur); if ($isActive) { $cl = 'rex-clr-grn'; } else { $cl = 'rex-clr-red'; } echo '<tr><td><span class="' . $cl . '">' . $cur . '</span> [<a href="index.php?page=addon&spage=help&addonname=' . $cur . '">?</a>]</td><td class="' . $cl . '">'; if ($version) { echo '[' . $version . ']'; } echo '</td><td class="' . $cl . '">'; if ($author) { echo $author;
<?php // add lang file $I18N->appendFile($REX['INCLUDE_PATH'] . '/addons/website_manager/lang/'); if (!OOAddon::isActivated('website_manager')) { // don't allow uninstall if website manager is not active. otherwise codeline hint msg won't be shown. $REX['ADDON']['installmsg']['website_manager'] = $I18N->msg('website_manager_uninstall_activate_first'); $REX['ADDON']['install']['website_manager'] = 1; } else { if (isset($REX['WEBSITE_MANAGER']) && $REX['WEBSITE_MANAGER']->getWebsiteCount() > 1) { // user has to manually delete websites first $REX['ADDON']['installmsg']['website_manager'] = $I18N->msg('website_manager_uninstall_delete_generated'); $REX['ADDON']['install']['website_manager'] = 1; } else { if (!$REX['WEBSITE_MANAGER_SETTINGS']['allow_uninstall']) { // user has manually set this option so we can safly proceed with uninstallation $REX['ADDON']['installmsg']['website_manager'] = $I18N->msg('website_manager_uninstall_allow_uninstall'); $REX['ADDON']['install']['website_manager'] = 1; } else { if (isset($REX['WEBSITE_MANAGER_DO_UNINSTALL']) && !$REX['WEBSITE_MANAGER_DO_UNINSTALL']) { // don't allow uninstall if user still has codeline in master.inc.php $REX['ADDON']['installmsg']['website_manager'] = $I18N->msg('website_manager_uninstall_codeline_hint'); $REX['ADDON']['install']['website_manager'] = 1; } else { $sql = new rex_sql(); //$sql->debugsql = true; $sql->setQuery('DROP TABLE IF EXISTS `rex_website`'); rex_website_manager_utils::rrmdir(WEBSITE_MANAGER_DATA_DIR); rex_generateAll(); $REX['ADDON']['install']['website_manager'] = 0; }
<?php $myself = 'xmediapool_password'; // add metainfo field if (OOAddon::isActivated('metainfo')) { a62_delete_field('med_' . $myself . '_password'); } $REX['ADDON']['install'][$myself] = 0;
$_SESSION['addonsAsObject'] = $getAddons; } else { // Keine erneute Abfrage an Redaxo.de stellen // Array bereits in Session gespeichert } //print_r($result); //print_r($_SESSION['addonsAsObject']); if (is_array($_SESSION['addonsAsArray'])) { foreach (Installer_group_addons_by_id($_SESSION['addonsAsArray']) as $key => $addon) { // Damit nur die neueste Version in der Liste erscheint, müssen wir hier // noch mal eine Sortierungsfunktion aufrufen usort($addon, "cmp"); $addon_status = ''; if (OOAddon::isAvailable($addon[0]['addon_key'])) { $addon_status = '<img src="media/addons/installer/play.gif" title="Installert und aktiviert" alt="Installiert und aktiviert" />'; } elseif (OOAddon::isInstalled($addon[0]['addon_key']) && !OOAddon::isActivated($addon[0]['addon_key'])) { $addon_status = '<img src="media/addons/installer/pause.gif" title="Installiert, jedoch nicht aktiviert" alt="Nicht aktiviert" />'; } elseif (Installer_check_if_addon_exists($REX['INCLUDE_PATH'] . "/addons/" . $addon[0]['addon_key'])) { $addon_status = '<img src="media/addons/installer/on_server.gif" title="Im AddOn Ordner vorhanden" alt="Im AddOn Ordner vorhanden" />'; } else { $addon_status = '<img src="media/addons/installer/addon.gif" title="Nicht auf Server vorhanden" alt="Nicht auf dem Server" />'; } if (OOAddon::isAvailable($addon[0]['addon_key']) && !OOAddon::getVersion($addon[0]['addon_key'])) { $systemVersion = '<img src="media/addons/installer/no_version.gif" title="Versionsangabe in der config.inc.php fehlt" alt="Versionsangabe in der config.inc.php fehlt" />'; } elseif (!OOAddon::isAvailable($addon[0]['addon_key'])) { $systemVersion = '-'; } else { $systemVersion = OOAddon::getVersion($addon[0]['addon_key']); } $updateAvailable = ""; if (checkAddonVersion(OOAddon::getVersion($addon[0]['addon_key']), $addon[0]['file_version'])) {
/** * Gibt die URL der Terminkategorie zurück. * @global mixed[] $REX Redaxo Variable * @var boolean $path_only Gibt an, ob die URL mit Domain oder ohne erstellt * werden soll. * @return String URL für das Objekt */ function getURL($path_only = FALSE) { if ($this->url == "") { global $REX; $pathname = ''; if (OOAddon::isActivated('seo42')) { // Mit SEO42 require_once dirname(__FILE__) . "/../../seo42/classes/class.seo42_rewrite.inc.php"; // Dann Redaxo Artikelfolge if ($REX['ADDON']['d2u_kurse']['settings']['kurse_artikel'] > 0 && $REX['ADDON']['d2u_kurse']['settings']['kurse_artikel'] != $REX['START_ARTICLE_ID']) { $kategorie = OOCategory::getCategoryById($REX['ADDON']['d2u_kurse']['settings']['kurse_artikel'], $REX['CUR_CLANG']); $hauptkategorien = $kategorie->getPathAsArray(); for ($i = 0; $i < count($hauptkategorien); $i++) { $hauptkategorie = OOCategory::getCategoryById($hauptkategorien[$i], $REX['CUR_CLANG']); if ($hauptkategorie instanceof OOCategory) { $pathname = seo42_appendToPath($pathname, $hauptkategorie->getName(), $hauptkategorie->getId(), $REX['CUR_CLANG']); } } if ($kategorie->getName() != "") { $pathname = seo42_appendToPath($pathname, $kategorie->getName(), $kategorie->getId(), $REX['CUR_CLANG']); } else { // Wenn angegebener Artikel keine Kategorie ist, sondern nur Artikelname hat $pathname = seo42_appendToPath($pathname, $kategorie->getValue("name"), $kategorie->getId(), $REX['CUR_CLANG']); } } // Art der Startkachel $pathname = seo42_appendToPath($pathname, $REX['ADDON']['d2u_kurse']['settings']['termin_titel'], $REX['ADDON']['d2u_kurse']['settings']['kurse_artikel'], $REX['CUR_CLANG']); // Die Elternkategorie if ($this->eltern_terminkategorie !== FALSE) { $pathname = seo42_appendToPath($pathname, $this->eltern_terminkategorie->name, $REX['ADDON']['d2u_kurse']['settings']['kurse_artikel'], $REX['CUR_CLANG']); } // Die Terminkategorie $pathname = seo42_appendToPath($pathname, $this->name, $REX['ADDON']['d2u_kurse']['settings']['kurse_artikel'], $REX['CUR_CLANG']); $pathname = substr($pathname, 0, -1) . $REX['ADDON']['seo42']['settings']['url_ending']; } else { // Ohne SEO42 $parameterArray = array(); $parameterArray['terminkategorie_id'] = $this->terminkategorie_id; $pathname = rex_getUrl($REX['ADDON']['d2u_kurse']['settings']['kurse_artikel'], $REX['CUR_CLANG'], $parameterArray, "&"); } $this->url = $pathname; } if ($path_only) { return $this->url; } else { return $REX['SERVER'] . $this->url; } }
<th><?php echo $I18N->msg("credits_author"); ?> </th> <th><?php echo $I18N->msg("credits_supportpage"); ?> </th> </tr> </thead> <tbody> <?php foreach (OOAddon::getRegisteredAddons() as $addon) { $isActive = OOAddon::isActivated($addon); $version = OOAddon::getVersion($addon); $author = OOAddon::getAuthor($addon); $supportPage = OOAddon::getSupportPage($addon); if ($isActive) { $cl = 'rex-clr-grn'; } else { $cl = 'rex-clr-red'; } if ($version) { $version = '[' . $version . ']'; } if ($author) { $author = htmlspecialchars($author); } if (!$isActive) {
function rex_setup_addons($uninstallBefore = false, $installDump = true) { global $REX, $I18N; require_once $REX['INCLUDE_PATH'] . '/functions/function_rex_addons.inc.php'; $state = true; $addonErr = ''; $ADDONS = rex_read_addons_folder(); foreach ($REX['SYSTEM_ADDONS'] as $systemAddon) { if ($state === true && $uninstallBefore) { $state = rex_uninstall_addon($ADDONS, $systemAddon); } if ($state === true && !OOAddon::isInstalled($systemAddon)) { $state = rex_install_addon($ADDONS, $systemAddon, $installDump); } if ($state === true && !OOAddon::isActivated($systemAddon)) { $state = rex_activate_addon($ADDONS, $systemAddon); } if ($state !== true) { $addonErr .= '<li>' . $systemAddon . '<ul><li>' . $state . '</li></ul></li>'; } } if ($addonErr != '') { $addonErr = '<ul> <li> <h3>' . $I18N->msg('setup_011', '<span class="rex-error">', '</span>') . '</h3> <ul>' . $addonErr . '</ul> </li> </ul>'; } return $addonErr; }
/** * Gibt die URL dieses Stellenangebots zurück. * @param int clang_id SprachID aus Redaxo * @return string URL für dieses Stellenangebot. */ public function getURL($clang_id = -1) { if ($clang_id == -1) { $clang_id = $this->clang_id; } if ($this->url != "") { return $this->url; } else { global $REX; $url = $REX['SERVER']; $pathname = ''; if ($REX['MOD_REWRITE'] == true && OOAddon::isActivated('seo42')) { // Mit SEO42 require_once dirname(__FILE__) . "/../../seo42/classes/class.seo42_rewrite.inc.php"; if (count($REX['CLANG']) > 1 && $clang_id != $REX['ADDON']['seo42']['settings']['hide_langslug']) { // Sprachkuerzel $pathname = seo42_appendToPath($pathname, $REX['ADDON']['seo42']['settings']['lang'][$clang_id]['code'], $REX['START_ARTICLE_ID'], $clang_id); } // Dann Redaxo Artikelfolge if ($this->artikel_id > 0 && $clang_id > -1) { $kategorie = OOCategory::getCategoryById($this->artikel_id, $clang_id); $hauptkategorien = $kategorie->getPathAsArray(); for ($i = 0; $i < count($hauptkategorien); $i++) { $hauptkategorie = OOCategory::getCategoryById($hauptkategorien[$i], $clang_id); if ($hauptkategorie instanceof OOCategory) { $pathname = seo42_appendToPath($pathname, $hauptkategorie->getName(), $hauptkategorie->getId(), $clang_id); } } $pathname = seo42_appendToPath($pathname, $kategorie->getName(), $kategorie->getId(), $clang_id); } // Jetzt die Stelle $pathname = seo42_appendToPath($pathname, $this->interne_bezeichnung . "-" . $this->interne_nummer, $this->artikel_id, $clang_id); $pathname = substr($pathname, 0, -1) . $REX['ADDON']['seo42']['settings']['url_ending']; } else { // Ohne SEO42 $parameterArray = array(); $parameterArray['stellen_id'] = $this->stellen_id; $pathname = rex_getUrl($this->artikel_id, $clang_id, $parameterArray, "&"); } $url .= $pathname; return $url; } }