ElggPlugin::isActive PHP Method

isActive() public method

Is this plugin active?
public isActive ( ) : boolean
return boolean
    public function isActive()
    {
        if (!$this->guid) {
            return false;
        }
        $site = _elgg_services()->configTable->get('site');
        if (!$site instanceof \ElggSite) {
            return false;
        }
        return check_entity_relationship($this->guid, 'active_plugin', $site->guid);
    }

Usage Example

示例#1
0
文件: start.php 项目: socialweb/PiGo
/**
 * Import plugin settings
 *
 * @param string $info
 * @param string $settings_mode Options to load plugin settings. One of overwrite, if_not_exists, or ignore
 * @return type bool
 */
function transfer_plugins_import($info, $settings_mode = 'if_not_exists')
{
    $info = unserialize($info);
    if (!$info) {
        return false;
    }
    $version = elgg_extract('transfer_plugins_format', $info);
    if ($version != TRANSFER_PLUGINS_FORMAT) {
        return false;
    }
    // @todo check elgg, plugin, and transfer_plugin version compatibility.
    if (!isset($info['plugins'])) {
        return false;
    }
    $r = true;
    foreach ($info['plugins'] as $plugin_info) {
        $plugin_id = $plugin_info['id'];
        $plugin = new ElggPlugin($plugin_id);
        // not installed
        if (!$plugin->isValid()) {
            continue;
        }
        $r &= $plugin->setPriority($plugin_info['priority']);
        if ($plugin_info['active'] && !$plugin->isActive()) {
            $r &= $plugin->activate();
        }
        if ($settings_mode != 'ignore' && $plugin_info['settings']) {
            foreach ($plugin_info['settings'] as $name => $value) {
                switch ($settings_mode) {
                    case 'overwrite':
                        $plugin->setSetting($name, $value);
                        break;
                    case 'if_not_exists':
                        // @todo not sure if this works because isset isn't overloaded in ElggPlugin
                        if (!isset($plugin->{$name})) {
                            $plugin->setSetting($name, $value);
                        }
                        break;
                }
            }
        }
    }
    return $r;
}
All Usage Examples Of ElggPlugin::isActive