diff --git a/boot.php b/boot.php
index d2f8634e..0f4f36a4 100644
--- a/boot.php
+++ b/boot.php
@@ -1,5 +1,7 @@
num_rows) {
- while ($x = $result->fetch_array(MYSQL_ASSOC)) {
+ while ($x = $result->fetch_array(MYSQLI_ASSOC)) {
$r[] = $x;
}
$result->free_result();
diff --git a/include/notifier.php b/include/notifier.php
index 7972bd9a..5d678a40 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -15,7 +15,6 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
-require_once 'session.php';
require_once 'datetime.php';
if ($argc < 3) {
diff --git a/include/poller.php b/include/poller.php
index 0e3092f5..335201b4 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -15,7 +15,6 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
-require_once 'session.php';
require_once 'datetime.php';
require_once 'simplepie/simplepie.inc';
require_once 'include/items.php';
diff --git a/include/rockstar.php b/include/rockstar.php
index 58009214..0891a043 100644
--- a/include/rockstar.php
+++ b/include/rockstar.php
@@ -14,7 +14,6 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
unset($db_host, $db_user, $db_pass, $db_data);
-require_once 'session.php';
require_once 'datetime.php';
$a->set_baseurl(get_config('system', 'url'));
diff --git a/include/session.php b/include/session.php
index e51dbc1b..a125679f 100644
--- a/include/session.php
+++ b/include/session.php
@@ -30,10 +30,14 @@ function ref_session_write($id, $data)
{
global $session_exists, $session_expire;
- if (!$id || !$data) {
+ if (!$id) {
return false;
}
+ if (!$data) {
+ return true;
+ }
+
$expire = time() + $session_expire;
$default_expire = time() + 300;
@@ -65,7 +69,7 @@ function ref_session_gc($expire)
{
q("DELETE FROM `session` WHERE `expire` < %d", dbesc(time()));
q("OPTIMIZE TABLE `sess_data`");
-
+
return true;
}
diff --git a/index.php b/index.php
index 082f0c0e..b574ee31 100644
--- a/index.php
+++ b/index.php
@@ -24,8 +24,6 @@ unset($db_host, $db_user, $db_pass, $db_data);
$a->init_pagehead();
$a->page['aside'] = '
Your friends. Your web.
';
-require_once 'session.php';
-
session_start();
if ((x($_SESSION, 'authenticated')) || (x($_POST, 'auth-params')) || ($a->module === 'login')) {
@@ -75,8 +73,6 @@ if ($a->module_loaded) {
if ((!$a->error) && (function_exists($a->module . '_content'))) {
$func = $a->module . '_content';
$a->page['content'] = $func($a);
-
- killme();
}
}
diff --git a/maintenance.html b/maintenance.html
new file mode 100644
index 00000000..5757d32d
--- /dev/null
+++ b/maintenance.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+ Friendica Directory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Directory under maintenance
+
+
+
+ The Friendica Directory is unavailable at this time, please connect with hypolite@friendica.mrpetovan.com for updates about its status.
+
+
+
+
diff --git a/mod/health.php b/mod/health.php
index fba547e3..0a92fe4b 100644
--- a/mod/health.php
+++ b/mod/health.php
@@ -1,35 +1,32 @@
argc > 1){
+use Friendica\Directory\App;
+
+function health_content(App $a)
+{
+ if ($a->argc > 1) {
return health_details($a, $a->argv[1]);
}
-
- if($_GET['s']){
+
+ if (isset($_GET['s']) && $_GET['s']) {
return health_search($a, $_GET['s']);
}
-
+
return health_summary($a);
-
}
-function health_search(&$a, $search)
+function health_search(App $a, $search)
{
-
- if(strlen($search) < 3){
+ if (strlen($search) < 3) {
$result = 'Please use at least 3 characters in your search';
- }
-
- else {
-
+ } else {
$r = q("SELECT * FROM `site-health` WHERE `base_url` LIKE '%%%s%%' ORDER BY `health_score` DESC LIMIT 100", dbesc($search));
- if(count($r)){
+ if (count($r)) {
$result = '';
- foreach($r as $site){
-
+
+ foreach ($r as $site) {
//Get user count.
$site['users'] = 0;
$r = q(
@@ -37,107 +34,105 @@ function health_search(&$a, $search)
WHERE `homepage` LIKE '%s%%'",
dbesc($site['base_url'])
);
- if(count($r)){
+
+ if (count($r)) {
$site['users'] = $r[0]['users'];
}
-
+
$result .=
- '♥ '.
- '' . $site['base_url'] . ' '.
- '(' . $site['users'] . ')'.
- ($site['effective_base_url'] ? ' -> '.$site['effective_base_url'].'' : '').
+ '♥ ' .
+ '' . $site['base_url'] . ' ' .
+ '(' . $site['users'] . ')' .
+ ($site['effective_base_url'] ? ' -> ' . $site['effective_base_url'] . '' : '') .
"
\r\n";
}
-
-
- }
-
- else {
+ } else {
$result = 'No results';
}
-
}
-
+
$tpl .= file_get_contents('view/health_search.tpl');
+
return replace_macros($tpl, array(
'$searched' => $search,
'$result' => $result
));
-
}
-function health_summary(&$a){
-
+function health_summary(App $a)
+{
$sites = array();
-
+
//Find the user count per site.
$r = q("SELECT `homepage` FROM `profile`");
- if(count($r)) {
- foreach($r as $rr) {
+ if (count($r)) {
+ foreach ($r as $rr) {
$site = parse_site_from_url($rr['homepage']);
- if($site) {
- if(!isset($sites[$site]))
- $sites[$site] = 0;
+ if ($site) {
+ if (!isset($sites[$site])) {
+ $sites[$site] = 0;
+ }
$sites[$site] ++;
}
}
}
-
+
//See if we have a health for them AND they provide SSL.
$sites_with_health = array();
$site_healths = array();
-
+
$r = q("SELECT * FROM `site-health` WHERE `reg_policy`='REGISTER_OPEN' AND `ssl_state` = 1");
- if(count($r)) {
- foreach($r as $rr) {
- $sites_with_health[$rr['base_url']] = (($sites[$rr['base_url']] / 100) + 10) * intval($rr['health_score']);
- $site_healths[$rr['base_url']] = $rr;
+ if (count($r)) {
+ foreach ($r as $rr) {
+ if (isset($sites[$rr['base_url']])) {
+ $sites_with_health[$rr['base_url']] = (($sites[$rr['base_url']] / 100) + 10) * intval($rr['health_score']);
+ $site_healths[$rr['base_url']] = $rr;
+ }
}
}
-
+
arsort($sites_with_health);
$total = 0;
$public_sites = '';
- foreach($sites_with_health as $k => $v)
- {
-
+ foreach ($sites_with_health as $k => $v) {
//Stop at unhealthy sites.
$site = $site_healths[$k];
- if($site['health_score'] <= 20) break;
-
+ if ($site['health_score'] <= 20) {
+ break;
+ }
+
//Skip small sites.
$users = $sites[$k];
- if($users < 5) continue;
-
+ if ($users < 5) {
+ continue;
+ }
+
$public_sites .=
- '♥ '.
- '' . $k . ' '.
- '(' . $users . ')'.
+ '♥ ' .
+ '' . $k . ' ' .
+ '(' . $users . ')' .
"
\r\n";
$total ++;
-
}
$public_sites .= "
Total: $total
\r\n";
-
- $tpl .= file_get_contents('view/health_summary.tpl');
+
+ $tpl = file_get_contents('view/health_summary.tpl');
+
return replace_macros($tpl, array(
- '$versions' => $versions,
'$public_sites' => $public_sites
));
-
}
-function health_details($a, $id)
+function health_details(App $a, $id)
{
-
//Max data age in MySQL date.
- $maxDate = date('Y-m-d H:i:s', time()-($a->config['stats']['maxDataAge']));
-
+ $maxDate = date('Y-m-d H:i:s', time() - ($a->config['stats']['maxDataAge']));
+
//Include graphael line charts.
- $a->page['htmlhead'] .= ''.PHP_EOL;
- $a->page['htmlhead'] .= ''.PHP_EOL;
- $a->page['htmlhead'] .= ''.PHP_EOL;
- $a->page['htmlhead'] .= ''.PHP_EOL;
+ $a->page['htmlhead'] .= '' . PHP_EOL;
+ $a->page['htmlhead'] .= '' . PHP_EOL;
+ $a->page['htmlhead'] .= '' . PHP_EOL;
+ $a->page['htmlhead'] .= '' . PHP_EOL;
$a->page['htmlhead'] .= '';
-
+
//The overall health status.
$r = q(
"SELECT * FROM `site-health`
WHERE `id`=%u",
intval($id)
);
- if(!count($r)){
+ if (!count($r)) {
$a->error = 404;
return;
}
-
+
$site = $r[0];
-
+
//Does it redirect to a known site?
$redirectStatement = '';
- if($site['effective_base_url']){
-
+ if ($site['effective_base_url']) {
//The effective health status.
$r = q(
"SELECT * FROM `site-health`
WHERE `base_url`= '%s'",
dbesc($site['effective_base_url'])
);
- if(count($r)){
- $redirectStatement = 'Redirects to '.$site['effective_base_url'].'';
+ if (count($r)) {
+ $redirectStatement = 'Redirects to ' . $site['effective_base_url'] . '';
}
-
}
-
+
//Figure out SSL state.
$urlMeta = parse_url($site['base_url']);
- if($urlMeta['scheme'] !== 'https'){
+ if ($urlMeta['scheme'] !== 'https') {
$ssl_state = 'No';
- }else{
+ } else {
switch ($site['ssl_state']) {
- case null: $ssl_state = 'Yes, but not yet verified.'; break;
- case '0': $ssl_state = 'Certificate error!'; break;
- case '1': $ssl_state = '√ Yes, verified.'; break;
+ case null: $ssl_state = 'Yes, but not yet verified.';
+ break;
+ case '0': $ssl_state = 'Certificate error!';
+ break;
+ case '1': $ssl_state = '√ Yes, verified.';
+ break;
}
- $ssl_state .= ' Detailed test';
+ $ssl_state .= ' Detailed test';
}
-
+
//Get user count.
$site['users'] = 0;
$r = q(
@@ -215,10 +211,10 @@ function health_details($a, $id)
WHERE `homepage` LIKE '%s%%'",
dbesc($site['base_url'])
);
- if(count($r)){
+ if (count($r)) {
$site['users'] = $r[0]['users'];
}
-
+
//Get avg probe speed.
$r = q(
"SELECT AVG(`request_time`) as `avg_probe_time` FROM `site-probe`
@@ -227,10 +223,10 @@ function health_details($a, $id)
intval($site['id']),
$maxDate
);
- if(count($r)){
+ if (count($r)) {
$site['avg_probe_time'] = $r[0]['avg_probe_time'];
}
-
+
//Get scraping / submit speeds.
$r = q(
"SELECT
@@ -244,13 +240,13 @@ function health_details($a, $id)
intval($site['id']),
$maxDate
);
- if(count($r)){
+ if (count($r)) {
$site['avg_profile_time'] = $r[0]['avg_profile_time'];
$site['avg_scrape_time'] = $r[0]['avg_scrape_time'];
$site['avg_photo_time'] = $r[0]['avg_photo_time'];
$site['avg_submit_time'] = $r[0]['avg_submit_time'];
}
-
+
//Get probe speed data.
$r = q(
"SELECT AVG(`request_time`) as `avg_time`, date(`dt_performed`) as `date` FROM `site-probe`
@@ -260,34 +256,38 @@ function health_details($a, $id)
intval($site['id']),
$maxDate
);
- if(count($r)){
+ if (count($r)) {
//Include graphael line charts.
- $a->page['htmlhead'] .= ''.PHP_EOL;
- $a->page['htmlhead'] .= ''.PHP_EOL;
- $a->page['htmlhead'] .= '';
+ $a->page['htmlhead'] .= '' . PHP_EOL;
+ $a->page['htmlhead'] .= '' . PHP_EOL;
+ $a->page['htmlhead'] .= '';
+
$speeds = array();
$times = array();
$mintime = time();
- foreach($r as $row){
+
+ foreach ($r as $row) {
$speeds[] = $row['avg_time'];
$time = strtotime($row['date']);
$times[] = $time;
- if($mintime > $time) $mintime = $time;
+ if ($mintime > $time)
+ $mintime = $time;
}
- for($i=0; $i < count($times); $i++){
+
+ for ($i = 0; $i < count($times); $i++) {
$times[$i] -= $mintime;
- $times[$i] = floor($times[$i] / (24*3600));
+ $times[$i] = floor($times[$i] / (24 * 3600));
}
+
$a->page['htmlhead'] .=
'';
}
-
+
//Get scrape speed data.
$r = q(
"SELECT AVG(`total_time`) as `avg_time`, date(`dt_performed`) as `date` FROM `site-scrape`
@@ -314,34 +312,38 @@ function health_details($a, $id)
intval($site['id']),
$maxDate
);
- if($r && count($r)){
+ if ($r && count($r)) {
//Include graphael line charts.
- $a->page['htmlhead'] .= ''.PHP_EOL;
- $a->page['htmlhead'] .= ''.PHP_EOL;
- $a->page['htmlhead'] .= '';
+ $a->page['htmlhead'] .= '' . PHP_EOL;
+ $a->page['htmlhead'] .= '' . PHP_EOL;
+ $a->page['htmlhead'] .= '';
+
$speeds = array();
$times = array();
$mintime = time();
- foreach($r as $row){
+
+ foreach ($r as $row) {
$speeds[] = $row['avg_time'];
$time = strtotime($row['date']);
$times[] = $time;
- if($mintime > $time) $mintime = $time;
+ if ($mintime > $time)
+ $mintime = $time;
}
- for($i=0; $i < count($times); $i++){
+
+ for ($i = 0; $i < count($times); $i++) {
$times[$i] -= $mintime;
- $times[$i] = floor($times[$i] / (24*3600));
+ $times[$i] = floor($times[$i] / (24 * 3600));
}
+
$a->page['htmlhead'] .=
'';
}
-
+
//Nice name for registration policy.
switch ($site['reg_policy']) {
- case 'REGISTER_OPEN': $policy = "Open"; break;
- case 'REGISTER_APPROVE': $policy = "Admin approved"; break;
- case 'REGISTER_CLOSED': $policy = "Closed"; break;
- default: $policy = $site['reg_policy']; break;
+ case 'REGISTER_OPEN': $policy = "Open"; break;
+ case 'REGISTER_APPROVE': $policy = "Admin approved"; break;
+ case 'REGISTER_CLOSED': $policy = "Closed"; break;
+ default: $policy = $site['reg_policy']; break;
}
-
- $tpl .= file_get_contents('view/health_details.tpl');
+
+ $tpl = file_get_contents('view/health_details.tpl');
+
return replace_macros($tpl, array(
'$name' => $site['name'],
'$redirectStatement' => $redirectStatement,
@@ -393,3 +395,4 @@ function health_details($a, $id)
'$avg_photo_time' => round($site['avg_photo_time']),
'$avg_submit_time' => round($site['avg_submit_time'])
));
+}