From 44e70bdca367344c441b1e26e790ac0465953734 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 18 Dec 2012 19:10:56 -0800 Subject: send stuff to zothub as a fallback directory master for now --- include/directory.php | 45 +++++++++++++++++++++++++++++++++++++-------- mod/profiles.php | 5 +---- mod/settings.php | 14 ++++++++------ 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/include/directory.php b/include/directory.php index f35cb4cb4..5b5698768 100644 --- a/include/directory.php +++ b/include/directory.php @@ -1,27 +1,56 @@ argv(1)); + $x = q("select * from channel where channel_id = %d limit 1", + intval($argv[1]) + ); + if(! $x) + return; - call_hooks('globaldir_update', $arr); + $channel = $x[0]; - if(strlen($arr['url'])) - fetch_url($dir . '?url=' . bin2hex($arr['url'])); + // is channel profile visible to the public? + // FIXME - remove dir entry if permission is revoked + + if(! perm_is_allowed($channel['channel_id'],null,'view_profile')) + return; + + $directory = find_upstream_directory($dirmode); + + if($directory) { + $url = $directory['url']; + } + else { + $url = DIRECTORY_FALLBACK_MASTER . '/post'; + } + + $packet = zot_build_packet($channel,'refresh'); + $z = zot_zot($url,$packet); + + // re-queue if unsuccessful - return; } if (array_search(__file__,get_included_files())===0){ diff --git a/mod/profiles.php b/mod/profiles.php index 96fe97260..c828941b6 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -299,10 +299,7 @@ function profiles_post(&$a) { } if($is_default) { - // Update global directory in background - $url = $_SESSION['my_url']; - if($url && strlen(get_config('system','directory_submit_url'))) - proc_run('php',"include/directory.php","$url"); + proc_run('php','include/directory.php',local_user()); } } } diff --git a/mod/settings.php b/mod/settings.php index 465b07f09..060258058 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -339,8 +339,7 @@ function settings_post(&$a) { $arr['channel_w_mail'] = (($_POST['post_mail']) ? $_POST['post_mail'] : 0); $arr['channel_w_photos'] = (($_POST['post_photos']) ? $_POST['post_photos'] : 0); $arr['channel_w_chat'] = (($_POST['chat']) ? $_POST['chat'] : 0); - - + $arr['channel_a_delegate'] = (($_POST['delegate']) ? $_POST['delegate'] : 0); $notify = 0; @@ -438,7 +437,7 @@ function settings_post(&$a) { ); */ - $r = q("update channel set channel_r_stream = %d, channel_r_profile = %d, channel_r_photos = %d, channel_r_abook = %d, channel_w_stream = %d, channel_w_wall = %d, channel_w_tagwall = %d, channel_w_comment = %d, channel_w_mail = %d, channel_w_photos = %d, channel_w_chat = %d where channel_id = %d limit 1", + $r = q("update channel set channel_r_stream = %d, channel_r_profile = %d, channel_r_photos = %d, channel_r_abook = %d, channel_w_stream = %d, channel_w_wall = %d, channel_w_tagwall = %d, channel_w_comment = %d, channel_w_mail = %d, channel_w_photos = %d, channel_w_chat = %d, channel_a_delegate = %d where channel_id = %d limit 1", intval($arr['channel_r_stream']), intval($arr['channel_r_profile']), intval($arr['channel_r_photos']), @@ -450,6 +449,7 @@ function settings_post(&$a) { intval($arr['channel_w_mail']), intval($arr['channel_w_photos']), intval($arr['channel_w_chat']), + intval($arr['channel_a_delegate']), intval(local_user()) ); @@ -480,13 +480,15 @@ function settings_post(&$a) { // ); // } - if(($old_visibility != $net_publish) || ($page_flags != $old_page_flags)) { +// if(($old_visibility != $net_publish) || ($page_flags != $old_page_flags)) { // Update global directory in background $url = $_SESSION['my_url']; // if($url && strlen(get_config('system','directory_submit_url'))) -// proc_run('php',"include/directory.php","$url"); - } + + proc_run('php','include/directory.php',local_user()); + +// } //$_SESSION['theme'] = $theme; if($email_changed && $a->config['register_policy'] == REGISTER_VERIFY) { -- cgit v1.2.3