예제 #1
0
    if (isset($plugins[$disable])) {
        unset($plugins[$disable]);
        $disabled_plugins[$disable] = 1;
    }
    // test whether other enabled plugins depend on this one
    foreach ($plugins as $piName => $pi) {
        if (!pluginCanEnable($piName)) {
            unset($plugins[$piName]);
            $disabled_plugins[$piName] = 1;
        }
    }
    saveConfig('plugins_disabled', serialize($disabled_plugins), 0);
    saveConfig(md5('plugin-' . $disable . '-initialised'), 0);
    $status = $GLOBALS['img_cross'] . '<script type="text/javascript">document.location = document.location; </script>';
} elseif (isset($_GET['enable']) && !empty($GLOBALS['allplugins'][$_GET['enable']])) {
    if (pluginCanEnable($_GET['enable'])) {
        if (isset($disabled_plugins[$_GET['enable']])) {
            unset($disabled_plugins[$_GET['enable']]);
        }
        if (isset($GLOBALS['allplugins'][$_GET['enable']])) {
            $GLOBALS['allplugins'][$_GET['enable']]->initialise();
        }
        #  var_dump($disabled_plugins);
        saveConfig('plugins_disabled', serialize($disabled_plugins), 0);
        $status = $GLOBALS['img_tick'] . '<script type="text/javascript">document.location = document.location; </script>';
    } else {
        logEvent(s('Failed to enable plugin (%s), dependencies failed', clean($_GET['enable'])));
        $status = $GLOBALS['img_cross'];
    }
} elseif (isset($_GET['initialise'])) {
    if (isset($GLOBALS['plugins'][$_GET['initialise']])) {
예제 #2
0
    if (pluginCanEnable($pluginname)) {
        $ls->addColumn($pluginname, s('enabled'), $plugin->enabled ? PageLinkAjax('plugins&disable=' . $pluginname, $GLOBALS['img_tick']) : PageLinkAjax('plugins&enable=' . $pluginname, $GLOBALS['img_cross']));
    }
    if (DEVVERSION) {
        //$ls->addColumn($pluginname,s('initialise'),$plugin->enabled ?
        //PageLinkAjax('plugins&initialise='.$pluginname,s('Initialise')) : '');
        if ($plugin->enabled) {
            $details .= '<div class="detail"><span class="label">' . s('initialise') . '</span>';
            $details .= '<span class="value">';
            $details .= PageLinkAjax('plugins&initialise=' . $pluginname, s('Initialise'));
            $details .= '</span></div>';
        }
    }
    if (!empty($pluginDetails['installUrl']) && is_writable($pluginDestination . '/' . $pluginname)) {
        ## we can only delete the ones that were installed from the interface
        $ls->addColumn($pluginname, s('delete'), '<span class="delete"><a href="javascript:deleteRec(\'./?page=plugins&delete=' . $pluginname . '\');" class="button" title="' . s('delete this plugin') . '">' . s('delete') . '</a></span>');
    }
    if (!pluginCanEnable($pluginname)) {
        $details .= '<div class="detail"><span class="label">' . s('Dependency check') . '</span>';
        $details .= '<span class="value">' . s('Plugin can not be enabled, because it fails a dependency check - ') . $plugin->dependencyFailure . '</span></div>';
    }
    if (!empty($pluginDetails['installUrl']) && class_exists('ZipArchive')) {
        $updateForm = formStart();
        $updateForm .= '<input type="hidden" name="pluginurl" value="' . $pluginDetails['installUrl'] . '"/>
        <button type="submit" name="update" title="' . s('update this plugin') . '">' . s('update') . '</button></form>';
        $ls->addColumn($pluginname, s('update'), $updateForm);
    }
    $details .= '</div>';
    $ls->addRow($pluginname, s('details'), $details);
}
print $ls->display();