suppress creating the directory update record for profile updates which are part of the normal import_xchan sequence - otherwise we get two for every change. Create it normally if we are called with a profile_update message and don't go through the whole import_xchan thing.

This commit is contained in:
friendica 2013-09-25 21:22:36 -07:00
parent 00e5ded1c8
commit 6519433301
6 changed files with 24 additions and 10 deletions

View file

@ -1120,7 +1120,7 @@ function x($s,$k = NULL) {
function system_unavailable() {
include('system_unavailable.php');
include('include/system_unavailable.php');
system_down();
killme();
}

View file

@ -24,6 +24,15 @@ function load_config($family) {
if(! array_key_exists('config_loaded',$a->config[$family])) {
$r = q("SELECT * FROM config WHERE cat = '%s'", dbesc($family));
// This is often one of the earliest database calls in the life of the page.
// If the DB was successfully opened, but we can't read from it,
// we must assume catastrophic failure of the DB. Report the system down.
if($r === false) {
system_unavailable();
}
if($r !== false) {
if($r) {
foreach($r as $rr) {

View file

@ -688,7 +688,7 @@ function import_xchan($arr,$ud_flags = 1) {
if($dirmode != DIRECTORY_MODE_NORMAL) {
if(array_key_exists('profile',$arr) && is_array($arr['profile'])) {
$profile_changed = import_directory_profile($xchan_hash,$arr['profile'],$arr['address'],$ud_flags);
$profile_changed = import_directory_profile($xchan_hash,$arr['profile'],$arr['address'],$ud_flags, 1);
if($profile_changed) {
$what .= 'profile ';
$changed = true;
@ -1376,7 +1376,7 @@ function process_profile_delivery($sender,$arr,$deliveries) {
dbesc($sender['hash'])
);
if($r)
import_directory_profile($sender['hash'],$arr,$r[0]['xchan_addr'], 1);
import_directory_profile($sender['hash'],$arr,$r[0]['xchan_addr'], 1, 0);
}
@ -1387,7 +1387,7 @@ function process_profile_delivery($sender,$arr,$deliveries) {
*
*/
function import_directory_profile($hash,$profile,$addr,$ud_flags = 1) {
function import_directory_profile($hash,$profile,$addr,$ud_flags = 1, $suppress_update = 0) {
logger('import_directory_profile', LOGGER_DEBUG);
if(! $hash)
@ -1493,7 +1493,7 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = 1) {
$d = array('xprof' => $arr, 'profile' => $profile, 'update' => $update);
call_hooks('import_directory_profile', $d);
if($d['update'])
if(($d['update']) && (! $suppress_update))
update_modtime($arr['xprof_hash'],random_string() . '@' . get_app()->get_hostname(), $addr, $ud_flags);
return $d['update'];
}

View file

@ -119,6 +119,7 @@
var next_page = 1;
var page_load = true;
var loadingPage = false;
var pageHasMoreContent = true;
$(function() {
$.ajaxSetup({cache: false});
@ -984,7 +985,7 @@ $(window).scroll(function () {
}
if($(window).scrollTop() + $(window).height() == $(document).height()) {
if(! loadingPage) {
if((pageHasMoreContent) && (! loadingPage)) {
$('#more').hide();
$('#no-more').hide();
// alert('scroll');

View file

@ -751,12 +751,16 @@ function admin_page_plugins(&$a){
}
$admin_form="";
if (is_array($a->plugins_admin) && in_array($plugin, $a->plugins_admin)){
@require_once("addon/$plugin/$plugin.php");
$func = $plugin.'_plugin_admin';
$func($a, $admin_form);
if(function_exists($plugin.'_plugin_admin')) {
$func = $plugin.'_plugin_admin';
$func($a, $admin_form);
}
}
$t = get_markup_template("admin_plugins_details.tpl");
return replace_macros($t, array(
'$title' => t('Administration'),

View file

@ -1 +1 @@
2013-09-24.446
2013-09-25.447