From 5aad4a19f83a7e7de4ec9a7c819b9b5f7b4f1b3c Mon Sep 17 00:00:00 2001 From: Paolo Tacconi Date: Fri, 20 Feb 2015 10:09:59 +0100 Subject: [PATCH 001/242] Added version tag to siteinfo/json --- mod/siteinfo.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/mod/siteinfo.php b/mod/siteinfo.php index 1f3cd4479..b73dca5b1 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -50,6 +50,18 @@ function siteinfo_init(&$a) { $site_info = get_config('system','info'); $site_name = get_config('system','sitename'); + if(! get_config('system','hidden_version_siteinfo')) { + $version = sprintf( t('Version %s'), RED_VERSION ); + if(@is_dir('.git') && function_exists('shell_exec')) { + $commit = @shell_exec('git log -1 --format="%h"'); + $tag = @shell_exec('git describe --tags --abbrev=0'); + } + if(! isset($commit) || strlen($commit) > 16) + $commit = ''; + } + else { + $version = $commit = ''; + } //Statistics $channels_total_stat = intval(get_config('system','channels_total_stat')); @@ -59,7 +71,8 @@ function siteinfo_init(&$a) { $hide_in_statistics = intval(get_config('system','hide_in_statistics')); $data = Array( - 'version' => RED_VERSION, + 'version' => $version, + 'version_tag' => $tag, 'commit' => $commit, 'url' => z_root(), 'plugins' => $visible_plugins, From 2765500844d7c85a6921f26cc708af8d967c9125 Mon Sep 17 00:00:00 2001 From: Paolo Tacconi Date: Fri, 20 Feb 2015 10:29:33 +0100 Subject: [PATCH 002/242] Fixes to version tag in siteinfo/json --- mod/siteinfo.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mod/siteinfo.php b/mod/siteinfo.php index b73dca5b1..e6798ce50 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -51,10 +51,10 @@ function siteinfo_init(&$a) { $site_info = get_config('system','info'); $site_name = get_config('system','sitename'); if(! get_config('system','hidden_version_siteinfo')) { - $version = sprintf( t('Version %s'), RED_VERSION ); + $version = RED_VERSION; if(@is_dir('.git') && function_exists('shell_exec')) { - $commit = @shell_exec('git log -1 --format="%h"'); - $tag = @shell_exec('git describe --tags --abbrev=0'); + $commit = trim( @shell_exec('git log -1 --format="%h"')); + $tag = trim( @shell_exec('git describe --tags --abbrev=0')); } if(! isset($commit) || strlen($commit) > 16) $commit = ''; From 2c7e8bea88abd4e835645996849e16ecd62dfa35 Mon Sep 17 00:00:00 2001 From: zottel Date: Fri, 20 Feb 2015 14:07:56 +0100 Subject: [PATCH 003/242] show item title in channel/mid and display pages --- mod/channel.php | 5 ++++- mod/display.php | 3 +++ view/js/main.js | 11 ++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/mod/channel.php b/mod/channel.php index 788bacf70..109c9a596 100644 --- a/mod/channel.php +++ b/mod/channel.php @@ -329,8 +329,11 @@ function channel_content(&$a, $update = 0, $load = false) { $o .= conversation($a,$items,'channel',$update,'traditional'); } - if((! $update) || ($_COOKIE['jsAvailable'] != 1)) + if((! $update) || ($_COOKIE['jsAvailable'] != 1)) { $o .= alt_pager($a,count($items)); + if ($mid && $items[0]['title']) + $a->page['title'] = $items[0]['title'] . " - " . $a->page['title']; + } if($mid) $o .= '
'; diff --git a/mod/display.php b/mod/display.php index c2e5c2426..d06f1e66f 100644 --- a/mod/display.php +++ b/mod/display.php @@ -228,6 +228,9 @@ function display_content(&$a, $update = 0, $load = false) { $o .= conversation($a, $items, 'display', $update, 'client'); } else { $o .= conversation($a, $items, 'display', $update, 'traditional'); + if ($items[0]['title']) + $a->page['title'] = $items[0]['title'] . " - " . $a->page['title']; + } if($updateable) { diff --git a/view/js/main.js b/view/js/main.js index 18004726e..a10e91449 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -563,10 +563,19 @@ function updateConvItems(mode,data) { } prev = ident; }); - + if(loadingPage) { loadingPage = false; } + + if (window.location.search.indexOf("mid=") != -1 || window.location.pathname.indexOf("display") != -1) { + var title = $(".wall-item-title").text(); + title.replace(/^\s+/, ''); + title.replace(/\s+$/, ''); + if (title) + document.title = title + " - " + document.title; + } + } $('.like-rotator').spin(false); From 48080d4103f19c6f2382be8f7ea66ca9b2f29d20 Mon Sep 17 00:00:00 2001 From: zottel Date: Fri, 20 Feb 2015 14:11:28 +0100 Subject: [PATCH 004/242] correct indent --- mod/display.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mod/display.php b/mod/display.php index d06f1e66f..d4a1acc5d 100644 --- a/mod/display.php +++ b/mod/display.php @@ -228,8 +228,8 @@ function display_content(&$a, $update = 0, $load = false) { $o .= conversation($a, $items, 'display', $update, 'client'); } else { $o .= conversation($a, $items, 'display', $update, 'traditional'); - if ($items[0]['title']) - $a->page['title'] = $items[0]['title'] . " - " . $a->page['title']; + if ($items[0]['title']) + $a->page['title'] = $items[0]['title'] . " - " . $a->page['title']; } From 8eedc9d5766df8d57815bdd38e5fa5e3757e7555 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 20 Feb 2015 13:18:44 -0800 Subject: [PATCH 005/242] updated install doc --- install/INSTALL.txt | 30 +++++++++++++++++++----------- util/shredder/readme | 11 +++++++++++ 2 files changed, 30 insertions(+), 11 deletions(-) create mode 100644 util/shredder/readme diff --git a/install/INSTALL.txt b/install/INSTALL.txt index 9c85e0f4b..d042f34ec 100644 --- a/install/INSTALL.txt +++ b/install/INSTALL.txt @@ -42,10 +42,16 @@ site for the first time, please use the SSL ("https://") URL if SSL is available. This will avoid problems later. The installation routine will not allow you to use a non browser-valid certificate. -This restriction is incorporated because public posts from you may for example -contain references to images on your own hub. If your certificate is not known -by the internet browser of users they get a warning message complaining about -the invalid certificate. +This restriction is incorporated because public posts from you may contain +references to images on your own hub. Other members viewing their stream on +other hubs will get warnings if your certificate is not trusted by their web +browser. This will confuse many people because this is a decentralised network +and they will get the warning about your hub while viewing their own hub and may +think their own hub has an issue. These warnings are very technical and scary to +some folks, many of whom will not know how to proceed except to follow the browser +advice. This is disruptive to the community. That said, we recognise the issues +surrounding the current certificate infrastructure and agree there are many +problems, but that doesn't change the requirement. Free "browser-valid" certificates are available from providers such as StartSSL. @@ -57,9 +63,11 @@ use SSL, your webserver must not listen on port 443 at all. 1. Requirements - Apache with mod-rewrite enabled and "AllowOverride All" so you can use a - local .htaccess file + local .htaccess file. Some folks have successfully used nginx and lighttpd. + Example config scripts are available for these platforms in doc/install. + Apache and nginx have the most support. - - PHP 5.3+. The later the better. + - PHP 5.3+. 5.4 or 5.5 is highly recommended. The later the better. - PHP *command line* access with register_argc_argv set to true in the php.ini file - and with no hosting provider restrictions on the use of @@ -70,7 +78,7 @@ use SSL, your webserver must not listen on port 443 at all. - some form of email server or email gateway such that PHP mail() works - - Mysql 5.x or MariaDB + - Mysql 5.x or MariaDB or postgres database server. - ability to schedule jobs with cron. @@ -121,11 +129,11 @@ use SSL, your webserver must not listen on port 443 at all. util/add_addon_repo https://github.com/friendica/red-addons.git matrix - - For keeping the addon tree updated, you should be on your addon tree and - issue a git pull + - For keeping the addon tree updated, you should be on your top level website + directory and issue an update command for that repository. - cd mywebsite/extend/addon/matrix - git pull + cd mywebsite + util/update_addon_repo matrix 3. Create an empty database and note the access details (hostname, username, diff --git a/util/shredder/readme b/util/shredder/readme new file mode 100644 index 000000000..44ed6f45c --- /dev/null +++ b/util/shredder/readme @@ -0,0 +1,11 @@ +http://kmkeen.com/jshon/ + + + +Jshon was made to be part of the usual text processing pipeline. However, every single -u is printed out to its own line. Most shell tools expect fields to be tab separated, and newlines between sets of fields. The paste tool does this. However, paste breaks down on blank lines so use sed to pad out the empty lines. + +jshon ... | sed 's/^$/-/' | paste -s -d "\t\t\n" | .... + +The arguments need a little explaining. +-s is mysteriously needed for paste to correctly handle input. +-d is less obvious from the manpage, because it can take multiple characters which are looped through. The above example concatenates every three lines together. From 835b2594550a8f53ec5beee370129e2add162ab0 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 20 Feb 2015 14:07:24 -0800 Subject: [PATCH 006/242] minor issues with arg passing --- util/add_addon_repo | 4 ++-- util/add_theme_repo | 2 +- util/update_addon_repo | 11 ++++++++--- util/update_theme_repo | 11 ++++++++--- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/util/add_addon_repo b/util/add_addon_repo index caefe820c..7d2b74cff 100755 --- a/util/add_addon_repo +++ b/util/add_addon_repo @@ -1,6 +1,6 @@ #!/bin/sh -f -if [ $# -eq '3' ]; then +if [ $# -ne 2 ]; then echo usage: $0 repo_url nickname exit 1 fi @@ -8,7 +8,7 @@ fi mkdir -p extend/addon/$2 mkdir addon > /dev/null 2>&1 git clone $1 extend/addon/$2 -if [ $? -eq '0' ]; then +if [ $? -eq 0 ]; then exit $? fi diff --git a/util/add_theme_repo b/util/add_theme_repo index fe4384604..5ccbccd3f 100755 --- a/util/add_theme_repo +++ b/util/add_theme_repo @@ -1,7 +1,7 @@ #!/bin/sh -f -if [ $# -eq '3' ]; then +if [ $# -ne 2 ]; then echo usage: $0 repo_url nickname exit 1 fi diff --git a/util/update_addon_repo b/util/update_addon_repo index d5dedeb50..0d0cbc4a8 100755 --- a/util/update_addon_repo +++ b/util/update_addon_repo @@ -1,10 +1,15 @@ #!/bin/sh -f -if [ $# -eq '2' ]; then - echo usage: $0 nickname +if [ $# -ne 1 ]; then + echo usage: $0 repository + echo "Repositories:" + ls extend/addon exit 1 fi cd extend/addon/$1 -git pull + +if [ -d .git ] ; then + git pull +fi diff --git a/util/update_theme_repo b/util/update_theme_repo index 51d2f4175..f7b26ae34 100755 --- a/util/update_theme_repo +++ b/util/update_theme_repo @@ -1,10 +1,15 @@ #!/bin/sh -f -if [ $# -eq '2' ]; then - echo usage: $0 nickname + +if [ $# -ne 1 ]; then + echo usage: $0 repository + echo "Repositories:" + ls extend/theme exit 1 fi cd extend/theme/$1 -git pull +if [ -d .git ] ; then + git pull +fi From 6b4d5eedc4d583bcf03932dccef6413ed6445342 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 20 Feb 2015 14:58:09 -0800 Subject: [PATCH 007/242] extend the troubleshooting doc --- doc/troubleshooting.bb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/troubleshooting.bb b/doc/troubleshooting.bb index 35ecd3546..f27db558f 100644 --- a/doc/troubleshooting.bb +++ b/doc/troubleshooting.bb @@ -1,8 +1,21 @@ [b]Troubleshooting[/b] -[li][zrl=[baseurl]/help/technical_faq]Technical FAQ[/zrl][/li] // error does not exist [li][zrl=[baseurl]/help/problems-following-an-update]Problems following an update[/zrl][/li] +When reporting issues, please try to provide as much detail as may be necessary for developers to reproduce the issue and provide the complete text of all error messages. + +The system logfile is an extremely useful resource for tracking down things that go wrong. This can be enabled in the admin/log configuration page. A loglevel setting of LOGGER_DEBUG is preferred for stable production sites. Most things that go wrong with communications or storage are listed here. A setting of LOGGER_DATA provides [b]much[/b] more detail, but may fill your disk. In either case we recommend the use of logrotate on your operating system to cycle logs and discard older entries. + +At the bottom of your .htconfig.php file are several lines (commented out) which enable PHP error logging. This reports issues with code syntax and executing the code and is the first place you should look for issues which result in a "white screen" or blank page. This is typically the result of code/syntax problems. +Database errors are reported to the system logfile, but we've found it useful to have a file in your top-level directory called dbfail.out which [b]only[/b] collects database related issues. If the file exists and is writable, database errors will be logged to it as well as to the system logfile. + +In the case of "500" errors, the issues may often be logged in your webserver logs, often /var/log/apache2/error.log or something similar. Consult your operating system documentation. + +We encourage you to try to the best of your abilities to use these logs combined with the source code in your possession to troubleshoot issues and find their cause. The community is often able to help, but only you have access to your site logfiles and it is considered a security risk to share them. + + +If a code issue has been uncovered, please report it on the project bugtracker (https://github.com/friendica/red/issues). Again provide as much detail as possible to avoid us going back and forth asking questions about your configuration or how to duplicate the problem, so that we can get right to the problem and figure out what to do about it. You are also welcome to offer your own solutions and submit patches. In fact we encourage this as we are all volunteers and have little spare time available. The more people that help, the easier the workload for everybody. It's OK if your solution isn't perfect. Every little bit helps and perhaps we can improve on it. + #include doc/macros/troubleshooting_footer.bb; #include doc/macros/main_footer.bb; From ffd47e6b9544c4ef717fdd545563831df84bf93b Mon Sep 17 00:00:00 2001 From: Habeas Codice Date: Fri, 20 Feb 2015 19:48:51 -0800 Subject: [PATCH 008/242] catch negative ages nix extra var --- include/zot.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/include/zot.php b/include/zot.php index 98b54a04c..0d8fe8714 100644 --- a/include/zot.php +++ b/include/zot.php @@ -2244,10 +2244,11 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = UPDATE_FLAGS_ dbesc($hash) ); - $age = intval($arr['xprof_age']); - if($age > 150) - $age = 150; - + if($arr['xprof_age'] > 150) + $arr['xprof_age'] = 150; + if($arr['xprof_age'] < 0) + $arr['xprof_age'] = 0; + if($r) { $update = false; foreach($r[0] as $k => $v) { @@ -2276,7 +2277,7 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = UPDATE_FLAGS_ where xprof_hash = '%s'", dbesc($arr['xprof_desc']), dbesc($arr['xprof_dob']), - $age, + intval($arr['xprof_age']), dbesc($arr['xprof_gender']), dbesc($arr['xprof_marital']), dbesc($arr['xprof_sexual']), @@ -2299,7 +2300,7 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = UPDATE_FLAGS_ dbesc($arr['xprof_hash']), dbesc($arr['xprof_desc']), dbesc($arr['xprof_dob']), - $age, + intval($arr['xprof_age']), dbesc($arr['xprof_gender']), dbesc($arr['xprof_marital']), dbesc($arr['xprof_sexual']), From 6c77550c298c2189878f3b7f132331314edbde66 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 20 Feb 2015 21:30:02 -0800 Subject: [PATCH 009/242] more stuff for external resource page --- doc/external-resource-links.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/external-resource-links.bb b/doc/external-resource-links.bb index 5d6123565..beb16e699 100644 --- a/doc/external-resource-links.bb +++ b/doc/external-resource-links.bb @@ -15,5 +15,6 @@ [*][url=https://addons.mozilla.org/en-US/firefox/addon/redshare/]Redshare for Firefox[/url] [*][url=https://github.com/cvogeley/red-for-android]Red for Android[/url] [*][url=https://github.com/zzottel/feed2red]feed2red.pl (posts Atom/RSS feeds to channel)[/url] +[*][url=https://github.com/friendica/wptored]WordPress gateway (combine with wppost addon for full features)[/url] #include doc/macros/main_footer.bb; From 86aefe0e012939fb08193fa59ba74deed062a1af Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 22 Feb 2015 15:27:45 -0800 Subject: [PATCH 010/242] new session functions --- include/session.php | 29 +++++++++++++++++++++++++++++ version.inc | 2 +- view/tpl/admin_site.tpl | 2 +- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/include/session.php b/include/session.php index ed4dfdd16..00e1d8fbe 100644 --- a/include/session.php +++ b/include/session.php @@ -6,7 +6,36 @@ $session_exists = 0; $session_expire = 180000; +$session_mirror = null; +function red_session_start() { + global $session_mirror; + + session_start(); + $session_mirror = $_SESSION; + session_write_close(); +} + +function red_session_get($var) { + global $session_mirror; + if(is_null($session_mirror)) + red_session_start(); + return $session_mirror[$var]; +} + +function red_session_put($var,$val) { + session_start(); + $_SESSION[$var'] = $val; + $session_mirror = $_SESSION; + session_write_close(); +} + +function red_session_destroy() { + session_start(); + unset($_SESSION); + unset($session_mirror); + session_write_close(); +} function new_cookie($time) { diff --git a/version.inc b/version.inc index db0f2f5e5..2e906c260 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2015-02-20.950 +2015-02-22.952 diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl index a30892f71..1bcdba473 100755 --- a/view/tpl/admin_site.tpl +++ b/view/tpl/admin_site.tpl @@ -24,7 +24,7 @@ $.post(url, data, function(data) { if(timer) clearTimeout(timer); NavUpdate(); - $.fancybox.close(); + $.colorbox.close(); }) return false; From 0109c0fcf3a9eff33f6dd6a651b351f20c948eb4 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 22 Feb 2015 17:37:57 -0800 Subject: [PATCH 011/242] fi8x the typo --- include/session.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/session.php b/include/session.php index 00e1d8fbe..8ae2194ec 100644 --- a/include/session.php +++ b/include/session.php @@ -25,7 +25,7 @@ function red_session_get($var) { function red_session_put($var,$val) { session_start(); - $_SESSION[$var'] = $val; + $_SESSION[$var] = $val; $session_mirror = $_SESSION; session_write_close(); } From 324e59b1b68cb3a799194e51218b503044fb3975 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 22 Feb 2015 18:06:33 -0800 Subject: [PATCH 012/242] remove these functions for now. --- include/session.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/session.php b/include/session.php index 8ae2194ec..739eca213 100644 --- a/include/session.php +++ b/include/session.php @@ -6,6 +6,7 @@ $session_exists = 0; $session_expire = 180000; +/* $session_mirror = null; function red_session_start() { @@ -36,7 +37,7 @@ function red_session_destroy() { unset($session_mirror); session_write_close(); } - +*/ function new_cookie($time) { $old_sid = session_id(); From e1cf396feba2fe33ea992570b1d90edaaeb87ad5 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 22 Feb 2015 20:58:11 -0800 Subject: [PATCH 013/242] remove the new session functions from the trunk. Don't yet know if they'll come back or not. --- include/session.php | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/include/session.php b/include/session.php index 739eca213..0e2adb77d 100644 --- a/include/session.php +++ b/include/session.php @@ -6,39 +6,6 @@ $session_exists = 0; $session_expire = 180000; -/* -$session_mirror = null; - -function red_session_start() { - global $session_mirror; - - session_start(); - $session_mirror = $_SESSION; - session_write_close(); -} - -function red_session_get($var) { - global $session_mirror; - if(is_null($session_mirror)) - red_session_start(); - return $session_mirror[$var]; -} - -function red_session_put($var,$val) { - session_start(); - $_SESSION[$var] = $val; - $session_mirror = $_SESSION; - session_write_close(); -} - -function red_session_destroy() { - session_start(); - unset($_SESSION); - unset($session_mirror); - session_write_close(); -} -*/ - function new_cookie($time) { $old_sid = session_id(); From d0e7fc76cd112dde0947540c84274358d8f84560 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 22 Feb 2015 20:59:24 -0800 Subject: [PATCH 014/242] no longer needed --- include/fixd.php | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 include/fixd.php diff --git a/include/fixd.php b/include/fixd.php deleted file mode 100644 index bce5eb348..000000000 --- a/include/fixd.php +++ /dev/null @@ -1,33 +0,0 @@ - Date: Sun, 22 Feb 2015 22:58:09 -0800 Subject: [PATCH 015/242] notes about private realm registrations and multiple primary directories. --- include/ratenotif.php | 4 ++-- mod/regdir.php | 14 +++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/include/ratenotif.php b/include/ratenotif.php index 4fa0077a6..8be3b15b7 100644 --- a/include/ratenotif.php +++ b/include/ratenotif.php @@ -76,8 +76,8 @@ function ratenotif_run($argv, $argc){ if($j && $j['success'] && is_array($j['directories'])) { foreach($j['directories'] as $h) { -// if($h == z_root()) -// continue; + if($h == z_root()) + continue; $hash = random_string(); $n = zot_build_packet($channel,'notify',null,null,$hash); diff --git a/mod/regdir.php b/mod/regdir.php index eecc99ca5..f24ee3951 100644 --- a/mod/regdir.php +++ b/mod/regdir.php @@ -1,6 +1,18 @@ false); @@ -32,7 +44,7 @@ function regdir_init(&$a) { json_return_and_die($result); } - $f = zot_finger('sys@' . $m['host']); + $f = zot_finger('[system]@' . $m['host']); if($f['success']) { $j = json_decode($f['body'],true); if($j['success'] && $j['guid']) { From 18f5e269ce88eb569c0ff6ae8da0990a8b255570 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 22 Feb 2015 23:05:21 -0800 Subject: [PATCH 016/242] fix 404 pages for derivative themes by pretending we've found a module called '404'. This way all the correct theme initialisation stuff will happen. --- index.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.php b/index.php index 4e39ee1ac..94d22e415 100755 --- a/index.php +++ b/index.php @@ -240,6 +240,9 @@ if(strlen($a->module)) { $a->page['content'] = replace_macros($tpl, array( '$message' => t('Page not found.' ) )); + // pretend this is a module so it will initialise the theme. + $a->module = '404'; + $a->module_loaded = true; } } From 8d0377466657a02c2e0bbeacd2af0a181ceda898 Mon Sep 17 00:00:00 2001 From: zottel Date: Mon, 23 Feb 2015 14:53:10 +0100 Subject: [PATCH 017/242] make redirections restriction in z_fetch_url() work --- include/network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/network.php b/include/network.php index a7127c1a2..6874063ab 100644 --- a/include/network.php +++ b/include/network.php @@ -109,7 +109,7 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) { $url_parsed = @parse_url($newurl); if (isset($url_parsed)) { @curl_close($ch); - return z_fetch_url($newurl,$binary,$redirects++,$opts); + return z_fetch_url($newurl,$binary,++$redirects,$opts); } } From fbbcc10025bdf01c17a80a1b790e1f72dcaa8b2c Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 23 Feb 2015 11:33:16 -0800 Subject: [PATCH 018/242] apply fix from 8d03774 to z_post_url also --- include/network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/network.php b/include/network.php index 6874063ab..db32396e4 100644 --- a/include/network.php +++ b/include/network.php @@ -239,7 +239,7 @@ function z_post_url($url,$params, $redirects = 0, $opts = array()) { if($http_code == 303) { return z_fetch_url($newurl,false,$redirects++,$opts); } else { - return z_post_url($newurl,$params,$redirects++,$opts); + return z_post_url($newurl,$params,++$redirects,$opts); } } } From d29de912b439b8252efff8b644f034cf7fc7d3e2 Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 23 Feb 2015 16:27:12 -0800 Subject: [PATCH 019/242] public_recips cleanup --- include/zot.php | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/include/zot.php b/include/zot.php index 0d8fe8714..b19b1474a 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1270,12 +1270,13 @@ function zot_import($arr, $sender_url) { // A public message with no listed recipients can be delivered to anybody who -// has PERMS_NETWORK for that type of post, or PERMS_SITE and is one the same +// has PERMS_NETWORK for that type of post, PERMS_AUTHED (in-network senders are +// by definition authenticated) or PERMS_SITE and is one the same // site, or PERMS_SPECIFIC and the sender is a contact who is granted // permissions via their connection permissions in the address book. // Here we take a given message and construct a list of hashes of everybody -// on the site that we should deliver to. - +// on the site that we should try and deliver to. +// Some of these will be rejected, but this gives us a place to start. function public_recips($msg) { @@ -1294,15 +1295,9 @@ function public_recips($msg) { $check_mentions = true; } else { - // if this is a comment and it wasn't sent by the post owner, check to see who is allowing them to comment. - // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up their software. - // We may need this step to protect us from bad guys intentionally stuffing up their software. - // If it is sent by the post owner, we don't need to do this. We only need to see who is receiving the - // owner's stream (which was already set above) - as they control the comment permissions - if($msg['notify']['sender']['guid_sig'] != $msg['message']['owner']['guid_sig']) { - $col = 'channel_w_comment'; - $field = PERMS_W_COMMENT; - } + $col = 'channel_w_comment'; + $field = PERMS_W_COMMENT; + } } elseif($msg['message']['type'] === 'mail') { @@ -1313,21 +1308,38 @@ function public_recips($msg) { if(! $col) return NULL; - + $col = dbesc($col); + + // First find those channels who are accepting posts from anybody, or at least + // something greater than just their connections. + if($msg['notify']['sender']['url'] === z_root()) - $sql = " where (( " . $col . " & " . PERMS_NETWORK . " )>0 or ( " . $col . " & " . PERMS_SITE . " )>0 or ( " . $col . " & " . PERMS_PUBLIC . ")>0 or ( " . $col . " & " . PERMS_AUTHED . ")>0) "; + $sql = " where (( " . $col . " & " . intval(PERMS_NETWORK) . " ) > 0 + or ( " . $col . " & " . intval(PERMS_SITE) . " ) > 0 + or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0 + or ( " . $col . " & " . intval(PERMS_AUTHED) . ") > 0 ) "; else - $sql = " where (( " . $col . " & " . PERMS_NETWORK . " )>0 or ( " . $col . " & " . PERMS_PUBLIC . ")>0 or ( " . $col . " & " . PERMS_AUTHED . ")>0) "; + $sql = " where (( " . $col . " & " . intval(PERMS_NETWORK) . " ) > 0 + or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0 + or ( " . $col . " & " . intval(PERMS_AUTHED) . ") > 0 ) "; - $r = q("select channel_hash as hash from channel $sql or channel_hash = '%s' ", + $r = q("select channel_hash as hash from channel $sql or channel_hash = '%s' + and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0 ", dbesc($msg['notify']['sender']['hash']) ); if(! $r) $r = array(); - $x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and not ( channel_pageflags & " . PAGE_REMOVED . " )>0 and (( " . $col . " & " . PERMS_SPECIFIC . " )>0 and ( abook_my_perms & " . $field . " )>0) OR ( " . $col . " & " . PERMS_PENDING . " )>0 OR (( " . $col . " & " . PERMS_CONTACTS . " )>0 and not ( abook_flags & " . ABOOK_FLAG_PENDING . " )>0) ", + // Now we have to get a bit dirty. Find every channel that has the sender in their connections (abook) + // and is allowing this sender at least at a high level. + + $x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id + where abook_xchan = '%s' and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0 + and (( " . $col . " & " . intval(PERMS_SPECIFIC) . " ) > 0 and ( abook_my_perms & " . intval($field) . " ) > 0 ) + OR ( " . $col . " & " . intval(PERMS_PENDING) . " ) > 0 + OR (( " . $col . " & " . intval(PERMS_CONTACTS) . " ) > 0 and ( abook_flags & " . intval(ABOOK_FLAG_PENDING) . " ) = 0 ) ", dbesc($msg['notify']['sender']['hash']) ); @@ -1411,7 +1423,7 @@ function allowed_public_recips($msg) { $condensed_recips[] = $rr['hash']; $results = array(); - $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and not ( channel_pageflags & %d )>0 ", + $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and not ( channel_pageflags & %d ) > 0 ", dbesc($hash), intval(PAGE_REMOVED) ); From 2264ad5c6ef98a63594f100f06f79bfd8668436a Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 23 Feb 2015 19:10:34 -0800 Subject: [PATCH 020/242] provide ability to link new themes/addons --- util/add_addon_repo | 9 +++++---- util/add_theme_repo | 8 ++++---- util/update_addon_repo | 24 ++++++++++++++++++++++++ util/update_theme_repo | 27 +++++++++++++++++++++++++++ 4 files changed, 60 insertions(+), 8 deletions(-) diff --git a/util/add_addon_repo b/util/add_addon_repo index 7d2b74cff..130c0a0cd 100755 --- a/util/add_addon_repo +++ b/util/add_addon_repo @@ -18,19 +18,20 @@ cd addon for a in "${filelist[@]}" ; do base=`basename $a` if [ $base = '.git' ]; then - echo 'ignoring git' +# echo 'ignoring git' continue; fi if [ ! -d ../extend/addon/$2/$base ]; then - echo $a 'not a directory' +# echo $a 'not a directory' continue; fi - echo linking $base if [ -x $base ]; then - echo $base 'file exists' +# echo $base 'file exists' continue; fi + echo linking $base + ln -s ../extend/addon/$2/$base $base done diff --git a/util/add_theme_repo b/util/add_theme_repo index 5ccbccd3f..d2e4b21a5 100755 --- a/util/add_theme_repo +++ b/util/add_theme_repo @@ -18,19 +18,19 @@ cd view/theme for a in "${filelist[@]}" ; do base=`basename $a` if [ $base = '.git' ]; then - echo 'ignoring git' +# echo 'ignoring git' continue; fi if [ ! -d ../../extend/theme/$2/$base ]; then - echo $a 'not a directory' +# echo $a 'not a directory' continue; fi - echo linking $base if [ -x $base ]; then - echo $base 'file exists' +# echo $base 'file exists' continue; fi + echo linking $base ln -s ../../extend/theme/$2/$base $base done diff --git a/util/update_addon_repo b/util/update_addon_repo index 0d0cbc4a8..c6c2c4a47 100755 --- a/util/update_addon_repo +++ b/util/update_addon_repo @@ -13,3 +13,27 @@ if [ -d .git ] ; then git pull fi +cd ../../.. + +filelist=(`ls extend/addon/$1`) + +cd addon + +for a in "${filelist[@]}" ; do + base=`basename $a` + if [ $base = '.git' ]; then +# echo 'ignoring git' + continue; + fi + if [ ! -d ../extend/theme/$1/$base ]; then +# echo $a 'not a directory' + continue; + fi + if [ -x $base ]; then +# echo $base 'file exists' + continue; + fi + + echo linking $base + ln -s ../extend/theme/$1/$base $base +done diff --git a/util/update_theme_repo b/util/update_theme_repo index f7b26ae34..443b26591 100755 --- a/util/update_theme_repo +++ b/util/update_theme_repo @@ -13,3 +13,30 @@ cd extend/theme/$1 if [ -d .git ] ; then git pull fi + +cd ../../.. + +filelist=(`ls extend/theme/$1`) + +cd view/theme + +for a in "${filelist[@]}" ; do + base=`basename $a` + if [ $base = '.git' ]; then +# echo 'ignoring git' + continue; + fi + if [ ! -d ../../extend/theme/$1/$base ]; then +# echo $a 'not a directory' + continue; + fi + if [ -x $base ]; then +# echo $base 'file exists' + continue; + fi + + echo linking $base + ln -s ../../extend/theme/$1/$base $base +done + + From 11df605c2e065e123e58bd73525e7ca2113f40b8 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 24 Feb 2015 00:45:03 -0800 Subject: [PATCH 021/242] support rel=me on channel "homepage" url --- include/identity.php | 2 +- include/text.php | 4 ++-- version.inc | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/identity.php b/include/identity.php index 415e85f2f..f63b576b2 100644 --- a/include/identity.php +++ b/include/identity.php @@ -893,7 +893,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) { || (x($profile,'country_name') == 1)) $location = t('Location:'); - $profile['homepage'] = linkify($profile['homepage']); + $profile['homepage'] = linkify($profile['homepage'],true); $gender = ((x($profile,'gender') == 1) ? t('Gender:') : False); $marital = ((x($profile,'marital') == 1) ? t('Status:') : False); diff --git a/include/text.php b/include/text.php index c93bc4e70..2a524f7f1 100644 --- a/include/text.php +++ b/include/text.php @@ -873,8 +873,8 @@ function valid_email($x){ */ -function linkify($s) { - $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\@\~\#\'\%\$\!\+]*)/", ' $1', $s); +function linkify($s,$me = false) { + $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\@\~\#\'\%\$\!\+]*)/", (($me) ? ' $1' : ' $1'), $s); $s = preg_replace("/\<(.*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$s); return($s); } diff --git a/version.inc b/version.inc index 2e906c260..2a61decf3 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2015-02-22.952 +2015-02-24.953 From 08f054130f5a57e2928e129131e7609271ec7f40 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 24 Feb 2015 16:36:27 -0800 Subject: [PATCH 022/242] require access token to view, query, or join directories in private realms, if the realm is so configured. --- boot.php | 2 +- include/dir_fns.php | 18 ++++++++++++------ install/schema_mysql.sql | 4 +++- install/schema_postgres.sql | 2 ++ install/update.php | 10 +++++++++- mod/directory.php | 8 ++++++-- mod/dirsearch.php | 10 +++++++++- mod/regdir.php | 28 ++++++++++++++++++++++++++-- 8 files changed, 68 insertions(+), 14 deletions(-) diff --git a/boot.php b/boot.php index 4009f63dd..a93f074c4 100755 --- a/boot.php +++ b/boot.php @@ -49,7 +49,7 @@ define ( 'RED_PLATFORM', 'redmatrix' ); define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R'); define ( 'ZOT_REVISION', 1 ); -define ( 'DB_UPDATE_VERSION', 1137 ); +define ( 'DB_UPDATE_VERSION', 1138 ); /** * Constant with a HTML line break. diff --git a/include/dir_fns.php b/include/dir_fns.php index 686c5140f..37a7c04e7 100644 --- a/include/dir_fns.php +++ b/include/dir_fns.php @@ -48,7 +48,7 @@ function check_upstream_directory() { if($directory) { $h = parse_url($directory); if($h) { - $x = zot_finger('sys@' . $h['host']); + $x = zot_finger('[system]@' . $h['host']); if($x['success']) { $j = json_decode($x['body'],true); if(array_key_exists('site',$j) && array_key_exists('directory_mode',$j['site'])) { @@ -166,20 +166,23 @@ function sync_directories($dirmode) { // FIXME - what to do if we're in a different realm? if((! $r) && (z_root() != DIRECTORY_FALLBACK_MASTER)) { - $r = array( + $r = array(); + $r[] = array( 'site_url' => DIRECTORY_FALLBACK_MASTER, 'site_flags' => DIRECTORY_MODE_PRIMARY, 'site_update' => NULL_DATE, 'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch', - 'site_realm' => DIRECTORY_REALM + 'site_realm' => DIRECTORY_REALM, + 'site_valid' => 1 ); - $x = q("insert into site ( site_url, site_flags, site_update, site_directory, site_realm ) + $x = q("insert into site ( site_url, site_flags, site_update, site_directory, site_realm, site_valid ) values ( '%s', %d', '%s', '%s', '%s' ) ", dbesc($r[0]['site_url']), intval($r[0]['site_flags']), dbesc($r[0]['site_update']), dbesc($r[0]['site_directory']), - dbesc($r[0]['site_realm']) + dbesc($r[0]['site_realm']), + intval($r[0]['site_valid']) ); $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s'", @@ -201,8 +204,11 @@ function sync_directories($dirmode) { // It will take about a month for a new directory to obtain the full current repertoire of channels. // FIXME - go back and pick up earlier ratings if this is a new directory server. These do not get refreshed. + $token = get_config('system','realm_token'); + + $syncdate = (($rr['site_sync'] === NULL_DATE) ? datetime_convert('UTC','UTC','now - 2 days') : $rr['site_sync']); - $x = z_fetch_url($rr['site_directory'] . '?f=&sync=' . urlencode($syncdate)); + $x = z_fetch_url($rr['site_directory'] . '?f=&sync=' . urlencode($syncdate) . (($token) ? '&t=' . $token : '')); if(! $x['success']) continue; diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index 247b33814..da78d9c61 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -1256,6 +1256,7 @@ CREATE TABLE IF NOT EXISTS `site` ( `site_sellpage` char(255) NOT NULL DEFAULT '', `site_location` char(255) NOT NULL DEFAULT '', `site_realm` char(255) NOT NULL DEFAULT '', + `site_valid` smallint NOT NULL DEFAULT '0', PRIMARY KEY (`site_url`), KEY `site_flags` (`site_flags`), KEY `site_update` (`site_update`), @@ -1264,7 +1265,8 @@ CREATE TABLE IF NOT EXISTS `site` ( KEY `site_access` (`site_access`), KEY `site_sellpage` (`site_sellpage`), KEY `site_pull` (`site_pull`), - KEY `site_realm` (`site_realm`) + KEY `site_realm` (`site_realm`), + KEY `site_valid` (`site_valid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -------------------------------------------------------- diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index d852f38e9..1370f3b8a 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -959,6 +959,7 @@ CREATE TABLE "site" ( "site_sellpage" text NOT NULL DEFAULT '', "site_location" text NOT NULL DEFAULT '', "site_realm" text NOT NULL DEFAULT '', + "site_valid" smallint NOT NULL DEFAULT '0', PRIMARY KEY ("site_url") ); create index "site_flags" on site ("site_flags"); @@ -968,6 +969,7 @@ create index "site_register" on site ("site_register"); create index "site_access" on site ("site_access"); create index "site_sellpage" on site ("site_sellpage"); create index "site_realm" on site ("site_realm"); +create index "site_valid" on site ("site_valid"); CREATE TABLE "source" ( "src_id" serial NOT NULL, diff --git a/install/update.php b/install/update.php index 86731e165..ee13bee78 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ false); - $dirmode = intval(get_config('system','directory_mode')); if($dirmode == DIRECTORY_MODE_NORMAL) { @@ -21,6 +20,15 @@ function dirsearch_content(&$a) { json_return_and_die($ret); } + $access_token = $_REQUEST['t']; + + $token = get_config('system','realm_token'); + if($token && $access_token != $token) { + $result['message'] = t('This directory server requires an access token'); + return; + } + + if(argc() > 1 && argv(1) === 'sites') { $ret = list_public_sites(); json_return_and_die($ret); diff --git a/mod/regdir.php b/mod/regdir.php index f24ee3951..f12659dad 100644 --- a/mod/regdir.php +++ b/mod/regdir.php @@ -18,7 +18,8 @@ function regdir_init(&$a) { $result = array('success' => false); $url = $_REQUEST['url']; - + $access_token = $_REQUEST['t']; + $valid = 0; // we probably don't need the realm as we will find out in the probe. // What we may want to die is throw an error if you're trying to register in a different realm @@ -28,6 +29,18 @@ function regdir_init(&$a) { if(! $realm) $realm = DIRECTORY_REALM; + if($realm === DIRECTORY_REALM) { + $valid = 1; + } + else { + $token = get_config('system','realm_token'); + if($token && $access_token != $token) { + $result['message'] = 'This realm requires an access token'; + return; + } + $valid = 1; + } + $dirmode = intval(get_config('system','directory_mode')); if($dirmode == DIRECTORY_MODE_NORMAL) { @@ -56,14 +69,25 @@ function regdir_init(&$a) { } } + q("update site set site_valid = %d where site_url = '%s' limit 1", + intval($valid), + strtolower($url) + ); + json_return_and_die($result); } else { + + // We can put this in the sql without the condition after 31 march 2015 assuming + // most directory servers will have updated by then + // This just makes sure it happens if I forget + + $sql_extra = ((datetime_convert() > datetime_convert('UTC','UTC','2015-03-31')) ? ' and site_valid = 1 ' : '' ); if($dirmode == DIRECTORY_MODE_STANDALONE) { $r = array(array('site_url' => z_root())); } else { - $r = q("select site_url from site where site_flags in ( 1, 2 ) and site_realm = '%s'", + $r = q("select site_url from site where site_flags in ( 1, 2 ) and site_realm = '%s' $sql_extra ", dbesc(get_directory_realm()) ); } From 1434130264836916001fe191dd237e51af5c6e3e Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 24 Feb 2015 20:21:21 -0800 Subject: [PATCH 023/242] don't send deleted items upstream - only downstream. --- include/notifier.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/notifier.php b/include/notifier.php index fe6ac33c0..c77857087 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -315,9 +315,12 @@ function notifier_run($argv, $argc){ $r = fetch_post_tags($r); $target_item = $r[0]; + $deleted_item = false; - if($target_item['item_restrict'] & ITEM_DELETED) + if($target_item['item_restrict'] & ITEM_DELETED) { logger('notifier: target item ITEM_DELETED', LOGGER_DEBUG); + $deleted_item = true; + } $unforwardable = ITEM_UNPUBLISHED|ITEM_DELAYED_PUBLISH|ITEM_WEBPAGE|ITEM_BUILDBLOCK|ITEM_PDL; if($target_item['item_restrict'] & $unforwardable) { @@ -376,7 +379,7 @@ function notifier_run($argv, $argc){ // tag_deliver'd post which needs to be sent back to the original author - if(($cmd === 'uplink') && ($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post)) { + if(($cmd === 'uplink') && ($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post) && (! $deleted_item)) { logger('notifier: uplink'); $uplink = true; } @@ -397,7 +400,7 @@ function notifier_run($argv, $argc){ // if our parent is a tag_delivery recipient, uplink to the original author causing // a delivery fork. - if(($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post) && ($cmd !== 'uplink')) { + if(($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post) && ($cmd !== 'uplink') && (! $deleted_item)) { logger('notifier: uplinking this item'); proc_run('php','include/notifier.php','uplink',$item_id); } From 2a2cc309ce2f9a991978d7dda841663825a95370 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 25 Feb 2015 01:39:45 -0800 Subject: [PATCH 024/242] solve some (hopefully most) missing delivery issues --- include/zot.php | 68 +++++++++++++++++++++++++++++++++++++++---------- mod/admin.php | 2 +- version.inc | 2 +- 3 files changed, 57 insertions(+), 15 deletions(-) diff --git a/include/zot.php b/include/zot.php index b19b1474a..6068c5e8c 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1295,9 +1295,33 @@ function public_recips($msg) { $check_mentions = true; } else { - $col = 'channel_w_comment'; - $field = PERMS_W_COMMENT; + // This doesn't look like it works so I have to explain what happened. These are my + // notes (below) from when I got this section of code working. + + // ... so public_recips and allowed_public_recips is working so much better + // than before, but was still not quite right. We seem to be getting all the right + // results for top-level posts now, but comments aren't getting through on channels + // for which we've allowed them to send us their stream, but not comment on our posts. + // The reason is we were seeing if they could comment - and we only need to do that if + // we own the post. If they own the post, we only need to check if they can send us their stream. + + // if this is a comment and it wasn't sent by the post owner, check to see who is allowing them to comment. + // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up + // their software. We may need this step to protect us from bad guys intentionally stuffing up their software. + // If it is sent by the post owner, we don't need to do this. We only need to see who is receiving the + // owner's stream (which was already set above) - as they control the comment permissions, not us. + + // Note that by doing this we introduce another bug because some public forums have channel_w_stream + // permissions set to themselves only. We also need in this function to add these public forums to the + // public recipient list based on if they are tagged or not and have tag permissions. This is complicated + // by the fact that this activity doesn't have the public forum tag. It's the parent activity that + // contains the tag. we'll solve that further below. + + if($msg['notify']['sender']['guid_sig'] != $msg['message']['owner']['guid_sig']) { + $col = 'channel_w_comment'; + $field = PERMS_W_COMMENT; + } } } elseif($msg['message']['type'] === 'mail') { @@ -1359,22 +1383,40 @@ function public_recips($msg) { // look for any public mentions on this site // They will get filtered by tgroup_check() so we don't need to check permissions now - if($check_mentions && $msg['message']['tags']) { - if(is_array($msg['message']['tags']) && $msg['message']['tags']) { - foreach($msg['message']['tags'] as $tag) { - if(($tag['type'] === 'mention') && (strpos($tag['url'],z_root()) !== false)) { - $address = basename($tag['url']); - if($address) { - $z = q("select channel_hash as hash from channel where channel_address = '%s' limit 1", - dbesc($address) - ); - if($z) - $r = array_merge($r,$z); + if($check_mentions) { + // It's a top level post. Look at the tags. See if any of them are mentions and are on this hub. + if($msg['message']['tags']) { + if(is_array($msg['message']['tags']) && $msg['message']['tags']) { + foreach($msg['message']['tags'] as $tag) { + if(($tag['type'] === 'mention') && (strpos($tag['url'],z_root()) !== false)) { + $address = basename($tag['url']); + if($address) { + $z = q("select channel_hash as hash from channel where channel_address = '%s' limit 1", + dbesc($address) + ); + if($z) + $r = array_merge($r,$z); + } } } } } } + else { + // this is a comment. Find any parent with ITEM_UPLINK set. + if($msg['message']['message_top']) { + $z = q("select owner_xchan as hash from item where parent_mid = '%s' and ( item_flags & %d ) > 0 ", + dbesc($msg['message']['message_top']), + intval(ITEM_UPLINK) + ); + if($z) + $r = array_merge($r,$z); + } + } + + // FIXME + // There are probably a lot of duplicates in $r at this point. We really need to filter those out. + // It's a bit of work since it's a multi-dimensional array logger('public_recips: ' . print_r($r,true), LOGGER_DATA); return $r; diff --git a/mod/admin.php b/mod/admin.php index e1808fd55..ba52033ec 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -546,7 +546,7 @@ function admin_page_dbsync(&$a) { $o .= sprintf( t('Executing %s failed. Check system logs.'), $func); } elseif($retval === UPDATE_SUCCESS) { - $o .= sprintf( t('Update %s was successfully applied.', $func)); + $o .= sprintf( t('Update %s was successfully applied.'), $func); set_config('database',$func, 'success'); } else diff --git a/version.inc b/version.inc index 2a61decf3..710b61eed 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2015-02-24.953 +2015-02-25.954 From 1a071ea4f07d4e3a1dd4199f6523d61f8bbc69b8 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 25 Feb 2015 03:14:49 -0800 Subject: [PATCH 025/242] call post_local hooks prior to storing a post that is going to be sourced. There are some fields in the actual stored item that may change when we start the second delivery chain so a few plugins may not deal with these items correctly. Since we only source public items these effects will be slight. --- include/items.php | 2 ++ include/zot.php | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/include/items.php b/include/items.php index 18ce149ed..b1e17b171 100755 --- a/include/items.php +++ b/include/items.php @@ -3136,6 +3136,8 @@ function start_delivery_chain($channel,$item,$item_id,$parent) { intval($item_id) ); + + if($r) proc_run('php','include/notifier.php','tgroup',$item_id); else diff --git a/include/zot.php b/include/zot.php index 6068c5e8c..59d158a0b 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1680,6 +1680,13 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque else { $arr['aid'] = $channel['channel_account_id']; $arr['uid'] = $channel['channel_id']; + + // if it's a sourced post, call the post_local hooks as if it were + // posted locally so that crosspost connectors will be triggered. + + if(check_item_source($arr['uid'],$arr)) + call_hooks('post_local',$arr); + $item_result = item_store($arr); $item_id = 0; if($item_result['success']) { From b32841e2ddc53758957ca3afccb3e045fdf2e9fe Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 25 Feb 2015 15:27:33 -0800 Subject: [PATCH 026/242] Found the cause of the delete looping, and I can prevent it going forward. The issue remains what to do about comments which are already in the DB and have ITEM_ORIGIN incorrectly set. We can't exactly reset them because the "original" context has been lost. (Sorry but couldn't resist an insider pun that none of you will be able to follow anyway). Read the comments. --- include/items.php | 11 +++++++++- include/notifier.php | 9 ++++++-- include/zot.php | 49 +++++++++++++++++++++++++++++++++----------- 3 files changed, 54 insertions(+), 15 deletions(-) diff --git a/include/items.php b/include/items.php index b1e17b171..b7bdad838 100755 --- a/include/items.php +++ b/include/items.php @@ -3073,7 +3073,16 @@ function start_delivery_chain($channel,$item,$item_id,$parent) { if((! $private) && $new_public_policy) $private = 1; - $flag_bits = $item['item_flags'] | ITEM_WALL|ITEM_ORIGIN; + $flag_bits = $item['item_flags'] | ITEM_WALL; + + // The message didn't necessarily originate on this site, (we'll honour it if it did), + // but the parent post of this thread will be reset as a local post, as it is the top of + // this delivery chain and is coming from this site, regardless of where the original + // originated. + + if(! $parent) + $flag_bits = $flag_bits | ITEM_ORIGIN; + // unset the nocomment bit if it's there. diff --git a/include/notifier.php b/include/notifier.php index c77857087..f64732884 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -366,6 +366,11 @@ function notifier_run($argv, $argc){ $encoded_item = encode_item($target_item); + // Send comments to the owner to re-deliver to everybody in the conversation + // We only do this if the item in question originated on this site. This prevents looping. + // To clarify, a site accepting a new comment is responsible for sending it to the owner for relay. + // Relaying should never be initiated on a post that arrived from elsewhere. + $relay_to_owner = (((! $top_level_post) && ($target_item['item_flags'] & ITEM_ORIGIN)) ? true : false); $uplink = false; @@ -379,7 +384,7 @@ function notifier_run($argv, $argc){ // tag_deliver'd post which needs to be sent back to the original author - if(($cmd === 'uplink') && ($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post) && (! $deleted_item)) { + if(($cmd === 'uplink') && ($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post)) { logger('notifier: uplink'); $uplink = true; } @@ -400,7 +405,7 @@ function notifier_run($argv, $argc){ // if our parent is a tag_delivery recipient, uplink to the original author causing // a delivery fork. - if(($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post) && ($cmd !== 'uplink') && (! $deleted_item)) { + if(($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post) && ($cmd !== 'uplink')) { logger('notifier: uplinking this item'); proc_run('php','include/notifier.php','uplink',$item_id); } diff --git a/include/zot.php b/include/zot.php index 59d158a0b..455702b06 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1297,7 +1297,9 @@ function public_recips($msg) { else { // This doesn't look like it works so I have to explain what happened. These are my - // notes (below) from when I got this section of code working. + // notes (below) from when I got this section of code working. You would think that + // we only have to find those with the requisite stream or comment permissions, + // depending on whether this is a top-level post or a comment - but you would be wrong. // ... so public_recips and allowed_public_recips is working so much better // than before, but was still not quite right. We seem to be getting all the right @@ -1403,9 +1405,12 @@ function public_recips($msg) { } } else { - // this is a comment. Find any parent with ITEM_UPLINK set. + // This is a comment. We need to find any parent with ITEM_UPLINK set. But in fact, let's just return + // everybody that stored a copy of the parent. This way we know we're covered. We'll check the + // comment permissions when we deliver them. + if($msg['message']['message_top']) { - $z = q("select owner_xchan as hash from item where parent_mid = '%s' and ( item_flags & %d ) > 0 ", + $z = q("select owner_xchan as hash from item where parent_mid = '%s' ", dbesc($msg['message']['message_top']), intval(ITEM_UPLINK) ); @@ -1414,10 +1419,22 @@ function public_recips($msg) { } } - // FIXME - // There are probably a lot of duplicates in $r at this point. We really need to filter those out. + // There are probably a lot of duplicates in $r at this point. We need to filter those out. // It's a bit of work since it's a multi-dimensional array + if($r) { + $uniq = array(); + + foreach($r as $rr) { + if(! in_array($rr['hash'],$uniq)) + $uniq[] = $rr['hash']; + } + $r = array(); + foreach($uniq as $rr) { + $r[] = array('hash' => $rr); + } + } + logger('public_recips: ' . print_r($r,true), LOGGER_DATA); return $r; } @@ -1427,9 +1444,16 @@ function public_recips($msg) { function allowed_public_recips($msg) { - logger('allowed_public_recips: ' . print_r($msg,true),LOGGER_DATA); + if(array_key_exists('public_scope',$msg['message'])) + $scope = $msg['message']['public_scope']; + + // Mail won't have a public scope. + // in fact, it's doubtful mail will ever get here since it almost universally + // has a recipient, but in fact we don't require this, so it's technically + // possible to send mail to anybody that's listening. + $recips = public_recips($msg); if(! $recips) @@ -1438,11 +1462,6 @@ function allowed_public_recips($msg) { if($msg['message']['type'] === 'mail') return $recips; - if(array_key_exists('public_scope',$msg['message'])) - $scope = $msg['message']['public_scope']; - - $hash = make_xchan_hash($msg['notify']['sender']['guid'],$msg['notify']['sender']['guid_sig']); - if($scope === 'public' || $scope === 'network: red' || $scope === 'authenticated') return $recips; @@ -1454,12 +1473,17 @@ function allowed_public_recips($msg) { } if($scope === 'self') { + + $hash = make_xchan_hash($msg['notify']['sender']['guid'],$msg['notify']['sender']['guid_sig']); + foreach($recips as $r) if($r['hash'] === $hash) return array('hash' => $hash); } - if($scope === 'contacts') { + // note: we shouldn't ever see $scope === 'specific' in this function, but handle it anyway + + if($scope === 'contacts' || $scope === 'any connections' || $scope === 'specific') { $condensed_recips = array(); foreach($recips as $rr) $condensed_recips[] = $rr['hash']; @@ -1477,6 +1501,7 @@ function allowed_public_recips($msg) { return $results; } + return array(); } From b9e485be54317b68c994c5ffa3b2ffe21f767775 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 25 Feb 2015 16:51:39 -0800 Subject: [PATCH 027/242] this may actually fix the deliver loop when deleting existing items. It's hackish but I don't see any other way out. --- include/items.php | 15 +++++++++++++++ include/notifier.php | 9 ++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/include/items.php b/include/items.php index b7bdad838..d6c6f5043 100755 --- a/include/items.php +++ b/include/items.php @@ -4799,3 +4799,18 @@ function set_linkified_perms($linkified, &$str_contact_allow, &$str_group_allow, } } } + + +/* + * We can't trust ITEM_ORIGIN to tell us if this is a local comment + * which needs to be relayed, because it was misconfigured at one point for several + * months and set for some remote items (in alternate delivery chains). This could + * cause looping, so use this hackish but accurate method. + */ + + +function comment_local_origin($item) { + if(stripos($item['mid'],get_app()->get_hostname()) && ($item['parent'] != $item['id'])) + return true; + return false; +} \ No newline at end of file diff --git a/include/notifier.php b/include/notifier.php index f64732884..22adc78a3 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -371,7 +371,14 @@ function notifier_run($argv, $argc){ // To clarify, a site accepting a new comment is responsible for sending it to the owner for relay. // Relaying should never be initiated on a post that arrived from elsewhere. - $relay_to_owner = (((! $top_level_post) && ($target_item['item_flags'] & ITEM_ORIGIN)) ? true : false); + // We should normally be able to rely on ITEM_ORIGIN, but start_delivery_chain() incorrectly set this + // flag on comments for an extended period. So we'll also call comment_local_origin() which looks at + // the hostname in the message_id and provides a second (fallback) opinion. + + $relay_to_owner = (((! $top_level_post) && ($target_item['item_flags'] & ITEM_ORIGIN) && comment_local_origin()) + ? true + : false + ); $uplink = false; From ac3384e661115fac5d771f62fc3eaa1587e5326f Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 25 Feb 2015 17:24:09 -0800 Subject: [PATCH 028/242] syntax - missing arg --- include/notifier.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/notifier.php b/include/notifier.php index 22adc78a3..36a52b209 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -375,7 +375,7 @@ function notifier_run($argv, $argc){ // flag on comments for an extended period. So we'll also call comment_local_origin() which looks at // the hostname in the message_id and provides a second (fallback) opinion. - $relay_to_owner = (((! $top_level_post) && ($target_item['item_flags'] & ITEM_ORIGIN) && comment_local_origin()) + $relay_to_owner = (((! $top_level_post) && ($target_item['item_flags'] & ITEM_ORIGIN) && comment_local_origin($target_item)) ? true : false ); From b57010e3da6c0521121a622c27013c8af7678132 Mon Sep 17 00:00:00 2001 From: Habeas Codice Date: Thu, 26 Feb 2015 08:20:29 -0800 Subject: [PATCH 029/242] more fake null shenanigans --- include/zot.php | 117 ++++++++++-------------------------------------- 1 file changed, 23 insertions(+), 94 deletions(-) diff --git a/include/zot.php b/include/zot.php index 455702b06..9a5a0898c 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1295,35 +1295,9 @@ function public_recips($msg) { $check_mentions = true; } else { + $col = 'channel_w_comment'; + $field = PERMS_W_COMMENT; - // This doesn't look like it works so I have to explain what happened. These are my - // notes (below) from when I got this section of code working. You would think that - // we only have to find those with the requisite stream or comment permissions, - // depending on whether this is a top-level post or a comment - but you would be wrong. - - // ... so public_recips and allowed_public_recips is working so much better - // than before, but was still not quite right. We seem to be getting all the right - // results for top-level posts now, but comments aren't getting through on channels - // for which we've allowed them to send us their stream, but not comment on our posts. - // The reason is we were seeing if they could comment - and we only need to do that if - // we own the post. If they own the post, we only need to check if they can send us their stream. - - // if this is a comment and it wasn't sent by the post owner, check to see who is allowing them to comment. - // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up - // their software. We may need this step to protect us from bad guys intentionally stuffing up their software. - // If it is sent by the post owner, we don't need to do this. We only need to see who is receiving the - // owner's stream (which was already set above) - as they control the comment permissions, not us. - - // Note that by doing this we introduce another bug because some public forums have channel_w_stream - // permissions set to themselves only. We also need in this function to add these public forums to the - // public recipient list based on if they are tagged or not and have tag permissions. This is complicated - // by the fact that this activity doesn't have the public forum tag. It's the parent activity that - // contains the tag. we'll solve that further below. - - if($msg['notify']['sender']['guid_sig'] != $msg['message']['owner']['guid_sig']) { - $col = 'channel_w_comment'; - $field = PERMS_W_COMMENT; - } } } elseif($msg['message']['type'] === 'mail') { @@ -1385,55 +1359,22 @@ function public_recips($msg) { // look for any public mentions on this site // They will get filtered by tgroup_check() so we don't need to check permissions now - if($check_mentions) { - // It's a top level post. Look at the tags. See if any of them are mentions and are on this hub. - if($msg['message']['tags']) { - if(is_array($msg['message']['tags']) && $msg['message']['tags']) { - foreach($msg['message']['tags'] as $tag) { - if(($tag['type'] === 'mention') && (strpos($tag['url'],z_root()) !== false)) { - $address = basename($tag['url']); - if($address) { - $z = q("select channel_hash as hash from channel where channel_address = '%s' limit 1", - dbesc($address) - ); - if($z) - $r = array_merge($r,$z); - } + if($check_mentions && $msg['message']['tags']) { + if(is_array($msg['message']['tags']) && $msg['message']['tags']) { + foreach($msg['message']['tags'] as $tag) { + if(($tag['type'] === 'mention') && (strpos($tag['url'],z_root()) !== false)) { + $address = basename($tag['url']); + if($address) { + $z = q("select channel_hash as hash from channel where channel_address = '%s' limit 1", + dbesc($address) + ); + if($z) + $r = array_merge($r,$z); } } } } } - else { - // This is a comment. We need to find any parent with ITEM_UPLINK set. But in fact, let's just return - // everybody that stored a copy of the parent. This way we know we're covered. We'll check the - // comment permissions when we deliver them. - - if($msg['message']['message_top']) { - $z = q("select owner_xchan as hash from item where parent_mid = '%s' ", - dbesc($msg['message']['message_top']), - intval(ITEM_UPLINK) - ); - if($z) - $r = array_merge($r,$z); - } - } - - // There are probably a lot of duplicates in $r at this point. We need to filter those out. - // It's a bit of work since it's a multi-dimensional array - - if($r) { - $uniq = array(); - - foreach($r as $rr) { - if(! in_array($rr['hash'],$uniq)) - $uniq[] = $rr['hash']; - } - $r = array(); - foreach($uniq as $rr) { - $r[] = array('hash' => $rr); - } - } logger('public_recips: ' . print_r($r,true), LOGGER_DATA); return $r; @@ -1444,16 +1385,9 @@ function public_recips($msg) { function allowed_public_recips($msg) { + logger('allowed_public_recips: ' . print_r($msg,true),LOGGER_DATA); - if(array_key_exists('public_scope',$msg['message'])) - $scope = $msg['message']['public_scope']; - - // Mail won't have a public scope. - // in fact, it's doubtful mail will ever get here since it almost universally - // has a recipient, but in fact we don't require this, so it's technically - // possible to send mail to anybody that's listening. - $recips = public_recips($msg); if(! $recips) @@ -1462,6 +1396,11 @@ function allowed_public_recips($msg) { if($msg['message']['type'] === 'mail') return $recips; + if(array_key_exists('public_scope',$msg['message'])) + $scope = $msg['message']['public_scope']; + + $hash = make_xchan_hash($msg['notify']['sender']['guid'],$msg['notify']['sender']['guid_sig']); + if($scope === 'public' || $scope === 'network: red' || $scope === 'authenticated') return $recips; @@ -1473,17 +1412,12 @@ function allowed_public_recips($msg) { } if($scope === 'self') { - - $hash = make_xchan_hash($msg['notify']['sender']['guid'],$msg['notify']['sender']['guid_sig']); - foreach($recips as $r) if($r['hash'] === $hash) return array('hash' => $hash); } - // note: we shouldn't ever see $scope === 'specific' in this function, but handle it anyway - - if($scope === 'contacts' || $scope === 'any connections' || $scope === 'specific') { + if($scope === 'contacts') { $condensed_recips = array(); foreach($recips as $rr) $condensed_recips[] = $rr['hash']; @@ -1501,7 +1435,6 @@ function allowed_public_recips($msg) { return $results; } - return array(); } @@ -1705,13 +1638,6 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque else { $arr['aid'] = $channel['channel_account_id']; $arr['uid'] = $channel['channel_id']; - - // if it's a sourced post, call the post_local hooks as if it were - // posted locally so that crosspost connectors will be triggered. - - if(check_item_source($arr['uid'],$arr)) - call_hooks('post_local',$arr); - $item_result = item_store($arr); $item_id = 0; if($item_result['success']) { @@ -2880,6 +2806,9 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) { if(count($clean)) { foreach($clean as $k => $v) { + if($k == 'abook_dob') + $v = dbescdate($v); + $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v) . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id'])); } From f55e2101209c34faf1cc6d4d568c8b55af4a1ecb Mon Sep 17 00:00:00 2001 From: Habeas Codice Date: Thu, 26 Feb 2015 08:22:15 -0800 Subject: [PATCH 030/242] Revert "more fake null shenanigans" This reverts commit b57010e3da6c0521121a622c27013c8af7678132. --- include/zot.php | 117 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 94 insertions(+), 23 deletions(-) diff --git a/include/zot.php b/include/zot.php index 9a5a0898c..455702b06 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1295,9 +1295,35 @@ function public_recips($msg) { $check_mentions = true; } else { - $col = 'channel_w_comment'; - $field = PERMS_W_COMMENT; + // This doesn't look like it works so I have to explain what happened. These are my + // notes (below) from when I got this section of code working. You would think that + // we only have to find those with the requisite stream or comment permissions, + // depending on whether this is a top-level post or a comment - but you would be wrong. + + // ... so public_recips and allowed_public_recips is working so much better + // than before, but was still not quite right. We seem to be getting all the right + // results for top-level posts now, but comments aren't getting through on channels + // for which we've allowed them to send us their stream, but not comment on our posts. + // The reason is we were seeing if they could comment - and we only need to do that if + // we own the post. If they own the post, we only need to check if they can send us their stream. + + // if this is a comment and it wasn't sent by the post owner, check to see who is allowing them to comment. + // We should have one specific recipient and this step shouldn't be needed unless somebody stuffed up + // their software. We may need this step to protect us from bad guys intentionally stuffing up their software. + // If it is sent by the post owner, we don't need to do this. We only need to see who is receiving the + // owner's stream (which was already set above) - as they control the comment permissions, not us. + + // Note that by doing this we introduce another bug because some public forums have channel_w_stream + // permissions set to themselves only. We also need in this function to add these public forums to the + // public recipient list based on if they are tagged or not and have tag permissions. This is complicated + // by the fact that this activity doesn't have the public forum tag. It's the parent activity that + // contains the tag. we'll solve that further below. + + if($msg['notify']['sender']['guid_sig'] != $msg['message']['owner']['guid_sig']) { + $col = 'channel_w_comment'; + $field = PERMS_W_COMMENT; + } } } elseif($msg['message']['type'] === 'mail') { @@ -1359,22 +1385,55 @@ function public_recips($msg) { // look for any public mentions on this site // They will get filtered by tgroup_check() so we don't need to check permissions now - if($check_mentions && $msg['message']['tags']) { - if(is_array($msg['message']['tags']) && $msg['message']['tags']) { - foreach($msg['message']['tags'] as $tag) { - if(($tag['type'] === 'mention') && (strpos($tag['url'],z_root()) !== false)) { - $address = basename($tag['url']); - if($address) { - $z = q("select channel_hash as hash from channel where channel_address = '%s' limit 1", - dbesc($address) - ); - if($z) - $r = array_merge($r,$z); + if($check_mentions) { + // It's a top level post. Look at the tags. See if any of them are mentions and are on this hub. + if($msg['message']['tags']) { + if(is_array($msg['message']['tags']) && $msg['message']['tags']) { + foreach($msg['message']['tags'] as $tag) { + if(($tag['type'] === 'mention') && (strpos($tag['url'],z_root()) !== false)) { + $address = basename($tag['url']); + if($address) { + $z = q("select channel_hash as hash from channel where channel_address = '%s' limit 1", + dbesc($address) + ); + if($z) + $r = array_merge($r,$z); + } } } } } } + else { + // This is a comment. We need to find any parent with ITEM_UPLINK set. But in fact, let's just return + // everybody that stored a copy of the parent. This way we know we're covered. We'll check the + // comment permissions when we deliver them. + + if($msg['message']['message_top']) { + $z = q("select owner_xchan as hash from item where parent_mid = '%s' ", + dbesc($msg['message']['message_top']), + intval(ITEM_UPLINK) + ); + if($z) + $r = array_merge($r,$z); + } + } + + // There are probably a lot of duplicates in $r at this point. We need to filter those out. + // It's a bit of work since it's a multi-dimensional array + + if($r) { + $uniq = array(); + + foreach($r as $rr) { + if(! in_array($rr['hash'],$uniq)) + $uniq[] = $rr['hash']; + } + $r = array(); + foreach($uniq as $rr) { + $r[] = array('hash' => $rr); + } + } logger('public_recips: ' . print_r($r,true), LOGGER_DATA); return $r; @@ -1385,9 +1444,16 @@ function public_recips($msg) { function allowed_public_recips($msg) { - logger('allowed_public_recips: ' . print_r($msg,true),LOGGER_DATA); + if(array_key_exists('public_scope',$msg['message'])) + $scope = $msg['message']['public_scope']; + + // Mail won't have a public scope. + // in fact, it's doubtful mail will ever get here since it almost universally + // has a recipient, but in fact we don't require this, so it's technically + // possible to send mail to anybody that's listening. + $recips = public_recips($msg); if(! $recips) @@ -1396,11 +1462,6 @@ function allowed_public_recips($msg) { if($msg['message']['type'] === 'mail') return $recips; - if(array_key_exists('public_scope',$msg['message'])) - $scope = $msg['message']['public_scope']; - - $hash = make_xchan_hash($msg['notify']['sender']['guid'],$msg['notify']['sender']['guid_sig']); - if($scope === 'public' || $scope === 'network: red' || $scope === 'authenticated') return $recips; @@ -1412,12 +1473,17 @@ function allowed_public_recips($msg) { } if($scope === 'self') { + + $hash = make_xchan_hash($msg['notify']['sender']['guid'],$msg['notify']['sender']['guid_sig']); + foreach($recips as $r) if($r['hash'] === $hash) return array('hash' => $hash); } - if($scope === 'contacts') { + // note: we shouldn't ever see $scope === 'specific' in this function, but handle it anyway + + if($scope === 'contacts' || $scope === 'any connections' || $scope === 'specific') { $condensed_recips = array(); foreach($recips as $rr) $condensed_recips[] = $rr['hash']; @@ -1435,6 +1501,7 @@ function allowed_public_recips($msg) { return $results; } + return array(); } @@ -1638,6 +1705,13 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$reque else { $arr['aid'] = $channel['channel_account_id']; $arr['uid'] = $channel['channel_id']; + + // if it's a sourced post, call the post_local hooks as if it were + // posted locally so that crosspost connectors will be triggered. + + if(check_item_source($arr['uid'],$arr)) + call_hooks('post_local',$arr); + $item_result = item_store($arr); $item_id = 0; if($item_result['success']) { @@ -2806,9 +2880,6 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) { if(count($clean)) { foreach($clean as $k => $v) { - if($k == 'abook_dob') - $v = dbescdate($v); - $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v) . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id'])); } From 82bb21695259afd234031d7f3b41e2478cfc480c Mon Sep 17 00:00:00 2001 From: Habeas Codice Date: Thu, 26 Feb 2015 08:23:02 -0800 Subject: [PATCH 031/242] more fake null shenanigans --- include/zot.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/zot.php b/include/zot.php index 455702b06..2a0fcd118 100644 --- a/include/zot.php +++ b/include/zot.php @@ -2880,6 +2880,9 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) { if(count($clean)) { foreach($clean as $k => $v) { + if($k == 'abook_dob') + $v = dbescdate($v); + $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v) . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id'])); } From 09f80270defdd2dfbf5cf4cc9da0cae686874aba Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 26 Feb 2015 14:20:43 -0800 Subject: [PATCH 032/242] loop breaker --- include/zot.php | 16 ++++++++++++++++ version.inc | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/include/zot.php b/include/zot.php index 455702b06..e290697b6 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1856,7 +1856,23 @@ function delete_imported_item($sender,$item,$uid,$relay) { logger('delete_imported_item: item was already deleted'); if(! $relay) return false; + + // This is a bit hackish, but may have to suffice until the notification/delivery loop is optimised + // a bit further. We're going to strip the ITEM_ORIGIN on this item if it's a comment, because + // it was already deleted, and we're already relaying, and this ensures that no other process or + // code path downstream can relay it again (causing a loop). Since it's already gone it's not coming + // back, and we aren't going to (or shouldn't at any rate) delete it again in the future - so losing + // this information from the metadata should have no other discernible impact. + + if(($r[0]['id'] != $r[0]['parent']) && ($r[0]['item_flags'] & ITEM_ORIGIN)) { + $x = q("update item set item_flags = %d where id = %d and uid = %d", + intval($r[0]['item_flags'] ^ ITEM_ORIGIN), + intval($r[0]['id']), + intval($r[0]['uid']) + ); + } } + require_once('include/items.php'); diff --git a/version.inc b/version.inc index 710b61eed..1774fb864 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2015-02-25.954 +2015-02-26.955 From 32e4d4633ad78f322364f9558c017582be27a76c Mon Sep 17 00:00:00 2001 From: Daniel Frank Date: Thu, 26 Feb 2015 23:50:46 +0100 Subject: [PATCH 033/242] fix issues in schema_postgres.sql - change PRIMARY_KEY to PRIMARY KEY - replace smallint(1) with smallint --- install/schema_postgres.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index 1370f3b8a..44b8f16a4 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -528,7 +528,7 @@ CREATE TABLE "item" ( "item_restrict" bigint NOT NULL DEFAULT '0', "item_flags" bigint NOT NULL DEFAULT '0', "item_private" numeric(4) NOT NULL DEFAULT '0', - "item_unseen" smallint(1) NOT NULL DEFAULT '0', + "item_unseen" smallint NOT NULL DEFAULT '0', "item_search_vector" tsvector, PRIMARY KEY ("id") ); @@ -1163,7 +1163,7 @@ CREATE TABLE "xperm" ( "xp_client" varchar( 20 ) NOT NULL DEFAULT '', "xp_channel" bigint NOT NULL DEFAULT '0', "xp_perm" varchar( 64 ) NOT NULL DEFAULT '', - PRIMARY_KEY ("xp_id") + PRIMARY KEY ("xp_id") ); create index "xp_client" on xperm ("xp_client"); create index "xp_channel" on xperm ("xp_channel"); From dce0bb0ef806d88a855c362f359b7b1a350deff2 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 26 Feb 2015 16:41:38 -0800 Subject: [PATCH 034/242] finish converting "delete" to trash icons for consistency. The 'x' was left in a couple of places like the group list widget and saved search term widget and ignoring friend suggestions where it was more appropriate to leave it. --- doc/to_do_code.bb | 2 +- install/update.php | 8 ++++++-- view/js/main.js | 2 +- view/tpl/admin_channels.tpl | 2 +- view/tpl/admin_users.tpl | 2 +- view/tpl/app.tpl | 2 +- view/tpl/item_filer.tpl | 2 +- view/tpl/locmanage.tpl | 2 +- view/tpl/mail_conv.tpl | 2 +- view/tpl/mail_list.tpl | 2 +- view/tpl/menulist.tpl | 2 +- view/tpl/mitemlist.tpl | 2 +- view/tpl/photo_drop.tpl | 2 +- view/tpl/settings_oauth.tpl | 2 +- view/tpl/show_thing.tpl | 2 +- 15 files changed, 20 insertions(+), 16 deletions(-) diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb index 5a5ae76fd..1fa2b17d4 100644 --- a/doc/to_do_code.bb +++ b/doc/to_do_code.bb @@ -5,6 +5,7 @@ We need much more than this, but here are areas where developers can help. Pleas [li]Documentation - see Red Documentation Project To-Do List[/li] [li]Include TOS link in registration/verification email[/li] [li]Create bug tracker module[/li] +[li]Infinite scroll improvements (i.e. embedded page links) see http://scrollsample.appspot.com/items [li]Finish the anti-spam bayesian engine[/li] [li]implement an email permission denied bounce message from the sys channel[/li] [li]finish Wordpress connector - import wordpress comments back to redmatrix[/li] @@ -23,7 +24,6 @@ We need much more than this, but here are areas where developers can help. Pleas [li]service classes - provide a pluggable subscription payment gateway for premium accounts[/li] [li]service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li] [li]Events module - fix permissions on events, and provide JS translation support for the calendar overview; integrate with calDAV[/li] -[li]Events module - event followups[/li] [li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li] [li]Import/export - include events, things, etc.[/li] [li]Import channel from Diaspora/Friendica[/li] diff --git a/install/update.php b/install/update.php index ee13bee78..70ffb1ebf 100644 --- a/install/update.php +++ b/install/update.php @@ -26,10 +26,14 @@ define( 'UPDATE_VERSION' , 1138 ); * The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file. * * If you change the database schema, the following are required: - * 1. Update the file database.sql to match the new schema. + * 1. Update the files schema_mysql.sql and schema_postgres.sql to match the new schema. + * Be sure to read doc/sql_conventions.bb ($yoururl/help/sql_conventions) use only standard + * SQL data types where possible to keep differences in the files to a minimum * 2. Update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION. * This function should modify the current database schema and perform any other steps necessary - * to ensure that upgrade is silent and free from requiring interaction. + * to ensure that upgrade is silent and free from requiring interaction. Review to ensure that it + * will run correctly on both postgres and MySQL/Mariadb. It is very difficult and messy to fix DB update + * errors. Once pushed, it requires a new update which undoes any damage and performs the corrected updated. * 3. Increment the DB_UPDATE_VERSION in boot.php *AND* the UPDATE_VERSION in this file to match it * 4. TEST the upgrade prior to checkin and filing a pull request. * diff --git a/view/js/main.js b/view/js/main.js index a10e91449..ee94d05e5 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -1166,7 +1166,7 @@ $(window).scroll(function () { } if($(window).scrollTop() + $(window).height() > $(document).height() - 100) { -// if($(window).scrollTop() > ($(document).height() - $(window).height() * 1.5 )) { +// if($(window).scrollTop() > $(document).height() - ($(window).height() * 1.5 )) { if((pageHasMoreContent) && (! loadingPage)) { $('#more').hide(); diff --git a/view/tpl/admin_channels.tpl b/view/tpl/admin_channels.tpl index 817eb939a..f4612c094 100755 --- a/view/tpl/admin_channels.tpl +++ b/view/tpl/admin_channels.tpl @@ -35,7 +35,7 @@ - + {{/foreach}} diff --git a/view/tpl/admin_users.tpl b/view/tpl/admin_users.tpl index 5bf64b4df..7e0b828d9 100755 --- a/view/tpl/admin_users.tpl +++ b/view/tpl/admin_users.tpl @@ -76,7 +76,7 @@ - + {{/foreach}} diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl index 9f0b1746b..cebc17d45 100644 --- a/view/tpl/app.tpl +++ b/view/tpl/app.tpl @@ -11,7 +11,7 @@ {{if $install}}{{/if}} {{if $edit}}{{/if}} -{{if $delete}}{{/if}} +{{if $delete}}{{/if}} {{/if}} {{/if}} diff --git a/view/tpl/item_filer.tpl b/view/tpl/item_filer.tpl index 0e68a172a..07163d59a 100644 --- a/view/tpl/item_filer.tpl +++ b/view/tpl/item_filer.tpl @@ -1,7 +1,7 @@ {{if $categories}}
{{foreach $categories as $cat}} - {{$cat.term}}  + {{$cat.term}}  {{/foreach}}
{{/if}} diff --git a/view/tpl/locmanage.tpl b/view/tpl/locmanage.tpl index d1bb00543..40f91a8bb 100644 --- a/view/tpl/locmanage.tpl +++ b/view/tpl/locmanage.tpl @@ -19,7 +19,7 @@ function drophub(id) { {{if $hub.primary}}{{else}}{{/if}} -{{if $hub.primary}}{{else}}{{if ! $hub.deleted}}{{/if}}{{/if}} +{{if $hub.primary}}{{else}}{{if ! $hub.deleted}}{{/if}}{{/if}} {{/foreach}} diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl index f794ffc78..a75939617 100755 --- a/view/tpl/mail_conv.tpl +++ b/view/tpl/mail_conv.tpl @@ -8,7 +8,7 @@
{{$mail.date}}
{{$mail.subject}}
{{$mail.body}}
-
+
{{if $mail.can_recall}}
{{/if}} diff --git a/view/tpl/mail_list.tpl b/view/tpl/mail_list.tpl index 6b06f6127..8643f27b9 100755 --- a/view/tpl/mail_list.tpl +++ b/view/tpl/mail_list.tpl @@ -3,6 +3,6 @@ {{$from_name}} {{$subject}} {{$date}} - +
 
diff --git a/view/tpl/menulist.tpl b/view/tpl/menulist.tpl index bb862fef0..35ad91937 100644 --- a/view/tpl/menulist.tpl +++ b/view/tpl/menulist.tpl @@ -9,7 +9,7 @@ {{if $menus }} {{/if}} diff --git a/view/tpl/mitemlist.tpl b/view/tpl/mitemlist.tpl index 2c1ded6cc..dc5b0e9f9 100644 --- a/view/tpl/mitemlist.tpl +++ b/view/tpl/mitemlist.tpl @@ -10,7 +10,7 @@ {{if $mlist }} {{/if}} diff --git a/view/tpl/photo_drop.tpl b/view/tpl/photo_drop.tpl index cb7ae17ba..31b654374 100755 --- a/view/tpl/photo_drop.tpl +++ b/view/tpl/photo_drop.tpl @@ -1,4 +1,4 @@
- +
diff --git a/view/tpl/settings_oauth.tpl b/view/tpl/settings_oauth.tpl index f7b4a0b1a..20e8f458f 100755 --- a/view/tpl/settings_oauth.tpl +++ b/view/tpl/settings_oauth.tpl @@ -24,7 +24,7 @@ {{/if}} {{if $app.my}} - + {{/if}} {{/foreach}} diff --git a/view/tpl/show_thing.tpl b/view/tpl/show_thing.tpl index c48912918..9aacc8958 100644 --- a/view/tpl/show_thing.tpl +++ b/view/tpl/show_thing.tpl @@ -7,7 +7,7 @@ {{if $canedit}} {{/if}} From 5d57df2694b6515b43c4a641bf47b8c5f112d4f7 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 26 Feb 2015 17:18:09 -0800 Subject: [PATCH 035/242] per Randal overheard on a foreign network - tab in post/comment edit window goes to submit instead of the next button. --- view/js/main.js | 6 ++++++ view/tpl/comment_item.tpl | 2 +- view/tpl/jot.tpl | 6 +++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/view/js/main.js b/view/js/main.js index ee94d05e5..8ee676f0d 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -9,6 +9,10 @@ if(obj.value == aStr['comment']) { obj.value = ''; $("#comment-edit-text-" + id).addClass("comment-edit-text-full").removeClass("comment-edit-text-empty"); + // Choose an arbitrary tab index that's greater than what we're using in jot (3 of them) + // The submit button gets tabindex + 1 + $("#comment-edit-text-" + id).attr('tabindex','9'); + $("#comment-edit-submit-" + id).attr('tabindex','10'); $("#comment-tools-" + id).show(); } }; @@ -25,6 +29,8 @@ if(obj.value == '') { obj.value = aStr['comment']; $("#comment-edit-text-" + id).removeClass("comment-edit-text-full").addClass("comment-edit-text-empty"); + $("#comment-edit-text-" + id).removeAttr('tabindex'); + $("#comment-edit-submit-" + id).removeAttr('tabindex'); $("#comment-tools-" + id).hide(); } }; diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl index ab67bc196..cdcf35131 100755 --- a/view/tpl/comment_item.tpl +++ b/view/tpl/comment_item.tpl @@ -60,7 +60,7 @@
{{if $preview}} - {{/if}} diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index f32dba095..4fe48d4e5 100755 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -21,7 +21,7 @@
{{/if}} {{if $catsenabled}} {{/if}}
- +
@@ -99,7 +99,7 @@ {{/if}} - +
From a00c072f02efb741629b4b3e5b0eac1b3d6a95d4 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 26 Feb 2015 20:00:47 -0800 Subject: [PATCH 036/242] high level queue inspector - needs a lot more, like the ability to dump certain destinations and indicating known dead sites, but this is a start --- doc/to_do_code.bb | 1 + mod/admin.php | 26 +++++++++++++++++++++++++- view/tpl/admin_aside.tpl | 1 + 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb index 1fa2b17d4..616b20cad 100644 --- a/doc/to_do_code.bb +++ b/doc/to_do_code.bb @@ -17,6 +17,7 @@ We need much more than this, but here are areas where developers can help. Pleas [li]implement openid server interface[/li] [li]Write more webpage layouts[/li] [li]Write more webpage widgets[/li] +[li]restricted access OAuth clients[/li] [li](Advanced) create a UI for building Comanche pages[/li] [li]Extend WebDAV to provide desktop access to photo albums[/li] [li]External post connectors - create standard interface[/li] diff --git a/mod/admin.php b/mod/admin.php index ba52033ec..a54a4b0b8 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -99,7 +99,8 @@ function admin_content(&$a) { 'channels' => Array($a->get_baseurl(true)."/admin/channels/", t("Channels") , "channels"), 'plugins' => Array($a->get_baseurl(true)."/admin/plugins/", t("Plugins") , "plugins"), 'themes' => Array($a->get_baseurl(true)."/admin/themes/", t("Themes") , "themes"), - 'hubloc' => Array($a->get_baseurl(true)."/admin/hubloc/", t("Server") , "server"), + 'queue' => array(z_root() . '/admin/queue', t('Inspect queue'), 'queue'), +// 'hubloc' => Array($a->get_baseurl(true)."/admin/hubloc/", t("Server") , "server"), 'profs' => array(z_root() . '/admin/profs', t('Profile Config'), 'profs'), 'dbsync' => Array($a->get_baseurl(true)."/admin/dbsync/", t('DB updates'), "dbsync") ); @@ -164,6 +165,9 @@ function admin_content(&$a) { case 'profs': $o = admin_page_profs($a); break; + case 'queue': + $o = admin_page_queue($a); + break; default: notice( t("Item not found.") ); } @@ -583,6 +587,26 @@ function admin_page_dbsync(&$a) { } +function admin_page_queue($a) { + $o = ''; + + $r = q("select count(outq_posturl) as total, outq_posturl from outq + where outq_delivered = 0 group by outq_posturl order by total desc"); + + $o .= '

' . t('Queue Statistics') . '

'; + + if($r) { + $o .= ''; + foreach($r as $rr) { + $o .= ''; + } + $o .= '
' . t('Total Entries') . '  ' . t('Destination URL') . '
' . $rr['total'] . '' . $rr['outq_posturl'] . '
'; + } + + return $o; + +} + /** * Users admin page * diff --git a/view/tpl/admin_aside.tpl b/view/tpl/admin_aside.tpl index 013b72d50..58d645dbf 100755 --- a/view/tpl/admin_aside.tpl +++ b/view/tpl/admin_aside.tpl @@ -16,6 +16,7 @@
  • {{$admin.site.1}}
  • {{$admin.users.1}}
  • {{$admin.channels.1}}
  • +
  • {{$admin.queue.1}}
  • {{$admin.plugins.1}}
  • {{$admin.themes.1}}
  • {{$admin.dbsync.1}}
  • From 05dff886c8e1d9da1f34f57c82d073714188f9d6 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 26 Feb 2015 20:07:08 -0800 Subject: [PATCH 037/242] don't report already delivered queue items in admin queue summary --- mod/admin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/admin.php b/mod/admin.php index a54a4b0b8..98b2f4266 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -202,7 +202,7 @@ function admin_page_summary(&$a) { $r = q("SELECT COUNT(id) as `count` FROM `register`"); $pending = $r[0]['count']; - $r = q("select count(*) as total from outq"); + $r = q("select count(*) as total from outq where outq_delivered = 0"); $queue = (($r) ? $r[0]['total'] : 0); // We can do better, but this is a quick queue status From 08a4c714dbb5da597aa45fda8ad07c128f8eee67 Mon Sep 17 00:00:00 2001 From: zottel Date: Fri, 27 Feb 2015 11:02:07 +0100 Subject: [PATCH 038/242] update to German strings --- view/de/messages.po | 872 +++++++++++++++++++++++--------------------- view/de/strings.php | 86 +++-- 2 files changed, 514 insertions(+), 444 deletions(-) diff --git a/view/de/messages.po b/view/de/messages.po index ac5e82fbe..ef27fd162 100644 --- a/view/de/messages.po +++ b/view/de/messages.po @@ -26,8 +26,8 @@ msgid "" msgstr "" "Project-Id-Version: Red Matrix\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-02-13 00:04-0800\n" -"PO-Revision-Date: 2015-02-19 11:35+0000\n" +"POT-Creation-Date: 2015-02-20 00:04-0800\n" +"PO-Revision-Date: 2015-02-27 09:55+0000\n" "Last-Translator: zottel \n" "Language-Team: German (http://www.transifex.com/projects/p/red-matrix/language/de/)\n" "MIME-Version: 1.0\n" @@ -61,7 +61,7 @@ msgstr "Profilfotos" #: ../../mod/editpost.php:13 ../../mod/profile_photo.php:264 #: ../../mod/profile_photo.php:277 ../../mod/block.php:22 #: ../../mod/block.php:72 ../../mod/network.php:12 ../../mod/events.php:219 -#: ../../mod/settings.php:554 ../../mod/group.php:9 ../../mod/setup.php:207 +#: ../../mod/settings.php:560 ../../mod/group.php:9 ../../mod/setup.php:207 #: ../../mod/common.php:35 ../../mod/suggest.php:26 #: ../../mod/connections.php:169 ../../mod/item.php:197 ../../mod/item.php:205 #: ../../mod/item.php:938 ../../mod/thing.php:247 ../../mod/thing.php:264 @@ -69,7 +69,7 @@ msgstr "Profilfotos" #: ../../mod/authtest.php:13 ../../mod/editlayout.php:64 #: ../../mod/editlayout.php:89 ../../mod/chat.php:90 ../../mod/chat.php:95 #: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86 -#: ../../mod/editwebpage.php:118 ../../mod/rate.php:101 +#: ../../mod/editwebpage.php:118 ../../mod/rate.php:110 #: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/locs.php:77 #: ../../mod/sources.php:66 ../../mod/menu.php:61 ../../mod/filestorage.php:18 #: ../../mod/filestorage.php:72 ../../mod/filestorage.php:87 @@ -132,7 +132,7 @@ msgstr "Neue Seite" #: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:100 #: ../../include/apps.php:254 ../../include/menu.php:42 #: ../../mod/editblock.php:143 ../../mod/blocks.php:132 -#: ../../mod/editpost.php:113 ../../mod/settings.php:639 +#: ../../mod/editpost.php:113 ../../mod/settings.php:645 #: ../../mod/connections.php:382 ../../mod/connections.php:395 #: ../../mod/connections.php:414 ../../mod/thing.php:233 #: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174 @@ -145,8 +145,8 @@ msgstr "Bearbeiten" msgid "View" msgstr "Ansicht" -#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:681 -#: ../../include/conversation.php:1152 ../../mod/events.php:620 +#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677 +#: ../../include/conversation.php:1152 ../../mod/events.php:651 #: ../../mod/webpages.php:166 ../../mod/photos.php:964 msgid "Preview" msgstr "Vorschau" @@ -171,7 +171,7 @@ msgstr "Erstellt" msgid "Edited" msgstr "Geändert" -#: ../../include/widgets.php:35 ../../include/taxonomy.php:250 +#: ../../include/widgets.php:35 ../../include/taxonomy.php:255 #: ../../include/contact_widgets.php:92 msgid "Categories" msgstr "Kategorien" @@ -284,9 +284,9 @@ msgstr "Beste Freunde" #: ../../include/widgets.php:428 ../../include/identity.php:387 #: ../../include/identity.php:388 ../../include/identity.php:395 #: ../../include/profile_selectors.php:80 ../../mod/connedit.php:567 -#: ../../mod/settings.php:329 ../../mod/settings.php:333 -#: ../../mod/settings.php:334 ../../mod/settings.php:337 -#: ../../mod/settings.php:348 +#: ../../mod/settings.php:335 ../../mod/settings.php:339 +#: ../../mod/settings.php:340 ../../mod/settings.php:343 +#: ../../mod/settings.php:354 msgid "Friends" msgstr "Freunde" @@ -389,6 +389,10 @@ msgstr "Bewerte mich" msgid "View Ratings" msgstr "Bewertungen ansehen" +#: ../../include/widgets.php:971 +msgid "Public Hubs" +msgstr "Öffentliche Hubs" + #: ../../include/enotify.php:41 msgid "Red Matrix Notification" msgstr "Red Matrix Benachrichtigung" @@ -438,7 +442,7 @@ msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu #: ../../include/enotify.php:144 #, php-format msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]" -msgstr "%1$s, %2$s hat [zrl=%3$s]ein %4$s[/zrl] kommentiert" +msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert" #: ../../include/enotify.php:152 #, php-format @@ -859,7 +863,7 @@ msgstr "aus der Datei entfernen" msgid "Click to open/close" msgstr "Klicke zum Öffnen/Schließen" -#: ../../include/text.php:1540 ../../mod/events.php:437 +#: ../../include/text.php:1540 ../../mod/events.php:444 msgid "Link to Source" msgstr "Link zur Quelle" @@ -879,7 +883,7 @@ msgstr "Content-Typ der Seite:" msgid "Select an alternate language" msgstr "Wähle eine alternative Sprache" -#: ../../include/text.php:1753 ../../include/diaspora.php:1994 +#: ../../include/text.php:1753 ../../include/diaspora.php:1909 #: ../../include/conversation.php:120 ../../mod/subthread.php:72 #: ../../mod/subthread.php:174 ../../mod/tagger.php:43 ../../mod/like.php:335 msgid "photo" @@ -890,7 +894,7 @@ msgstr "Foto" msgid "event" msgstr "Termin" -#: ../../include/text.php:1759 ../../include/diaspora.php:1994 +#: ../../include/text.php:1759 ../../include/diaspora.php:1909 #: ../../include/conversation.php:148 ../../mod/subthread.php:72 #: ../../mod/subthread.php:174 ../../mod/tagger.php:51 ../../mod/like.php:335 msgid "status" @@ -929,16 +933,74 @@ msgstr "Seiten" msgid "Collection" msgstr "Ordner" +#: ../../include/attach.php:242 ../../include/attach.php:296 +msgid "Item was not found." +msgstr "Beitrag wurde nicht gefunden." + +#: ../../include/attach.php:352 +msgid "No source file." +msgstr "Keine Quelldatei." + +#: ../../include/attach.php:369 +msgid "Cannot locate file to replace" +msgstr "Kann Datei zum Ersetzen nicht finden" + +#: ../../include/attach.php:387 +msgid "Cannot locate file to revise/update" +msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden" + +#: ../../include/attach.php:398 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "Datei überschreitet das Größen-Limit von %d" + +#: ../../include/attach.php:410 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht." + +#: ../../include/attach.php:493 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess." + +#: ../../include/attach.php:505 +msgid "Stored file could not be verified. Upload failed." +msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen." + +#: ../../include/attach.php:547 ../../include/attach.php:564 +msgid "Path not available." +msgstr "Pfad nicht verfügbar." + +#: ../../include/attach.php:611 +msgid "Empty pathname" +msgstr "Leere Pfadangabe" + +#: ../../include/attach.php:627 +msgid "duplicate filename or path" +msgstr "doppelter Dateiname oder Pfad" + +#: ../../include/attach.php:651 +msgid "Path not found." +msgstr "Pfad nicht gefunden." + +#: ../../include/attach.php:702 +msgid "mkdir failed." +msgstr "mkdir fehlgeschlagen." + +#: ../../include/attach.php:706 +msgid "database storage failed." +msgstr "Speichern in der Datenbank fehlgeschlagen." + #: ../../include/js_strings.php:5 msgid "Delete this item?" msgstr "Dieses Element löschen?" -#: ../../include/js_strings.php:6 ../../include/ItemObject.php:671 -#: ../../mod/photos.php:962 ../../mod/photos.php:1072 +#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667 +#: ../../mod/photos.php:962 ../../mod/photos.php:1080 msgid "Comment" msgstr "Kommentar" -#: ../../include/js_strings.php:7 ../../include/ItemObject.php:388 +#: ../../include/js_strings.php:7 ../../include/ItemObject.php:384 msgid "[+] show all" msgstr "[+] Alle anzeigen" @@ -988,9 +1050,9 @@ msgstr "Nichts Neues hier" #: ../../include/js_strings.php:19 msgid "Rate This Channel (this is public)" -msgstr "Bewerte diesen Kanal (öffentlich sichtbar)" +msgstr "Diesen Kanal bewerten (öffentlich sichtbar)" -#: ../../include/js_strings.php:20 ../../mod/rate.php:144 +#: ../../include/js_strings.php:20 ../../mod/rate.php:156 msgid "Rating" msgstr "Bewertung" @@ -998,15 +1060,15 @@ msgstr "Bewertung" msgid "Describe (optional)" msgstr "Beschreibung (optional)" -#: ../../include/js_strings.php:22 ../../include/ItemObject.php:672 +#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668 #: ../../mod/xchan.php:11 ../../mod/connedit.php:653 ../../mod/connect.php:93 -#: ../../mod/events.php:623 ../../mod/settings.php:577 -#: ../../mod/settings.php:689 ../../mod/settings.php:718 -#: ../../mod/settings.php:741 ../../mod/settings.php:823 -#: ../../mod/settings.php:1019 ../../mod/group.php:81 ../../mod/setup.php:313 +#: ../../mod/events.php:654 ../../mod/settings.php:583 +#: ../../mod/settings.php:708 ../../mod/settings.php:737 +#: ../../mod/settings.php:760 ../../mod/settings.php:842 +#: ../../mod/settings.php:1038 ../../mod/group.php:81 ../../mod/setup.php:313 #: ../../mod/setup.php:358 ../../mod/thing.php:284 ../../mod/thing.php:327 #: ../../mod/pdledit.php:58 ../../mod/appman.php:99 ../../mod/import.php:504 -#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/rate.php:153 +#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/rate.php:167 #: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104 #: ../../mod/sources.php:138 ../../mod/filestorage.php:155 #: ../../mod/fsuggest.php:108 ../../mod/poke.php:166 @@ -1014,7 +1076,7 @@ msgstr "Beschreibung (optional)" #: ../../mod/admin.php:864 ../../mod/admin.php:997 ../../mod/admin.php:1196 #: ../../mod/admin.php:1283 ../../mod/mood.php:134 ../../mod/mail.php:355 #: ../../mod/photos.php:565 ../../mod/photos.php:642 ../../mod/photos.php:923 -#: ../../mod/photos.php:963 ../../mod/photos.php:1073 ../../mod/poll.php:68 +#: ../../mod/photos.php:963 ../../mod/photos.php:1081 ../../mod/poll.php:68 #: ../../view/theme/apw/php/config.php:256 #: ../../view/theme/redbasic/php/config.php:99 msgid "Submit" @@ -1121,7 +1183,7 @@ msgstr "Postausgang für überwachte Kalender" #: ../../include/RedDAV/RedBrowser.php:163 ../../include/apps.php:336 #: ../../include/apps.php:387 ../../include/conversation.php:1019 #: ../../mod/connedit.php:570 ../../mod/photos.php:681 -#: ../../mod/photos.php:1098 +#: ../../mod/photos.php:1113 msgid "Unknown" msgstr "Unbekannt" @@ -1157,12 +1219,12 @@ msgstr "Erstelle" #: ../../include/RedDAV/RedBrowser.php:255 #: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362 -#: ../../mod/photos.php:706 ../../mod/photos.php:1212 +#: ../../mod/photos.php:706 ../../mod/photos.php:1228 msgid "Upload" msgstr "Hochladen" -#: ../../include/RedDAV/RedBrowser.php:262 ../../mod/settings.php:579 -#: ../../mod/settings.php:605 ../../mod/admin.php:871 +#: ../../include/RedDAV/RedBrowser.php:262 ../../mod/settings.php:585 +#: ../../mod/settings.php:611 ../../mod/admin.php:871 #: ../../mod/sharedwithme.php:100 msgid "Name" msgstr "Name" @@ -1181,9 +1243,9 @@ msgstr "Zuletzt geändert" #: ../../include/RedDAV/RedBrowser.php:268 ../../include/ItemObject.php:120 #: ../../include/apps.php:255 ../../include/conversation.php:645 -#: ../../mod/connedit.php:533 ../../mod/settings.php:640 +#: ../../mod/connedit.php:533 ../../mod/settings.php:646 #: ../../mod/group.php:176 ../../mod/thing.php:234 ../../mod/admin.php:735 -#: ../../mod/admin.php:866 ../../mod/photos.php:1036 +#: ../../mod/admin.php:866 ../../mod/photos.php:1044 msgid "Delete" msgstr "Löschen" @@ -1200,113 +1262,55 @@ msgstr "Datei hochladen" msgid "%1$s's bookmarks" msgstr "%1$ss Lesezeichen" -#: ../../include/taxonomy.php:210 ../../include/taxonomy.php:229 +#: ../../include/taxonomy.php:215 ../../include/taxonomy.php:234 msgid "Tags" msgstr "Schlagwörter" -#: ../../include/taxonomy.php:269 +#: ../../include/taxonomy.php:274 msgid "Keywords" msgstr "Schlüsselwörter" -#: ../../include/taxonomy.php:294 +#: ../../include/taxonomy.php:299 msgid "have" msgstr "habe" -#: ../../include/taxonomy.php:294 +#: ../../include/taxonomy.php:299 msgid "has" msgstr "hat" -#: ../../include/taxonomy.php:295 +#: ../../include/taxonomy.php:300 msgid "want" msgstr "will" -#: ../../include/taxonomy.php:295 +#: ../../include/taxonomy.php:300 msgid "wants" msgstr "will" -#: ../../include/taxonomy.php:296 ../../include/ItemObject.php:258 +#: ../../include/taxonomy.php:301 ../../include/ItemObject.php:254 msgid "like" msgstr "mag" -#: ../../include/taxonomy.php:296 +#: ../../include/taxonomy.php:301 msgid "likes" msgstr "gefällt" -#: ../../include/taxonomy.php:297 ../../include/ItemObject.php:259 +#: ../../include/taxonomy.php:302 ../../include/ItemObject.php:255 msgid "dislike" msgstr "verurteile" -#: ../../include/taxonomy.php:297 +#: ../../include/taxonomy.php:302 msgid "dislikes" msgstr "missfällt" -#: ../../include/taxonomy.php:380 ../../include/identity.php:1155 -#: ../../include/ItemObject.php:173 ../../include/ItemObject.php:183 -#: ../../include/conversation.php:1692 ../../mod/photos.php:993 +#: ../../include/taxonomy.php:385 ../../include/identity.php:1155 +#: ../../include/ItemObject.php:179 ../../include/conversation.php:1692 +#: ../../mod/photos.php:1001 msgctxt "noun" msgid "Like" msgid_plural "Likes" msgstr[0] "Gefällt mir" msgstr[1] "Gefällt mir" -#: ../../include/attach.php:242 ../../include/attach.php:296 -msgid "Item was not found." -msgstr "Beitrag wurde nicht gefunden." - -#: ../../include/attach.php:352 -msgid "No source file." -msgstr "Keine Quelldatei." - -#: ../../include/attach.php:369 -msgid "Cannot locate file to replace" -msgstr "Kann Datei zum Ersetzen nicht finden" - -#: ../../include/attach.php:387 -msgid "Cannot locate file to revise/update" -msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden" - -#: ../../include/attach.php:398 -#, php-format -msgid "File exceeds size limit of %d" -msgstr "Datei überschreitet das Größen-Limit von %d" - -#: ../../include/attach.php:410 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." -msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht." - -#: ../../include/attach.php:493 -msgid "File upload failed. Possible system limit or action terminated." -msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess." - -#: ../../include/attach.php:505 -msgid "Stored file could not be verified. Upload failed." -msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen." - -#: ../../include/attach.php:547 ../../include/attach.php:564 -msgid "Path not available." -msgstr "Pfad nicht verfügbar." - -#: ../../include/attach.php:611 -msgid "Empty pathname" -msgstr "Leere Pfadangabe" - -#: ../../include/attach.php:627 -msgid "duplicate filename or path" -msgstr "doppelter Dateiname oder Pfad" - -#: ../../include/attach.php:651 -msgid "Path not found." -msgstr "Pfad nicht gefunden." - -#: ../../include/attach.php:702 -msgid "mkdir failed." -msgstr "mkdir fehlgeschlagen." - -#: ../../include/attach.php:706 -msgid "database storage failed." -msgstr "Speichern in der Datenbank fehlgeschlagen." - #: ../../include/features.php:38 msgid "General Features" msgstr "Allgemeine Funktionen" @@ -1415,7 +1419,7 @@ msgstr "Große Fotos" msgid "" "Include large (640px) photo thumbnails in posts. If not enabled, use small " "(320px) photo thumbnails" -msgstr "Zeige große (640px) Vorschaubilder in Beiträgen. Wenn nicht aktiviert, nutze kleine (320px) Vorschaubilder." +msgstr "Große Vorschaubilder (640px) in Beiträgen anzeigen. Ist das deaktiviert, werden kleine Vorschaubilder (320px) angezeigt." #: ../../include/features.php:61 msgid "Automatically import channel content from other channels or feeds" @@ -1436,7 +1440,7 @@ msgstr "Umfragewerkzeuge aktivieren" #: ../../include/features.php:63 msgid "Provide a class of post which others can vote on" -msgstr "Aktiviere die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, deinem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden)" +msgstr "Aktiviere die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, Deinem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)" #: ../../include/features.php:64 msgid "Flag Adult Photos" @@ -1599,7 +1603,7 @@ msgid "RSS/Atom" msgstr "RSS/Atom" #: ../../include/contact_selectors.php:79 ../../mod/admin.php:731 -#: ../../mod/admin.php:740 ../../boot.php:1555 +#: ../../mod/admin.php:740 ../../boot.php:1554 msgid "Email" msgstr "E-Mail" @@ -1746,7 +1750,7 @@ msgid "Edit visibility" msgstr "Sichtbarkeit bearbeiten" #: ../../include/identity.php:894 ../../include/bb2diaspora.php:450 -#: ../../include/event.php:40 ../../mod/events.php:614 +#: ../../include/event.php:40 ../../mod/events.php:645 #: ../../mod/directory.php:204 msgid "Location:" msgstr "Ort:" @@ -1770,7 +1774,7 @@ msgstr "gerade online" #: ../../include/identity.php:983 ../../include/identity.php:1063 #: ../../mod/ping.php:324 msgid "g A l F d" -msgstr "l, d. F G \\\\U\\\\h\\\\r" +msgstr "l, d. F, G:i \\U\\h\\r" #: ../../include/identity.php:984 ../../include/identity.php:1064 msgid "F d" @@ -1806,7 +1810,7 @@ msgstr "Termine in dieser Woche:" msgid "Profile" msgstr "Profil" -#: ../../include/identity.php:1137 ../../mod/settings.php:1025 +#: ../../include/identity.php:1137 ../../mod/settings.php:1044 msgid "Full Name:" msgstr "Voller Name:" @@ -1972,7 +1976,7 @@ msgstr "Verschiedenes" msgid "YYYY-MM-DD or MM-DD" msgstr "JJJJ-MM-TT oder MM-TT" -#: ../../include/datetime.php:212 ../../mod/events.php:602 +#: ../../include/datetime.php:212 ../../mod/events.php:633 #: ../../mod/appman.php:91 ../../mod/appman.php:92 msgid "Required" msgstr "Benötigt" @@ -2062,7 +2066,7 @@ msgstr "Anhänge:" #: ../../include/bb2diaspora.php:428 ../../include/event.php:11 msgid "l F d, Y \\@ g:i A" -msgstr "l, d. F Y\\\\, H:i" +msgstr "l, d. F Y, H:i" #: ../../include/bb2diaspora.php:430 msgid "Redmatrix event notification:" @@ -2096,7 +2100,7 @@ msgstr "Chatraum konnte nicht gefunden werden." msgid "Room is full" msgstr "Der Raum ist voll" -#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1552 +#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1551 msgid "Logout" msgstr "Abmelden" @@ -2172,7 +2176,7 @@ msgstr "Webseiten" msgid "Your webpages" msgstr "Deine Webseiten" -#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1553 +#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1552 msgid "Login" msgstr "Anmelden" @@ -2197,7 +2201,7 @@ msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren" msgid "Home Page" msgstr "Homepage" -#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1529 +#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1528 msgid "Register" msgstr "Registrieren" @@ -2300,7 +2304,7 @@ msgid "Outbox" msgstr "Ausgang" #: ../../include/nav.php:204 ../../include/apps.php:140 -#: ../../mod/events.php:465 +#: ../../mod/events.php:472 msgid "Events" msgstr "Termine" @@ -2391,135 +2395,135 @@ msgstr "Ich lehne ab" msgid "I abstain" msgstr "Ich enthalte mich" -#: ../../include/ItemObject.php:179 ../../include/ItemObject.php:191 -#: ../../include/conversation.php:1667 ../../mod/photos.php:989 -#: ../../mod/photos.php:1001 +#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187 +#: ../../include/conversation.php:1667 ../../mod/photos.php:997 +#: ../../mod/photos.php:1009 msgid "View all" msgstr "Alles anzeigen" -#: ../../include/ItemObject.php:188 ../../include/conversation.php:1695 -#: ../../mod/photos.php:998 +#: ../../include/ItemObject.php:184 ../../include/conversation.php:1695 +#: ../../mod/photos.php:1006 msgctxt "noun" msgid "Dislike" msgid_plural "Dislikes" msgstr[0] "Gefällt nicht" msgstr[1] "Gefällt nicht" -#: ../../include/ItemObject.php:216 +#: ../../include/ItemObject.php:212 msgid "Add Star" msgstr "Stern hinzufügen" -#: ../../include/ItemObject.php:217 +#: ../../include/ItemObject.php:213 msgid "Remove Star" msgstr "Stern entfernen" -#: ../../include/ItemObject.php:218 +#: ../../include/ItemObject.php:214 msgid "Toggle Star Status" msgstr "Markierungsstatus (Stern) umschalten" -#: ../../include/ItemObject.php:222 +#: ../../include/ItemObject.php:218 msgid "starred" msgstr "markiert" -#: ../../include/ItemObject.php:231 ../../include/conversation.php:659 +#: ../../include/ItemObject.php:227 ../../include/conversation.php:659 msgid "Message signature validated" msgstr "Signatur überprüft" -#: ../../include/ItemObject.php:232 ../../include/conversation.php:660 +#: ../../include/ItemObject.php:228 ../../include/conversation.php:660 msgid "Message signature incorrect" msgstr "Signatur nicht korrekt" -#: ../../include/ItemObject.php:240 +#: ../../include/ItemObject.php:236 msgid "Add Tag" msgstr "Tag hinzufügen" -#: ../../include/ItemObject.php:258 ../../mod/photos.php:941 +#: ../../include/ItemObject.php:254 ../../mod/photos.php:941 msgid "I like this (toggle)" msgstr "Mir gefällt das (Umschalter)" -#: ../../include/ItemObject.php:259 ../../mod/photos.php:942 +#: ../../include/ItemObject.php:255 ../../mod/photos.php:942 msgid "I don't like this (toggle)" msgstr "Mir gefällt das nicht (Umschalter)" -#: ../../include/ItemObject.php:263 +#: ../../include/ItemObject.php:259 msgid "Share This" msgstr "Teilen" -#: ../../include/ItemObject.php:263 +#: ../../include/ItemObject.php:259 msgid "share" msgstr "Teilen" -#: ../../include/ItemObject.php:280 +#: ../../include/ItemObject.php:276 #, php-format msgid "%d comment" msgid_plural "%d comments" msgstr[0] "%d Kommentar" msgstr[1] "%d Kommentare" -#: ../../include/ItemObject.php:298 ../../include/ItemObject.php:299 +#: ../../include/ItemObject.php:294 ../../include/ItemObject.php:295 #, php-format msgid "View %s's profile - %s" msgstr "Schaue Dir %ss Profil an – %s" -#: ../../include/ItemObject.php:302 +#: ../../include/ItemObject.php:298 msgid "to" msgstr "an" -#: ../../include/ItemObject.php:303 +#: ../../include/ItemObject.php:299 msgid "via" msgstr "via" -#: ../../include/ItemObject.php:304 +#: ../../include/ItemObject.php:300 msgid "Wall-to-Wall" msgstr "Wall-to-Wall" -#: ../../include/ItemObject.php:305 +#: ../../include/ItemObject.php:301 msgid "via Wall-To-Wall:" msgstr "via Wall-To-Wall:" -#: ../../include/ItemObject.php:316 ../../include/conversation.php:704 +#: ../../include/ItemObject.php:312 ../../include/conversation.php:704 #, php-format msgid " from %s" msgstr "von %s" -#: ../../include/ItemObject.php:319 ../../include/conversation.php:707 +#: ../../include/ItemObject.php:315 ../../include/conversation.php:707 #, php-format msgid "last edited: %s" msgstr "zuletzt bearbeitet: %s" -#: ../../include/ItemObject.php:320 ../../include/conversation.php:708 +#: ../../include/ItemObject.php:316 ../../include/conversation.php:708 #, php-format msgid "Expires: %s" msgstr "Verfällt: %s" -#: ../../include/ItemObject.php:341 +#: ../../include/ItemObject.php:337 msgid "Save Bookmarks" msgstr "Favoriten speichern" -#: ../../include/ItemObject.php:342 +#: ../../include/ItemObject.php:338 msgid "Add to Calendar" msgstr "Zum Kalender hinzufügen" -#: ../../include/ItemObject.php:351 +#: ../../include/ItemObject.php:347 msgid "Mark all seen" msgstr "Alle als gelesen markieren" -#: ../../include/ItemObject.php:357 ../../mod/photos.php:1109 +#: ../../include/ItemObject.php:353 ../../mod/photos.php:1125 msgctxt "noun" msgid "Likes" msgstr "Gefällt mir" -#: ../../include/ItemObject.php:358 ../../mod/photos.php:1110 +#: ../../include/ItemObject.php:354 ../../mod/photos.php:1126 msgctxt "noun" msgid "Dislikes" msgstr "Gefällt nicht" -#: ../../include/ItemObject.php:363 ../../include/acl_selectors.php:249 -#: ../../mod/photos.php:1115 +#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249 +#: ../../mod/photos.php:1131 msgid "Close" msgstr "Schließen" -#: ../../include/ItemObject.php:368 ../../include/conversation.php:725 +#: ../../include/ItemObject.php:364 ../../include/conversation.php:725 #: ../../include/conversation.php:1198 ../../mod/editblock.php:152 #: ../../mod/editpost.php:125 ../../mod/editlayout.php:148 #: ../../mod/editwebpage.php:183 ../../mod/mail.php:241 ../../mod/mail.php:356 @@ -2527,44 +2531,44 @@ msgstr "Schließen" msgid "Please wait" msgstr "Bitte warten" -#: ../../include/ItemObject.php:669 ../../mod/photos.php:960 -#: ../../mod/photos.php:1070 +#: ../../include/ItemObject.php:665 ../../mod/photos.php:960 +#: ../../mod/photos.php:1078 msgid "This is you" msgstr "Das bist Du" -#: ../../include/ItemObject.php:673 +#: ../../include/ItemObject.php:669 msgid "Bold" msgstr "Fett" -#: ../../include/ItemObject.php:674 +#: ../../include/ItemObject.php:670 msgid "Italic" msgstr "Kursiv" -#: ../../include/ItemObject.php:675 +#: ../../include/ItemObject.php:671 msgid "Underline" msgstr "Unterstrichen" -#: ../../include/ItemObject.php:676 +#: ../../include/ItemObject.php:672 msgid "Quote" msgstr "Zitat" -#: ../../include/ItemObject.php:677 +#: ../../include/ItemObject.php:673 msgid "Code" msgstr "Code" -#: ../../include/ItemObject.php:678 +#: ../../include/ItemObject.php:674 msgid "Image" msgstr "Bild" -#: ../../include/ItemObject.php:679 +#: ../../include/ItemObject.php:675 msgid "Link" msgstr "Link" -#: ../../include/ItemObject.php:680 +#: ../../include/ItemObject.php:676 msgid "Video" msgstr "Video" -#: ../../include/ItemObject.php:684 ../../include/conversation.php:1224 +#: ../../include/ItemObject.php:680 ../../include/conversation.php:1224 #: ../../mod/editpost.php:152 ../../mod/mail.php:247 ../../mod/mail.php:361 msgid "Encrypt text" msgstr "Text verschlüsseln" @@ -2592,59 +2596,46 @@ msgstr "Besuche %1$s's %2$s" msgid "%1$s has an updated %2$s, changing %3$s." msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert." -#: ../../include/dir_fns.php:88 +#: ../../include/dir_fns.php:96 msgid "Directory Options" msgstr "Verzeichnisoptionen" -#: ../../include/dir_fns.php:89 +#: ../../include/dir_fns.php:97 msgid "Alphabetic" msgstr "alphabetisch" -#: ../../include/dir_fns.php:90 +#: ../../include/dir_fns.php:98 msgid "Reverse Alphabetic" msgstr "Entgegengesetzt alphabetisch" -#: ../../include/dir_fns.php:91 +#: ../../include/dir_fns.php:99 msgid "Newest to Oldest" msgstr "Neueste zuerst" -#: ../../include/dir_fns.php:92 +#: ../../include/dir_fns.php:100 msgid "Oldest to Newest" msgstr "Älteste zuerst" -#: ../../include/dir_fns.php:93 +#: ../../include/dir_fns.php:101 msgid "Public Forums Only" msgstr "Nur öffentliche Foren" -#: ../../include/dir_fns.php:95 +#: ../../include/dir_fns.php:103 msgid "Sort" msgstr "Sortieren" -#: ../../include/dir_fns.php:111 +#: ../../include/dir_fns.php:119 msgid "Enable Safe Search" msgstr "Sichere Suche einschalten" -#: ../../include/dir_fns.php:113 +#: ../../include/dir_fns.php:121 msgid "Disable Safe Search" msgstr "Sichere Suche ausschalten" -#: ../../include/dir_fns.php:115 +#: ../../include/dir_fns.php:123 msgid "Safe Mode" msgstr "Sicherer Modus" -#: ../../include/zot.php:673 -msgid "Invalid data packet" -msgstr "Ungültiges Datenpaket" - -#: ../../include/zot.php:689 -msgid "Unable to verify channel signature" -msgstr "Konnte die Signatur des Kanals nicht verifizieren" - -#: ../../include/zot.php:1961 -#, php-format -msgid "Unable to verify site signature for %s" -msgstr "Kann die Signatur der Seite von %s nicht verifizieren" - #: ../../include/items.php:382 ../../mod/subthread.php:49 #: ../../mod/group.php:68 ../../mod/profperm.php:23 ../../mod/like.php:270 #: ../../index.php:389 @@ -2738,23 +2729,23 @@ msgstr "Benutzer '%s' gelöscht" msgid "view full size" msgstr "In Vollbildansicht anschauen" -#: ../../include/diaspora.php:2023 ../../include/conversation.php:164 +#: ../../include/diaspora.php:1938 ../../include/conversation.php:164 #: ../../mod/like.php:383 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "%1$s gefällt %2$ss %3$s" -#: ../../include/bbcode.php:115 ../../include/bbcode.php:688 -#: ../../include/bbcode.php:691 ../../include/bbcode.php:696 -#: ../../include/bbcode.php:699 ../../include/bbcode.php:702 -#: ../../include/bbcode.php:705 ../../include/bbcode.php:710 -#: ../../include/bbcode.php:713 ../../include/bbcode.php:718 -#: ../../include/bbcode.php:721 ../../include/bbcode.php:724 -#: ../../include/bbcode.php:727 +#: ../../include/bbcode.php:115 ../../include/bbcode.php:694 +#: ../../include/bbcode.php:697 ../../include/bbcode.php:702 +#: ../../include/bbcode.php:705 ../../include/bbcode.php:708 +#: ../../include/bbcode.php:711 ../../include/bbcode.php:716 +#: ../../include/bbcode.php:719 ../../include/bbcode.php:724 +#: ../../include/bbcode.php:727 ../../include/bbcode.php:730 +#: ../../include/bbcode.php:733 msgid "Image/photo" msgstr "Bild/Foto" -#: ../../include/bbcode.php:150 ../../include/bbcode.php:738 +#: ../../include/bbcode.php:150 ../../include/bbcode.php:744 msgid "Encrypted content" msgstr "Verschlüsselter Inhalt" @@ -2779,11 +2770,11 @@ msgstr "Beitrag" msgid "Different viewers will see this text differently" msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen" -#: ../../include/bbcode.php:656 +#: ../../include/bbcode.php:662 msgid "$1 spoiler" msgstr "$1 Spoiler" -#: ../../include/bbcode.php:676 +#: ../../include/bbcode.php:682 msgid "$1 wrote:" msgstr "$1 schrieb:" @@ -2859,7 +2850,7 @@ msgstr "Anzeigen" msgid "Don't show" msgstr "Nicht anzeigen" -#: ../../include/acl_selectors.php:248 ../../mod/events.php:621 +#: ../../include/acl_selectors.php:248 ../../mod/events.php:652 #: ../../mod/chat.php:209 ../../mod/filestorage.php:146 #: ../../mod/photos.php:559 ../../mod/photos.php:916 msgid "Permissions" @@ -2869,6 +2860,19 @@ msgstr "Berechtigungen" msgid "Public Timeline" msgstr "Öffentliche Zeitleiste" +#: ../../include/zot.php:673 +msgid "Invalid data packet" +msgstr "Ungültiges Datenpaket" + +#: ../../include/zot.php:689 +msgid "Unable to verify channel signature" +msgstr "Konnte die Signatur des Kanals nicht verifizieren" + +#: ../../include/zot.php:1961 +#, php-format +msgid "Unable to verify site signature for %s" +msgstr "Kann die Signatur der Seite von %s nicht verifizieren" + #: ../../include/profile_selectors.php:6 #: ../../include/profile_selectors.php:23 msgid "Male" @@ -3161,7 +3165,7 @@ msgid "Profile Photo" msgstr "Profilfoto" #: ../../include/apps.php:247 ../../mod/settings.php:81 -#: ../../mod/settings.php:603 +#: ../../mod/settings.php:609 msgid "Update" msgstr "Aktualisieren" @@ -3275,45 +3279,45 @@ msgctxt "mood" msgid "%1$s is %2$s" msgstr "%1$s ist %2$s" -#: ../../include/conversation.php:556 +#: ../../include/conversation.php:556 ../../mod/photos.php:978 msgctxt "title" msgid "Likes" msgstr "Gefällt mir" -#: ../../include/conversation.php:556 +#: ../../include/conversation.php:556 ../../mod/photos.php:978 msgctxt "title" msgid "Dislikes" msgstr "Gefällt mir nicht" -#: ../../include/conversation.php:557 +#: ../../include/conversation.php:557 ../../mod/photos.php:979 msgctxt "title" msgid "Agree" msgstr "Zustimmungen" -#: ../../include/conversation.php:557 +#: ../../include/conversation.php:557 ../../mod/photos.php:979 msgctxt "title" msgid "Disagree" msgstr "Ablehnungen" -#: ../../include/conversation.php:557 +#: ../../include/conversation.php:557 ../../mod/photos.php:979 msgctxt "title" msgid "Abstain" msgstr "Enthaltungen" -#: ../../include/conversation.php:558 +#: ../../include/conversation.php:558 ../../mod/photos.php:980 msgctxt "title" msgid "Attending" -msgstr "Nehmen teil" +msgstr "Zusagen" -#: ../../include/conversation.php:558 +#: ../../include/conversation.php:558 ../../mod/photos.php:980 msgctxt "title" msgid "Not attending" -msgstr "Nehmen nicht teil" +msgstr "Absagen" -#: ../../include/conversation.php:558 +#: ../../include/conversation.php:558 ../../mod/photos.php:980 msgctxt "title" msgid "Might attend" -msgstr "Nehmen vielleicht teil" +msgstr "Vielleicht" #: ../../include/conversation.php:680 #, php-format @@ -3572,14 +3576,14 @@ msgid "Set expiration date" msgstr "Verfallsdatum" #: ../../include/conversation.php:1226 ../../mod/editpost.php:154 -#: ../../mod/events.php:604 +#: ../../mod/events.php:635 msgid "OK" msgstr "Ok" #: ../../include/conversation.php:1227 ../../mod/editpost.php:155 -#: ../../mod/events.php:603 ../../mod/fbrowser.php:82 -#: ../../mod/fbrowser.php:117 ../../mod/settings.php:578 -#: ../../mod/settings.php:604 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 +#: ../../mod/events.php:634 ../../mod/fbrowser.php:82 +#: ../../mod/fbrowser.php:117 ../../mod/settings.php:584 +#: ../../mod/settings.php:610 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 msgid "Cancel" msgstr "Abbrechen" @@ -3672,15 +3676,15 @@ msgstr "Webseiten verwalten" msgctxt "noun" msgid "Attending" msgid_plural "Attending" -msgstr[0] "Nimmt teil" -msgstr[1] "Nehmen teil" +msgstr[0] "Zusage" +msgstr[1] "Zusagen" #: ../../include/conversation.php:1701 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" -msgstr[0] "Nimmt teil" -msgstr[1] "Nehmen nicht teil" +msgstr[0] "Absage" +msgstr[1] "Absagen" #: ../../include/conversation.php:1704 msgctxt "noun" @@ -3951,13 +3955,13 @@ msgid "" " and/or create new posts for you?" msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?" -#: ../../mod/api.php:105 ../../mod/settings.php:955 ../../mod/settings.php:960 -#: ../../mod/settings.php:1045 ../../mod/admin.php:396 +#: ../../mod/api.php:105 ../../mod/settings.php:974 ../../mod/settings.php:979 +#: ../../mod/settings.php:1064 ../../mod/admin.php:396 msgid "Yes" msgstr "Ja" -#: ../../mod/api.php:106 ../../mod/settings.php:955 ../../mod/settings.php:960 -#: ../../mod/settings.php:1045 ../../mod/admin.php:394 +#: ../../mod/api.php:106 ../../mod/settings.php:974 ../../mod/settings.php:979 +#: ../../mod/settings.php:1064 ../../mod/admin.php:394 msgid "No" msgstr "Nein" @@ -4076,7 +4080,7 @@ msgstr "Blockieren" #: ../../mod/connedit.php:510 msgid "Block (or Unblock) all communications with this connection" -msgstr "Blockiere oder lasse die komplette Kommunikation mit dieser Verbindung zu" +msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen" #: ../../mod/connedit.php:514 ../../mod/connedit.php:695 msgid "Unignore" @@ -4089,7 +4093,7 @@ msgstr "Ignorieren" #: ../../mod/connedit.php:517 msgid "Ignore (or Unignore) all inbound communications from this connection" -msgstr "Ignoriere oder lasse die komplette eingehende Kommunikation von dieser Verbindung zu" +msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen" #: ../../mod/connedit.php:520 msgid "Unarchive" @@ -4114,7 +4118,7 @@ msgstr "Verstecken" #: ../../mod/connedit.php:529 msgid "Hide or Unhide this connection from your other connections" -msgstr "Verstecke oder zeige diese Verbindung vor anderen Verbindungen" +msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen" #: ../../mod/connedit.php:536 msgid "Delete this connection" @@ -4145,11 +4149,11 @@ msgstr "Wende die auf dieser Seite gewählten Berechtigungen auf alle neuen Verb msgid "Slide to adjust your degree of friendship" msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen" -#: ../../mod/connedit.php:637 ../../mod/rate.php:147 +#: ../../mod/connedit.php:637 ../../mod/rate.php:161 msgid "Rating (this information is public)" msgstr "Bewertung (öffentlich sichtbar)" -#: ../../mod/connedit.php:638 ../../mod/rate.php:148 +#: ../../mod/connedit.php:638 ../../mod/rate.php:162 msgid "Optionally explain your rating (this information is public)" msgstr "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)" @@ -4424,7 +4428,7 @@ msgstr "Wähle ein Profil:" msgid "Upload Profile Photo" msgstr "Lade neues Profilfoto hoch" -#: ../../mod/profile_photo.php:366 ../../mod/settings.php:964 +#: ../../mod/profile_photo.php:366 ../../mod/settings.php:983 msgid "or" msgstr "oder" @@ -4514,73 +4518,85 @@ msgstr "Titel und Startzeit des Termins sind erforderlich." msgid "Event not found." msgstr "Termin nicht gefunden." -#: ../../mod/events.php:392 +#: ../../mod/events.php:396 msgid "l, F j" msgstr "l, j. F" -#: ../../mod/events.php:414 +#: ../../mod/events.php:418 msgid "Edit event" msgstr "Termin bearbeiten" -#: ../../mod/events.php:466 +#: ../../mod/events.php:419 +msgid "Delete event" +msgstr "Termin löschen" + +#: ../../mod/events.php:473 msgid "Create New Event" msgstr "Neuen Termin erstellen" -#: ../../mod/events.php:467 ../../mod/photos.php:827 +#: ../../mod/events.php:474 ../../mod/photos.php:827 msgid "Previous" msgstr "Voriges" -#: ../../mod/events.php:468 ../../mod/setup.php:265 ../../mod/photos.php:836 +#: ../../mod/events.php:475 ../../mod/setup.php:265 ../../mod/photos.php:836 msgid "Next" msgstr "Nächste" -#: ../../mod/events.php:469 +#: ../../mod/events.php:476 msgid "Export" msgstr "Exportieren" -#: ../../mod/events.php:594 +#: ../../mod/events.php:504 +msgid "Event removed" +msgstr "Termin gelöscht" + +#: ../../mod/events.php:507 +msgid "Failed to remove event" +msgstr "Termin konnte nicht gelöscht werden" + +#: ../../mod/events.php:625 msgid "Event details" msgstr "Termin-Details" -#: ../../mod/events.php:595 +#: ../../mod/events.php:626 msgid "Starting date and Title are required." msgstr "Startdatum und Titel sind erforderlich." -#: ../../mod/events.php:597 +#: ../../mod/events.php:628 msgid "Categories (comma-separated list)" msgstr "Kategorien (Kommagetrennte Liste)" -#: ../../mod/events.php:599 +#: ../../mod/events.php:630 msgid "Event Starts:" msgstr "Termin beginnt:" -#: ../../mod/events.php:606 +#: ../../mod/events.php:637 msgid "Finish date/time is not known or not relevant" msgstr "Ende Datum/Zeit sind unbekannt oder unwichtig" -#: ../../mod/events.php:608 +#: ../../mod/events.php:639 msgid "Event Finishes:" msgstr "Termin endet:" -#: ../../mod/events.php:610 ../../mod/events.php:611 +#: ../../mod/events.php:641 ../../mod/events.php:642 msgid "Adjust for viewer timezone" msgstr "An die Zeitzone des Betrachters anpassen" -#: ../../mod/events.php:610 +#: ../../mod/events.php:641 msgid "" "Important for events that happen in a particular place. Not practical for " "global holidays." msgstr "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht sinnvoll für globale Feiertage / Ferien." -#: ../../mod/events.php:612 +#: ../../mod/events.php:643 msgid "Description:" msgstr "Beschreibung:" -#: ../../mod/events.php:616 +#: ../../mod/events.php:647 msgid "Title:" msgstr "Titel:" -#: ../../mod/events.php:618 +#: ../../mod/events.php:649 msgid "Share this event" msgstr "Den Termin teilen" @@ -4603,21 +4619,37 @@ msgid "" msgstr "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten könnten nähere Details dazu stehen." #: ../../mod/pubsites.php:25 +msgid "Rate this hub" +msgstr "Bewerte diesen Hub" + +#: ../../mod/pubsites.php:26 msgid "Site URL" msgstr "Server-URL" -#: ../../mod/pubsites.php:25 +#: ../../mod/pubsites.php:26 msgid "Access Type" msgstr "Zugangstyp" -#: ../../mod/pubsites.php:25 +#: ../../mod/pubsites.php:26 msgid "Registration Policy" msgstr "Registrierungsrichtlinien" -#: ../../mod/pubsites.php:25 ../../mod/profiles.php:454 +#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454 msgid "Location" msgstr "Ort" +#: ../../mod/pubsites.php:26 +msgid "View hub ratings" +msgstr "Bewertungen dieses Hubs ansehen" + +#: ../../mod/pubsites.php:30 +msgid "Rate" +msgstr "Bewerten" + +#: ../../mod/pubsites.php:31 +msgid "View ratings" +msgstr "Bewertungen ansehen" + #: ../../mod/settings.php:73 msgid "Name is required" msgstr "Name ist erforderlich" @@ -4626,553 +4658,569 @@ msgstr "Name ist erforderlich" msgid "Key and Secret are required" msgstr "Schlüssel und Geheimnis werden benötigt" -#: ../../mod/settings.php:222 +#: ../../mod/settings.php:120 +msgid "Diaspora Policy Settings updated." +msgstr "Diaspora-Einstellungen aktualisiert." + +#: ../../mod/settings.php:228 msgid "Passwords do not match. Password unchanged." msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert." -#: ../../mod/settings.php:226 +#: ../../mod/settings.php:232 msgid "Empty passwords are not allowed. Password unchanged." msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert." -#: ../../mod/settings.php:240 +#: ../../mod/settings.php:246 msgid "Password changed." msgstr "Kennwort geändert." -#: ../../mod/settings.php:242 +#: ../../mod/settings.php:248 msgid "Password update failed. Please try again." msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal." -#: ../../mod/settings.php:256 +#: ../../mod/settings.php:262 msgid "Not valid email." msgstr "Keine gültige E-Mail Adresse." -#: ../../mod/settings.php:259 +#: ../../mod/settings.php:265 msgid "Protected email address. Cannot change to that email." msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden." -#: ../../mod/settings.php:268 +#: ../../mod/settings.php:274 msgid "System failure storing new email. Please try again." msgstr "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal." -#: ../../mod/settings.php:507 +#: ../../mod/settings.php:513 msgid "Settings updated." msgstr "Einstellungen aktualisiert." -#: ../../mod/settings.php:576 ../../mod/settings.php:602 -#: ../../mod/settings.php:638 +#: ../../mod/settings.php:582 ../../mod/settings.php:608 +#: ../../mod/settings.php:644 msgid "Add application" msgstr "Anwendung hinzufügen" -#: ../../mod/settings.php:579 +#: ../../mod/settings.php:585 msgid "Name of application" msgstr "Name der Anwendung" -#: ../../mod/settings.php:580 ../../mod/settings.php:606 +#: ../../mod/settings.php:586 ../../mod/settings.php:612 msgid "Consumer Key" msgstr "Consumer Key" -#: ../../mod/settings.php:580 ../../mod/settings.php:581 +#: ../../mod/settings.php:586 ../../mod/settings.php:587 msgid "Automatically generated - change if desired. Max length 20" msgstr "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20" -#: ../../mod/settings.php:581 ../../mod/settings.php:607 +#: ../../mod/settings.php:587 ../../mod/settings.php:613 msgid "Consumer Secret" msgstr "Consumer Secret" -#: ../../mod/settings.php:582 ../../mod/settings.php:608 +#: ../../mod/settings.php:588 ../../mod/settings.php:614 msgid "Redirect" msgstr "Umleitung" -#: ../../mod/settings.php:582 +#: ../../mod/settings.php:588 msgid "" "Redirect URI - leave blank unless your application specifically requires " "this" msgstr "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert" -#: ../../mod/settings.php:583 ../../mod/settings.php:609 +#: ../../mod/settings.php:589 ../../mod/settings.php:615 msgid "Icon url" msgstr "Symbol-URL" -#: ../../mod/settings.php:583 +#: ../../mod/settings.php:589 msgid "Optional" msgstr "Optional" -#: ../../mod/settings.php:594 +#: ../../mod/settings.php:600 msgid "You can't edit this application." msgstr "Diese Anwendung kann nicht bearbeitet werden." -#: ../../mod/settings.php:637 +#: ../../mod/settings.php:643 msgid "Connected Apps" msgstr "Verbundene Apps" -#: ../../mod/settings.php:641 +#: ../../mod/settings.php:647 msgid "Client key starts with" msgstr "Client Key beginnt mit" -#: ../../mod/settings.php:642 +#: ../../mod/settings.php:648 msgid "No name" msgstr "Kein Name" -#: ../../mod/settings.php:643 +#: ../../mod/settings.php:649 msgid "Remove authorization" msgstr "Authorisierung aufheben" -#: ../../mod/settings.php:654 +#: ../../mod/settings.php:663 msgid "No feature settings configured" msgstr "Keine Funktions-Einstellungen konfiguriert" -#: ../../mod/settings.php:662 +#: ../../mod/settings.php:676 msgid "Feature Settings" msgstr "Funktions-Einstellungen" -#: ../../mod/settings.php:685 +#: ../../mod/settings.php:679 +msgid "Diaspora Policy Settings" +msgstr "Diaspora-Einstellungen" + +#: ../../mod/settings.php:680 +msgid "Allow any Diaspora member to comment on your public posts." +msgstr "Allen Diaspora-Mitgliedern erlauben, Deine öffentlichen Beiträge zu kommentieren." + +#: ../../mod/settings.php:681 +msgid "Submit Diaspora Policy Settings" +msgstr "Diaspora-Einstellungen speichern" + +#: ../../mod/settings.php:704 msgid "Account Settings" msgstr "Konto-Einstellungen" -#: ../../mod/settings.php:686 +#: ../../mod/settings.php:705 msgid "Password Settings" msgstr "Kennwort-Einstellungen" -#: ../../mod/settings.php:687 +#: ../../mod/settings.php:706 msgid "New Password:" msgstr "Neues Passwort:" -#: ../../mod/settings.php:688 +#: ../../mod/settings.php:707 msgid "Confirm:" msgstr "Bestätigen:" -#: ../../mod/settings.php:688 +#: ../../mod/settings.php:707 msgid "Leave password fields blank unless changing" msgstr "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern" -#: ../../mod/settings.php:690 ../../mod/settings.php:1026 +#: ../../mod/settings.php:709 ../../mod/settings.php:1045 msgid "Email Address:" msgstr "Email Adresse:" -#: ../../mod/settings.php:691 ../../mod/removeaccount.php:61 +#: ../../mod/settings.php:710 ../../mod/removeaccount.php:61 msgid "Remove Account" msgstr "Konto entfernen" -#: ../../mod/settings.php:692 +#: ../../mod/settings.php:711 msgid "Remove this account from this server including all its channels" msgstr "Lösche dieses Konto einschließlich aller zugehörigen Kanäle von diesem Server" -#: ../../mod/settings.php:693 ../../mod/settings.php:1107 +#: ../../mod/settings.php:712 ../../mod/settings.php:1126 msgid "Warning: This action is permanent and cannot be reversed." msgstr "Achtung: Diese Aktion ist endgültig und kann nicht rückgängig gemacht werden." -#: ../../mod/settings.php:709 +#: ../../mod/settings.php:728 msgid "Off" msgstr "Aus" -#: ../../mod/settings.php:709 +#: ../../mod/settings.php:728 msgid "On" msgstr "An" -#: ../../mod/settings.php:716 +#: ../../mod/settings.php:735 msgid "Additional Features" msgstr "Zusätzliche Funktionen" -#: ../../mod/settings.php:740 +#: ../../mod/settings.php:759 msgid "Connector Settings" msgstr "Connector-Einstellungen" -#: ../../mod/settings.php:779 +#: ../../mod/settings.php:798 msgid "No special theme for mobile devices" msgstr "Keine spezielle Theme für mobile Geräte" -#: ../../mod/settings.php:782 +#: ../../mod/settings.php:801 #, php-format msgid "%s - (Experimental)" msgstr "%s – (experimentell)" -#: ../../mod/settings.php:785 ../../mod/admin.php:367 +#: ../../mod/settings.php:804 ../../mod/admin.php:367 msgid "mobile" msgstr "mobil" -#: ../../mod/settings.php:821 +#: ../../mod/settings.php:840 msgid "Display Settings" msgstr "Anzeige-Einstellungen" -#: ../../mod/settings.php:827 +#: ../../mod/settings.php:846 msgid "Display Theme:" msgstr "Anzeige-Theme:" -#: ../../mod/settings.php:828 +#: ../../mod/settings.php:847 msgid "Mobile Theme:" msgstr "Mobile Theme:" -#: ../../mod/settings.php:829 +#: ../../mod/settings.php:848 msgid "Enable user zoom on mobile devices" msgstr "Zoom auf Mobilgeräten aktivieren" -#: ../../mod/settings.php:830 +#: ../../mod/settings.php:849 msgid "Update browser every xx seconds" msgstr "Browser alle xx Sekunden aktualisieren" -#: ../../mod/settings.php:830 +#: ../../mod/settings.php:849 msgid "Minimum of 10 seconds, no maximum" msgstr "Minimum 10 Sekunden, kein Maximum" -#: ../../mod/settings.php:831 +#: ../../mod/settings.php:850 msgid "Maximum number of conversations to load at any time:" msgstr "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:" -#: ../../mod/settings.php:831 +#: ../../mod/settings.php:850 msgid "Maximum of 100 items" msgstr "Maximum: 100 Beiträge" -#: ../../mod/settings.php:832 +#: ../../mod/settings.php:851 msgid "Don't show emoticons" msgstr "Emoticons nicht anzeigen" -#: ../../mod/settings.php:833 +#: ../../mod/settings.php:852 msgid "Link post titles to source" msgstr "Beitragstitel zum Originalbeitrag verlinken" -#: ../../mod/settings.php:834 +#: ../../mod/settings.php:853 msgid "System Page Layout Editor - (advanced)" msgstr "System-Seitenlayout-Editor (für Experten)" -#: ../../mod/settings.php:837 +#: ../../mod/settings.php:856 msgid "Use blog/list mode on channel page" -msgstr "Verwende den Blog-/Listenmodus auf der Kanalseite" +msgstr "Blog-/Listenmodus auf der Kanalseite verwenden" -#: ../../mod/settings.php:837 ../../mod/settings.php:838 +#: ../../mod/settings.php:856 ../../mod/settings.php:857 msgid "(comments displayed separately)" msgstr "(Kommentare werden separat angezeigt)" -#: ../../mod/settings.php:838 +#: ../../mod/settings.php:857 msgid "Use blog/list mode on matrix page" -msgstr "Verwende den Blog-/Listenmodus auf der Matrixseite" +msgstr "Blog-/Listenmodus auf der Matrixseite verwenden" -#: ../../mod/settings.php:839 +#: ../../mod/settings.php:858 msgid "Channel page max height of content (in pixels)" msgstr "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)" -#: ../../mod/settings.php:839 ../../mod/settings.php:840 +#: ../../mod/settings.php:858 ../../mod/settings.php:859 msgid "click to expand content exceeding this height" msgstr "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden." -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:859 msgid "Matrix page max height of content (in pixels)" msgstr "Maximale Höhe von Beitragsblöcken auf der Matrixseite (in Pixeln)" -#: ../../mod/settings.php:874 +#: ../../mod/settings.php:893 msgid "Nobody except yourself" msgstr "Niemand außer Dir selbst" -#: ../../mod/settings.php:875 +#: ../../mod/settings.php:894 msgid "Only those you specifically allow" msgstr "Nur die, denen Du es explizit erlaubst" -#: ../../mod/settings.php:876 +#: ../../mod/settings.php:895 msgid "Approved connections" msgstr "Angenommene Verbindungen" -#: ../../mod/settings.php:877 +#: ../../mod/settings.php:896 msgid "Any connections" msgstr "Beliebige Verbindungen" -#: ../../mod/settings.php:878 +#: ../../mod/settings.php:897 msgid "Anybody on this website" msgstr "Jeder auf dieser Website" -#: ../../mod/settings.php:879 +#: ../../mod/settings.php:898 msgid "Anybody in this network" msgstr "Alle Red-Nutzer" -#: ../../mod/settings.php:880 +#: ../../mod/settings.php:899 msgid "Anybody authenticated" msgstr "Jeder authentifizierte" -#: ../../mod/settings.php:881 +#: ../../mod/settings.php:900 msgid "Anybody on the internet" msgstr "Jeder im Internet" -#: ../../mod/settings.php:955 +#: ../../mod/settings.php:974 msgid "Publish your default profile in the network directory" msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen" -#: ../../mod/settings.php:960 +#: ../../mod/settings.php:979 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?" -#: ../../mod/settings.php:969 +#: ../../mod/settings.php:988 msgid "Your channel address is" msgstr "Deine Kanal-Adresse lautet" -#: ../../mod/settings.php:1017 +#: ../../mod/settings.php:1036 msgid "Channel Settings" msgstr "Kanal-Einstellungen" -#: ../../mod/settings.php:1024 +#: ../../mod/settings.php:1043 msgid "Basic Settings" msgstr "Grundeinstellungen" -#: ../../mod/settings.php:1027 +#: ../../mod/settings.php:1046 msgid "Your Timezone:" msgstr "Ihre Zeitzone:" -#: ../../mod/settings.php:1028 +#: ../../mod/settings.php:1047 msgid "Default Post Location:" msgstr "Standardstandort:" -#: ../../mod/settings.php:1028 +#: ../../mod/settings.php:1047 msgid "Geographical location to display on your posts" msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll" -#: ../../mod/settings.php:1029 +#: ../../mod/settings.php:1048 msgid "Use Browser Location:" msgstr "Standort des Browsers verwenden:" -#: ../../mod/settings.php:1031 +#: ../../mod/settings.php:1050 msgid "Adult Content" msgstr "Nicht jugendfreie Inhalte" -#: ../../mod/settings.php:1031 +#: ../../mod/settings.php:1050 msgid "" "This channel frequently or regularly publishes adult content. (Please tag " "any adult material and/or nudity with #NSFW)" msgstr "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)" -#: ../../mod/settings.php:1033 +#: ../../mod/settings.php:1052 msgid "Security and Privacy Settings" msgstr "Sicherheits- und Datenschutz-Einstellungen" -#: ../../mod/settings.php:1035 +#: ../../mod/settings.php:1054 msgid "Your permissions are already configured. Click to view/adjust" msgstr "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern" -#: ../../mod/settings.php:1037 +#: ../../mod/settings.php:1056 msgid "Hide my online presence" msgstr "Meine Online-Präsenz verbergen" -#: ../../mod/settings.php:1037 +#: ../../mod/settings.php:1056 msgid "Prevents displaying in your profile that you are online" msgstr "Verhindert die Anzeige Deines Online-Status in deinem Profil" -#: ../../mod/settings.php:1039 +#: ../../mod/settings.php:1058 msgid "Simple Privacy Settings:" msgstr "Einfache Privatsphäre-Einstellungen" -#: ../../mod/settings.php:1040 +#: ../../mod/settings.php:1059 msgid "" "Very Public - extremely permissive (should be used with caution)" msgstr "Komplett offen – extrem ungeschützt (mit großer Vorsicht verwenden!)" -#: ../../mod/settings.php:1041 +#: ../../mod/settings.php:1060 msgid "" "Typical - default public, privacy when desired (similar to social " "network permissions but with improved privacy)" msgstr "Typisch – Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)" -#: ../../mod/settings.php:1042 +#: ../../mod/settings.php:1061 msgid "Private - default private, never open or public" msgstr "Privat – Standard privat, nie offen oder öffentlich" -#: ../../mod/settings.php:1043 +#: ../../mod/settings.php:1062 msgid "Blocked - default blocked to/from everybody" msgstr "Blockiert – Alle standardmäßig blockiert" -#: ../../mod/settings.php:1045 +#: ../../mod/settings.php:1064 msgid "Allow others to tag your posts" msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten" -#: ../../mod/settings.php:1045 +#: ../../mod/settings.php:1064 msgid "" "Often used by the community to retro-actively flag inappropriate content" msgstr "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren" -#: ../../mod/settings.php:1047 +#: ../../mod/settings.php:1066 msgid "Advanced Privacy Settings" msgstr "Fortgeschrittene Privatsphäre-Einstellungen" -#: ../../mod/settings.php:1049 +#: ../../mod/settings.php:1068 msgid "Expire other channel content after this many days" msgstr "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen" -#: ../../mod/settings.php:1049 +#: ../../mod/settings.php:1068 msgid "0 or blank prevents expiration" msgstr "0 oder kein Inhalt verhindern das Verfallen" -#: ../../mod/settings.php:1050 +#: ../../mod/settings.php:1069 msgid "Maximum Friend Requests/Day:" msgstr "Maximale Kontaktanfragen pro Tag:" -#: ../../mod/settings.php:1050 +#: ../../mod/settings.php:1069 msgid "May reduce spam activity" msgstr "Kann die Spam-Aktivität verringern" -#: ../../mod/settings.php:1051 +#: ../../mod/settings.php:1070 msgid "Default Post Permissions" msgstr "Standardeinstellungen für Beitrags-Zugriffsrechte" -#: ../../mod/settings.php:1052 ../../mod/mitem.php:161 ../../mod/mitem.php:204 +#: ../../mod/settings.php:1071 ../../mod/mitem.php:161 ../../mod/mitem.php:204 msgid "(click to open/close)" msgstr "(zum öffnen/schließen anklicken)" -#: ../../mod/settings.php:1056 +#: ../../mod/settings.php:1075 msgid "Channel permissions category:" msgstr "Zugriffsrechte-Kategorie des Kanals:" -#: ../../mod/settings.php:1062 +#: ../../mod/settings.php:1081 msgid "Maximum private messages per day from unknown people:" msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:" -#: ../../mod/settings.php:1062 +#: ../../mod/settings.php:1081 msgid "Useful to reduce spamming" msgstr "Nützlich, um Spam zu verringern" -#: ../../mod/settings.php:1065 +#: ../../mod/settings.php:1084 msgid "Notification Settings" msgstr "Benachrichtigungs-Einstellungen" -#: ../../mod/settings.php:1066 +#: ../../mod/settings.php:1085 msgid "By default post a status message when:" msgstr "Sende standardmäßig Status-Nachrichten, wenn:" -#: ../../mod/settings.php:1067 +#: ../../mod/settings.php:1086 msgid "accepting a friend request" msgstr "Du eine Verbindungsanfrage annimmst" -#: ../../mod/settings.php:1068 +#: ../../mod/settings.php:1087 msgid "joining a forum/community" msgstr "Du einem Forum beitrittst" -#: ../../mod/settings.php:1069 +#: ../../mod/settings.php:1088 msgid "making an interesting profile change" msgstr "Du eine interessante Änderung an Deinem Profil vornimmst" -#: ../../mod/settings.php:1070 +#: ../../mod/settings.php:1089 msgid "Send a notification email when:" msgstr "Eine E-Mail-Benachrichtigung senden, wenn:" -#: ../../mod/settings.php:1071 +#: ../../mod/settings.php:1090 msgid "You receive a connection request" msgstr "Du eine Verbindungsanfrage erhältst" -#: ../../mod/settings.php:1072 +#: ../../mod/settings.php:1091 msgid "Your connections are confirmed" msgstr "Eine Verbindung bestätigt wurde" -#: ../../mod/settings.php:1073 +#: ../../mod/settings.php:1092 msgid "Someone writes on your profile wall" msgstr "Jemand auf Deine Pinnwand schreibt" -#: ../../mod/settings.php:1074 +#: ../../mod/settings.php:1093 msgid "Someone writes a followup comment" msgstr "Jemand einen Beitrag kommentiert" -#: ../../mod/settings.php:1075 +#: ../../mod/settings.php:1094 msgid "You receive a private message" msgstr "Du eine private Nachricht erhältst" -#: ../../mod/settings.php:1076 +#: ../../mod/settings.php:1095 msgid "You receive a friend suggestion" msgstr "Du einen Kontaktvorschlag erhältst" -#: ../../mod/settings.php:1077 +#: ../../mod/settings.php:1096 msgid "You are tagged in a post" msgstr "Du in einem Beitrag erwähnt wurdest" -#: ../../mod/settings.php:1078 +#: ../../mod/settings.php:1097 msgid "You are poked/prodded/etc. in a post" msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest" -#: ../../mod/settings.php:1081 +#: ../../mod/settings.php:1100 msgid "Show visual notifications including:" msgstr "Visuelle Benachrichtigungen anzeigen für:" -#: ../../mod/settings.php:1083 +#: ../../mod/settings.php:1102 msgid "Unseen matrix activity" msgstr "Ungesehene Matrix-Aktivität" -#: ../../mod/settings.php:1084 +#: ../../mod/settings.php:1103 msgid "Unseen channel activity" msgstr "Ungesehene Kanal-Aktivität" -#: ../../mod/settings.php:1085 +#: ../../mod/settings.php:1104 msgid "Unseen private messages" msgstr "Ungelesene persönliche Nachrichten" -#: ../../mod/settings.php:1085 ../../mod/settings.php:1090 -#: ../../mod/settings.php:1091 ../../mod/settings.php:1092 +#: ../../mod/settings.php:1104 ../../mod/settings.php:1109 +#: ../../mod/settings.php:1110 ../../mod/settings.php:1111 msgid "Recommended" msgstr "Empfohlen" -#: ../../mod/settings.php:1086 +#: ../../mod/settings.php:1105 msgid "Upcoming events" msgstr "Baldige Termine" -#: ../../mod/settings.php:1087 +#: ../../mod/settings.php:1106 msgid "Events today" msgstr "Heutige Termine" -#: ../../mod/settings.php:1088 +#: ../../mod/settings.php:1107 msgid "Upcoming birthdays" msgstr "Baldige Geburtstage" -#: ../../mod/settings.php:1088 +#: ../../mod/settings.php:1107 msgid "Not available in all themes" msgstr "Nicht in allen Themes verfügbar" -#: ../../mod/settings.php:1089 +#: ../../mod/settings.php:1108 msgid "System (personal) notifications" msgstr "System – (persönliche) Benachrichtigungen" -#: ../../mod/settings.php:1090 +#: ../../mod/settings.php:1109 msgid "System info messages" msgstr "System – Info-Nachrichten" -#: ../../mod/settings.php:1091 +#: ../../mod/settings.php:1110 msgid "System critical alerts" msgstr "System – kritische Warnungen" -#: ../../mod/settings.php:1092 +#: ../../mod/settings.php:1111 msgid "New connections" msgstr "Neue Verbindungen" -#: ../../mod/settings.php:1093 +#: ../../mod/settings.php:1112 msgid "System Registrations" msgstr "System – Registrierungen" -#: ../../mod/settings.php:1094 +#: ../../mod/settings.php:1113 msgid "" "Also show new wall posts, private messages and connections under Notices" msgstr "Zeigt neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen an" -#: ../../mod/settings.php:1096 +#: ../../mod/settings.php:1115 msgid "Notify me of events this many days in advance" msgstr "Benachrichtige mich zu Terminen so viele Tage im Voraus" -#: ../../mod/settings.php:1096 +#: ../../mod/settings.php:1115 msgid "Must be greater than 0" msgstr "Muss größer als 0 sein" -#: ../../mod/settings.php:1098 +#: ../../mod/settings.php:1117 msgid "Advanced Account/Page Type Settings" msgstr "Erweiterte Account- und Seitenart-Einstellungen" -#: ../../mod/settings.php:1099 +#: ../../mod/settings.php:1118 msgid "Change the behaviour of this account for special situations" msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen" -#: ../../mod/settings.php:1102 +#: ../../mod/settings.php:1121 msgid "" "Please enable expert mode (in Settings > " "Additional features) to adjust!" msgstr "Aktiviere den Expertenmodus (unter Settings > Zusätzliche Funktionen), um hier Einstellungen vorzunehmen!" -#: ../../mod/settings.php:1103 +#: ../../mod/settings.php:1122 msgid "Miscellaneous Settings" msgstr "Sonstige Einstellungen" -#: ../../mod/settings.php:1105 +#: ../../mod/settings.php:1124 msgid "Personal menu to display in your channel pages" msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals" -#: ../../mod/settings.php:1106 +#: ../../mod/settings.php:1125 msgid "Remove this channel" msgstr "Diesen Kanal löschen" @@ -5839,7 +5887,7 @@ msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht." msgid "You have reached your limit of %1$.0f webpages." msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht." -#: ../../mod/search.php:13 ../../mod/display.php:9 ../../mod/ratings.php:81 +#: ../../mod/search.php:13 ../../mod/display.php:9 ../../mod/ratings.php:82 #: ../../mod/directory.php:22 ../../mod/viewconnections.php:17 #: ../../mod/photos.php:429 msgid "Public access denied." @@ -5922,11 +5970,11 @@ msgstr "Keine System-Benachrichtigungen mehr." msgid "System Notifications" msgstr "System-Benachrichtigungen" -#: ../../mod/acl.php:228 +#: ../../mod/acl.php:231 msgid "network" msgstr "Netzwerk" -#: ../../mod/acl.php:238 +#: ../../mod/acl.php:241 msgid "RSS" msgstr "RSS" @@ -6189,7 +6237,7 @@ msgid "" "Password reset failed." msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen." -#: ../../mod/lostpass.php:85 ../../boot.php:1561 +#: ../../mod/lostpass.php:85 ../../boot.php:1560 msgid "Password Reset" msgstr "Zurücksetzen des Kennworts" @@ -6238,7 +6286,11 @@ msgstr "E-Mail Adresse" msgid "Reset" msgstr "Zurücksetzen" -#: ../../mod/rate.php:146 +#: ../../mod/rate.php:157 +msgid "Website:" +msgstr "Webseite:" + +#: ../../mod/rate.php:160 #, php-format msgid "Remote Channel [%s] (not yet known on this site)" msgstr "Kanal [%s] (auf diesem Server noch unbekannt)" @@ -6865,19 +6917,23 @@ msgstr "Sachen zum Profil hinzufügen" msgid "Include desirable objects in your profile" msgstr "Binde begehrenswerte Dinge in Dein Profil ein" -#: ../../mod/ratings.php:68 +#: ../../mod/ratings.php:69 msgid "No ratings" msgstr "Keine Bewertungen" -#: ../../mod/ratings.php:94 +#: ../../mod/ratings.php:99 msgid "Ratings" msgstr "Bewertungen" -#: ../../mod/ratings.php:95 +#: ../../mod/ratings.php:100 msgid "Rating: " msgstr "Bewertung: " -#: ../../mod/ratings.php:96 +#: ../../mod/ratings.php:101 +msgid "Website: " +msgstr "Webseite: " + +#: ../../mod/ratings.php:103 msgid "Description: " msgstr "Beschreibung: " @@ -8171,8 +8227,8 @@ msgstr "Keine Statusnachricht für diesen Upload anzeigen" msgid "Album name could not be decoded" msgstr "Albumname konnte nicht dekodiert werden" -#: ../../mod/photos.php:625 ../../mod/photos.php:1133 -#: ../../mod/photos.php:1149 +#: ../../mod/photos.php:625 ../../mod/photos.php:1149 +#: ../../mod/photos.php:1165 msgid "Contact Photos" msgstr "Kontakt-Bilder" @@ -8184,7 +8240,7 @@ msgstr "Neueste zuerst anzeigen" msgid "Show Oldest First" msgstr "Älteste zuerst anzeigen" -#: ../../mod/photos.php:675 ../../mod/photos.php:1181 +#: ../../mod/photos.php:675 ../../mod/photos.php:1197 msgid "View Photo" msgstr "Foto ansehen" @@ -8240,21 +8296,21 @@ msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com" msgid "Flag as adult in album view" msgstr "In der Albumansicht als nicht jugendfrei markieren" -#: ../../mod/photos.php:1099 +#: ../../mod/photos.php:1114 msgid "In This Photo:" msgstr "Auf diesem Foto:" -#: ../../mod/photos.php:1187 +#: ../../mod/photos.php:1203 msgid "View Album" msgstr "Album ansehen" -#: ../../mod/photos.php:1210 +#: ../../mod/photos.php:1226 msgid "Recent Photos" msgstr "Neueste Fotos" #: ../../mod/ping.php:263 msgid "sent you a private message" -msgstr "eine private Nachricht schicken" +msgstr "hat Dir eine private Nachricht geschickt" #: ../../mod/ping.php:314 msgid "added your channel" @@ -8673,41 +8729,41 @@ msgstr "Schräge Fotoalben" msgid "Are you a clean desk or a messy desk person?" msgstr "Bist Du jemand, der einen aufgeräumten Schreibtisch hat, oder eher einen chaotischen?" -#: ../../boot.php:1358 +#: ../../boot.php:1357 #, php-format msgid "Update %s failed. See error logs." msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen." -#: ../../boot.php:1361 +#: ../../boot.php:1360 #, php-format msgid "Update Error at %s" msgstr "Aktualisierungsfehler auf %s" -#: ../../boot.php:1528 +#: ../../boot.php:1527 msgid "" "Create an account to access services and applications within the Red Matrix" msgstr "Erstelle einen Account, um Anwendungen und Dienste innerhalb der Red-Matrix verwenden zu können." -#: ../../boot.php:1556 +#: ../../boot.php:1555 msgid "Password" msgstr "Kennwort" -#: ../../boot.php:1557 +#: ../../boot.php:1556 msgid "Remember me" msgstr "Angaben speichern" -#: ../../boot.php:1560 +#: ../../boot.php:1559 msgid "Forgot your password?" msgstr "Passwort vergessen?" -#: ../../boot.php:1653 +#: ../../boot.php:1674 msgid "permission denied" msgstr "Zugriff verweigert" -#: ../../boot.php:1654 +#: ../../boot.php:1675 msgid "Got Zot?" msgstr "Haste schon Zot?" -#: ../../boot.php:2137 +#: ../../boot.php:2158 msgid "toggle mobile" msgstr "auf/von mobile Ansicht wechseln" diff --git a/view/de/strings.php b/view/de/strings.php index d9a4d3007..2679e9eb1 100644 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -75,6 +75,7 @@ $a->strings["Suggested Chatrooms"] = "Chatraum-Vorschläge"; $a->strings["photo/image"] = "Foto/Bild"; $a->strings["Rate Me"] = "Bewerte mich"; $a->strings["View Ratings"] = "Bewertungen ansehen"; +$a->strings["Public Hubs"] = "Öffentliche Hubs"; $a->strings["Red Matrix Notification"] = "Red Matrix Benachrichtigung"; $a->strings["redmatrix"] = "redmatrix"; $a->strings["Thank You,"] = "Danke."; @@ -85,7 +86,7 @@ $a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, % $a->strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt."; $a->strings["a private message"] = "eine private Nachricht"; $a->strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."; -$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]ein %4\$s[/zrl] kommentiert"; +$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert"; $a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert"; $a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert"; $a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s"; @@ -201,6 +202,20 @@ $a->strings["Menus"] = "Menüs"; $a->strings["Layouts"] = "Layouts"; $a->strings["Pages"] = "Seiten"; $a->strings["Collection"] = "Ordner"; +$a->strings["Item was not found."] = "Beitrag wurde nicht gefunden."; +$a->strings["No source file."] = "Keine Quelldatei."; +$a->strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden"; +$a->strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden"; +$a->strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d"; +$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."; +$a->strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."; +$a->strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."; +$a->strings["Path not available."] = "Pfad nicht verfügbar."; +$a->strings["Empty pathname"] = "Leere Pfadangabe"; +$a->strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad"; +$a->strings["Path not found."] = "Pfad nicht gefunden."; +$a->strings["mkdir failed."] = "mkdir fehlgeschlagen."; +$a->strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen."; $a->strings["Delete this item?"] = "Dieses Element löschen?"; $a->strings["Comment"] = "Kommentar"; $a->strings["[+] show all"] = "[+] Alle anzeigen"; @@ -215,7 +230,7 @@ $a->strings["Passphrase hint"] = "Hinweis zur Passphrase"; $a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Achtung: Berechtigungen wurden verändert, aber noch nicht gespeichert."; $a->strings["close all"] = "Alle schließen"; $a->strings["Nothing new here"] = "Nichts Neues hier"; -$a->strings["Rate This Channel (this is public)"] = "Bewerte diesen Kanal (öffentlich sichtbar)"; +$a->strings["Rate This Channel (this is public)"] = "Diesen Kanal bewerten (öffentlich sichtbar)"; $a->strings["Rating"] = "Bewertung"; $a->strings["Describe (optional)"] = "Beschreibung (optional)"; $a->strings["Submit"] = "Bestätigen"; @@ -272,20 +287,6 @@ $a->strings["__ctx:noun__ Like"] = array( 0 => "Gefällt mir", 1 => "Gefällt mir", ); -$a->strings["Item was not found."] = "Beitrag wurde nicht gefunden."; -$a->strings["No source file."] = "Keine Quelldatei."; -$a->strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden"; -$a->strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden"; -$a->strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d"; -$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."; -$a->strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."; -$a->strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."; -$a->strings["Path not available."] = "Pfad nicht verfügbar."; -$a->strings["Empty pathname"] = "Leere Pfadangabe"; -$a->strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad"; -$a->strings["Path not found."] = "Pfad nicht gefunden."; -$a->strings["mkdir failed."] = "mkdir fehlgeschlagen."; -$a->strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen."; $a->strings["General Features"] = "Allgemeine Funktionen"; $a->strings["Content Expiration"] = "Verfall von Inhalten"; $a->strings["Remove posts/comments and/or private messages at a future time"] = "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum."; @@ -311,12 +312,12 @@ $a->strings["Post Composition Features"] = "Nachbearbeitungsfunktionen"; $a->strings["Use Markdown"] = "Markdown benutzen"; $a->strings["Allow use of \"Markdown\" to format posts"] = "Erlaube die Verwendung von \"Markdown\"-Syntax zur Formatierung von Beiträgen"; $a->strings["Large Photos"] = "Große Fotos"; -$a->strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Zeige große (640px) Vorschaubilder in Beiträgen. Wenn nicht aktiviert, nutze kleine (320px) Vorschaubilder."; +$a->strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Große Vorschaubilder (640px) in Beiträgen anzeigen. Ist das deaktiviert, werden kleine Vorschaubilder (320px) angezeigt."; $a->strings["Automatically import channel content from other channels or feeds"] = "Importiere automatisch Inhalte für diesen Kanal von anderen Kanälen oder Feeds"; $a->strings["Even More Encryption"] = "Noch mehr Verschlüsselung"; $a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Erlaube optionale Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Sicherheitsschlüssel)"; $a->strings["Enable voting tools"] = "Umfragewerkzeuge aktivieren"; -$a->strings["Provide a class of post which others can vote on"] = "Aktiviere die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, deinem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden)"; +$a->strings["Provide a class of post which others can vote on"] = "Aktiviere die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, Deinem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)"; $a->strings["Flag Adult Photos"] = "Nicht jugendfreie Fotos markieren"; $a->strings["Provide photo edit option to hide adult photos from default album view"] = "Stellt eine Option zum Verstecken von Fotos mit nicht jugendfreien Inhalten in der Standard-Albumansicht bereit"; $a->strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter"; @@ -396,7 +397,7 @@ $a->strings["Gender:"] = "Geschlecht:"; $a->strings["Status:"] = "Status:"; $a->strings["Homepage:"] = "Homepage:"; $a->strings["Online Now"] = "gerade online"; -$a->strings["g A l F d"] = "l, d. F G \\\\U\\\\h\\\\r"; +$a->strings["g A l F d"] = "l, d. F, G:i \\U\\h\\r"; $a->strings["F d"] = "d. F"; $a->strings["[today]"] = "[Heute]"; $a->strings["Birthday Reminders"] = "Geburtstags Erinnerungen"; @@ -467,7 +468,7 @@ $a->strings["%1\$d %2\$s ago"] = "vor %1\$d %2\$s"; $a->strings["%1\$s's birthday"] = "%1\$ss Geburtstag"; $a->strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s"; $a->strings["Attachments:"] = "Anhänge:"; -$a->strings["l F d, Y \\@ g:i A"] = "l, d. F Y\\\\, H:i"; +$a->strings["l F d, Y \\@ g:i A"] = "l, d. F Y, H:i"; $a->strings["Redmatrix event notification:"] = "RedMatrix Termin-Benachrichtigung:"; $a->strings["Starts:"] = "Beginnt:"; $a->strings["Finishes:"] = "Endet:"; @@ -607,9 +608,6 @@ $a->strings["Sort"] = "Sortieren"; $a->strings["Enable Safe Search"] = "Sichere Suche einschalten"; $a->strings["Disable Safe Search"] = "Sichere Suche ausschalten"; $a->strings["Safe Mode"] = "Sicherer Modus"; -$a->strings["Invalid data packet"] = "Ungültiges Datenpaket"; -$a->strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren"; -$a->strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren"; $a->strings["Permission denied"] = "Keine Berechtigung"; $a->strings["(Unknown)"] = "(Unbekannt)"; $a->strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar."; @@ -665,6 +663,9 @@ $a->strings["Show"] = "Anzeigen"; $a->strings["Don't show"] = "Nicht anzeigen"; $a->strings["Permissions"] = "Berechtigungen"; $a->strings["Public Timeline"] = "Öffentliche Zeitleiste"; +$a->strings["Invalid data packet"] = "Ungültiges Datenpaket"; +$a->strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren"; +$a->strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren"; $a->strings["Male"] = "Männlich"; $a->strings["Female"] = "Weiblich"; $a->strings["Currently Male"] = "Momentan männlich"; @@ -765,9 +766,9 @@ $a->strings["__ctx:title__ Dislikes"] = "Gefällt mir nicht"; $a->strings["__ctx:title__ Agree"] = "Zustimmungen"; $a->strings["__ctx:title__ Disagree"] = "Ablehnungen"; $a->strings["__ctx:title__ Abstain"] = "Enthaltungen"; -$a->strings["__ctx:title__ Attending"] = "Nehmen teil"; -$a->strings["__ctx:title__ Not attending"] = "Nehmen nicht teil"; -$a->strings["__ctx:title__ Might attend"] = "Nehmen vielleicht teil"; +$a->strings["__ctx:title__ Attending"] = "Zusagen"; +$a->strings["__ctx:title__ Not attending"] = "Absagen"; +$a->strings["__ctx:title__ Might attend"] = "Vielleicht"; $a->strings["View %s's profile @ %s"] = "%ss Profil auf %s ansehen"; $a->strings["Categories:"] = "Kategorien:"; $a->strings["Filed under:"] = "Gespeichert unter:"; @@ -855,12 +856,12 @@ $a->strings["Chatrooms"] = "Chaträume"; $a->strings["Saved Bookmarks"] = "Gespeicherte Lesezeichen"; $a->strings["Manage Webpages"] = "Webseiten verwalten"; $a->strings["__ctx:noun__ Attending"] = array( - 0 => "Nimmt teil", - 1 => "Nehmen teil", + 0 => "Zusage", + 1 => "Zusagen", ); $a->strings["__ctx:noun__ Not Attending"] = array( - 0 => "Nimmt teil", - 1 => "Nehmen nicht teil", + 0 => "Absage", + 1 => "Absagen", ); $a->strings["__ctx:noun__ Undecided"] = array( 0 => " Unentschlossen", @@ -964,16 +965,16 @@ $a->strings["Recent Activity"] = "Kürzliche Aktivitäten"; $a->strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare"; $a->strings["Unblock"] = "Freigeben"; $a->strings["Block"] = "Blockieren"; -$a->strings["Block (or Unblock) all communications with this connection"] = "Blockiere oder lasse die komplette Kommunikation mit dieser Verbindung zu"; +$a->strings["Block (or Unblock) all communications with this connection"] = "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen"; $a->strings["Unignore"] = "Nicht ignorieren"; $a->strings["Ignore"] = "Ignorieren"; -$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignoriere oder lasse die komplette eingehende Kommunikation von dieser Verbindung zu"; +$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen"; $a->strings["Unarchive"] = "Aus Archiv zurückholen"; $a->strings["Archive"] = "Archivieren"; $a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)"; $a->strings["Unhide"] = "Wieder sichtbar machen"; $a->strings["Hide"] = "Verstecken"; -$a->strings["Hide or Unhide this connection from your other connections"] = "Verstecke oder zeige diese Verbindung vor anderen Verbindungen"; +$a->strings["Hide or Unhide this connection from your other connections"] = "Diese Verbindung vor anderen Verbindungen verstecken/zeigen"; $a->strings["Delete this connection"] = "Verbindung löschen"; $a->strings["Approve this connection"] = "Verbindung genehmigen"; $a->strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"; @@ -1067,10 +1068,13 @@ $a->strings["Event title and start time are required."] = "Titel und Startzeit d $a->strings["Event not found."] = "Termin nicht gefunden."; $a->strings["l, F j"] = "l, j. F"; $a->strings["Edit event"] = "Termin bearbeiten"; +$a->strings["Delete event"] = "Termin löschen"; $a->strings["Create New Event"] = "Neuen Termin erstellen"; $a->strings["Previous"] = "Voriges"; $a->strings["Next"] = "Nächste"; $a->strings["Export"] = "Exportieren"; +$a->strings["Event removed"] = "Termin gelöscht"; +$a->strings["Failed to remove event"] = "Termin konnte nicht gelöscht werden"; $a->strings["Event details"] = "Termin-Details"; $a->strings["Starting date and Title are required."] = "Startdatum und Titel sind erforderlich."; $a->strings["Categories (comma-separated list)"] = "Kategorien (Kommagetrennte Liste)"; @@ -1085,12 +1089,17 @@ $a->strings["Share this event"] = "Den Termin teilen"; $a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s folgt nun %2\$ss %3\$s"; $a->strings["Public Sites"] = "Öffentliche Server"; $a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links may provide additional details."] = "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten könnten nähere Details dazu stehen."; +$a->strings["Rate this hub"] = "Bewerte diesen Hub"; $a->strings["Site URL"] = "Server-URL"; $a->strings["Access Type"] = "Zugangstyp"; $a->strings["Registration Policy"] = "Registrierungsrichtlinien"; $a->strings["Location"] = "Ort"; +$a->strings["View hub ratings"] = "Bewertungen dieses Hubs ansehen"; +$a->strings["Rate"] = "Bewerten"; +$a->strings["View ratings"] = "Bewertungen ansehen"; $a->strings["Name is required"] = "Name ist erforderlich"; $a->strings["Key and Secret are required"] = "Schlüssel und Geheimnis werden benötigt"; +$a->strings["Diaspora Policy Settings updated."] = "Diaspora-Einstellungen aktualisiert."; $a->strings["Passwords do not match. Password unchanged."] = "Kennwörter stimmen nicht überein. Kennwort nicht verändert."; $a->strings["Empty passwords are not allowed. Password unchanged."] = "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."; $a->strings["Password changed."] = "Kennwort geändert."; @@ -1115,6 +1124,9 @@ $a->strings["No name"] = "Kein Name"; $a->strings["Remove authorization"] = "Authorisierung aufheben"; $a->strings["No feature settings configured"] = "Keine Funktions-Einstellungen konfiguriert"; $a->strings["Feature Settings"] = "Funktions-Einstellungen"; +$a->strings["Diaspora Policy Settings"] = "Diaspora-Einstellungen"; +$a->strings["Allow any Diaspora member to comment on your public posts."] = "Allen Diaspora-Mitgliedern erlauben, Deine öffentlichen Beiträge zu kommentieren."; +$a->strings["Submit Diaspora Policy Settings"] = "Diaspora-Einstellungen speichern"; $a->strings["Account Settings"] = "Konto-Einstellungen"; $a->strings["Password Settings"] = "Kennwort-Einstellungen"; $a->strings["New Password:"] = "Neues Passwort:"; @@ -1142,9 +1154,9 @@ $a->strings["Maximum of 100 items"] = "Maximum: 100 Beiträge"; $a->strings["Don't show emoticons"] = "Emoticons nicht anzeigen"; $a->strings["Link post titles to source"] = "Beitragstitel zum Originalbeitrag verlinken"; $a->strings["System Page Layout Editor - (advanced)"] = "System-Seitenlayout-Editor (für Experten)"; -$a->strings["Use blog/list mode on channel page"] = "Verwende den Blog-/Listenmodus auf der Kanalseite"; +$a->strings["Use blog/list mode on channel page"] = "Blog-/Listenmodus auf der Kanalseite verwenden"; $a->strings["(comments displayed separately)"] = "(Kommentare werden separat angezeigt)"; -$a->strings["Use blog/list mode on matrix page"] = "Verwende den Blog-/Listenmodus auf der Matrixseite"; +$a->strings["Use blog/list mode on matrix page"] = "Blog-/Listenmodus auf der Matrixseite verwenden"; $a->strings["Channel page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)"; $a->strings["click to expand content exceeding this height"] = "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden."; $a->strings["Matrix page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Matrixseite (in Pixeln)"; @@ -1464,6 +1476,7 @@ $a->strings["Forgot your Password?"] = "Kennwort vergessen?"; $a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail."; $a->strings["Email Address"] = "E-Mail Adresse"; $a->strings["Reset"] = "Zurücksetzen"; +$a->strings["Website:"] = "Webseite:"; $a->strings["Remote Channel [%s] (not yet known on this site)"] = "Kanal [%s] (auf diesem Server noch unbekannt)"; $a->strings["Total invitation limit exceeded."] = "Einladungslimit überschritten."; $a->strings["%s : Not a valid email address."] = "%s : Keine gültige Email Adresse."; @@ -1624,6 +1637,7 @@ $a->strings["Include desirable objects in your profile"] = "Binde begehrenswerte $a->strings["No ratings"] = "Keine Bewertungen"; $a->strings["Ratings"] = "Bewertungen"; $a->strings["Rating: "] = "Bewertung: "; +$a->strings["Website: "] = "Webseite: "; $a->strings["Description: "] = "Beschreibung: "; $a->strings["No potential page delegates located."] = "Keine potentiellen Bevollmächtigten für die Seite gefunden."; $a->strings["Delegate Page Management"] = "Delegiere das Management für diese Seite"; @@ -1952,7 +1966,7 @@ $a->strings["Flag as adult in album view"] = "In der Albumansicht als nicht juge $a->strings["In This Photo:"] = "Auf diesem Foto:"; $a->strings["View Album"] = "Album ansehen"; $a->strings["Recent Photos"] = "Neueste Fotos"; -$a->strings["sent you a private message"] = "eine private Nachricht schicken"; +$a->strings["sent you a private message"] = "hat Dir eine private Nachricht geschickt"; $a->strings["added your channel"] = "hat deinen Kanal hinzugefügt"; $a->strings["posted an event"] = "hat einen Termin veröffentlicht"; $a->strings["Bookmark added"] = "Lesezeichen hinzugefügt"; From f58b261a8cd092eb205c5ab2661d67efad495d52 Mon Sep 17 00:00:00 2001 From: zottel Date: Fri, 27 Feb 2015 13:54:13 +0100 Subject: [PATCH 039/242] fix link to siteinfo/json --- doc/main.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/main.bb b/doc/main.bb index 1fd234420..d8682d8ac 100644 --- a/doc/main.bb +++ b/doc/main.bb @@ -85,4 +85,4 @@ Zot is the great new communicaton protocol invented especially for the RedMatrix [size=large][b]About This RedMatrix Hub[/b][/size] [zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl] [zrl=[baseurl]/siteinfo]Hub Information (/siteinfo)[/zrl] -[zrl=[baseurl]/siteinfo_json]Detailed Technical Hub Information (/siteinfo_json)[/zrl] +[zrl=[baseurl]/siteinfo/json]Detailed Technical Hub Information in JSON format(/siteinfo/json)[/zrl] From 0d3a8b2d9480b5b25866a63dbd8082bfbf3b7b89 Mon Sep 17 00:00:00 2001 From: zottel Date: Fri, 27 Feb 2015 13:59:56 +0100 Subject: [PATCH 040/242] update German help files to current English contents --- doc/de/main.bb | 6 ++++++ doc/de/profiles.bb | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/de/main.bb b/doc/de/main.bb index 1106b750c..2d9ebdb70 100644 --- a/doc/de/main.bb +++ b/doc/de/main.bb @@ -59,6 +59,7 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die Red-Mat [zrl=[baseurl]/help/Translations]Übersetzungen[/zrl] [zrl=[baseurl]/help/developers]Entwickler[/zrl] [zrl=[baseurl]/help/intro_for_developers]Einführung für Entwickler[/zrl] +[zrl=[baseurl]/help/database]Datenbank-Schema[/zrl] [zrl=[baseurl]/help/api_functions]API-Funktionen[/zrl] [zrl=[baseurl]/help/api_posting]Mit der API einen Beitrag erstellen[/zrl] [zrl=[baseurl]/help/developer_function_primer]Übersicht der wichtigsten Red-Funktionen[/zrl] @@ -77,7 +78,12 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die Red-Mat [url=https://github.com/friendica/red]Haupt-Website[/url] [url=https://github.com/friendica/red-addons]Addons-Website[/url] [url=https://zothub.com/channel/one]Entwickler-Kanal[/url] +[url=https://federated.social/channel/postgres]Postgres-spezifischer Admin-Support-Kanal[/url] + [url=[baseurl]/help/credits]RedMatrix Credits[/url] + [size=large][b]Über diesen Red-Server[/b][/size] +[zrl=[baseurl]/help/TermsOfService]Nutzungsbedingungen dieses Red-Servers[/zrl] [zrl=[baseurl]/siteinfo]Informationen zu diesem Server und der Red-Version[/zrl] +[zrl=[baseurl]/siteinfo/json]Detaillierte technische Informationen zu diesem Server im JSON-Format[/zrl] diff --git a/doc/de/profiles.bb b/doc/de/profiles.bb index cc2d94fb6..262aeb6e2 100644 --- a/doc/de/profiles.bb +++ b/doc/de/profiles.bb @@ -14,8 +14,6 @@ Trotzdem: Wenn Du willst, dass Freunde Dich finden können, macht es Sinn, folge [*] Ein Foto, das auch wirklich Dich zeigt [*] Deinen Wohnort, oder zumindest Land oder Bundesland[/ul] -Ohne diese Informationen könnte es passieren, dass Du hier sehr einsam bist. Die meisten Leute verbinden sich nicht mit jemandem, von dem sie nur einen Fake-Namen und ein Foto sehen, das noch nicht einmal einen Menschen zeigt. - Wenn Du Leute kennenlernen möchtest, die ähnliche Interessen haben wie Du, nimm Dir einen Moment Zeit und füge einige Schlüsselwörter hinzu. Zum Beispiel „Musik, Linux, Fotografie“ oder was auch immer. Danach können andere dann im Verzeichnis suchen. Du kannst so viele Schlüsselwörter eingeben wie Du möchtest. Um alternative Profile zu erstellen, besuche zunächst die Seite [zrl=[baseurl]/settings/features]Einstellungen > Zusätzliche Funktionen[/zrl] und aktiviere dort „Mehrfachprofile“. Ohne diese Aktivierung hast Du nur ein Profil, nämlich Dein Standard-Profil. @@ -34,6 +32,9 @@ Wenn Du nicht möchtest, dass andere Dich finden können, ohne dass Du ihnen Dei Im Verzeichnis (Kanal-Anzeiger) kannst Du nach Leuten suchen, die ihre Profile veröffentlichen. Zum Beispiel, indem Du Namen oder Spitznamen eingibst. Aktuell werden nur das Namensfeld und die Schlüsselwörter durchsucht. Wenn Du Schlüsselwörter in Dein Standard-Profil einträgst, können Dich Leute mit ähnlichen Interessen finden. Sie werden außerdem bei den Kanal-Vorschlägen benutzt. Sie sind im Verzeichnis nicht direkt sichtbar, wohl aber auf Deiner Profil-Seite. -Auf Deiner „Verbindungen“-Seite und im Verzeichnis (Kanal-Anzeiger) gibt es einen Link „Vorschläge“ bzw. „Kanal-Vorschläge“. Dort findest Du Kanäle, die gleiche oder ähnliche Schlüsselwörter im Profil haben wie Du. Je mehr Schlüsselwörter Du in Dein Standard-Profil einträgst, desto besser werden die Suchergebnisse. Sie sind nach relevanz sortiert. +Auf Deiner „Verbindungen“-Seite und im Verzeichnis (Kanal-Anzeiger) gibt es einen Link „Vorschläge“ bzw. „Kanal-Vorschläge“. Dort findest Du Kanäle, die gleiche oder ähnliche Schlüsselwörter im Profil haben wie Du. Je mehr Schlüsselwörter Du in Dein Standard-Profil einträgst, desto besser werden die Suchergebnisse. Sie sind nach Relevanz sortiert. +Siehe auch: + +[zrl=[baseurl]/help/AdvancedSearch]Fortgeschrittene Suche[/zrl] #include doc/macros/main_footer.bb; From 2a74fab21a3e055a794ebef421eada79ca89c390 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 27 Feb 2015 13:41:41 -0800 Subject: [PATCH 041/242] weekly doxygen push --- doc/html/admin_8php.html | 20 ++ doc/html/admin_8php.js | 1 + doc/html/boot_8php.html | 12 +- doc/html/datetime_8php.html | 2 +- doc/html/dba__driver_8php.html | 4 +- .../dir_0d5ac3124d787e6297f47179aec2cdad.html | 112 +++++++ .../dir_0d5ac3124d787e6297f47179aec2cdad.js | 4 + .../dir_94ce3c0aa655f52cbce858751688d328.html | 114 +++++++ .../dir_94ce3c0aa655f52cbce858751688d328.js | 5 + .../dir_bf49406b6a987836ba4fe5618afdb371.html | 2 + .../dir_bf49406b6a987836ba4fe5618afdb371.js | 1 + .../dir_d44c64559bbebec7f509842c48db8b23.html | 2 - .../dir_d44c64559bbebec7f509842c48db8b23.js | 1 - ...dsuperhero_2occupant_2php_2style_8php.html | 112 +++++++ ...dsuperhero_2occupant_2php_2theme_8php.html | 144 +++++++++ ...eadsuperhero_2occupant_2php_2theme_8php.js | 4 + doc/html/extract_8php.html | 2 +- doc/html/files.html | 135 ++++---- doc/html/globals.html | 9 - doc/html/globals_0x61.html | 3 + doc/html/globals_0x63.html | 3 + doc/html/globals_0x6c.html | 2 +- doc/html/globals_0x6e.html | 3 +- doc/html/globals_0x6f.html | 3 + doc/html/globals_func_0x61.html | 3 + doc/html/globals_func_0x63.html | 3 + doc/html/globals_func_0x6c.html | 2 +- doc/html/globals_func_0x6f.html | 3 + doc/html/globals_vars.html | 9 - doc/html/globals_vars_0x6e.html | 3 +- doc/html/include_2config_8php.html | 2 +- doc/html/items_8php.html | 22 +- doc/html/items_8php.js | 1 + doc/html/language_8php.html | 2 +- doc/html/navtree.js | 20 +- doc/html/navtreeindex0.js | 30 +- doc/html/navtreeindex1.js | 4 +- doc/html/navtreeindex10.js | 144 ++++----- doc/html/navtreeindex2.js | 4 +- doc/html/navtreeindex3.js | 4 +- doc/html/navtreeindex4.js | 28 +- doc/html/navtreeindex5.js | 128 ++++---- doc/html/navtreeindex6.js | 222 ++++++------- doc/html/navtreeindex7.js | 194 ++++++------ doc/html/navtreeindex8.js | 166 +++++----- doc/html/navtreeindex9.js | 298 +++++++++--------- doc/html/regdir_8php.html | 2 + doc/html/search/all_24.js | 4 +- doc/html/search/all_61.js | 3 +- doc/html/search/all_63.js | 1 + doc/html/search/all_66.js | 1 - doc/html/search/all_6c.js | 2 +- doc/html/search/all_6e.js | 2 +- doc/html/search/all_6f.js | 1 + doc/html/search/all_73.js | 17 +- doc/html/search/all_74.js | 5 +- doc/html/search/files_66.js | 3 +- doc/html/search/files_73.js | 13 +- doc/html/search/files_74.js | 11 +- doc/html/search/functions_61.js | 1 + doc/html/search/functions_63.js | 1 + doc/html/search/functions_6c.js | 2 +- doc/html/search/functions_6f.js | 1 + doc/html/search/variables_24.js | 4 +- doc/html/search/variables_6e.js | 2 +- doc/html/text_8php.html | 18 +- doc/html/text_8php.js | 2 +- doc/html/typo_8php.html | 2 +- .../view_2theme_2apw_2php_2style_8php.html | 2 +- 69 files changed, 1324 insertions(+), 768 deletions(-) create mode 100644 doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.html create mode 100644 doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.js create mode 100644 doc/html/dir_94ce3c0aa655f52cbce858751688d328.html create mode 100644 doc/html/dir_94ce3c0aa655f52cbce858751688d328.js create mode 100644 doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2style_8php.html create mode 100644 doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.html create mode 100644 doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.js diff --git a/doc/html/admin_8php.html b/doc/html/admin_8php.html index 95e86c354..d1f23388e 100644 --- a/doc/html/admin_8php.html +++ b/doc/html/admin_8php.html @@ -128,6 +128,8 @@ Functions    admin_page_dbsync (&$a)   + admin_page_queue ($a) +   admin_page_users_post (&$a)    admin_page_users (&$a) @@ -397,6 +399,24 @@ Functions

    Referenced by admin_post().

    +
    +
    + +
    +
    + + + + + + + + +
    admin_page_queue ( $a)
    +
    + +

    Referenced by admin_content().

    +
    diff --git a/doc/html/admin_8php.js b/doc/html/admin_8php.js index 5b818c41d..90a01355f 100644 --- a/doc/html/admin_8php.js +++ b/doc/html/admin_8php.js @@ -11,6 +11,7 @@ var admin_8php = [ "admin_page_plugins", "admin_8php.html#a54128076986ba80c4a103de3fc3e19a8", null ], [ "admin_page_profs", "admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a", null ], [ "admin_page_profs_post", "admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057", null ], + [ "admin_page_queue", "admin_8php.html#a35ffa5d643e6a98fa844d6d02b408f89", null ], [ "admin_page_site", "admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e", null ], [ "admin_page_site_post", "admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f", null ], [ "admin_page_summary", "admin_8php.html#ac6e95b920b5abd030cc522964987087a", null ], diff --git a/doc/html/boot_8php.html b/doc/html/boot_8php.html index 6dd3a9a6b..47a982cc7 100644 --- a/doc/html/boot_8php.html +++ b/doc/html/boot_8php.html @@ -249,7 +249,7 @@ Variables   const ZOT_REVISION 1   -const DB_UPDATE_VERSION 1137 +const DB_UPDATE_VERSION 1138   const EOL '<br>' . "\r\n"   @@ -1134,7 +1134,7 @@ Variables

    Useful in functions which require it but don't get it passed to them

    Returns
    App
    -

    Referenced by FriendicaSmarty\__construct(), FriendicaSmartyEngine\__construct(), RedMatrix\RedDAV\RedDirectory\__construct(), abook_toggle_flag(), account_remove(), account_service_class_allows(), allowed_public_recips(), api_apply_template(), api_format_items(), api_get_user(), api_statuses_home_timeline(), api_statuses_repeat(), api_statuses_user_timeline(), api_user(), app_render(), app_store(), argc(), argv(), atom_entry(), authenticate_success(), avatar_img(), bbcode(), best_link_url(), build_sync_packet(), call_hooks(), can_comment_on_post(), categories_widget(), change_channel(), channel_remove(), check_form_security_token(), check_form_security_token_ForbiddenOnErr(), check_form_security_token_redirectOnErr(), check_htaccess(), RedMatrix\RedDAV\RedDirectory\childExists(), cli_suggest_run(), comanche_get_channel_id(), comanche_replace_region(), comanche_widget(), common_friends_visitor_widget(), connedit_content(), contact_block(), contact_select(), create_identity(), current_theme(), deliver_run(), design_tools(), diaspora_asphoto(), diaspora_comment(), diaspora_conversation(), diaspora_like(), diaspora_message(), diaspora_msg_build(), diaspora_photo(), diaspora_post(), diaspora_profile(), diaspora_pubmsg_build(), diaspora_request(), diaspora_reshare(), diaspora_send_followup(), diaspora_send_images(), diaspora_send_mail(), diaspora_send_relay(), diaspora_send_retraction(), diaspora_send_status(), diaspora_share(), diaspora_transmit(), diaspora_unshare(), dir_tagblock(), dirsearch_content(), drop_item(), editpost_content(), event_store_item(), externals_run(), file_activity(), fileas_widget(), findpeople_widget(), fix_attached_photo_permissions(), fix_private_photos(), format_event_diaspora(), RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex(), get_account_id(), get_best_language(), get_birthdays(), get_events(), get_feed_for(), get_form_security_token(), FriendicaSmartyEngine\get_intltext_template(), get_intltext_template(), get_markup_template(), get_observer_hash(), get_theme_config_file(), get_theme_screenshot(), RedMatrix\RedDAV\RedDirectory\getChild(), RedMatrix\RedDAV\RedDirectory\getDir(), gprobe_run(), group_select(), guess_image_type(), handle_tag(), head_add_css(), head_add_js(), head_get_css(), head_get_js(), head_remove_css(), head_remove_js(), ical_wrapper(), identity_selector(), import_channel_photo(), import_directory_profile(), import_post(), import_profile_photo(), import_xchan(), info(), insert_hook(), is_developer(), is_public_profile(), is_site_admin(), item_message_id(), item_photo_menu(), item_redir_and_replace_images(), item_store(), item_store_update(), items_fetch(), list_smilies(), load_contact_links(), load_hooks(), local_dir_update(), login(), FKOAuth1\loginUser(), manage_content(), map_scope(), menu_add_item(), menu_edit_item(), nav_set_selected(), new_contact(), notice(), notification(), notifier_run(), oembed_fetch_url(), oembed_format_object(), onedirsync_run(), onepoll_run(), page_init(), parse_app_description(), photos_album_widget(), ping_init(), poco_load(), poller_run(), post_activity_item(), preg_heart(), proc_run(), process_delivery(), process_location_delivery(), profile_activity(), profile_sidebar(), ratenotif_run(), recursive_activity_recipients(), register_page_template(), replace_macros(), rmagic_init(), rpost_callback(), scale_external_images(), scrape_feed(), scrape_vcard(), search(), send_message(), send_reg_approval_email(), send_status_notifications(), send_verification_email(), service_class_allows(), service_class_fetch(), siteinfo_init(), smilies(), store_diaspora_comment_sig(), tag_deliver(), tgroup_check(), theme_include(), tryzrlvideo(), tt(), update_suggestions(), user_allow(), user_approve(), vcard_from_xchan(), verify_email_address(), wfinger_init(), what_next(), widget_archive(), widget_catcloud_wall(), widget_categories(), widget_chatroom_list(), widget_collections(), widget_design_tools(), widget_filer(), widget_follow(), widget_fullprofile(), widget_mailmenu(), widget_menu_preview(), widget_photo_albums(), widget_photo_rand(), widget_profile(), widget_random_block(), widget_rating(), widget_savedsearch(), widget_settings_menu(), widget_tagcloud(), widget_tagcloud_wall(), widget_vcard(), z_fetch_url(), and zot_finger().

    +

    Referenced by FriendicaSmarty\__construct(), FriendicaSmartyEngine\__construct(), RedMatrix\RedDAV\RedDirectory\__construct(), abook_toggle_flag(), account_remove(), account_service_class_allows(), allowed_public_recips(), api_apply_template(), api_format_items(), api_get_user(), api_statuses_home_timeline(), api_statuses_repeat(), api_statuses_user_timeline(), api_user(), app_render(), app_store(), argc(), argv(), atom_entry(), authenticate_success(), avatar_img(), bbcode(), best_link_url(), build_sync_packet(), call_hooks(), can_comment_on_post(), categories_widget(), change_channel(), channel_remove(), check_form_security_token(), check_form_security_token_ForbiddenOnErr(), check_form_security_token_redirectOnErr(), check_htaccess(), RedMatrix\RedDAV\RedDirectory\childExists(), cli_suggest_run(), comanche_get_channel_id(), comanche_replace_region(), comanche_widget(), comment_local_origin(), common_friends_visitor_widget(), connedit_content(), contact_block(), contact_select(), create_identity(), current_theme(), deliver_run(), design_tools(), diaspora_asphoto(), diaspora_comment(), diaspora_conversation(), diaspora_like(), diaspora_message(), diaspora_msg_build(), diaspora_photo(), diaspora_post(), diaspora_profile(), diaspora_pubmsg_build(), diaspora_request(), diaspora_reshare(), diaspora_send_followup(), diaspora_send_images(), diaspora_send_mail(), diaspora_send_relay(), diaspora_send_retraction(), diaspora_send_status(), diaspora_share(), diaspora_transmit(), diaspora_unshare(), dir_tagblock(), dirsearch_content(), drop_item(), editpost_content(), event_store_item(), externals_run(), file_activity(), fileas_widget(), findpeople_widget(), fix_attached_photo_permissions(), fix_private_photos(), format_event_diaspora(), RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex(), get_account_id(), get_best_language(), get_birthdays(), get_events(), get_feed_for(), get_form_security_token(), FriendicaSmartyEngine\get_intltext_template(), get_intltext_template(), get_markup_template(), get_observer_hash(), get_theme_config_file(), get_theme_screenshot(), RedMatrix\RedDAV\RedDirectory\getChild(), RedMatrix\RedDAV\RedDirectory\getDir(), gprobe_run(), group_select(), guess_image_type(), handle_tag(), head_add_css(), head_add_js(), head_get_css(), head_get_js(), head_remove_css(), head_remove_js(), ical_wrapper(), identity_selector(), import_channel_photo(), import_directory_profile(), import_post(), import_profile_photo(), import_xchan(), info(), insert_hook(), is_developer(), is_public_profile(), is_site_admin(), item_message_id(), item_photo_menu(), item_redir_and_replace_images(), item_store(), item_store_update(), items_fetch(), list_smilies(), load_contact_links(), load_hooks(), local_dir_update(), login(), FKOAuth1\loginUser(), manage_content(), map_scope(), menu_add_item(), menu_edit_item(), nav_set_selected(), new_contact(), notice(), notification(), notifier_run(), oembed_fetch_url(), oembed_format_object(), onedirsync_run(), onepoll_run(), page_init(), parse_app_description(), photos_album_widget(), ping_init(), poco_load(), poller_run(), post_activity_item(), preg_heart(), proc_run(), process_delivery(), process_location_delivery(), profile_activity(), profile_sidebar(), ratenotif_run(), recursive_activity_recipients(), register_page_template(), replace_macros(), rmagic_init(), rpost_callback(), scale_external_images(), scrape_feed(), scrape_vcard(), search(), send_message(), send_reg_approval_email(), send_status_notifications(), send_verification_email(), service_class_allows(), service_class_fetch(), siteinfo_init(), smilies(), store_diaspora_comment_sig(), tag_deliver(), tgroup_check(), theme_include(), tryzrlvideo(), tt(), update_suggestions(), user_allow(), user_approve(), vcard_from_xchan(), verify_email_address(), wfinger_init(), what_next(), widget_archive(), widget_catcloud_wall(), widget_categories(), widget_chatroom_list(), widget_collections(), widget_design_tools(), widget_filer(), widget_follow(), widget_fullprofile(), widget_mailmenu(), widget_menu_preview(), widget_photo_albums(), widget_photo_rand(), widget_profile(), widget_random_block(), widget_rating(), widget_savedsearch(), widget_settings_menu(), widget_tagcloud(), widget_tagcloud_wall(), widget_vcard(), z_fetch_url(), and zot_finger().

    @@ -1846,7 +1846,7 @@ Variables
    See Also
    App::get_baseurl()
    Returns
    string
    -

    Referenced by admin_content(), admin_page_profs(), admin_page_profs_post(), allowed_public_recips(), app_render(), app_store(), app_update(), appman_post(), authenticate_success(), bb_parse_crypt(), bbcode(), blocks_content(), chanlink_cid(), chanlink_hash(), chanlink_url(), channel_content(), channel_remove(), chat_content(), chat_post(), chatsvc_content(), check_config(), connect_post(), connections_content(), connections_post(), conversation(), create_identity(), deliver_run(), diaspora_like(), diaspora_request(), directory_content(), discover_by_url(), discover_by_webbie(), display_content(), event_store_item(), events_content(), externals_run(), filestorage_content(), find_upstream_directory(), follow_init(), format_categories(), format_filer(), get_directory_primary(), get_parent_cloudpath(), Item\get_template_data(), RedMatrix\RedDAV\RedBrowser\getAssetUrl(), group_post(), handle_tag(), App\head_get_icon(), head_get_icon(), home_content(), home_init(), hostxrd_init(), import_post(), import_xchan(), invite_content(), item_photo_menu(), item_post(), item_store(), layouts_content(), like_content(), locs_post(), login_content(), lostpass_content(), lostpass_post(), magic_init(), magiclink_url(), mail_post(), manage_content(), menu_content(), menu_post(), mitem_content(), mitem_post(), mood_init(), nav(), navbar_complete(), network_content(), new_channel_post(), notification(), notifications_post(), notifier_run(), oembed_iframe(), openid_content(), pagelist_widget(), parse_app_description(), pdledit_post(), photo_upload(), photos_album_widget(), photos_albums_list(), photos_create_item(), photos_list_photos(), poll_content(), poller_run(), post_activity_item(), post_init(), post_post(), profile_activity(), profile_sidebar(), public_recips(), pubsites_content(), rbmark_content(), rbmark_post(), reflect_article_callback(), reflect_comment_store(), reflect_photo_callback(), regdir_init(), register_post(), remove_obsolete_hublocs(), removeaccount_content(), removeme_content(), rmagic_init(), rmagic_post(), rpost_content(), script_path(), search_content(), searchbox(), send_reg_approval_email(), send_verification_email(), setup_content(), setup_post(), sharedwithme_content(), siteinfo_content(), siteinfo_init(), sources_content(), sources_post(), sslify(), sync_directories(), tagger_content(), theme_attachments(), thing_init(), toggle_safesearch_init(), update_suggestions(), user_allow(), vcard_from_xchan(), verify_email_address(), webpages_content(), wfinger_init(), widget_archive(), widget_chatroom_list(), widget_dirtags(), widget_filer(), widget_savedsearch(), widget_suggestions(), xchan_store(), xref_init(), zfinger_init(), zid_init(), zot_build_packet(), zot_fetch(), zot_new_uid(), and zot_refresh().

    +

    Referenced by admin_content(), admin_page_profs(), admin_page_profs_post(), allowed_public_recips(), app_render(), app_store(), app_update(), appman_post(), authenticate_success(), bb_parse_crypt(), bbcode(), blocks_content(), chanlink_cid(), chanlink_hash(), chanlink_url(), channel_content(), channel_remove(), chat_content(), chat_post(), chatsvc_content(), check_config(), connect_post(), connections_content(), connections_post(), conversation(), create_identity(), deliver_run(), diaspora_like(), diaspora_request(), directory_content(), discover_by_url(), discover_by_webbie(), display_content(), event_store_item(), events_content(), externals_run(), filestorage_content(), find_upstream_directory(), follow_init(), format_categories(), format_filer(), get_directory_primary(), get_parent_cloudpath(), Item\get_template_data(), RedMatrix\RedDAV\RedBrowser\getAssetUrl(), group_post(), handle_tag(), App\head_get_icon(), head_get_icon(), home_content(), home_init(), hostxrd_init(), import_post(), import_xchan(), invite_content(), item_photo_menu(), item_post(), item_store(), layouts_content(), like_content(), locs_post(), login_content(), lostpass_content(), lostpass_post(), magic_init(), magiclink_url(), mail_post(), manage_content(), menu_content(), menu_post(), mitem_content(), mitem_post(), mood_init(), nav(), navbar_complete(), network_content(), new_channel_post(), notification(), notifications_post(), notifier_run(), oembed_iframe(), openid_content(), pagelist_widget(), parse_app_description(), pdledit_post(), photo_upload(), photos_album_widget(), photos_albums_list(), photos_create_item(), photos_list_photos(), poll_content(), poller_run(), post_activity_item(), post_init(), post_post(), profile_activity(), profile_sidebar(), public_recips(), pubsites_content(), ratenotif_run(), rbmark_content(), rbmark_post(), reflect_article_callback(), reflect_comment_store(), reflect_photo_callback(), regdir_init(), register_post(), remove_obsolete_hublocs(), removeaccount_content(), removeme_content(), rmagic_init(), rmagic_post(), rpost_content(), script_path(), search_content(), searchbox(), send_reg_approval_email(), send_verification_email(), setup_content(), setup_post(), sharedwithme_content(), siteinfo_content(), siteinfo_init(), sources_content(), sources_post(), sslify(), sync_directories(), tagger_content(), theme_attachments(), thing_init(), toggle_safesearch_init(), update_suggestions(), user_allow(), vcard_from_xchan(), verify_email_address(), webpages_content(), wfinger_init(), widget_archive(), widget_chatroom_list(), widget_dirtags(), widget_filer(), widget_savedsearch(), widget_suggestions(), xchan_store(), xref_init(), zfinger_init(), zid_init(), zot_build_packet(), zot_fetch(), zot_new_uid(), and zot_refresh().

    @@ -2773,7 +2773,7 @@ Variables
    - +
    const DB_UPDATE_VERSION 1137const DB_UPDATE_VERSION 1138
    @@ -3311,7 +3311,7 @@ Variables
    @@ -3459,7 +3459,7 @@ Variables diff --git a/doc/html/datetime_8php.html b/doc/html/datetime_8php.html index a21414b08..cbc160c85 100644 --- a/doc/html/datetime_8php.html +++ b/doc/html/datetime_8php.html @@ -307,7 +307,7 @@ Functions
    -

    Referenced by abook_toggle_flag(), advanced_profile(), age(), api_account_rate_limit_status(), api_date(), api_rss_extra(), atom_entry(), attach_delete(), attach_mkdir(), attach_store(), authenticate_success(), build_sync_packet(), cal(), channel_content(), channel_remove(), chat_message(), chatroom_create(), chatroom_enter(), chatsvc_content(), chatsvc_post(), Cache\clear(), comments_are_now_closed(), connedit_post(), consume_feed(), conversation(), create_account(), create_identity(), RedMatrix\RedDAV\RedDirectory\createFile(), cronhooks_run(), delete_item_lowlevel(), deliver_run(), diaspora_asphoto(), diaspora_comment(), diaspora_conversation(), diaspora_message(), diaspora_post(), diaspora_profile(), diaspora_request(), diaspora_reshare(), diaspora_send_images(), diaspora_send_mail(), diaspora_send_status(), diaspora_transmit(), directory_run(), dirsearch_content(), discover_by_url(), discover_by_webbie(), dlogger(), dob(), editpost_content(), ev_compare(), event_store_event(), events_content(), events_post(), externals_run(), first_post_date(), fix_system_urls(), format_event_diaspora(), format_event_html(), format_event_ical(), fsuggest_post(), RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex(), get_atom_elements(), get_birthdays(), get_events(), get_feed_for(), get_first_dim(), get_item_elements(), get_mail_elements(), get_profile_elements(), get_public_feed(), Item\get_template_data(), RedMatrix\RedDAV\RedFile\getLastModified(), RedMatrix\RedDAV\RedDirectory\getLastModified(), home_content(), impel_init(), import_author_rss(), import_author_unknown(), import_directory_profile(), import_post(), import_site(), import_xchan(), invite_post(), item_post(), item_store(), item_store_update(), items_fetch(), list_post_dates(), log_failed_login(), logger(), magic_init(), mail_content(), mail_post(), mail_store(), manage_content(), message_content(), network_content(), new_contact(), notification(), notifier_run(), onepoll_run(), openid_content(), p_init(), pagelist_widget(), photo_upload(), photos_post(), ping_init(), poco_load(), poller_run(), post_post(), posted_dates(), prate_post(), process_rating_delivery(), profile_photo_post(), profiles_content(), profiles_post(), prune_hub_reinstalls(), pubsubhubbub_init(), RedMatrix\RedDAV\RedFile\put(), dba_mysql\q(), dba_mysqli\q(), dba_postgres\q(), queue_run(), rate_post(), ratenotif_run(), relative_date(), removeaccount_post(), removeme_post(), photo_driver\save(), send_message(), send_reg_approval_email(), Cache\set(), settings_post(), photo_driver\store(), sync_directories(), sync_locations(), tag_deliver(), update_birthdays(), update_directory_entry(), update_modtime(), update_queue_time(), verify_email_address(), webpages_content(), widget_archive(), xchan_store(), z_birthday(), zot_feed(), zot_process_message_request(), zot_process_response(), zot_refresh(), and zotfeed_init().

    +

    Referenced by abook_toggle_flag(), advanced_profile(), age(), api_account_rate_limit_status(), api_date(), api_rss_extra(), atom_entry(), attach_delete(), attach_mkdir(), attach_store(), authenticate_success(), build_sync_packet(), cal(), channel_content(), channel_remove(), chat_message(), chatroom_create(), chatroom_enter(), chatsvc_content(), chatsvc_post(), Cache\clear(), comments_are_now_closed(), connedit_post(), consume_feed(), conversation(), create_account(), create_identity(), RedMatrix\RedDAV\RedDirectory\createFile(), cronhooks_run(), delete_item_lowlevel(), deliver_run(), diaspora_asphoto(), diaspora_comment(), diaspora_conversation(), diaspora_message(), diaspora_post(), diaspora_profile(), diaspora_request(), diaspora_reshare(), diaspora_send_images(), diaspora_send_mail(), diaspora_send_status(), diaspora_transmit(), directory_run(), dirsearch_content(), discover_by_url(), discover_by_webbie(), dlogger(), dob(), editpost_content(), ev_compare(), event_store_event(), events_content(), events_post(), externals_run(), first_post_date(), fix_system_urls(), format_event_diaspora(), format_event_html(), format_event_ical(), fsuggest_post(), RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex(), get_atom_elements(), get_birthdays(), get_events(), get_feed_for(), get_first_dim(), get_item_elements(), get_mail_elements(), get_profile_elements(), get_public_feed(), Item\get_template_data(), RedMatrix\RedDAV\RedFile\getLastModified(), RedMatrix\RedDAV\RedDirectory\getLastModified(), home_content(), impel_init(), import_author_rss(), import_author_unknown(), import_directory_profile(), import_post(), import_site(), import_xchan(), invite_post(), item_post(), item_store(), item_store_update(), items_fetch(), list_post_dates(), log_failed_login(), logger(), magic_init(), mail_content(), mail_post(), mail_store(), manage_content(), message_content(), network_content(), new_contact(), notification(), notifier_run(), onepoll_run(), openid_content(), p_init(), pagelist_widget(), photo_upload(), photos_post(), ping_init(), poco_load(), poller_run(), post_post(), posted_dates(), prate_post(), process_rating_delivery(), profile_photo_post(), profiles_content(), profiles_post(), prune_hub_reinstalls(), pubsubhubbub_init(), RedMatrix\RedDAV\RedFile\put(), dba_mysql\q(), dba_mysqli\q(), dba_postgres\q(), queue_run(), rate_post(), ratenotif_run(), regdir_init(), relative_date(), removeaccount_post(), removeme_post(), photo_driver\save(), send_message(), send_reg_approval_email(), Cache\set(), settings_post(), photo_driver\store(), sync_directories(), sync_locations(), tag_deliver(), update_birthdays(), update_directory_entry(), update_modtime(), update_queue_time(), verify_email_address(), webpages_content(), widget_archive(), xchan_store(), z_birthday(), zot_feed(), zot_process_message_request(), zot_process_response(), zot_refresh(), and zotfeed_init().

    diff --git a/doc/html/dba__driver_8php.html b/doc/html/dba__driver_8php.html index f23b8b49c..900b6d1c2 100644 --- a/doc/html/dba__driver_8php.html +++ b/doc/html/dba__driver_8php.html @@ -459,7 +459,7 @@ Functions @@ -575,7 +575,7 @@ Functions
    Returns
    bool|array
    -

    Referenced by abook_connections(), abook_self(), abook_toggle_flag(), account_remove(), account_service_class_allows(), account_service_class_fetch(), account_total(), account_verify_password(), achievements_content(), acl_init(), add_source_route(), admin_content(), admin_page_channels(), admin_page_channels_post(), admin_page_dbsync(), admin_page_hubloc(), admin_page_hubloc_post(), admin_page_profs(), admin_page_profs_post(), admin_page_summary(), admin_page_users(), admin_page_users_post(), advanced_profile(), all_friends(), allowed_public_recips(), api_direct_messages_box(), api_direct_messages_new(), api_favorites(), api_ff_ids(), api_format_items(), api_get_user(), api_group(), api_group_members(), api_login(), api_status_show(), api_statuses_destroy(), api_statuses_f(), api_statuses_home_timeline(), api_statuses_mentions(), api_statuses_public_timeline(), api_statuses_repeat(), api_statuses_show(), api_user(), api_users_show(), app_destroy(), app_installed(), app_list(), app_store(), app_update(), appman_content(), attach_by_hash(), attach_by_hash_nodata(), attach_change_permissions(), attach_count_files(), attach_delete(), attach_init(), attach_list_files(), attach_mkdir(), attach_store(), authenticate_success(), bb2diaspora_itemwallwall(), bb2dmention_callback(), block_content(), blocks_content(), bookmark_add(), bookmarks_init(), build_sync_packet(), call_hooks(), catblock(), categories_widget(), change_channel(), channel_content(), channel_remove(), channel_total(), channelx_by_hash(), channelx_by_n(), channelx_by_nick(), chanview_content(), chat_content(), chat_message(), chat_post(), chatroom_create(), chatroom_destroy(), chatroom_enter(), chatroom_leave(), chatroom_list(), chatroom_list_count(), chatsvc_content(), chatsvc_init(), chatsvc_post(), check_account_email(), check_account_invite(), check_config(), check_item_source(), check_webbie(), Cache\clear(), collect_recipients(), comanche_block(), common_friends(), common_friends_zcid(), common_init(), connect_init(), connect_post(), connections_content(), connections_post(), connedit_content(), connedit_init(), connedit_post(), consume_feed(), contact_block(), contact_profile_assign(), contact_remove(), contact_select(), contactgroup_content(), count_all_friends(), count_common_friends(), count_common_friends_zcid(), create_account(), create_identity(), RedMatrix\RedDAV\RedDirectory\createDirectory(), RedMatrix\RedDAV\RedDirectory\createFile(), current_theme(), del_config(), del_pconfig(), del_xconfig(), delegate_content(), delete_imported_item(), delete_item_lowlevel(), deliver_run(), diaspora_asphoto(), diaspora_comment(), diaspora_conversation(), diaspora_dispatch_public(), diaspora_get_contact_by_handle(), diaspora_handle_from_contact(), diaspora_like(), diaspora_mention_callback(), diaspora_message(), diaspora_photo(), diaspora_post(), diaspora_process_outbound(), diaspora_profile(), diaspora_request(), diaspora_reshare(), diaspora_retraction(), diaspora_send_followup(), diaspora_send_images(), diaspora_send_mail(), diaspora_send_relay(), diaspora_share(), diaspora_signed_retraction(), diaspora_transmit(), dir_parse_query(), dir_tagadelic(), directory_content(), directory_init(), directory_run(), dirsearch_content(), discover_by_url(), discover_by_webbie(), display_content(), downgrade_accounts(), drop_item(), editblock_content(), editlayout_content(), editpost_content(), editwebpage_content(), encode_item(), event_addtocal(), event_store_event(), event_store_item(), events_content(), events_post(), expand_groups(), expire_run(), externals_run(), fbrowser_content(), feed_init(), fetch_post_tags(), file_activity(), fileas_widget(), filer_content(), filerm_content(), filestorage_content(), filter_insecure(), find_diaspora_person_by_handle(), find_filename_by_hash(), find_folder_hash_by_attach_hash(), RedMatrix\RedDAV\RedBrowser\findAttachHash(), RedMatrix\RedDAV\RedBrowser\findAttachIdByHash(), first_post_date(), fix_attached_photo_permissions(), fix_private_photos(), fix_system_urls(), fsuggest_content(), fsuggest_post(), RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex(), Cache\get(), RedMatrix\RedDAV\RedFile\get(), get_all_perms(), get_birthdays(), get_channel_by_nick(), get_channel_default_perms(), get_cloudpath(), get_config_from_storage(), get_events(), get_file_activity_object(), get_item_elements(), get_online_status(), get_sys_channel(), get_things(), get_words(), RedMatrix\RedDAV\RedDirectory\getDir(), RedMatrix\RedDAV\RedDirectory\getLastModified(), RedMatrix\RedDAV\RedDirectory\getQuotaInfo(), gprobe_run(), group_add(), group_add_member(), group_byname(), group_content(), group_get_members(), group_post(), group_rec_byhash(), group_rmv(), group_rmv_member(), group_select(), group_side(), groups_containing(), handle_feed(), handle_tag(), hcard_init(), home_content(), hubloc_change_primary(), identity_basic_export(), identity_check_service_class(), identity_selector(), impel_init(), import_author_diaspora(), import_author_rss(), import_author_unknown(), import_author_zot(), import_directory_keywords(), import_directory_profile(), import_post(), import_profile_photo(), import_site(), import_xchan(), in_group(), install_plugin(), invite_post(), is_matrix_url(), is_sys_channel(), item_add_cid(), item_check_service_class(), item_content(), item_expire(), item_message_id(), item_post(), item_remove_cid(), item_store(), item_store_update(), items_fetch(), layout_select(), layouts_content(), like_content(), list_public_sites(), load_config(), load_contact_links(), load_hooks(), load_pconfig(), load_plugin(), load_translation_table(), load_xconfig(), local_dir_update(), lockview_content(), locs_content(), locs_post(), FKOAuth1\loginUser(), FKOAuthDataStore\lookup_consumer(), FKOAuthDataStore\lookup_nonce(), FKOAuthDataStore\lookup_token(), lostpass_content(), lostpass_post(), magic_init(), mail_content(), mail_store(), manage_content(), mark_orphan_hubsxchans(), match_content(), match_openid(), member_of(), menu_add_item(), menu_create(), menu_del_item(), menu_delete(), menu_delete_id(), menu_edit(), menu_edit_item(), menu_fetch(), menu_fetch_id(), menu_list(), menu_list_count(), mimetype_select(), mini_group_select(), mitem_content(), mood_init(), msearch_post(), nav(), netgrowth_content(), network_content(), FKOAuthDataStore\new_access_token(), new_contact(), new_cookie(), FKOAuthDataStore\new_request_token(), notification(), notifications_content(), notifications_off(), notifications_on(), notifications_post(), notifier_run(), notify_content(), notify_init(), oauth_get_client(), onedirsync_run(), onepoll_run(), openid_content(), p_init(), page_init(), pagelist_widget(), pdl_selector(), perm_is_allowed(), photo_init(), photo_new_resource(), photo_upload(), photos_album_exists(), photos_album_get_db_idstr(), photos_album_rename(), photos_albums_list(), photos_content(), photos_list_photos(), photos_post(), ping_init(), plugin_is_installed(), poco(), poco_load(), poke_content(), poke_init(), poll_content(), poll_post(), poller_run(), post_activity_item(), post_init(), post_post(), prate_init(), prate_post(), private_messages_drop(), private_messages_fetch_conversation(), private_messages_fetch_message(), private_messages_list(), process_channel_sync_delivery(), process_delivery(), process_location_delivery(), process_mail_delivery(), process_profile_delivery(), process_rating_delivery(), profile_init(), profile_load(), profile_photo_post(), profile_photo_set_profile_perms(), profile_sidebar(), profiles_content(), profiles_init(), profiles_post(), profperm_content(), prune_hub_reinstalls(), public_recips(), pubsub_init(), pubsub_post(), pubsubhubbub_init(), RedMatrix\RedDAV\RedFile\put(), queue_run(), random_profile(), rate_content(), rate_init(), rate_post(), ratenotif_run(), ratingsearch_init(), rconnect_url(), receive_post(), recursive_activity_recipients(), RedChannelList(), RedCollectionData(), RedFileData(), ref_session_destroy(), ref_session_gc(), ref_session_read(), ref_session_write(), refimport_content(), reflect_comment_store(), reflect_get_channel(), regdir_init(), register_content(), register_hook(), register_post(), reload_plugins(), remote_online_status(), remove_all_xchan_resources(), remove_community_tag(), remove_obsolete_hublocs(), remove_queue_item(), retain_item(), rmagic_init(), rmagic_post(), rpost_content(), photo_driver\save(), search_ac_init(), search_content(), send_message(), send_reg_approval_email(), send_status_notifications(), service_class_allows(), service_class_fetch(), Cache\set(), set_config(), set_default_login_identity(), set_pconfig(), set_xconfig(), RedMatrix\RedDAV\RedFile\setName(), RedMatrix\RedDAV\RedDirectory\setName(), settings_post(), setup_content(), share_init(), sharedwithme_content(), siteinfo_content(), siteinfo_init(), sitelist_init(), sources_content(), sources_post(), starred_init(), start_delivery_chain(), photo_driver\store(), store_diaspora_comment_sig(), store_item_tag(), stream_perms_api_uids(), stream_perms_xchans(), subthread_content(), suggest_init(), suggestion_query(), sync_directories(), sync_locations(), tag_deliver(), tagadelic(), tagger_content(), tagrm_content(), tagrm_post(), tgroup_check(), thing_content(), thing_init(), uninstall_plugin(), unregister_hook(), update_birthdays(), update_channels_active_halfyear_stat(), update_channels_active_monthly_stat(), update_channels_total_stat(), update_directory_entry(), update_local_posts_stat(), update_modtime(), update_queue_time(), update_remote_id(), update_suggestions(), user_allow(), user_approve(), user_deny(), RedMatrix\RedDAV\RedBasicAuth\validateUserPass(), vcard_from_xchan(), verify_email_address(), viewconnections_content(), viewsrc_content(), vote_content(), vote_init(), vote_post(), webpages_content(), wfinger_init(), widget_bookmarkedchats(), widget_filer(), widget_follow(), widget_item(), widget_random_block(), widget_savedsearch(), widget_settings_menu(), widget_suggestedchats(), wtagblock(), xchan_content(), xchan_fetch(), xchan_mail_query(), xchan_query(), xchan_store(), xrd_init(), z_input_filter(), z_readdir(), zfinger_init(), zid_init(), zot_feed(), zot_finger(), zot_get_hublocs(), zot_gethub(), zot_import(), zot_process_message_request(), zot_process_response(), zot_refresh(), and zotfeed_init().

    +

    Referenced by abook_connections(), abook_self(), abook_toggle_flag(), account_remove(), account_service_class_allows(), account_service_class_fetch(), account_total(), account_verify_password(), achievements_content(), acl_init(), add_source_route(), admin_content(), admin_page_channels(), admin_page_channels_post(), admin_page_dbsync(), admin_page_hubloc(), admin_page_hubloc_post(), admin_page_profs(), admin_page_profs_post(), admin_page_queue(), admin_page_summary(), admin_page_users(), admin_page_users_post(), advanced_profile(), all_friends(), allowed_public_recips(), api_direct_messages_box(), api_direct_messages_new(), api_favorites(), api_ff_ids(), api_format_items(), api_get_user(), api_group(), api_group_members(), api_login(), api_status_show(), api_statuses_destroy(), api_statuses_f(), api_statuses_home_timeline(), api_statuses_mentions(), api_statuses_public_timeline(), api_statuses_repeat(), api_statuses_show(), api_user(), api_users_show(), app_destroy(), app_installed(), app_list(), app_store(), app_update(), appman_content(), attach_by_hash(), attach_by_hash_nodata(), attach_change_permissions(), attach_count_files(), attach_delete(), attach_init(), attach_list_files(), attach_mkdir(), attach_store(), authenticate_success(), bb2diaspora_itemwallwall(), bb2dmention_callback(), block_content(), blocks_content(), bookmark_add(), bookmarks_init(), build_sync_packet(), call_hooks(), catblock(), categories_widget(), change_channel(), channel_content(), channel_remove(), channel_total(), channelx_by_hash(), channelx_by_n(), channelx_by_nick(), chanview_content(), chat_content(), chat_message(), chat_post(), chatroom_create(), chatroom_destroy(), chatroom_enter(), chatroom_leave(), chatroom_list(), chatroom_list_count(), chatsvc_content(), chatsvc_init(), chatsvc_post(), check_account_email(), check_account_invite(), check_config(), check_item_source(), check_webbie(), Cache\clear(), collect_recipients(), comanche_block(), common_friends(), common_friends_zcid(), common_init(), connect_init(), connect_post(), connections_content(), connections_post(), connedit_content(), connedit_init(), connedit_post(), consume_feed(), contact_block(), contact_profile_assign(), contact_remove(), contact_select(), contactgroup_content(), count_all_friends(), count_common_friends(), count_common_friends_zcid(), create_account(), create_identity(), RedMatrix\RedDAV\RedDirectory\createDirectory(), RedMatrix\RedDAV\RedDirectory\createFile(), current_theme(), del_config(), del_pconfig(), del_xconfig(), delegate_content(), delete_imported_item(), delete_item_lowlevel(), deliver_run(), diaspora_asphoto(), diaspora_comment(), diaspora_conversation(), diaspora_dispatch_public(), diaspora_get_contact_by_handle(), diaspora_handle_from_contact(), diaspora_like(), diaspora_mention_callback(), diaspora_message(), diaspora_photo(), diaspora_post(), diaspora_process_outbound(), diaspora_profile(), diaspora_request(), diaspora_reshare(), diaspora_retraction(), diaspora_send_followup(), diaspora_send_images(), diaspora_send_mail(), diaspora_send_relay(), diaspora_share(), diaspora_signed_retraction(), diaspora_transmit(), dir_parse_query(), dir_tagadelic(), directory_content(), directory_init(), directory_run(), dirsearch_content(), discover_by_url(), discover_by_webbie(), display_content(), downgrade_accounts(), drop_item(), editblock_content(), editlayout_content(), editpost_content(), editwebpage_content(), encode_item(), event_addtocal(), event_store_event(), event_store_item(), events_content(), events_post(), expand_groups(), expire_run(), externals_run(), fbrowser_content(), feed_init(), fetch_post_tags(), file_activity(), fileas_widget(), filer_content(), filerm_content(), filestorage_content(), filter_insecure(), find_diaspora_person_by_handle(), find_filename_by_hash(), find_folder_hash_by_attach_hash(), RedMatrix\RedDAV\RedBrowser\findAttachHash(), RedMatrix\RedDAV\RedBrowser\findAttachIdByHash(), first_post_date(), fix_attached_photo_permissions(), fix_private_photos(), fix_system_urls(), fsuggest_content(), fsuggest_post(), RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex(), Cache\get(), RedMatrix\RedDAV\RedFile\get(), get_all_perms(), get_birthdays(), get_channel_by_nick(), get_channel_default_perms(), get_cloudpath(), get_config_from_storage(), get_events(), get_file_activity_object(), get_item_elements(), get_online_status(), get_sys_channel(), get_things(), get_words(), RedMatrix\RedDAV\RedDirectory\getDir(), RedMatrix\RedDAV\RedDirectory\getLastModified(), RedMatrix\RedDAV\RedDirectory\getQuotaInfo(), gprobe_run(), group_add(), group_add_member(), group_byname(), group_content(), group_get_members(), group_post(), group_rec_byhash(), group_rmv(), group_rmv_member(), group_select(), group_side(), groups_containing(), handle_feed(), handle_tag(), hcard_init(), home_content(), hubloc_change_primary(), identity_basic_export(), identity_check_service_class(), identity_selector(), impel_init(), import_author_diaspora(), import_author_rss(), import_author_unknown(), import_author_zot(), import_directory_keywords(), import_directory_profile(), import_post(), import_profile_photo(), import_site(), import_xchan(), in_group(), install_plugin(), invite_post(), is_matrix_url(), is_sys_channel(), item_add_cid(), item_check_service_class(), item_content(), item_expire(), item_message_id(), item_post(), item_remove_cid(), item_store(), item_store_update(), items_fetch(), layout_select(), layouts_content(), like_content(), list_public_sites(), load_config(), load_contact_links(), load_hooks(), load_pconfig(), load_plugin(), load_translation_table(), load_xconfig(), local_dir_update(), lockview_content(), locs_content(), locs_post(), FKOAuth1\loginUser(), FKOAuthDataStore\lookup_consumer(), FKOAuthDataStore\lookup_nonce(), FKOAuthDataStore\lookup_token(), lostpass_content(), lostpass_post(), magic_init(), mail_content(), mail_store(), manage_content(), mark_orphan_hubsxchans(), match_content(), match_openid(), member_of(), menu_add_item(), menu_create(), menu_del_item(), menu_delete(), menu_delete_id(), menu_edit(), menu_edit_item(), menu_fetch(), menu_fetch_id(), menu_list(), menu_list_count(), mimetype_select(), mini_group_select(), mitem_content(), mood_init(), msearch_post(), nav(), netgrowth_content(), network_content(), FKOAuthDataStore\new_access_token(), new_contact(), new_cookie(), FKOAuthDataStore\new_request_token(), notification(), notifications_content(), notifications_off(), notifications_on(), notifications_post(), notifier_run(), notify_content(), notify_init(), oauth_get_client(), onedirsync_run(), onepoll_run(), openid_content(), p_init(), page_init(), pagelist_widget(), pdl_selector(), perm_is_allowed(), photo_init(), photo_new_resource(), photo_upload(), photos_album_exists(), photos_album_get_db_idstr(), photos_album_rename(), photos_albums_list(), photos_content(), photos_list_photos(), photos_post(), ping_init(), plugin_is_installed(), poco(), poco_load(), poke_content(), poke_init(), poll_content(), poll_post(), poller_run(), post_activity_item(), post_init(), post_post(), prate_init(), prate_post(), private_messages_drop(), private_messages_fetch_conversation(), private_messages_fetch_message(), private_messages_list(), process_channel_sync_delivery(), process_delivery(), process_location_delivery(), process_mail_delivery(), process_profile_delivery(), process_rating_delivery(), profile_init(), profile_load(), profile_photo_post(), profile_photo_set_profile_perms(), profile_sidebar(), profiles_content(), profiles_init(), profiles_post(), profperm_content(), prune_hub_reinstalls(), public_recips(), pubsub_init(), pubsub_post(), pubsubhubbub_init(), RedMatrix\RedDAV\RedFile\put(), queue_run(), random_profile(), rate_content(), rate_init(), rate_post(), ratenotif_run(), ratingsearch_init(), rconnect_url(), receive_post(), recursive_activity_recipients(), RedChannelList(), RedCollectionData(), RedFileData(), ref_session_destroy(), ref_session_gc(), ref_session_read(), ref_session_write(), refimport_content(), reflect_comment_store(), reflect_get_channel(), regdir_init(), register_content(), register_hook(), register_post(), reload_plugins(), remote_online_status(), remove_all_xchan_resources(), remove_community_tag(), remove_obsolete_hublocs(), remove_queue_item(), retain_item(), rmagic_init(), rmagic_post(), rpost_content(), photo_driver\save(), search_ac_init(), search_content(), send_message(), send_reg_approval_email(), send_status_notifications(), service_class_allows(), service_class_fetch(), Cache\set(), set_config(), set_default_login_identity(), set_pconfig(), set_xconfig(), RedMatrix\RedDAV\RedFile\setName(), RedMatrix\RedDAV\RedDirectory\setName(), settings_post(), setup_content(), share_init(), sharedwithme_content(), siteinfo_content(), siteinfo_init(), sitelist_init(), sources_content(), sources_post(), starred_init(), start_delivery_chain(), photo_driver\store(), store_diaspora_comment_sig(), store_item_tag(), stream_perms_api_uids(), stream_perms_xchans(), subthread_content(), suggest_init(), suggestion_query(), sync_directories(), sync_locations(), tag_deliver(), tagadelic(), tagger_content(), tagrm_content(), tagrm_post(), tgroup_check(), thing_content(), thing_init(), uninstall_plugin(), unregister_hook(), update_birthdays(), update_channels_active_halfyear_stat(), update_channels_active_monthly_stat(), update_channels_total_stat(), update_directory_entry(), update_local_posts_stat(), update_modtime(), update_queue_time(), update_remote_id(), update_suggestions(), user_allow(), user_approve(), user_deny(), RedMatrix\RedDAV\RedBasicAuth\validateUserPass(), vcard_from_xchan(), verify_email_address(), viewconnections_content(), viewsrc_content(), vote_content(), vote_init(), vote_post(), webpages_content(), wfinger_init(), widget_bookmarkedchats(), widget_filer(), widget_follow(), widget_item(), widget_random_block(), widget_savedsearch(), widget_settings_menu(), widget_suggestedchats(), wtagblock(), xchan_content(), xchan_fetch(), xchan_mail_query(), xchan_query(), xchan_store(), xrd_init(), z_input_filter(), z_readdir(), zfinger_init(), zid_init(), zot_feed(), zot_finger(), zot_get_hublocs(), zot_gethub(), zot_import(), zot_process_message_request(), zot_process_response(), zot_refresh(), and zotfeed_init().

    diff --git a/doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.html b/doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.html new file mode 100644 index 000000000..b0a09dcc0 --- /dev/null +++ b/doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.html @@ -0,0 +1,112 @@ + + + + + + +The Red Matrix: extend/theme/deadsuperhero/occupant Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    The Red Matrix +
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    occupant Directory Reference
    +
    +
    + + + + +

    +Directories

    directory  php
     
    +
    +
    + diff --git a/doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.js b/doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.js new file mode 100644 index 000000000..68cdb9382 --- /dev/null +++ b/doc/html/dir_0d5ac3124d787e6297f47179aec2cdad.js @@ -0,0 +1,4 @@ +var dir_0d5ac3124d787e6297f47179aec2cdad = +[ + [ "php", "dir_94ce3c0aa655f52cbce858751688d328.html", "dir_94ce3c0aa655f52cbce858751688d328" ] +]; \ No newline at end of file diff --git a/doc/html/dir_94ce3c0aa655f52cbce858751688d328.html b/doc/html/dir_94ce3c0aa655f52cbce858751688d328.html new file mode 100644 index 000000000..4a232a331 --- /dev/null +++ b/doc/html/dir_94ce3c0aa655f52cbce858751688d328.html @@ -0,0 +1,114 @@ + + + + + + +The Red Matrix: extend/theme/deadsuperhero/occupant/php Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    The Red Matrix +
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    php Directory Reference
    +
    +
    + + + + + + +

    +Files

    file  style.php
     
    file  theme.php
     
    +
    +
    + diff --git a/doc/html/dir_94ce3c0aa655f52cbce858751688d328.js b/doc/html/dir_94ce3c0aa655f52cbce858751688d328.js new file mode 100644 index 000000000..8fb70cd72 --- /dev/null +++ b/doc/html/dir_94ce3c0aa655f52cbce858751688d328.js @@ -0,0 +1,5 @@ +var dir_94ce3c0aa655f52cbce858751688d328 = +[ + [ "style.php", "extend_2theme_2deadsuperhero_2occupant_2php_2style_8php.html", null ], + [ "theme.php", "extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.html", "extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php" ] +]; \ No newline at end of file diff --git a/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.html b/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.html index 56a2801a8..a0adcb07a 100644 --- a/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.html +++ b/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.html @@ -108,6 +108,8 @@ Directories   directory  minded   +directory  occupant +  directory  sporadic   directory  stumble diff --git a/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.js b/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.js index 75a57ff81..37a9fc703 100644 --- a/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.js +++ b/doc/html/dir_bf49406b6a987836ba4fe5618afdb371.js @@ -2,6 +2,7 @@ var dir_bf49406b6a987836ba4fe5618afdb371 = [ [ "hivenet", "dir_5b50d2dc059442371252f4f6fa0b8ef6.html", "dir_5b50d2dc059442371252f4f6fa0b8ef6" ], [ "minded", "dir_d53802940ab180b2c59d9e30e9e33e5b.html", "dir_d53802940ab180b2c59d9e30e9e33e5b" ], + [ "occupant", "dir_0d5ac3124d787e6297f47179aec2cdad.html", "dir_0d5ac3124d787e6297f47179aec2cdad" ], [ "sporadic", "dir_dcbba3cf1f9c80ab791fdcb3d0e78672.html", "dir_dcbba3cf1f9c80ab791fdcb3d0e78672" ], [ "stumble", "dir_b8abe7ef07ecd5203a481d38354dbb5c.html", "dir_b8abe7ef07ecd5203a481d38354dbb5c" ], [ "suckerberg", "dir_1586f67ab5300c2995f38a68fc5c4b7d.html", "dir_1586f67ab5300c2995f38a68fc5c4b7d" ], diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html index 8247cd8c8..fe16c5f56 100644 --- a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -188,8 +188,6 @@ Files   file  features.php   -file  fixd.php -  file  follow.php   file  gprobe.php diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js index e2ce562ef..796f65867 100644 --- a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js +++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js @@ -45,7 +45,6 @@ var dir_d44c64559bbebec7f509842c48db8b23 = [ "expire.php", "expire_8php.html", "expire_8php" ], [ "externals.php", "externals_8php.html", "externals_8php" ], [ "features.php", "features_8php.html", "features_8php" ], - [ "fixd.php", "fixd_8php.html", "fixd_8php" ], [ "follow.php", "include_2follow_8php.html", "include_2follow_8php" ], [ "gprobe.php", "gprobe_8php.html", "gprobe_8php" ], [ "group.php", "include_2group_8php.html", "include_2group_8php" ], diff --git a/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2style_8php.html b/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2style_8php.html new file mode 100644 index 000000000..ad8e9d7cb --- /dev/null +++ b/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2style_8php.html @@ -0,0 +1,112 @@ + + + + + + +The Red Matrix: extend/theme/deadsuperhero/occupant/php/style.php File Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    The Red Matrix +
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    style.php File Reference
    +
    +
    +
    +
    + diff --git a/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.html b/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.html new file mode 100644 index 000000000..dbcfba61d --- /dev/null +++ b/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.html @@ -0,0 +1,144 @@ + + + + + + +The Red Matrix: extend/theme/deadsuperhero/occupant/php/theme.php File Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    The Red Matrix +
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    + +
    +
    theme.php File Reference
    +
    +
    + + + + +

    +Functions

     occupant_init (&$a)
     
    +

    Function Documentation

    + +
    +
    + + + + + + + + +
    occupant_init ($a)
    +
    +
      +
    • Name: Occupant
    • +
    • Description: An Occupy theme.
    • +
    • Version: 1.0
    • +
    • Author: Sean Tilley
    • +
    • Compat: Red [*]
    • +
    + +
    +
    +
    +
    + diff --git a/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.js b/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.js new file mode 100644 index 000000000..b454020db --- /dev/null +++ b/doc/html/extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.js @@ -0,0 +1,4 @@ +var extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php = +[ + [ "occupant_init", "extend_2theme_2deadsuperhero_2occupant_2php_2theme_8php.html#abc29b3f62307e0356873963fee8484e8", null ] +]; \ No newline at end of file diff --git a/doc/html/extract_8php.html b/doc/html/extract_8php.html index 2b3392b7b..bb5e27be4 100644 --- a/doc/html/extract_8php.html +++ b/doc/html/extract_8php.html @@ -160,7 +160,7 @@ Variables
    -

    Referenced by Template\_build_nodes(), Template\_replcb_node(), admin_page_themes(), app_decode(), attribute_contains(), base64url_decode(), base64url_encode(), bb_tag_preg_replace(), bb_translate_video(), bbtoevent(), bbtovcal(), bookmarks_init(), chanlink_hash(), chanlink_url(), comanche_parser(), comanche_region(), comanche_webpage(), datetime_convert(), day_translate(), detect_language(), diaspora2bb(), diaspora_is_blacklisted(), diaspora_ol(), diaspora_ul(), dir_flag_build(), dir_parse_query(), dir_query_build(), event_store_item(), expand_acl(), extra_query_args(), file_tag_decode(), file_tag_encode(), file_tag_file_query(), fix_mce_lf(), fix_private_photos(), format_categories(), format_filer(), format_hashtags(), format_ical_text(), format_mentions(), format_term_for_display(), get_bb_tag_pos(), get_intltext_template(), get_language_name(), get_markup_template(), get_tags(), html2bb_video(), import_xchan(), info(), is_a_date_arg(), is_foreigner(), is_member(), json_decode_plus(), legal_webbie(), linkify(), load_pdl(), magic_link(), mail_content(), network_to_name(), normalise_openid(), notice(), notifier_run(), oembed_iframe(), oembed_replacecb(), oexchange_content(), parse_xml_string(), photos_post(), poco_load(), prepare_body(), print_template(), private_messages_fetch_conversation(), private_messages_fetch_message(), private_messages_list(), protect_sprintf(), purify_html(), qp(), random_string(), refimport_content(), Template\replace(), replace_macros(), FriendicaSmartyEngine\replace_macros(), Template\replace_macros(), scale_external_images(), scrape_feed(), scrape_vcard(), search(), searchbox(), siteinfo_content(), smilies(), sslify(), string_splitter(), strip_zids(), stripdcode_br_cb(), t(), template_escape(), template_unescape(), term_query(), theme_attachments(), unamp(), undo_post_tagging(), unxmlify(), update_channels_active_halfyear_stat(), update_channels_active_monthly_stat(), Template\var_replace(), webfinger_rfc7033(), x(), xchan_content(), z_fetch_url(), z_input_filter(), z_post_url(), zfinger_init(), and zid().

    +

    Referenced by Template\_build_nodes(), Template\_replcb_node(), admin_page_themes(), app_decode(), attribute_contains(), base64url_decode(), base64url_encode(), bb_tag_preg_replace(), bb_translate_video(), bbtoevent(), bbtovcal(), bookmarks_init(), chanlink_hash(), chanlink_url(), comanche_parser(), comanche_region(), comanche_webpage(), datetime_convert(), day_translate(), detect_language(), diaspora2bb(), diaspora_is_blacklisted(), diaspora_ol(), diaspora_ul(), dir_flag_build(), dir_parse_query(), dir_query_build(), event_store_item(), expand_acl(), extra_query_args(), file_tag_decode(), file_tag_encode(), file_tag_file_query(), fix_mce_lf(), fix_private_photos(), format_categories(), format_filer(), format_hashtags(), format_ical_text(), format_mentions(), format_term_for_display(), get_bb_tag_pos(), get_intltext_template(), get_language_name(), get_markup_template(), get_tags(), html2bb_video(), import_xchan(), info(), is_a_date_arg(), is_foreigner(), is_member(), json_decode_plus(), legal_webbie(), linkify(), load_pdl(), magic_link(), mail_content(), network_to_name(), normalise_openid(), notice(), notifier_run(), oembed_iframe(), oembed_replacecb(), oexchange_content(), parse_xml_string(), photos_post(), poco_load(), prepare_body(), print_template(), private_messages_fetch_conversation(), private_messages_fetch_message(), private_messages_list(), protect_sprintf(), purify_html(), qp(), random_string(), refimport_content(), Template\replace(), replace_macros(), FriendicaSmartyEngine\replace_macros(), Template\replace_macros(), scale_external_images(), scrape_feed(), scrape_vcard(), search(), searchbox(), siteinfo_content(), smilies(), sslify(), string_splitter(), strip_zids(), stripdcode_br_cb(), t(), template_escape(), template_unescape(), term_query(), theme_attachments(), unamp(), undo_post_tagging(), unxmlify(), update_channels_active_halfyear_stat(), update_channels_active_monthly_stat(), Template\var_replace(), webfinger_rfc7033(), x(), xchan_content(), z_fetch_url(), z_input_filter(), z_post_url(), zfinger_init(), and zid().

    diff --git a/doc/html/files.html b/doc/html/files.html index d00561097..3e6c8e371 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -120,26 +120,30 @@ $(document).ready(function(){initNavTree('files.html','');}); |  |\+php |  | o*style.php |  | \*theme.php -|  o+sporadic -|  |\+php -|  | o*style.php -|  | \*theme.php -|  o+stumble -|  |\+php -|  | o*style.php -|  | \*theme.php -|  o+suckerberg -|  |\+php -|  | o*style.php -|  | \*theme.php -|  o+sunbeam -|  |\+php -|  | o*style.php -|  | \*theme.php -|  \+yolo -|   \+php -|    o*style.php -|    \*theme.php +|  o+occupant +|  |\+php +|  | o*style.php +|  | \*theme.php +|  o+sporadic +|  |\+php +|  | o*style.php +|  | \*theme.php +|  o+stumble +|  |\+php +|  | o*style.php +|  | \*theme.php +|  o+suckerberg +|  |\+php +|  | o*style.php +|  | \*theme.php +|  o+sunbeam +|  |\+php +|  | o*style.php +|  | \*theme.php +|  \+yolo +|   \+php +|    o*style.php +|    \*theme.php o+include |o+dba ||o*dba_driver.phpSome database related functions and abstract driver class @@ -193,52 +197,51 @@ $(document).ready(function(){initNavTree('files.html','');}); |o*expire.php |o*externals.php |o*features.php -|o*fixd.php -|o*follow.php -|o*gprobe.php -|o*group.php -|o*html2bbcode.php -|o*html2plain.php -|o*hubloc.php -|o*identity.php -|o*ItemObject.php -|o*ITemplateEngine.php -|o*items.php -|o*language.phpTranslation support -|o*menu.php -|o*message.php -|o*nav.php -|o*network.php -|o*notifier.php -|o*notify.php -|o*oauth.php -|o*oembed.php -|o*onedirsync.php -|o*onepoll.php -|o*page_widgets.php -|o*permissions.php -|o*photos.php -|o*plugin.phpSome functions to handle addons and themes -|o*poller.php -|o*probe.php -|o*profile_selectors.php -|o*ProtoDriver.php -|o*queue.php -|o*queue_fn.php -|o*ratenotif.php -|o*reddav.phpSome DAV related functions for RedMatrix -|o*security.php -|o*session.php -|o*smarty.php -|o*socgraph.php -|o*spam.php -|o*statistics_fns.php -|o*system_unavailable.php -|o*taxonomy.php -|o*template_processor.php -|o*text.php -|o*widgets.phpThis file contains the widgets -|\*zot.php +|o*follow.php +|o*gprobe.php +|o*group.php +|o*html2bbcode.php +|o*html2plain.php +|o*hubloc.php +|o*identity.php +|o*ItemObject.php +|o*ITemplateEngine.php +|o*items.php +|o*language.phpTranslation support +|o*menu.php +|o*message.php +|o*nav.php +|o*network.php +|o*notifier.php +|o*notify.php +|o*oauth.php +|o*oembed.php +|o*onedirsync.php +|o*onepoll.php +|o*page_widgets.php +|o*permissions.php +|o*photos.php +|o*plugin.phpSome functions to handle addons and themes +|o*poller.php +|o*probe.php +|o*profile_selectors.php +|o*ProtoDriver.php +|o*queue.php +|o*queue_fn.php +|o*ratenotif.php +|o*reddav.phpSome DAV related functions for RedMatrix +|o*security.php +|o*session.php +|o*smarty.php +|o*socgraph.php +|o*spam.php +|o*statistics_fns.php +|o*system_unavailable.php +|o*taxonomy.php +|o*template_processor.php +|o*text.php +|o*widgets.phpThis file contains the widgets +|\*zot.php o+mod |o*_well_known.php |o*achievements.php diff --git a/doc/html/globals.html b/doc/html/globals.html index 39b613d8b..3e86d682f 100644 --- a/doc/html/globals.html +++ b/doc/html/globals.html @@ -240,12 +240,6 @@ $(document).ready(function(){initNavTree('globals.html','');});
  • $pofile : php2po.php
  • -
  • $r -: fixd.php -
  • -
  • $rand -: fixd.php -
  • $res : docblox_errorchecker.php
  • @@ -276,9 +270,6 @@ $(document).ready(function(){initNavTree('globals.html','');});
  • $strongmacro : style.php
  • -
  • $total -: fixd.php -
  • $uid : style.php
  • diff --git a/doc/html/globals_0x61.html b/doc/html/globals_0x61.html index 277e94b5a..a512fddb3 100644 --- a/doc/html/globals_0x61.html +++ b/doc/html/globals_0x61.html @@ -394,6 +394,9 @@ $(document).ready(function(){initNavTree('globals_0x61.html','');});
  • admin_page_profs_post() : admin.php
  • +
  • admin_page_queue() +: admin.php +
  • admin_page_site() : admin.php
  • diff --git a/doc/html/globals_0x63.html b/doc/html/globals_0x63.html index 7dedc92c7..e85a0e8b0 100644 --- a/doc/html/globals_0x63.html +++ b/doc/html/globals_0x63.html @@ -352,6 +352,9 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
  • comanche_widget() : comanche.php
  • +
  • comment_local_origin() +: items.php +
  • comments_are_now_closed() : items.php
  • diff --git a/doc/html/globals_0x6c.html b/doc/html/globals_0x6c.html index 0e81d1939..47fe76a4f 100644 --- a/doc/html/globals_0x6c.html +++ b/doc/html/globals_0x6c.html @@ -179,7 +179,7 @@ $(document).ready(function(){initNavTree('globals_0x6c.html','');}); : text.php
  • linkify() -: text.php +: text.php
  • linkify_tags() : text.php diff --git a/doc/html/globals_0x6e.html b/doc/html/globals_0x6e.html index 7234f16ee..1f96ef9e4 100644 --- a/doc/html/globals_0x6e.html +++ b/doc/html/globals_0x6e.html @@ -146,8 +146,7 @@ $(document).ready(function(){initNavTree('globals_0x6e.html','');});

    - n -