예제 #1
0
파일: plugins.php 프로젝트: eokyere/elgg
/**
 * Set a setting for a plugin.
 *
 * @param string $name The name - note, can't be "title".
 * @param mixed $value The value.
 * @param string $plugin_name Optional plugin name, if not specified then it is detected from where you are calling from.
 */
function set_plugin_setting($name, $value, $plugin_name = "")
{
    if (!$plugin_name) {
        $plugin_name = get_plugin_name();
    }
    $plugin = find_plugin_settings($plugin_name);
    if (!$plugin) {
        $plugin = new ElggPlugin();
    }
    if ($name != 'title') {
        // Hook to validate setting
        $value = trigger_plugin_hook('plugin:setting', 'plugin', array('plugin' => $plugin_name, 'name' => $name, 'value' => $value), $value);
        $plugin->title = $plugin_name;
        $plugin->access_id = ACCESS_PUBLIC;
        $plugin->save();
        $plugin->{$name} = $value;
        return $plugin->getGUID();
    }
    return false;
}