Merge pull request #1890 from annando/1509-directory

There is now only one central parameter for the global directory.
This commit is contained in:
Tobias Diekershoff 2015-09-15 22:48:34 +02:00
commit bca4d31410
19 changed files with 92 additions and 99 deletions

View File

@ -200,7 +200,7 @@ This configures the URL to update the global directory, and is supplied in the d
The undocumented part is that if this is not set, the global directory is completely unavailable to the application. The undocumented part is that if this is not set, the global directory is completely unavailable to the application.
This allows a private community to be completely isolated from the global mistpark network. This allows a private community to be completely isolated from the global mistpark network.
$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit'; $a->config['system']['directory'] = 'http://dir.friendi.ca';
Developer Settings Developer Settings
--- ---

View File

@ -138,7 +138,7 @@ Dies erlaubt eine private Kommunikation, die komplett vom globalen Verzeichnis i
Konfiguriere: Konfiguriere:
``` ```
$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit'; $a->config['system']['directory'] = 'http://dir.friendi.ca';
``` ```

View File

@ -51,12 +51,6 @@ $a->config['system']['maximagesize'] = 800000;
$a->config['php_path'] = 'php'; $a->config['php_path'] = 'php';
// You shouldn't need to change anything else.
// Location of global directory submission page.
$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit';
$a->config['system']['directory_search_url'] = 'http://dir.friendica.com/directory?search=';
// PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts // PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts
$a->config['system']['huburl'] = '[internal]'; $a->config['system']['huburl'] = '[internal]';
@ -74,17 +68,8 @@ $a->config['system']['theme'] = 'duepuntozero';
$a->config['system']['no_regfullname'] = true; $a->config['system']['no_regfullname'] = true;
// If set to true the priority settings of ostatus contacts are used
$a->config['system']['ostatus_use_priority'] = false;
// If enabled, all items are cached in the given directory
$a->config['system']['itemcache'] = "";
// If enabled, the lockpath is used for a lockfile to check if the poller is running
$a->config['system']['lockpath'] = "";
//Deny public access to the local directory //Deny public access to the local directory
//$a->config['system']['block_local_dir'] = false; //$a->config['system']['block_local_dir'] = false;
// Global directory // Location of the global directory
$a->config['system']['directory'] = 'http://dir.friendi.ca'; $a->config['system']['directory'] = 'http://dir.friendi.ca';

View File

@ -29,11 +29,13 @@ function directory_run(&$argv, &$argc){
$a->set_baseurl(get_config('system','url')); $a->set_baseurl(get_config('system','url'));
$dir = get_config('system','directory_submit_url'); $dir = get_config('system','directory');
if(! strlen($dir)) if(! strlen($dir))
return; return;
$dir .= "/submit";
$arr = array('url' => $argv[1]); $arr = array('url' => $argv[1]);
call_hooks('globaldir_update', $arr); call_hooks('globaldir_update', $arr);

View File

@ -129,7 +129,7 @@ function nav_info(&$a) {
$gdirpath = 'directory'; $gdirpath = 'directory';
if(strlen(get_config('system','singleuser'))) { if(strlen(get_config('system','singleuser'))) {
$gdir = dirname(get_config('system','directory_submit_url')); $gdir = get_config('system','directory');
if(strlen($gdir)) if(strlen($gdir))
$gdirpath = $gdir; $gdirpath = $gdir;
} }

View File

@ -12,7 +12,7 @@ function profile_change() {
return; return;
// $url = $a->get_baseurl() . '/profile/' . $a->user['nickname']; // $url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
// if($url && strlen(get_config('system','directory_submit_url'))) // if($url && strlen(get_config('system','directory')))
// proc_run('php',"include/directory.php","$url"); // proc_run('php',"include/directory.php","$url");
$recips = q("SELECT `id`,`name`,`network`,`pubkey`,`notify` FROM `contact` WHERE `network` = '%s' $recips = q("SELECT `id`,`name`,`network`,`pubkey`,`notify` FROM `contact` WHERE `network` = '%s'

View File

@ -1224,7 +1224,7 @@ function update_suggestions() {
$done[] = $a->get_baseurl() . '/poco'; $done[] = $a->get_baseurl() . '/poco';
if(strlen(get_config('system','directory_submit_url'))) { if(strlen(get_config('system','directory'))) {
$x = fetch_url(get_server()."/pubsites"); $x = fetch_url(get_server()."/pubsites");
if($x) { if($x) {
$j = json_decode($x); $j = json_decode($x);

View File

@ -33,7 +33,7 @@ function create_user($arr) {
$verified = ((x($arr,'verified')) ? intval($arr['verified']) : 0); $verified = ((x($arr,'verified')) ? intval($arr['verified']) : 0);
$publish = ((x($arr,'profile_publish_reg') && intval($arr['profile_publish_reg'])) ? 1 : 0); $publish = ((x($arr,'profile_publish_reg') && intval($arr['profile_publish_reg'])) ? 1 : 0);
$netpublish = ((strlen(get_config('system','directory_submit_url'))) ? $publish : 0); $netpublish = ((strlen(get_config('system','directory'))) ? $publish : 0);
if ($password1 != $confirm) { if ($password1 != $confirm) {
$result['message'] .= t('Passwords do not match. Password unchanged.') . EOL; $result['message'] .= t('Passwords do not match. Password unchanged.') . EOL;

View File

@ -363,7 +363,7 @@ function admin_page_site_post(&$a){
$allowed_email = ((x($_POST,'allowed_email')) ? notags(trim($_POST['allowed_email'])) : ''); $allowed_email = ((x($_POST,'allowed_email')) ? notags(trim($_POST['allowed_email'])) : '');
$block_public = ((x($_POST,'block_public')) ? True : False); $block_public = ((x($_POST,'block_public')) ? True : False);
$force_publish = ((x($_POST,'publish_all')) ? True : False); $force_publish = ((x($_POST,'publish_all')) ? True : False);
$global_directory = ((x($_POST,'directory_submit_url')) ? notags(trim($_POST['directory_submit_url'])) : ''); $global_directory = ((x($_POST,'directory')) ? notags(trim($_POST['directory'])) : '');
$thread_allow = ((x($_POST,'thread_allow')) ? True : False); $thread_allow = ((x($_POST,'thread_allow')) ? True : False);
$newuser_private = ((x($_POST,'newuser_private')) ? True : False); $newuser_private = ((x($_POST,'newuser_private')) ? True : False);
$enotify_no_content = ((x($_POST,'enotify_no_content')) ? True : False); $enotify_no_content = ((x($_POST,'enotify_no_content')) ? True : False);
@ -514,15 +514,7 @@ function admin_page_site_post(&$a){
set_config('system','allowed_email', $allowed_email); set_config('system','allowed_email', $allowed_email);
set_config('system','block_public', $block_public); set_config('system','block_public', $block_public);
set_config('system','publish_all', $force_publish); set_config('system','publish_all', $force_publish);
if ($global_directory==""){ set_config('system','directory', $global_directory);
// don't know why, but del_config doesn't work...
q("DELETE FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
dbesc("system"),
dbesc("directory_submit_url")
);
} else {
set_config('system','directory_submit_url', $global_directory);
}
set_config('system','thread_allow', $thread_allow); set_config('system','thread_allow', $thread_allow);
set_config('system','newuser_private', $newuser_private); set_config('system','newuser_private', $newuser_private);
set_config('system','enotify_no_content', $enotify_no_content); set_config('system','enotify_no_content', $enotify_no_content);
@ -578,7 +570,7 @@ function admin_page_site(&$a) {
/* Installed langs */ /* Installed langs */
$lang_choices = array(); $lang_choices = array();
$langs = glob('view/*/strings.php'); $langs = glob('view/*/strings.php'); /**/
if(is_array($langs) && count($langs)) { if(is_array($langs) && count($langs)) {
if(! in_array('view/en/strings.php',$langs)) if(! in_array('view/en/strings.php',$langs))
@ -590,6 +582,12 @@ function admin_page_site(&$a) {
} }
} }
if (strlen(get_config('system','directory_submit_url')) AND
!strlen(get_config('system','directory'))) {
set_config('system','directory', dirname(get_config('system','directory_submit_url')));
del_config('system','directory_submit_url');
}
/* Installed themes */ /* Installed themes */
$theme_choices = array(); $theme_choices = array();
$theme_choices_mobile = array(); $theme_choices_mobile = array();
@ -719,7 +717,7 @@ function admin_page_site(&$a) {
'$allowed_email' => array('allowed_email', t("Allowed email domains"), get_config('system','allowed_email'), t("Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains")), '$allowed_email' => array('allowed_email', t("Allowed email domains"), get_config('system','allowed_email'), t("Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains")),
'$block_public' => array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently logged in.")), '$block_public' => array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently logged in.")),
'$force_publish' => array('publish_all', t("Force publish"), get_config('system','publish_all'), t("Check to force all profiles on this site to be listed in the site directory.")), '$force_publish' => array('publish_all', t("Force publish"), get_config('system','publish_all'), t("Check to force all profiles on this site to be listed in the site directory.")),
'$global_directory' => array('directory_submit_url', t("Global directory update URL"), get_config('system','directory_submit_url'), t("URL to update the global directory. If this is not set, the global directory is completely unavailable to the application.")), '$global_directory' => array('directory', t("Global directory URL"), get_config('system','directory'), t("URL to the global directory. If this is not set, the global directory is completely unavailable to the application.")),
'$thread_allow' => array('thread_allow', t("Allow threaded items"), get_config('system','thread_allow'), t("Allow infinite level threading for items on this site.")), '$thread_allow' => array('thread_allow', t("Allow threaded items"), get_config('system','thread_allow'), t("Allow infinite level threading for items on this site.")),
'$newuser_private' => array('newuser_private', t("Private posts by default for new users"), get_config('system','newuser_private'), t("Set default post permissions for all new members to the default privacy group rather than public.")), '$newuser_private' => array('newuser_private', t("Private posts by default for new users"), get_config('system','newuser_private'), t("Set default post permissions for all new members to the default privacy group rather than public.")),
'$enotify_no_content' => array('enotify_no_content', t("Don't include post content in email notifications"), get_config('system','enotify_no_content'), t("Don't include the content of a post/comment/private message/etc. in the email notifications that are sent out from this site, as a privacy measure.")), '$enotify_no_content' => array('enotify_no_content', t("Don't include post content in email notifications"), get_config('system','enotify_no_content'), t("Don't include the content of a post/comment/private message/etc. in the email notifications that are sent out from this site, as a privacy measure.")),

View File

@ -47,7 +47,7 @@ function directory_content(&$a) {
$tpl = get_markup_template('directory_header.tpl'); $tpl = get_markup_template('directory_header.tpl');
$globaldir = ''; $globaldir = '';
$gdirpath = dirname(get_config('system','directory_submit_url')); $gdirpath = get_config('system','directory');
if(strlen($gdirpath)) { if(strlen($gdirpath)) {
$globaldir = '<ul><li><div id="global-directory-link"><a href="' $globaldir = '<ul><li><div id="global-directory-link"><a href="'
. zrl($gdirpath,true) . '">' . t('Global Directory') . '</a></div></li></ul>'; . zrl($gdirpath,true) . '">' . t('Global Directory') . '</a></div></li></ul>';

View File

@ -100,7 +100,7 @@ function dirfind_content(&$a, $prefix = "") {
$p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : ''); $p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : '');
if(strlen(get_config('system','directory_submit_url'))) if(strlen(get_config('system','directory')))
$x = fetch_url(get_server().'/lsearch?f=' . $p . '&search=' . urlencode($search)); $x = fetch_url(get_server().'/lsearch?f=' . $p . '&search=' . urlencode($search));
$j = json_decode($x); $j = json_decode($x);
@ -125,6 +125,8 @@ function dirfind_content(&$a, $prefix = "") {
$conntxt = t('Connect'); $conntxt = t('Connect');
} }
$jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo);
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$url' => zrl($jj->url), '$url' => zrl($jj->url),
'$name' => $jj->name, '$name' => $jj->name,

View File

@ -114,13 +114,13 @@ function invite_content(&$a) {
} }
} }
$dirloc = get_config('system','directory_submit_url'); $dirloc = get_config('system','directory');
if(strlen($dirloc)) { if(strlen($dirloc)) {
if($a->config['register_policy'] == REGISTER_CLOSED) if($a->config['register_policy'] == REGISTER_CLOSED)
$linktxt = sprintf( t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.'), dirname($dirloc) . '/siteinfo'); $linktxt = sprintf( t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.'), $dirloc . '/siteinfo');
elseif($a->config['register_policy'] != REGISTER_CLOSED) elseif($a->config['register_policy'] != REGISTER_CLOSED)
$linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), $a->get_baseurl()) $linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), $a->get_baseurl())
. "\r\n" . "\r\n" . sprintf( t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.'),dirname($dirloc) . '/siteinfo'); . "\r\n" . "\r\n" . sprintf( t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.'),$dirloc . '/siteinfo');
} }
else { else {
$o = t('Our apologies. This system is not currently configured to connect with other public sites or invite members.'); $o = t('Our apologies. This system is not currently configured to connect with other public sites or invite members.');

View File

@ -1,5 +1,7 @@
<?php <?php
include_once('include/text.php'); include_once('include/text.php');
require_once('include/socgraph.php');
require_once('include/contact_widgets.php');
function match_content(&$a) { function match_content(&$a) {
@ -7,6 +9,9 @@ function match_content(&$a) {
if(! local_user()) if(! local_user())
return; return;
$a->page['aside'] .= follow_widget();
$a->page['aside'] .= findpeople_widget();
$_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd; $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
$o .= replace_macros(get_markup_template("section_title.tpl"),array( $o .= replace_macros(get_markup_template("section_title.tpl"),array(
@ -32,7 +37,7 @@ function match_content(&$a) {
if($a->pager['page'] != 1) if($a->pager['page'] != 1)
$params['p'] = $a->pager['page']; $params['p'] = $a->pager['page'];
if(strlen(get_config('system','directory_submit_url'))) if(strlen(get_config('system','directory')))
$x = post_url(get_server().'/msearch', $params); $x = post_url(get_server().'/msearch', $params);
else else
$x = post_url($a->get_baseurl() . '/msearch', $params); $x = post_url($a->get_baseurl() . '/msearch', $params);
@ -50,26 +55,25 @@ function match_content(&$a) {
$tpl = get_markup_template('match.tpl'); $tpl = get_markup_template('match.tpl');
foreach($j->results as $jj) { foreach($j->results as $jj) {
$match_nurl = normalise_link($jj->url); $match_nurl = normalise_link($jj->url);
$match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1", $match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1",
intval(local_user()), intval(local_user()),
dbesc($match_nurl)); dbesc($match_nurl));
if (!count($match)) { if (!count($match)) {
$jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo);
$connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url; $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url;
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$url' => zrl($jj->url), '$url' => zrl($jj->url),
'$name' => $jj->name, '$name' => $jj->name,
'$photo' => proxy_url($jj->photo), '$photo' => proxy_url($jj->photo),
'$inttxt' => ' ' . t('is interested in:'), '$inttxt' => ' ' . t('is interested in:'),
'$conntxt' => t('Connect'), '$conntxt' => t('Connect'),
'$connlnk' => $connlnk, '$connlnk' => $connlnk,
'$tags' => $jj->tags '$tags' => $jj->tags
)); ));
} }
} }
} } else {
else {
info( t('No matches') . EOL); info( t('No matches') . EOL);
} }

View File

@ -118,7 +118,7 @@ function profile_photo_post(&$a) {
info( t('Shift-reload the page or clear browser cache if the new photo does not display immediately.') . EOL); info( t('Shift-reload the page or clear browser cache if the new photo does not display immediately.') . EOL);
// Update global directory in background // Update global directory in background
$url = $a->get_baseurl() . '/profile/' . $a->user['nickname']; $url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
if($url && strlen(get_config('system','directory_submit_url'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run('php',"include/directory.php","$url");
require_once('include/profile_update.php'); require_once('include/profile_update.php');
@ -217,7 +217,7 @@ function profile_photo_content(&$a) {
// Update global directory in background // Update global directory in background
$url = $_SESSION['my_url']; $url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory_submit_url'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run('php',"include/directory.php","$url");
goaway($a->get_baseurl() . '/profiles'); goaway($a->get_baseurl() . '/profiles');

View File

@ -508,7 +508,7 @@ function profiles_post(&$a) {
// Update global directory in background // Update global directory in background
$url = $_SESSION['my_url']; $url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory_submit_url'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run('php',"include/directory.php","$url");
require_once('include/profile_update.php'); require_once('include/profile_update.php');

View File

@ -36,7 +36,7 @@ function user_allow($hash) {
); );
if(count($r) && $r[0]['net-publish']) { if(count($r) && $r[0]['net-publish']) {
$url = $a->get_baseurl() . '/profile/' . $user[0]['nickname']; $url = $a->get_baseurl() . '/profile/' . $user[0]['nickname'];
if($url && strlen(get_config('system','directory_submit_url'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run('php',"include/directory.php","$url");
} }

View File

@ -582,7 +582,7 @@ 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 // Update global directory in background
$url = $_SESSION['my_url']; $url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory_submit_url'))) if($url && strlen(get_config('system','directory')))
proc_run('php',"include/directory.php","$url"); proc_run('php',"include/directory.php","$url");
} }
@ -1069,7 +1069,7 @@ function settings_content(&$a) {
)); ));
} }
if(strlen(get_config('system','directory_submit_url'))) { if(strlen(get_config('system','directory'))) {
$profile_in_net_dir = replace_macros($opt_tpl,array( $profile_in_net_dir = replace_macros($opt_tpl,array(
'$field' => array('profile_in_netdirectory', t('Publish your default profile in the global social directory?'), $profile['net-publish'], '', array(t('No'),t('Yes'))), '$field' => array('profile_in_netdirectory', t('Publish your default profile in the global social directory?'), $profile['net-publish'], '', array(t('No'),t('Yes'))),
)); ));

View File

@ -47,11 +47,6 @@ $a->config['system']['maximagesize'] = 800000;
$a->config['php_path'] = '/usr/bin/php'; $a->config['php_path'] = '/usr/bin/php';
// Location of global directory submission page.
$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit';
$a->config['system']['directory_search_url'] = 'http://dir.friendica.com/directory?search=';
// PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts // PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts
$a->config['system']['huburl'] = '[internal]'; $a->config['system']['huburl'] = '[internal]';
@ -69,3 +64,9 @@ $a->config['system']['theme'] = 'duepuntozero';
// By default allow pseudonyms // By default allow pseudonyms
$a->config['system']['no_regfullname'] = true; $a->config['system']['no_regfullname'] = true;
//Deny public access to the local directory
//$a->config['system']['block_local_dir'] = false;
// Location of the global directory
$a->config['system']['directory'] = 'http://dir.friendi.ca';

View File

@ -47,11 +47,6 @@ $a->config['system']['maximagesize'] = 800000;
$a->config['php_path'] = '{{$phpath}}'; $a->config['php_path'] = '{{$phpath}}';
// Location of global directory submission page.
$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit';
$a->config['system']['directory_search_url'] = 'http://dir.friendica.com/directory?search=';
// PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts // PuSH - aka pubsubhubbub URL. This makes delivery of public posts as fast as private posts
$a->config['system']['huburl'] = '[internal]'; $a->config['system']['huburl'] = '[internal]';
@ -69,3 +64,9 @@ $a->config['system']['theme'] = 'duepuntozero';
// By default allow pseudonyms // By default allow pseudonyms
$a->config['system']['no_regfullname'] = true; $a->config['system']['no_regfullname'] = true;
//Deny public access to the local directory
//$a->config['system']['block_local_dir'] = false;
// Location of the global directory
$a->config['system']['directory'] = 'http://dir.friendi.ca';