const HOOK_HEADLINES_BEFORE = 28;
const HOOK_RENDER_ENCLOSURE = 29;
const HOOK_ARTICLE_FILTER_ACTION = 30;
+ const HOOK_ARTICLE_EXPORT_FEED = 31;
const KIND_ALL = 1;
const KIND_SYSTEM = 2;
return array();
}
}
- function load_all($kind, $owner_uid = false) {
+ function load_all($kind, $owner_uid = false, $skip_init = false) {
$plugins = array_merge(glob("plugins/*"), glob("plugins.local/*"));
$plugins = array_filter($plugins, "is_dir");
asort($plugins);
- $this->load(join(",", $plugins), $kind, $owner_uid);
+ $this->load(join(",", $plugins), $kind, $owner_uid, $skip_init);
}
- function load($classlist, $kind, $owner_uid = false) {
+ function load($classlist, $kind, $owner_uid = false, $skip_init = false) {
$plugins = explode(",", $classlist);
$this->owner_uid = (int) $owner_uid;
switch ($kind) {
case $this::KIND_SYSTEM:
if ($this->is_system($plugin)) {
- $plugin->init($this);
+ if (!$skip_init) $plugin->init($this);
$this->register_plugin($class, $plugin);
}
break;
case $this::KIND_USER:
if (!$this->is_system($plugin)) {
- $plugin->init($this);
+ if (!$skip_init) $plugin->init($this);
$this->register_plugin($class, $plugin);
}
break;
case $this::KIND_ALL:
- $plugin->init($this);
+ if (!$skip_init) $plugin->init($this);
$this->register_plugin($class, $plugin);
break;
}