]> git.mxchange.org Git - friendica.git/commitdiff
Poco: Option to activate and deactivate detection of last activity.
authorMichael Vogel <icarus@dabo.de>
Fri, 17 Jul 2015 22:48:42 +0000 (00:48 +0200)
committerMichael Vogel <icarus@dabo.de>
Fri, 17 Jul 2015 22:48:42 +0000 (00:48 +0200)
include/socgraph.php
mod/admin.php
mod/poco.php
view/templates/admin_site.tpl

index c676157eae9edfbdf6a0e779f906c7fae272e6b0..5c9b1d98ad1de08443882ba7f55d15b3c1bc4f10 100644 (file)
@@ -7,9 +7,6 @@ require_once("include/Scrape.php");
  To-Do:
  - noscrape for updating contact fields and "last updated"
  - 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);
 
-       // Only fetch last update manually if it wasn't provided
-       if (($orig_updated == "0000-00-00 00:00:00") AND poco_do_update($updated, $last_contact, $last_failure)) {
+       // Only fetch last update manually if it wasn't provided and enabled in the system
+       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);
                if ($last_updated) {
                        $updated = $last_updated;
index 28a7a91e4be2eb14445147c5ca68355f4e07ab5d..214ce62ea9868b927307a833411fa13e00413fac 100644 (file)
@@ -358,6 +358,7 @@ function admin_page_site_post(&$a){
        $poll_interval          =       ((x($_POST,'poll_interval'))            ? intval(trim($_POST['poll_interval']))         : 0);
        $maxloadavg             =       ((x($_POST,'maxloadavg'))               ? intval(trim($_POST['maxloadavg']))            : 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);
        $ostatus_disabled       =       !((x($_POST,'ostatus_disabled'))        ? True                                          : False);
        $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','maxloadavg',$maxloadavg);
        set_config('system','maxloadavg_frontend',$maxloadavg_frontend);
+       set_config('system','ld_discover_activity',$ld_discover_activity);
        set_config('config','sitename',$sitename);
        set_config('config','hostname',$hostname);
        set_config('config','sender_email', $sender_email);
@@ -630,6 +632,7 @@ function admin_page_site(&$a) {
                '$upload' => t('File upload'),
                '$corporate' => t('Policies'),
                '$advanced' => t('Advanced'),
+               '$local_directory' => t('Local Directory (Portable Contacts)'),
                '$performance' => t('Performance'),
                '$relocate'=> t('Relocate - WARNING: advanced function. Could make this server unreachable.'),
                '$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_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.")),
                '$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.")),
index 89f2f879a05c1763b30358e62591fe0a935b614a..0b62e93e388bae3da29bee5cc8665e1e6934b401 100644 (file)
@@ -61,12 +61,13 @@ function poco_init(&$a) {
                $update_limit =  date("Y-m-d H:i:s",strtotime($_GET['updatedSince']));
 
        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(NETWORK_DFRN)
                );
        } elseif($system_mode) {
                $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) ",
                        dbesc(NETWORK_DFRN),
                        dbesc(NETWORK_DIASPORA),
@@ -75,7 +76,7 @@ function poco_init(&$a) {
                        );
        } else {
                $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']),
                        dbesc(NETWORK_DFRN),
                        dbesc(NETWORK_DIASPORA),
@@ -95,7 +96,7 @@ function poco_init(&$a) {
 
 
        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(NETWORK_DFRN),
                        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`
                        FROM `contact` INNER JOIN `profile` ON `profile`.`uid` = `contact`.`uid`
                        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",
                        dbesc(NETWORK_DFRN),
                        dbesc(NETWORK_DIASPORA),
@@ -116,7 +118,7 @@ function poco_init(&$a) {
                );
        } else {
                $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']),
                        dbesc(NETWORK_DFRN),
                        dbesc(NETWORK_DIASPORA),
index 34c590b2ea0eb655016b4a01b1b078442903ec77..5809d5ac6fdf9227c00e7b74cf15dbca827d9295 100644 (file)
@@ -59,8 +59,6 @@
        {{include file="field_checkbox.tpl" field=$old_share}}
        {{include file="field_checkbox.tpl" field=$hide_help}}
        {{include file="field_select.tpl" field=$singleuser}}
-
-       
        <div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
        
        <h3>{{$registration}}</h3>
        {{include file="field_checkbox.tpl" field=$no_multi_reg}}
        {{include file="field_checkbox.tpl" field=$no_openid}}
        {{include file="field_checkbox.tpl" field=$no_regfullname}}
-       
        <div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
 
        <h3>{{$upload}}</h3>
        {{include file="field_input.tpl" field=$maximagesize}}
        {{include file="field_input.tpl" field=$maximagelength}}
        {{include file="field_input.tpl" field=$jpegimagequality}}
+       <div class="submit"><input type="submit" name="page_site" value="{{$submit|escape:'html'}}" /></div>
        
        <h3>{{$corporate}}</h3>
        {{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>
        
        <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=$verifyssl}}
        {{include file="field_input.tpl" field=$proxy}}
        {{include file="field_input.tpl" field=$basepath}}
        {{include file="field_checkbox.tpl" field=$suppress_language}}
        {{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>
        {{include file="field_checkbox.tpl" field=$use_fulltext_engine}}