X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=boot.php;h=197b6d2381c98c9dd8927379f068d138f05b67c2;hb=31d447126aefbe1bdb14ed5a4a6b7d84845e9f29;hp=de166943959629aaf7e17540e81cb6c7e0292017;hpb=6808d53d0f8044a395a4e0099689d282285a0ac0;p=friendica.git diff --git a/boot.php b/boot.php index de16694395..197b6d2381 100644 --- a/boot.php +++ b/boot.php @@ -2,7 +2,7 @@ set_time_limit(0); -define ( 'BUILD_ID', 1028 ); +define ( 'BUILD_ID', 1030 ); define ( 'DFRN_PROTOCOL_VERSION', '2.0' ); define ( 'EOL', "
\r\n" ); @@ -211,14 +211,14 @@ class App { if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") $this->query_string = substr($_SERVER['QUERY_STRING'],2); if(x($_GET,'q')) - $this->cmd = trim($_GET['q'],'/'); + $this->cmd = trim($_GET['q'],'/\\'); /** * Figure out if we are running at the top of a domain * or in a sub-directory and adjust accordingly */ - $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/'); + $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\'); if(isset($path) && strlen($path) && ($path != $this->path)) $this->path = $path; @@ -430,6 +430,8 @@ function check_config(&$a) { $r = q("SELECT * FROM `addon` WHERE `installed` = 1"); if(count($r)) $installed = $r; + else + $installed = array(); $plugins = get_config('system','addon'); $plugins_arr = array(); @@ -438,21 +440,24 @@ function check_config(&$a) { $plugins_arr = explode(',',str_replace(' ', '',$plugins)); $installed_arr = array(); - foreach($installed as $i) { - if(! in_array($i['name'],$plugins_arr)) { - logger("Addons: uninstalling " . $i['name']); - q("DELETE FROM `addon` WHERE `id` = %d LIMIT 1", - intval($i['id']) - ); - @include_once('addon/' . $i['name'] . '/' . $i['name'] . '.php'); - if(function_exists($i['name'] . '_uninstall')) { - $func = $i['name'] . '_uninstall'; - $func(); + if(count($installed)) { + foreach($installed as $i) { + if(! in_array($i['name'],$plugins_arr)) { + logger("Addons: uninstalling " . $i['name']); + q("DELETE FROM `addon` WHERE `id` = %d LIMIT 1", + intval($i['id']) + ); + + @include_once('addon/' . $i['name'] . '/' . $i['name'] . '.php'); + if(function_exists($i['name'] . '_uninstall')) { + $func = $i['name'] . '_uninstall'; + $func(); + } } + else + $installed_arr[] = $i['name']; } - else - $installed_arr[] = $i['name']; } if(count($plugins_arr)) { @@ -1113,6 +1118,23 @@ function set_config($family,$key,$value) { }} +if(! function_exists('load_pconfig')) { +function load_pconfig($uid,$family) { + global $a; + $r = q("SELECT * FROM `pconfig` WHERE `cat` = '%s' AND `uid` = %d", + dbesc($family), + intval($uid) + ); + if(count($r)) { + foreach($r as $rr) { + $k = $rr['k']; + $a->config[$uid][$family][$k] = $rr['v']; + } + } +}} + + + if(! function_exists('get_pconfig')) { function get_pconfig($uid,$family, $key, $instore = false) { @@ -1177,11 +1199,12 @@ function set_pconfig($uid,$family,$key,$value) { return $ret; } $ret = q("UPDATE `pconfig` SET `v` = '%s' WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1", - intval($uid), dbesc($value), + intval($uid), dbesc($family), dbesc($key) ); + if($ret) return $value; return $ret; @@ -1719,6 +1742,11 @@ if(! function_exists('contact_block')) { function contact_block() { $o = ''; $a = get_app(); + + $shown = get_pconfig($a->profile['uid'],'system','display_friend_count'); + if(! $shown) + $shown = 24; + if((! is_array($a->profile)) || ($a->profile['hide-friends'])) return $o; $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0", @@ -1731,8 +1759,9 @@ function contact_block() { $o .= '

' . t('No contacts') . '

'; return $o; } - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 ORDER BY RAND() LIMIT 24", - intval($a->profile['uid']) + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 ORDER BY RAND() LIMIT %d", + intval($a->profile['uid']), + intval($shown) ); if(count($r)) { $o .= '

' . $total . ' ' . t('Contacts') . '

'; @@ -1754,6 +1783,10 @@ function contact_block() { $o .= '
' . t('View Contacts') . '
'; } + + $arr = array('contacts' => $r, 'output' => $o); + + call_hooks('contact_block_end', $arr); return $o; }} @@ -2013,6 +2046,8 @@ function profile_sidebar($profile) { '$homepage' => $homepage )); + call_hooks('profile_sidebar', $o); + return $o; }} @@ -2020,6 +2055,14 @@ function profile_sidebar($profile) { if(! function_exists('register_hook')) { function register_hook($hook,$file,$function) { + $r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1", + dbesc($hook), + dbesc($file), + dbesc($function) + ); + if(count($r)) + return true; + $r = q("INSERT INTO `hook` (`hook`, `file`, `function`) VALUES ( '%s', '%s', '%s' ) ", dbesc($hook), dbesc($file), @@ -2053,7 +2096,7 @@ function load_hooks() { if(! function_exists('call_hooks')) { -function call_hooks($name, $data = null) { +function call_hooks($name, &$data = null) { $a = get_app(); if(count($a->hooks)) {