function Installer_object2array($object)
{
    $return = NULL;
    if (is_array($object)) {
        foreach ($object as $key => $value) {
            $return[$key] = Installer_object2array($value);
        }
    } else {
        $var = @get_object_vars($object);
        if ($var) {
            foreach ($var as $key => $value) {
                $return[$key] = Installer_object2array($value);
            }
        } else {
            return strval($object);
        }
        // strval and everything is fine
    }
    return $return;
}
$addon = array();
$module = array();
// Leere Vars, wg, PHP Warning
$foundSomething = '';
// leere var für die Suche
$moduleList = '';
// Get Search ;)
$search_module = rex_request('search_module', 'string');
// Prüfen, ob SESSION der Modules-Liste bereits vorliegt
// In diesem Case wird das zurückgelieferte Ergebnis mittels Funktion
// von einem Object in ein Array umgewandelt und zusätzlich eine Varriante
// als object gespeichert
Installer_clearSessionCache();
// Die Session muss jedes mal zerstört werden, da die Daten immer frisch abgerufen werden müssen
$getModules = Installer_getAddons($moduleApi . "&vt=" . $search_module);
$_SESSION['modulesAsArray'] = Installer_object2array($getModules);
$_SESSION['modulesAsObject'] = $getModules;
if (is_array($_SESSION['modulesAsArray'])) {
    foreach ($_SESSION['modulesAsArray'] as $key => $module) {
        $moduleList .= '<tr data-addon="?page=installer&subpage=modul_installer&pluginpage=install&moduleid=' . $module['id'] . '">';
        $moduleList .= '<td>' . $module['name'] . '</td>';
        $moduleList .= '<td>' . $module['shortdescription'] . '</td>';
        //$moduleList .= '<td><textarea>'.htmlentities($module['module_in']).'</textarea></td>';
        $moduleList .= '<td><img src="media/addons/installer/install.gif" alt="Mit Installer laden" title="Mit Installer laden" /></td>';
        $moduleList .= '</tr>';
        $foundSomething = $module['id'];
        // Bissi dirty, benötige jedoch einen Wert um zu Prüfen, ob Suche korrekt war, da das Array immer gefüllt ist.
    }
}
?>
Esempio n. 3
0
<div id="ajax-result">
    <?php 
if ($force == "refreshList") {
    Installer_clearSessionCache();
    echo rex_info('Die Liste wurde aktualisiert');
}
?>
</div>
<?php 
// Prüfen, ob SESSION der Addon-Liste bereits vorliegt
// In diesem Case wird das zurückgelieferte Ergebnis mittels Funktion
// von einem Object in ein Array umgewandelt und zusätzlich eine Varriante
// für die installer.inc.php als object gespeichert
if (!isset($_SESSION['addonsAsArray'])) {
    $getAddons = Installer_getAddons($addonApi);
    $_SESSION['addonsAsArray'] = Installer_object2array($getAddons);
    $_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" />';