change plugin_install to plugin_load, etc.
This commit is contained in:
parent
72a770ae36
commit
d517b4fdf5
6
boot.php
6
boot.php
@ -1118,7 +1118,7 @@ function check_config(&$a) {
|
|||||||
* $a->config['system']['addon'] contains a comma-separated list of names
|
* $a->config['system']['addon'] contains a comma-separated list of names
|
||||||
* of plugins/addons which are used on this system.
|
* of plugins/addons which are used on this system.
|
||||||
* Go through the database list of already installed addons, and if we have
|
* Go through the database list of already installed addons, and if we have
|
||||||
* an entry, but it isn't in the config list, call the uninstall procedure
|
* an entry, but it isn't in the config list, call the unload procedure
|
||||||
* and mark it uninstalled in the database (for now we'll remove it).
|
* and mark it uninstalled in the database (for now we'll remove it).
|
||||||
* Then go through the config list and if we have a plugin that isn't installed,
|
* Then go through the config list and if we have a plugin that isn't installed,
|
||||||
* call the install procedure and add it to the database.
|
* call the install procedure and add it to the database.
|
||||||
@ -1144,7 +1144,7 @@ function check_config(&$a) {
|
|||||||
if(count($installed)) {
|
if(count($installed)) {
|
||||||
foreach($installed as $i) {
|
foreach($installed as $i) {
|
||||||
if(! in_array($i['name'],$plugins_arr)) {
|
if(! in_array($i['name'],$plugins_arr)) {
|
||||||
uninstall_plugin($i['name']);
|
unload_plugin($i['name']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$installed_arr[] = $i['name'];
|
$installed_arr[] = $i['name'];
|
||||||
@ -1155,7 +1155,7 @@ function check_config(&$a) {
|
|||||||
if(count($plugins_arr)) {
|
if(count($plugins_arr)) {
|
||||||
foreach($plugins_arr as $p) {
|
foreach($plugins_arr as $p) {
|
||||||
if(! in_array($p,$installed_arr)) {
|
if(! in_array($p,$installed_arr)) {
|
||||||
install_plugin($p);
|
load_plugin($p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,24 +3,41 @@
|
|||||||
require_once("include/friendica_smarty.php");
|
require_once("include/friendica_smarty.php");
|
||||||
|
|
||||||
// install and uninstall plugin
|
// install and uninstall plugin
|
||||||
if (! function_exists('uninstall_plugin')){
|
|
||||||
function uninstall_plugin($plugin){
|
function unload_plugin($plugin){
|
||||||
logger("Addons: uninstalling " . $plugin, LOGGER_DEBUG);
|
logger("Addons: unloading " . $plugin, LOGGER_DEBUG);
|
||||||
q("DELETE FROM `addon` WHERE `name` = '%s' ",
|
|
||||||
dbesc($plugin)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
|
||||||
|
if(function_exists($plugin . '_unload')) {
|
||||||
|
$func = $plugin . '_unload';
|
||||||
|
$func();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function uninstall_plugin($plugin) {
|
||||||
|
|
||||||
|
unload_plugin($plugin);
|
||||||
|
|
||||||
|
if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php'))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
logger("Addons: uninstalling " . $plugin);
|
||||||
|
$t = @filemtime('addon/' . $plugin . '/' . $plugin . '.php');
|
||||||
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
|
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
|
||||||
if(function_exists($plugin . '_uninstall')) {
|
if(function_exists($plugin . '_uninstall')) {
|
||||||
$func = $plugin . '_uninstall';
|
$func = $plugin . '_uninstall';
|
||||||
$func();
|
$func();
|
||||||
}
|
}
|
||||||
}}
|
|
||||||
|
|
||||||
if (! function_exists('install_plugin')){
|
q("DELETE FROM `addon` WHERE `name` = '%s' ",
|
||||||
|
dbesc($plugin)
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function install_plugin($plugin) {
|
function install_plugin($plugin) {
|
||||||
// silently fail if plugin was removed
|
|
||||||
|
|
||||||
if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php'))
|
if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php'))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -30,14 +47,34 @@ function install_plugin($plugin) {
|
|||||||
if(function_exists($plugin . '_install')) {
|
if(function_exists($plugin . '_install')) {
|
||||||
$func = $plugin . '_install';
|
$func = $plugin . '_install';
|
||||||
$func();
|
$func();
|
||||||
|
}
|
||||||
|
|
||||||
|
$plugin_admin = (function_exists($plugin . "_plugin_admin") ? 1 : 0);
|
||||||
|
|
||||||
$plugin_admin = (function_exists($plugin . "_plugin_admin") ? 1 : 0);
|
$r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`, `plugin_admin`) VALUES ( '%s', 1, %d , %d ) ",
|
||||||
|
dbesc($plugin),
|
||||||
|
intval($t),
|
||||||
|
$plugin_admin
|
||||||
|
);
|
||||||
|
|
||||||
|
load_plugin($plugin);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function load_plugin($plugin) {
|
||||||
|
// silently fail if plugin was removed
|
||||||
|
|
||||||
|
if(! file_exists('addon/' . $plugin . '/' . $plugin . '.php'))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
logger("Addons: loading " . $plugin);
|
||||||
|
$t = @filemtime('addon/' . $plugin . '/' . $plugin . '.php');
|
||||||
|
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
|
||||||
|
if(function_exists($plugin . '_load')) {
|
||||||
|
$func = $plugin . '_load';
|
||||||
|
$func();
|
||||||
|
|
||||||
$r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`, `plugin_admin`) VALUES ( '%s', 1, %d , %d ) ",
|
|
||||||
dbesc($plugin),
|
|
||||||
intval($t),
|
|
||||||
$plugin_admin
|
|
||||||
);
|
|
||||||
|
|
||||||
// we can add the following with the previous SQL
|
// we can add the following with the previous SQL
|
||||||
// once most site tables have been updated.
|
// once most site tables have been updated.
|
||||||
@ -51,15 +88,14 @@ function install_plugin($plugin) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
logger("Addons: FAILED installing " . $plugin);
|
logger("Addons: FAILED loading " . $plugin);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}}
|
}
|
||||||
|
|
||||||
// reload all updated plugins
|
// reload all updated plugins
|
||||||
|
|
||||||
if(! function_exists('reload_plugins')) {
|
|
||||||
function reload_plugins() {
|
function reload_plugins() {
|
||||||
$plugins = get_config('system','addon');
|
$plugins = get_config('system','addon');
|
||||||
if(strlen($plugins)) {
|
if(strlen($plugins)) {
|
||||||
@ -86,12 +122,12 @@ function reload_plugins() {
|
|||||||
logger('Reloading plugin: ' . $i['name']);
|
logger('Reloading plugin: ' . $i['name']);
|
||||||
@include_once($fname);
|
@include_once($fname);
|
||||||
|
|
||||||
if(function_exists($pl . '_uninstall')) {
|
if(function_exists($pl . '_unload')) {
|
||||||
$func = $pl . '_uninstall';
|
$func = $pl . '_unload';
|
||||||
$func();
|
$func();
|
||||||
}
|
}
|
||||||
if(function_exists($pl . '_install')) {
|
if(function_exists($pl . '_load')) {
|
||||||
$func = $pl . '_install';
|
$func = $pl . '_load';
|
||||||
$func();
|
$func();
|
||||||
}
|
}
|
||||||
q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d LIMIT 1",
|
q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d LIMIT 1",
|
||||||
@ -104,14 +140,13 @@ function reload_plugins() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('register_hook')) {
|
|
||||||
function register_hook($hook,$file,$function,$priority=0) {
|
function register_hook($hook,$file,$function,$priority=0) {
|
||||||
|
|
||||||
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
|
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
|
||||||
@ -129,9 +164,9 @@ function register_hook($hook,$file,$function,$priority=0) {
|
|||||||
dbesc($priority)
|
dbesc($priority)
|
||||||
);
|
);
|
||||||
return $r;
|
return $r;
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('unregister_hook')) {
|
|
||||||
function unregister_hook($hook,$file,$function) {
|
function unregister_hook($hook,$file,$function) {
|
||||||
|
|
||||||
$r = q("DELETE FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
|
$r = q("DELETE FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
|
||||||
@ -140,7 +175,7 @@ function unregister_hook($hook,$file,$function) {
|
|||||||
dbesc($function)
|
dbesc($function)
|
||||||
);
|
);
|
||||||
return $r;
|
return $r;
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -148,7 +183,7 @@ function unregister_hook($hook,$file,$function) {
|
|||||||
// array in their theme_init() and use this to customise the app behaviour.
|
// array in their theme_init() and use this to customise the app behaviour.
|
||||||
//
|
//
|
||||||
|
|
||||||
if(! function_exists('load_hooks')) {
|
|
||||||
function load_hooks() {
|
function load_hooks() {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
$a->hooks = array();
|
$a->hooks = array();
|
||||||
@ -160,10 +195,10 @@ function load_hooks() {
|
|||||||
$a->hooks[$rr['hook']][] = array($rr['file'],$rr['function']);
|
$a->hooks[$rr['hook']][] = array($rr['file'],$rr['function']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('call_hooks')) {
|
|
||||||
function call_hooks($name, &$data = null) {
|
function call_hooks($name, &$data = null) {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
@ -185,7 +220,7 @@ function call_hooks($name, &$data = null) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -201,7 +236,7 @@ function call_hooks($name, &$data = null) {
|
|||||||
* *
|
* *
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (! function_exists('get_plugin_info')){
|
|
||||||
function get_plugin_info($plugin){
|
function get_plugin_info($plugin){
|
||||||
$info=Array(
|
$info=Array(
|
||||||
'name' => $plugin,
|
'name' => $plugin,
|
||||||
@ -241,7 +276,7 @@ function get_plugin_info($plugin){
|
|||||||
|
|
||||||
}
|
}
|
||||||
return $info;
|
return $info;
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -257,7 +292,7 @@ function get_plugin_info($plugin){
|
|||||||
* *
|
* *
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (! function_exists('get_theme_info')){
|
|
||||||
function get_theme_info($theme){
|
function get_theme_info($theme){
|
||||||
$info=Array(
|
$info=Array(
|
||||||
'name' => $theme,
|
'name' => $theme,
|
||||||
@ -316,7 +351,7 @@ function get_theme_info($theme){
|
|||||||
|
|
||||||
}
|
}
|
||||||
return $info;
|
return $info;
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
|
||||||
function get_theme_screenshot($theme) {
|
function get_theme_screenshot($theme) {
|
||||||
@ -503,7 +538,7 @@ function theme_include($file, $root = '') {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('get_intltext_template')) {
|
|
||||||
function get_intltext_template($s) {
|
function get_intltext_template($s) {
|
||||||
global $a;
|
global $a;
|
||||||
|
|
||||||
@ -530,9 +565,9 @@ function get_intltext_template($s) {
|
|||||||
else
|
else
|
||||||
return file_get_contents($file);
|
return file_get_contents($file);
|
||||||
|
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(! function_exists('get_markup_template')) {
|
|
||||||
function get_markup_template($s, $root = '') {
|
function get_markup_template($s, $root = '') {
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
@ -553,5 +588,5 @@ function get_markup_template($s, $root = '') {
|
|||||||
return $template;
|
return $template;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}}
|
}
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
2013-04-30.299
|
2013-05-01.300
|
||||||
|
Reference in New Issue
Block a user