From 5ac38b7f99979c0c47d3e5a9dcd014723825f644 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 15 Sep 2015 22:29:02 +0200 Subject: [PATCH] There is now only one central parameter for the global directory. --- doc/Settings.md | 2 +- doc/de/Settings.md | 2 +- htconfig.php | 29 ++++++--------------- include/directory.php | 6 +++-- include/nav.php | 2 +- include/profile_update.php | 2 +- include/socgraph.php | 2 +- include/user.php | 2 +- mod/admin.php | 22 ++++++++-------- mod/directory.php | 2 +- mod/dirfind.php | 4 ++- mod/invite.php | 10 ++++---- mod/match.php | 50 ++++++++++++++++++++----------------- mod/profile_photo.php | 4 +-- mod/profiles.php | 2 +- mod/regmod.php | 2 +- mod/settings.php | 4 +-- util/htconfig.vagrant.php | 23 +++++++++-------- view/templates/htconfig.tpl | 21 ++++++++-------- 19 files changed, 92 insertions(+), 99 deletions(-) diff --git a/doc/Settings.md b/doc/Settings.md index fee8ec1c5..60fff847a 100644 --- a/doc/Settings.md +++ b/doc/Settings.md @@ -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. 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 --- diff --git a/doc/de/Settings.md b/doc/de/Settings.md index 6bc238e26..988b3657c 100644 --- a/doc/de/Settings.md +++ b/doc/de/Settings.md @@ -138,7 +138,7 @@ Dies erlaubt eine private Kommunikation, die komplett vom globalen Verzeichnis i Konfiguriere: ``` -$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit'; +$a->config['system']['directory'] = 'http://dir.friendi.ca'; ``` diff --git a/htconfig.php b/htconfig.php index 9b5771445..508de9a32 100644 --- a/htconfig.php +++ b/htconfig.php @@ -1,12 +1,12 @@ config['sitename'] = "Friendica Social Network"; // Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED. -// Be certain to create your own personal account before setting -// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on +// Be certain to create your own personal account before setting +// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on // the registration page. REGISTER_APPROVE requires you set 'admin_email' // to the email address of an already registered person who can authorise -// and/or approve/deny the request. +// and/or approve/deny the request. // In order to perform system administration via the admin panel, admin_email // must precisely match the email address of the person logged in. @@ -51,12 +51,6 @@ $a->config['system']['maximagesize'] = 800000; $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 $a->config['system']['huburl'] = '[internal]'; @@ -74,17 +68,8 @@ $a->config['system']['theme'] = 'duepuntozero'; $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 //$a->config['system']['block_local_dir'] = false; -// Global directory +// Location of the global directory $a->config['system']['directory'] = 'http://dir.friendi.ca'; diff --git a/include/directory.php b/include/directory.php index aed700fa8..85476bd5f 100644 --- a/include/directory.php +++ b/include/directory.php @@ -7,7 +7,7 @@ function directory_run(&$argv, &$argc){ if(is_null($a)) { $a = new App; } - + if(is_null($db)) { @include(".htconfig.php"); require_once("include/dba.php"); @@ -29,11 +29,13 @@ function directory_run(&$argv, &$argc){ $a->set_baseurl(get_config('system','url')); - $dir = get_config('system','directory_submit_url'); + $dir = get_config('system','directory'); if(! strlen($dir)) return; + $dir .= "/submit"; + $arr = array('url' => $argv[1]); call_hooks('globaldir_update', $arr); diff --git a/include/nav.php b/include/nav.php index e7f51cc0c..935d08f52 100644 --- a/include/nav.php +++ b/include/nav.php @@ -129,7 +129,7 @@ function nav_info(&$a) { $gdirpath = 'directory'; if(strlen(get_config('system','singleuser'))) { - $gdir = dirname(get_config('system','directory_submit_url')); + $gdir = get_config('system','directory'); if(strlen($gdir)) $gdirpath = $gdir; } diff --git a/include/profile_update.php b/include/profile_update.php index 9da96442c..0fcf3617f 100644 --- a/include/profile_update.php +++ b/include/profile_update.php @@ -12,7 +12,7 @@ function profile_change() { return; // $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"); $recips = q("SELECT `id`,`name`,`network`,`pubkey`,`notify` FROM `contact` WHERE `network` = '%s' diff --git a/include/socgraph.php b/include/socgraph.php index 97daae1d2..5d7b8e0d4 100644 --- a/include/socgraph.php +++ b/include/socgraph.php @@ -1224,7 +1224,7 @@ function update_suggestions() { $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"); if($x) { $j = json_decode($x); diff --git a/include/user.php b/include/user.php index 33ff46ee6..d989664ac 100644 --- a/include/user.php +++ b/include/user.php @@ -33,7 +33,7 @@ function create_user($arr) { $verified = ((x($arr,'verified')) ? intval($arr['verified']) : 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) { $result['message'] .= t('Passwords do not match. Password unchanged.') . EOL; diff --git a/mod/admin.php b/mod/admin.php index d54d25a51..002d332cb 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -363,7 +363,7 @@ function admin_page_site_post(&$a){ $allowed_email = ((x($_POST,'allowed_email')) ? notags(trim($_POST['allowed_email'])) : ''); $block_public = ((x($_POST,'block_public')) ? 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); $newuser_private = ((x($_POST,'newuser_private')) ? 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','block_public', $block_public); set_config('system','publish_all', $force_publish); - if ($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','directory', $global_directory); set_config('system','thread_allow', $thread_allow); set_config('system','newuser_private', $newuser_private); set_config('system','enotify_no_content', $enotify_no_content); @@ -578,7 +570,7 @@ function admin_page_site(&$a) { /* Installed langs */ $lang_choices = array(); - $langs = glob('view/*/strings.php'); + $langs = glob('view/*/strings.php'); /**/ if(is_array($langs) && count($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 */ $theme_choices = 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")), '$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.")), - '$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.")), '$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.")), diff --git a/mod/directory.php b/mod/directory.php index cce281881..fa3a89e45 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -47,7 +47,7 @@ function directory_content(&$a) { $tpl = get_markup_template('directory_header.tpl'); $globaldir = ''; - $gdirpath = dirname(get_config('system','directory_submit_url')); + $gdirpath = get_config('system','directory'); if(strlen($gdirpath)) { $globaldir = ''; diff --git a/mod/dirfind.php b/mod/dirfind.php index 2295b3772..b0d578a3c 100644 --- a/mod/dirfind.php +++ b/mod/dirfind.php @@ -100,7 +100,7 @@ function dirfind_content(&$a, $prefix = "") { $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)); $j = json_decode($x); @@ -125,6 +125,8 @@ function dirfind_content(&$a, $prefix = "") { $conntxt = t('Connect'); } + $jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo); + $o .= replace_macros($tpl,array( '$url' => zrl($jj->url), '$name' => $jj->name, diff --git a/mod/invite.php b/mod/invite.php index aea92a663..ccf876c7c 100644 --- a/mod/invite.php +++ b/mod/invite.php @@ -112,15 +112,15 @@ function invite_content(&$a) { notice( t('You have no more invitations available') . EOL); return ''; } - } + } - $dirloc = get_config('system','directory_submit_url'); + $dirloc = get_config('system','directory'); if(strlen($dirloc)) { 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) $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 { $o = t('Our apologies. This system is not currently configured to connect with other public sites or invite members.'); @@ -141,4 +141,4 @@ function invite_content(&$a) { )); return $o; -} \ No newline at end of file +} diff --git a/mod/match.php b/mod/match.php index 199ad9ed7..74f83a6cc 100644 --- a/mod/match.php +++ b/mod/match.php @@ -1,5 +1,7 @@ page['aside'] .= follow_widget(); + $a->page['aside'] .= findpeople_widget(); + $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd; $o .= replace_macros(get_markup_template("section_title.tpl"),array( @@ -17,7 +22,7 @@ function match_content(&$a) { intval(local_user()) ); if(! count($r)) - return; + return; if(! $r[0]['pub_keywords'] && (! $r[0]['prv_keywords'])) { notice( t('No keywords to match. Please add keywords to your default profile.') . EOL); return; @@ -32,7 +37,7 @@ function match_content(&$a) { if($a->pager['page'] != 1) $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); else $x = post_url($a->get_baseurl() . '/msearch', $params); @@ -47,31 +52,30 @@ function match_content(&$a) { if(count($j->results)) { - + $tpl = get_markup_template('match.tpl'); foreach($j->results as $jj) { - $match_nurl = normalise_link($jj->url); - $match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1", - intval(local_user()), - dbesc($match_nurl)); - if (!count($match)) { - - $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url; - $o .= replace_macros($tpl,array( - '$url' => zrl($jj->url), - '$name' => $jj->name, - '$photo' => proxy_url($jj->photo), - '$inttxt' => ' ' . t('is interested in:'), - '$conntxt' => t('Connect'), - '$connlnk' => $connlnk, - '$tags' => $jj->tags - )); - } + $match_nurl = normalise_link($jj->url); + $match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1", + intval(local_user()), + dbesc($match_nurl)); + if (!count($match)) { + $jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo); + $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url; + $o .= replace_macros($tpl,array( + '$url' => zrl($jj->url), + '$name' => $jj->name, + '$photo' => proxy_url($jj->photo), + '$inttxt' => ' ' . t('is interested in:'), + '$conntxt' => t('Connect'), + '$connlnk' => $connlnk, + '$tags' => $jj->tags + )); + } } - } - else { + } else { info( t('No matches') . EOL); - } + } } diff --git a/mod/profile_photo.php b/mod/profile_photo.php index 6607eebd0..aa8809059 100644 --- a/mod/profile_photo.php +++ b/mod/profile_photo.php @@ -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); // Update global directory in background $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"); require_once('include/profile_update.php'); @@ -217,7 +217,7 @@ function profile_photo_content(&$a) { // Update global directory in background $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"); goaway($a->get_baseurl() . '/profiles'); diff --git a/mod/profiles.php b/mod/profiles.php index 993504a71..6c1a82c7b 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -508,7 +508,7 @@ function profiles_post(&$a) { // Update global directory in background $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"); require_once('include/profile_update.php'); diff --git a/mod/regmod.php b/mod/regmod.php index 3ab43b105..5a90db1f9 100644 --- a/mod/regmod.php +++ b/mod/regmod.php @@ -36,7 +36,7 @@ function user_allow($hash) { ); if(count($r) && $r[0]['net-publish']) { $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"); } diff --git a/mod/settings.php b/mod/settings.php index a985985c7..556fb63e8 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -582,7 +582,7 @@ function settings_post(&$a) { 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'))) + if($url && strlen(get_config('system','directory'))) 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( '$field' => array('profile_in_netdirectory', t('Publish your default profile in the global social directory?'), $profile['net-publish'], '', array(t('No'),t('Yes'))), )); diff --git a/util/htconfig.vagrant.php b/util/htconfig.vagrant.php index 36fd4b9c9..4665e68c0 100644 --- a/util/htconfig.vagrant.php +++ b/util/htconfig.vagrant.php @@ -11,10 +11,10 @@ $db_data = 'friendica'; // If you are using a subdirectory of your domain you will need to put the // relative path (from the root of your domain) here. // For instance if your URL is 'http://example.com/directory/subdirectory', -// set path to 'directory/subdirectory'. +// set path to 'directory/subdirectory'. $a->path = ''; - + // Choose a legal default timezone. If you are unsure, use "America/Los_Angeles". // It can be changed later and only applies to timestamps for anonymous viewers. @@ -25,8 +25,8 @@ $default_timezone = 'Europe/Berlin'; $a->config['sitename'] = "My Friend Network"; // Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED. -// Be certain to create your own personal account before setting -// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on +// Be certain to create your own personal account before setting +// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on // the registration page. REGISTER_APPROVE requires you set 'admin_email' // to the email address of an already registered person who can authorise // and/or approve/deny the request. @@ -47,18 +47,13 @@ $a->config['system']['maximagesize'] = 800000; $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 $a->config['system']['huburl'] = '[internal]'; -// Server-to-server private message encryption (RINO) is allowed by default. +// Server-to-server private message encryption (RINO) is allowed by default. // Encryption will only be provided if this setting is true and the -// PHP mcrypt extension is installed on both systems +// PHP mcrypt extension is installed on both systems $a->config['system']['rino_encrypt'] = true; @@ -69,3 +64,9 @@ $a->config['system']['theme'] = 'duepuntozero'; // By default allow pseudonyms $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'; diff --git a/view/templates/htconfig.tpl b/view/templates/htconfig.tpl index 7c71623dd..6b3bda617 100644 --- a/view/templates/htconfig.tpl +++ b/view/templates/htconfig.tpl @@ -11,7 +11,7 @@ $db_data = '{{$dbdata}}'; // If you are using a subdirectory of your domain you will need to put the // relative path (from the root of your domain) here. // For instance if your URL is 'http://example.com/directory/subdirectory', -// set path to 'directory/subdirectory'. +// set path to 'directory/subdirectory'. $a->path = '{{$urlpath}}'; @@ -25,8 +25,8 @@ $default_timezone = '{{$timezone}}'; $a->config['sitename'] = "My Friend Network"; // Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED. -// Be certain to create your own personal account before setting -// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on +// Be certain to create your own personal account before setting +// REGISTER_CLOSED. 'register_text' (if set) will be displayed prominently on // the registration page. REGISTER_APPROVE requires you set 'admin_email' // to the email address of an already registered person who can authorise // and/or approve/deny the request. @@ -47,18 +47,13 @@ $a->config['system']['maximagesize'] = 800000; $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 $a->config['system']['huburl'] = '[internal]'; -// Server-to-server private message encryption (RINO) is allowed by default. +// Server-to-server private message encryption (RINO) is allowed by default. // Encryption will only be provided if this setting is true and the -// PHP mcrypt extension is installed on both systems +// PHP mcrypt extension is installed on both systems $a->config['system']['rino_encrypt'] = true; @@ -69,3 +64,9 @@ $a->config['system']['theme'] = 'duepuntozero'; // By default allow pseudonyms $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';