Poco: Option to activate and deactivate detection of last activity.
This commit is contained in:
parent
639f94f8b9
commit
f1e7369283
|
@ -7,9 +7,6 @@ require_once("include/Scrape.php");
|
||||||
To-Do:
|
To-Do:
|
||||||
- noscrape for updating contact fields and "last updated"
|
- noscrape for updating contact fields and "last updated"
|
||||||
- use /poco/@global for discovering contacts from other servers
|
- use /poco/@global for discovering contacts from other servers
|
||||||
- Make search for last activity optional
|
|
||||||
- only export contacts via poco where update is higher than failure
|
|
||||||
- check your own contacts in some way as well
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -245,8 +242,8 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
||||||
|
|
||||||
logger("profile-check generation: ".$generation." Network: ".$network." URL: ".$profile_url." name: ".$name." avatar: ".$profile_photo, LOGGER_DEBUG);
|
logger("profile-check generation: ".$generation." Network: ".$network." URL: ".$profile_url." name: ".$name." avatar: ".$profile_photo, LOGGER_DEBUG);
|
||||||
|
|
||||||
// Only fetch last update manually if it wasn't provided
|
// Only fetch last update manually if it wasn't provided and enabled in the system
|
||||||
if (($orig_updated == "0000-00-00 00:00:00") AND poco_do_update($updated, $last_contact, $last_failure)) {
|
if (get_config('system','ld_discover_activity') AND ($orig_updated == "0000-00-00 00:00:00") AND poco_do_update($updated, $last_contact, $last_failure)) {
|
||||||
$last_updated = poco_last_updated($profile_url);
|
$last_updated = poco_last_updated($profile_url);
|
||||||
if ($last_updated) {
|
if ($last_updated) {
|
||||||
$updated = $last_updated;
|
$updated = $last_updated;
|
||||||
|
|
|
@ -358,6 +358,7 @@ function admin_page_site_post(&$a){
|
||||||
$poll_interval = ((x($_POST,'poll_interval')) ? intval(trim($_POST['poll_interval'])) : 0);
|
$poll_interval = ((x($_POST,'poll_interval')) ? intval(trim($_POST['poll_interval'])) : 0);
|
||||||
$maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50);
|
$maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50);
|
||||||
$maxloadavg_frontend = ((x($_POST,'maxloadavg_frontend')) ? intval(trim($_POST['maxloadavg_frontend'])) : 50);
|
$maxloadavg_frontend = ((x($_POST,'maxloadavg_frontend')) ? intval(trim($_POST['maxloadavg_frontend'])) : 50);
|
||||||
|
$ld_discover_activity = ((x($_POST,'ld_discover_activity')) ? intval(trim($_POST['ld_discover_activity'])) : false);
|
||||||
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
|
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
|
||||||
$ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
|
$ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
|
||||||
$ostatus_poll_interval = ((x($_POST,'ostatus_poll_interval')) ? intval(trim($_POST['ostatus_poll_interval'])) : 0);
|
$ostatus_poll_interval = ((x($_POST,'ostatus_poll_interval')) ? intval(trim($_POST['ostatus_poll_interval'])) : 0);
|
||||||
|
@ -427,6 +428,7 @@ function admin_page_site_post(&$a){
|
||||||
set_config('system','poll_interval',$poll_interval);
|
set_config('system','poll_interval',$poll_interval);
|
||||||
set_config('system','maxloadavg',$maxloadavg);
|
set_config('system','maxloadavg',$maxloadavg);
|
||||||
set_config('system','maxloadavg_frontend',$maxloadavg_frontend);
|
set_config('system','maxloadavg_frontend',$maxloadavg_frontend);
|
||||||
|
set_config('system','ld_discover_activity',$ld_discover_activity);
|
||||||
set_config('config','sitename',$sitename);
|
set_config('config','sitename',$sitename);
|
||||||
set_config('config','hostname',$hostname);
|
set_config('config','hostname',$hostname);
|
||||||
set_config('config','sender_email', $sender_email);
|
set_config('config','sender_email', $sender_email);
|
||||||
|
@ -630,6 +632,7 @@ function admin_page_site(&$a) {
|
||||||
'$upload' => t('File upload'),
|
'$upload' => t('File upload'),
|
||||||
'$corporate' => t('Policies'),
|
'$corporate' => t('Policies'),
|
||||||
'$advanced' => t('Advanced'),
|
'$advanced' => t('Advanced'),
|
||||||
|
'$local_directory' => t('Local Directory (Portable Contacts)'),
|
||||||
'$performance' => t('Performance'),
|
'$performance' => t('Performance'),
|
||||||
'$relocate'=> t('Relocate - WARNING: advanced function. Could make this server unreachable.'),
|
'$relocate'=> t('Relocate - WARNING: advanced function. Could make this server unreachable.'),
|
||||||
'$baseurl' => $a->get_baseurl(true),
|
'$baseurl' => $a->get_baseurl(true),
|
||||||
|
@ -687,6 +690,8 @@ function admin_page_site(&$a) {
|
||||||
'$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
|
'$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
|
||||||
'$maxloadavg_frontend' => array('maxloadavg_frontend', t("Maximum Load Average (Frontend)"), ((intval(get_config('system','maxloadavg_frontend')) > 0)?get_config('system','maxloadavg_frontend'):50), t("Maximum system load before the frontend quits service - default 50.")),
|
'$maxloadavg_frontend' => array('maxloadavg_frontend', t("Maximum Load Average (Frontend)"), ((intval(get_config('system','maxloadavg_frontend')) > 0)?get_config('system','maxloadavg_frontend'):50), t("Maximum system load before the frontend quits service - default 50.")),
|
||||||
|
|
||||||
|
'$ld_discover_activity' => array('ld_discover_activity', t("Discover last activity"), get_config('system','ld_discover_activity'), t("Update the last activity when this isn't provided via the 'portable contacts' functionality. (Useful for poco exchange with Redmatrix and friendica servers before 3.3)")),
|
||||||
|
|
||||||
'$use_fulltext_engine' => array('use_fulltext_engine', t("Use MySQL full text engine"), get_config('system','use_fulltext_engine'), t("Activates the full text engine. Speeds up search - but can only search for four and more characters.")),
|
'$use_fulltext_engine' => array('use_fulltext_engine', t("Use MySQL full text engine"), get_config('system','use_fulltext_engine'), t("Activates the full text engine. Speeds up search - but can only search for four and more characters.")),
|
||||||
'$suppress_language' => array('suppress_language', t("Suppress Language"), get_config('system','suppress_language'), t("Suppress language information in meta information about a posting.")),
|
'$suppress_language' => array('suppress_language', t("Suppress Language"), get_config('system','suppress_language'), t("Suppress language information in meta information about a posting.")),
|
||||||
'$suppress_tags' => array('suppress_tags', t("Suppress Tags"), get_config('system','suppress_tags'), t("Suppress showing a list of hashtags at the end of the posting.")),
|
'$suppress_tags' => array('suppress_tags', t("Suppress Tags"), get_config('system','suppress_tags'), t("Suppress showing a list of hashtags at the end of the posting.")),
|
||||||
|
|
10
mod/poco.php
10
mod/poco.php
|
@ -61,12 +61,13 @@ function poco_init(&$a) {
|
||||||
$update_limit = date("Y-m-d H:i:s",strtotime($_GET['updatedSince']));
|
$update_limit = date("Y-m-d H:i:s",strtotime($_GET['updatedSince']));
|
||||||
|
|
||||||
if ($global) {
|
if ($global) {
|
||||||
$r = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `updated` >= '%s' AND `network` IN ('%s')",
|
$r = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `updated` >= '%s' AND `last_contact` >= `last_failure` AND `network` IN ('%s')",
|
||||||
dbesc($update_limit),
|
dbesc($update_limit),
|
||||||
dbesc(NETWORK_DFRN)
|
dbesc(NETWORK_DFRN)
|
||||||
);
|
);
|
||||||
} elseif($system_mode) {
|
} elseif($system_mode) {
|
||||||
$r = q("SELECT count(*) AS `total` FROM `contact` WHERE `self` = 1 AND `network` IN ('%s', '%s', '%s', '%s', '')
|
$r = q("SELECT count(*) AS `total` FROM `contact` WHERE `self` = 1 AND `network` IN ('%s', '%s', '%s', '%s', '')
|
||||||
|
AND `success_update` >= `failure_update`
|
||||||
AND `uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) ",
|
AND `uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) ",
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
dbesc(NETWORK_DIASPORA),
|
dbesc(NETWORK_DIASPORA),
|
||||||
|
@ -75,7 +76,7 @@ function poco_init(&$a) {
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$r = q("SELECT count(*) AS `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
|
$r = q("SELECT count(*) AS `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
|
||||||
AND `network` IN ('%s', '%s', '%s', '%s', '') $sql_extra",
|
AND `success_update` >= `failure_update` AND `network` IN ('%s', '%s', '%s', '%s', '') $sql_extra",
|
||||||
intval($user['uid']),
|
intval($user['uid']),
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
dbesc(NETWORK_DIASPORA),
|
dbesc(NETWORK_DIASPORA),
|
||||||
|
@ -95,7 +96,7 @@ function poco_init(&$a) {
|
||||||
|
|
||||||
|
|
||||||
if ($global) {
|
if ($global) {
|
||||||
$r = q("SELECT * FROM `gcontact` WHERE `updated` > '%s' AND `network` IN ('%s') LIMIT %d, %d",
|
$r = q("SELECT * FROM `gcontact` WHERE `updated` > '%s' AND `network` IN ('%s') AND `last_contact` >= `last_failure` LIMIT %d, %d",
|
||||||
dbesc($update_limit),
|
dbesc($update_limit),
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
intval($startIndex),
|
intval($startIndex),
|
||||||
|
@ -106,6 +107,7 @@ function poco_init(&$a) {
|
||||||
`profile`.`address` AS `paddress`, `profile`.`region` AS `pregion`, `profile`.`postal-code` AS `ppostalcode`, `profile`.`country-name` AS `pcountry`
|
`profile`.`address` AS `paddress`, `profile`.`region` AS `pregion`, `profile`.`postal-code` AS `ppostalcode`, `profile`.`country-name` AS `pcountry`
|
||||||
FROM `contact` INNER JOIN `profile` ON `profile`.`uid` = `contact`.`uid`
|
FROM `contact` INNER JOIN `profile` ON `profile`.`uid` = `contact`.`uid`
|
||||||
WHERE `self` = 1 AND `network` IN ('%s', '%s', '%s', '%s', '') AND `profile`.`is-default`
|
WHERE `self` = 1 AND `network` IN ('%s', '%s', '%s', '%s', '') AND `profile`.`is-default`
|
||||||
|
AND `contact`.`success_update` >= `contact`.`failure_update`
|
||||||
AND `contact`.`uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) LIMIT %d, %d",
|
AND `contact`.`uid` IN (SELECT `uid` FROM `pconfig` WHERE `cat` = 'system' AND `k` = 'suggestme' AND `v` = 1) LIMIT %d, %d",
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
dbesc(NETWORK_DIASPORA),
|
dbesc(NETWORK_DIASPORA),
|
||||||
|
@ -116,7 +118,7 @@ function poco_init(&$a) {
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
|
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0
|
||||||
AND `network` IN ('%s', '%s', '%s', '%s', '') $sql_extra LIMIT %d, %d",
|
AND `success_update` >= `failure_update` AND `network` IN ('%s', '%s', '%s', '%s', '') $sql_extra LIMIT %d, %d",
|
||||||
intval($user['uid']),
|
intval($user['uid']),
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
dbesc(NETWORK_DIASPORA),
|
dbesc(NETWORK_DIASPORA),
|
||||||
|
|
|
@ -59,8 +59,6 @@
|
||||||
{{include file="field_checkbox.tpl" field=$old_share}}
|
{{include file="field_checkbox.tpl" field=$old_share}}
|
||||||
{{include file="field_checkbox.tpl" field=$hide_help}}
|
{{include file="field_checkbox.tpl" field=$hide_help}}
|
||||||
{{include file="field_select.tpl" field=$singleuser}}
|
{{include file="field_select.tpl" field=$singleuser}}
|
||||||
|
|
||||||
|
|
||||||
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
||||||
|
|
||||||
<h3>{{$registration}}</h3>
|
<h3>{{$registration}}</h3>
|
||||||
|
@ -70,13 +68,13 @@
|
||||||
{{include file="field_checkbox.tpl" field=$no_multi_reg}}
|
{{include file="field_checkbox.tpl" field=$no_multi_reg}}
|
||||||
{{include file="field_checkbox.tpl" field=$no_openid}}
|
{{include file="field_checkbox.tpl" field=$no_openid}}
|
||||||
{{include file="field_checkbox.tpl" field=$no_regfullname}}
|
{{include file="field_checkbox.tpl" field=$no_regfullname}}
|
||||||
|
|
||||||
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
||||||
|
|
||||||
<h3>{{$upload}}</h3>
|
<h3>{{$upload}}</h3>
|
||||||
{{include file="field_input.tpl" field=$maximagesize}}
|
{{include file="field_input.tpl" field=$maximagesize}}
|
||||||
{{include file="field_input.tpl" field=$maximagelength}}
|
{{include file="field_input.tpl" field=$maximagelength}}
|
||||||
{{include file="field_input.tpl" field=$jpegimagequality}}
|
{{include file="field_input.tpl" field=$jpegimagequality}}
|
||||||
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
||||||
|
|
||||||
<h3>{{$corporate}}</h3>
|
<h3>{{$corporate}}</h3>
|
||||||
{{include file="field_input.tpl" field=$allowed_sites}}
|
{{include file="field_input.tpl" field=$allowed_sites}}
|
||||||
|
@ -99,7 +97,7 @@
|
||||||
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
||||||
|
|
||||||
<h3>{{$advanced}}</h3>
|
<h3>{{$advanced}}</h3>
|
||||||
{{include file="field_select.tpl" field=$rino}}
|
{{include file="field_select.tpl" field=$rino}}
|
||||||
{{include file="field_checkbox.tpl" field=$no_utf}}
|
{{include file="field_checkbox.tpl" field=$no_utf}}
|
||||||
{{include file="field_checkbox.tpl" field=$verifyssl}}
|
{{include file="field_checkbox.tpl" field=$verifyssl}}
|
||||||
{{include file="field_input.tpl" field=$proxy}}
|
{{include file="field_input.tpl" field=$proxy}}
|
||||||
|
@ -115,6 +113,11 @@
|
||||||
{{include file="field_input.tpl" field=$basepath}}
|
{{include file="field_input.tpl" field=$basepath}}
|
||||||
{{include file="field_checkbox.tpl" field=$suppress_language}}
|
{{include file="field_checkbox.tpl" field=$suppress_language}}
|
||||||
{{include file="field_checkbox.tpl" field=$suppress_tags}}
|
{{include file="field_checkbox.tpl" field=$suppress_tags}}
|
||||||
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
||||||
|
|
||||||
|
<h3>{{$local_directory}}</h3>
|
||||||
|
{{include file="field_checkbox.tpl" field=$ld_discover_activity}}
|
||||||
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
|
||||||
|
|
||||||
<h3>{{$performance}}</h3>
|
<h3>{{$performance}}</h3>
|
||||||
{{include file="field_checkbox.tpl" field=$use_fulltext_engine}}
|
{{include file="field_checkbox.tpl" field=$use_fulltext_engine}}
|
||||||
|
|
Loading…
Reference in a new issue