aboutsummaryrefslogtreecommitdiffstats
path: root/boot.php
diff options
context:
space:
mode:
Diffstat (limited to 'boot.php')
-rw-r--r--boot.php66
1 files changed, 57 insertions, 9 deletions
diff --git a/boot.php b/boot.php
index 6bd78b87d..806ad5377 100644
--- a/boot.php
+++ b/boot.php
@@ -2,9 +2,9 @@
set_time_limit(0);
-define ( 'BUILD_ID', 1039 );
-define ( 'FRIENDIKA_VERSION', '2.10.0909' );
+define ( 'FRIENDIKA_VERSION', '2.1.917' );
define ( 'DFRN_PROTOCOL_VERSION', '2.1' );
+define ( 'DB_UPDATE_VERSION', 1040 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -435,15 +435,15 @@ function check_config(&$a) {
$build = get_config('system','build');
if(! x($build))
- $build = set_config('system','build',BUILD_ID);
+ $build = set_config('system','build',DB_UPDATE_VERSION);
$url = get_config('system','url');
if(! x($url))
$url = set_config('system','url',$a->get_baseurl());
- if($build != BUILD_ID) {
+ if($build != DB_UPDATE_VERSION) {
$stored = intval($build);
- $current = intval(BUILD_ID);
+ $current = intval(DB_UPDATE_VERSION);
if(($stored < $current) && file_exists('update.php')) {
// We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current.
@@ -455,7 +455,7 @@ function check_config(&$a) {
$func($a);
}
}
- set_config('system','build', BUILD_ID);
+ set_config('system','build', DB_UPDATE_VERSION);
}
}
@@ -512,22 +512,70 @@ function check_config(&$a) {
foreach($plugins_arr as $p) {
if(! in_array($p,$installed_arr)) {
logger("Addons: installing " . $p);
+ $t = filemtime('addon/' . $p . '/' . $p . '.php');
@include_once('addon/' . $p . '/' . $p . '.php');
if(function_exists($p . '_install')) {
$func = $p . '_install';
$func();
- $r = q("INSERT INTO `addon` (`name`, `installed`) VALUES ( '%s', 1 ) ",
- dbesc($p)
+ $r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`) VALUES ( '%s', 1, %d ) ",
+ dbesc($p),
+ intval($t)
);
}
}
}
}
+
+
load_hooks();
return;
}}
+// reload all updated plugins
+
+if(! function_exists('reload_plugins')) {
+function reload_plugins() {
+ $plugins = get_config('system','addon');
+ if(strlen($plugins)) {
+
+ $r = q("SELECT * FROM `addon` WHERE `installed` = 1");
+ if(count($r))
+ $installed = $r;
+ else
+ $installed = array();
+
+ $parr = explode(',',$plugins);
+ if(count($parr)) {
+ foreach($parr as $pl) {
+ $pl = trim($pl);
+
+ $t = filemtime('addon/' . $pl . '/' . $pl . '.php');
+ foreach($installed as $i) {
+ if(($i['name'] == $pl) && ($i['timestamp'] != $t)) {
+ logger('Reloading plugin: ' . $i['name']);
+ @include_once('addon/' . $pl . '/' . $pl . '.php');
+
+ if(function_exists($pl . '_uninstall')) {
+ $func = $pl . '_uninstall';
+ $func();
+ }
+ if(function_exists($pl . '_install')) {
+ $func = $pl . '_install';
+ $func();
+ }
+ q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d LIMIT 1",
+ intval($t),
+ intval($i['id'])
+ );
+ }
+ }
+ }
+ }
+ }
+}}
+
+
// This is our template processor.
// $s is the string requiring macro substitution.
@@ -1777,7 +1825,7 @@ function allowed_email($email) {
if(count($allowed)) {
foreach($allowed as $a) {
$pat = strtolower(trim($a));
- if(($fnmatch && fnmatch($pat,$host)) || ($pat == $host)) {
+ if(($fnmatch && fnmatch($pat,$domain)) || ($pat == $domain)) {
$found = true;
break;
}