aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/addons.bb2
-rw-r--r--doc/credits.bb2
-rw-r--r--doc/de/main.bb28
-rw-r--r--include/Contact.php5
-rw-r--r--include/ItemObject.php1
-rw-r--r--include/conversation.php4
-rw-r--r--include/dir_fns.php5
-rwxr-xr-xinclude/items.php13
-rw-r--r--include/zot.php13
-rw-r--r--mod/admin.php27
-rw-r--r--mod/post.php81
-rwxr-xr-xmod/subthread.php109
-rw-r--r--util/messages.po781
-rw-r--r--version.inc2
-rw-r--r--view/de/htconfig.tpl2
-rw-r--r--view/de/update_fail_eml.tpl6
-rw-r--r--view/es/messages.po8
-rw-r--r--view/es/strings.php1
-rw-r--r--view/fr/htconfig.tpl2
-rw-r--r--view/js/main.js12
-rw-r--r--view/nl/messages.po8
-rw-r--r--view/nl/strings.php1
-rwxr-xr-xview/tpl/admin_site.tpl4
23 files changed, 564 insertions, 553 deletions
diff --git a/doc/addons.bb b/doc/addons.bb
index 1be88150d..a6d2cfc2f 100644
--- a/doc/addons.bb
+++ b/doc/addons.bb
@@ -42,7 +42,7 @@
[*] qrator - generate QR code images
[*] rainbowtag - display your tag and category clouds in colours
[*] randpost - post/reply bot based on and requires fortunate
-[*] redred - Crosspost to another Redmatrix or Hubzilla channel
+[*] redred - Crosspost to another Red Matrix or Hubzilla channel
[*] rtof - Crosspost to Friendica
[*] smiley_pack - extend the built-in smilie (emoticon) support
[*] smileybutton - provides a smiley selector on the post window
diff --git a/doc/credits.bb b/doc/credits.bb
index 200f1fc85..5219d7bf5 100644
--- a/doc/credits.bb
+++ b/doc/credits.bb
@@ -14,7 +14,7 @@ tommy tomson
Simon
zottel
Christian Vogeley
-jeroenpraat
+Jeroen van Riet Paap (jeroenpraat)
Michael Vogel
erik
Zach Prezkuta
diff --git a/doc/de/main.bb b/doc/de/main.bb
index f310d0ab5..dab34c19a 100644
--- a/doc/de/main.bb
+++ b/doc/de/main.bb
@@ -1,19 +1,19 @@
[img][baseurl]/assets/hashlogo.png[/img]
-[zrl=[baseurl]/help/about]Was ist die RedMatrix?[/zrl]
-Die RedMatrix ist eine dezentrale Kommunikations- und Publishing-Plattform. Sie ermöglicht Dir die volle Kontrolle über all Deine Kommunikation mit Hilfe von automatischer Verschlüsselung und detaillierter Zugriffskontrolle. Du, und [i]nur[/i] Du, entscheidest, wer Deine Beiträge sehen darf.
+[zrl=[baseurl]/help/about]Was ist Hubzilla?[/zrl]
+Hubzilla ist eine dezentrale Kommunikations- und Publishing-Plattform. Sie ermöglicht Dir die volle Kontrolle über all Deine Kommunikation mit Hilfe von automatischer Verschlüsselung und detaillierter Zugriffskontrolle. Du, und [i]nur[/i] Du, entscheidest, wer Deine Beiträge sehen darf. Hubzilla ist der Nachfolger, der seit einigen Jahren erfolgreichen Plattformen Firendica und Red Matrix.
-[zrl=[baseurl]/help/features]Features der RedMatrix[/zrl]
-Die RedMatrix funktioniert schon heute als ein globales verteiltes Netzwerk und beweist täglich ihre Vielseitigkeit und Skalierbarkeit auf kleinen Privatservern wie auch auf riesigen Sites.
-Kommunikationsplattformen für Familien, verteilte Online-Communities, Support-Foren, Blogs und Homepages. Oder auch professionelle Inhalte-Anbieter mit kommerziellen Premium-Kanälen und eingeschränktem Zugriff – was immer Du willst, die RedMatrix unterstützt Dich in Deinem kreativen Schaffen.
+[zrl=[baseurl]/help/features]Features von Hubzilla[/zrl]
+Hubzilla, basierend auf der Red Matrix, funktioniert schon heute als ein globales verteiltes Netzwerk und beweist täglich ihre Vielseitigkeit und Skalierbarkeit - auf kleinen Privatservern wie auch auf riesigen Sites.
+Kommunikationsplattformen für Familien, verteilte Online-Communities, Support-Foren, Blogs und Homepages. Oder auch professionelle Inhalte-Anbieter mit kommerziellen Premium-Kanälen und eingeschränktem Zugriff – was immer Du willst, Hubzilla unterstützt Dich in Deinem kreativen Schaffen.
[zrl=[baseurl]/help/what_is_zot]Got Zot? Hast Du schon Zot? Wenn nicht wird es Zeit.[/zrl]
-Zot ist das großartige neue Kommunikationsprotokoll, das extra für die RedMatrix entwickelt wurde. Als Mitglied bist Du dank „Nomadischer Identität“ nicht länger an einen einzigen Server oder Anbieter gebunden. Ziehe einfach auf einen anderen Server um und behalte dabei alle Deine Kontakte, oder klone Deinen Kanal und lasse ihn auf mehreren Servern gleichzeitig laufen – sollte einer davon plötzlich geschlossen werden, ist das kein Problem für Dich. Und bist Du erst Teil der RedMatrix, musst Du Dich nie wieder mehrfach anmelden, selbst wenn Du Seiten auf einem andere Red-Server betrachtest. Zot ist, was die RedMatrix besonders macht.
+Zot ist ein großartiges neues Kommunikationsprotokoll, das für Hubzilla - und vorher die Red Matrix - entwickelt wurde. Als Mitglied bist Du dank „Nomadischer Identität“ nicht länger an einen einzigen Server oder einen einzigen Anbieter gebunden. Ziehe einfach auf einen anderen Server um und behalte dabei alle Deine Kontakte, oder klone Deinen Kanal und lasse ihn auf mehreren Servern gleichzeitig laufen – sollte einer davon plötzlich geschlossen werden, ist das kein Problem für Dich. Und bist Du erst Teil des Hubzilla-Netzwerkes, musst Du Dich nie wieder mehrfach anmelden, selbst wenn Du Seiten auf einem andere Hub (den Hubzilla-Servern) betrachtest. Zot ist es, was das Hubzilla-Netzwerk besonders macht.
[h3]Erste Schritte[/h3]
[zrl=[baseurl]/help/Privacy]Datenschutz[/zrl]
[zrl=[baseurl]/help/registration]Ein Konto registrieren[/zrl]
-[zrl=[baseurl]/help/accounts_profiles_channels_basics]Du in der RedMatrix: Konten, Profile und Kanäle kurz erklärt[/zrl]
+[zrl=[baseurl]/help/accounts_profiles_channels_basics]Du im Hubzilla-Netzwerk: Konten, Profile und Kanäle kurz erklärt[/zrl]
[zrl=[baseurl]/help/profiles]Profile[/zrl]
[zrl=[baseurl]/help/channels]Kanäle[/zrl]
[zrl=[baseurl]/help/roles]Zugriffsrechte-Kategorien und Kanaltypen[/zrl]
@@ -26,7 +26,7 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die RedMatr
[h3]Hilfe für $Projectname-Mitglieder[/h3]
[zrl=[baseurl]/help/tags_and_mentions]Tags und Erwähnungen[/zrl]
[zrl=[baseurl]/help/webpages]Webseiten[/zrl]
-[zrl=[baseurl]/help/bbcode]BBcode-Referenz für Posts und Kommentare[/zrl]
+[zrl=[baseurl]/help/bbcode]BBcode-Referenz für Beiträge und Kommentare[/zrl]
[zrl=[baseurl]/help/checking_account_quota_usage]Überprüfung der Kontenlimits[/zrl]
[zrl=[baseurl]/help/cloud_desktop_clients]Desktop-Anwendungen und die Cloud[/zrl]
[zrl=[baseurl]/help/AdvancedSearch]Fortgeschrittene Suche im Kanalverzeichnis[/zrl]
@@ -36,7 +36,7 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die RedMatr
[h3]Hilfe für Administratoren[/h3]
[zrl=[baseurl]/help/install]Installation[/zrl]
-[zrl=[baseurl]/help/red2pi]Red auf einem Raspberry Pi installieren[/zrl]
+[zrl=[baseurl]/help/red2pi]Hubzilla auf einem Raspberry Pi installieren[/zrl]
[zrl=[baseurl]/help/troubleshooting]Troubleshooting-Tipps[/zrl]
[zrl=[baseurl]/help/hidden_configs]Versteckte Konfigurations-Optionen[/zrl]
[zrl=[baseurl]/help/faq_admins]FAQ für Admins[/zrl]
@@ -60,9 +60,9 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die RedMatr
[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]
+[zrl=[baseurl]/help/developer_function_primer]Übersicht der wichtigsten Hubzilla-Funktionen[/zrl]
[zrl=[baseurl]/doc/html/]Code-Referenz (mit doxygen generiert - setzt Cookies)[/zrl]
-[zrl=[baseurl]/help/to_do_doco]To-Do-Liste für das Projekt Red-Dokumentation[/zrl]
+[zrl=[baseurl]/help/to_do_doco]To-Do-Liste für das Projekt Hubzilla-Dokumentation[/zrl]
[zrl=[baseurl]/help/to_do_code]To-Do-Liste für Entwickler[/zrl]
[zrl=[baseurl]/help/roadmap]Roadmap für Version 3[/zrl]
[zrl=[baseurl]/help/git_for_non_developers]Git für Nicht-Entwickler[/zrl]
@@ -80,7 +80,7 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die RedMatr
[url=[baseurl]/help/credits]$Projectname Credits[/url]
-[h3]Über diesen Red-Server[/h3]
-[zrl=[baseurl]/help/TermsOfService]Nutzungsbedingungen dieses Red-Servers[/zrl]
-[zrl=[baseurl]/siteinfo]Informationen zu diesem Server und der Red-Version[/zrl]
+[h3]Über diesen Hub (Hubzilla-Server)[/h3]
+[zrl=[baseurl]/help/TermsOfService]Nutzungsbedingungen dieses Hubs (Hubzilla-Servers)[/zrl]
+[zrl=[baseurl]/siteinfo]Informationen zu diesem Server und der Hubzilla-Version[/zrl]
[zrl=[baseurl]/siteinfo/json]Detaillierte technische Informationen zu diesem Server im JSON-Format[/zrl]
diff --git a/include/Contact.php b/include/Contact.php
index 8e22c608e..3bd5f9936 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -292,7 +292,8 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
intval($channel_id)
);
-
+ logger('deleting hublocs',LOGGER_DEBUG);
+
$r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'",
dbesc($channel['channel_hash'])
);
@@ -349,6 +350,8 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
}
+ logger('deleting hublocs',LOGGER_DEBUG);
+
$r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s' and hubloc_url = '%s' ",
dbesc($channel['channel_hash']),
dbesc(z_root())
diff --git a/include/ItemObject.php b/include/ItemObject.php
index c5c2cb2e6..34500efb9 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -263,6 +263,7 @@ class Item extends BaseObject {
localize_item($item);
+
$body = prepare_body($item,true);
// $viewthread (below) is only valid in list mode. If this is a channel page, build the thread viewing link
diff --git a/include/conversation.php b/include/conversation.php
index b2d58a025..a5fe573cd 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -917,6 +917,9 @@ function item_photo_menu($item){
if($item['parent'] == $item['id'] && $channel && ($channel_hash != $item['author_xchan'])) {
$sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
}
+ if($channel) {
+ $unsub_link = 'javascript:dounsubthread(' . $item['id'] . '); return false;';
+ }
}
$profile_link = chanlink_hash($item['author_xchan']);
@@ -941,6 +944,7 @@ function item_photo_menu($item){
$menu = Array(
t("View Source") => $vsrc_link,
t("Follow Thread") => $sub_link,
+ t("Stop Following") => $unsub_link,
t("View Status") => $status_link,
t("View Profile") => $profile_link,
t("View Photos") => $photos_link,
diff --git a/include/dir_fns.php b/include/dir_fns.php
index ecc5f6d96..e5f0e1e2b 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -190,8 +190,9 @@ function sync_directories($dirmode) {
intval($r[0]['site_valid'])
);
- $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_type = %d ",
- intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
+ $r = q("select * from site where site_flags in (%d, %d) and site_url != '%s' and site_type = %d ",
+ intval(DIRECTORY_MODE_PRIMARY),
+ intval(DIRECTORY_MODE_SECONDARY),
dbesc(z_root()),
intval(SITE_TYPE_ZOT)
);
diff --git a/include/items.php b/include/items.php
index 4d8fce60f..3e4805212 100755
--- a/include/items.php
+++ b/include/items.php
@@ -2837,6 +2837,8 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id,
function send_status_notifications($post_id,$item) {
$notify = false;
+ $unfollowed = false;
+
$parent = 0;
$r = q("select channel_hash from channel where channel_id = %d limit 1",
@@ -2864,6 +2866,14 @@ function send_status_notifications($post_id,$item) {
foreach($x as $xx) {
if($xx['author_xchan'] === $r[0]['channel_hash']) {
$notify = true;
+
+ // check for an unfollow thread activity - we should probably decode the obj and check the id
+ // but it will be extremely rare for this to be wrong.
+
+ if(($xx['verb'] === ACTIVITY_UNFOLLOW)
+ && ($xx['obj_type'] === ACTIVITY_OBJ_NOTE || $xx['obj_type'] === ACTIVITY_OBJ_PHOTO)
+ && ($xx['parent'] != $xx['id']))
+ $unfollowed = true;
}
if($xx['id'] == $xx['parent']) {
$parent = $xx['parent'];
@@ -2871,6 +2881,9 @@ function send_status_notifications($post_id,$item) {
}
}
+ if($unfollowed)
+ return;
+
$link = get_app()->get_baseurl() . '/display/' . $item['mid'];
$y = q("select id from notify where link = '%s' and uid = %d limit 1",
diff --git a/include/zot.php b/include/zot.php
index b13111f04..d5d68f72c 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -117,7 +117,8 @@ function zot_build_packet($channel, $type = 'notify', $recipients = null, $remot
'guid' => $channel['channel_guid'],
'guid_sig' => base64url_encode(rsa_sign($channel['channel_guid'],$channel['channel_prvkey'])),
'url' => z_root(),
- 'url_sig' => base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey']))
+ 'url_sig' => base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey'])),
+ 'sitekey' => get_config('system','pubkey')
),
'callback' => '/post',
'version' => ZOT_REVISION
@@ -569,11 +570,12 @@ function zot_gethub($arr,$multiple = false) {
}
$limit = (($multiple) ? '' : ' limit 1 ');
-
+ $sitekey = ((array_key_exists('sitekey',$arr) && $arr['sitekey']) ? " and hubloc_sitekey = '" . protect_sprintf($arr['sitekey']) . "' " : '');
+
$r = q("select * from hubloc
where hubloc_guid = '%s' and hubloc_guid_sig = '%s'
and hubloc_url = '%s' and hubloc_url_sig = '%s'
- $limit",
+ $sitekey $limit",
dbesc($arr['guid']),
dbesc($arr['guid_sig']),
dbesc($arr['url']),
@@ -2373,6 +2375,7 @@ function sync_locations($sender, $arr, $absolute = false) {
$changed = true;
}
elseif((! intval($r[0]['hubloc_deleted'])) && (intval($location['deleted']))) {
+ logger('deleting hubloc: ' . $r[0]['hubloc_addr']);
$n = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
@@ -2427,7 +2430,7 @@ function sync_locations($sender, $arr, $absolute = false) {
if($absolute && $xisting) {
foreach($xisting as $x) {
if(! array_key_exists('updated',$x)) {
- logger('sync_locations: deleting unreferenced hub location ' . $x['hubloc_url']);
+ logger('sync_locations: deleting unreferenced hub location ' . $x['hubloc_addr']);
$r = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($x['hubloc_id'])
@@ -2468,7 +2471,7 @@ function zot_encode_locations($channel) {
// so that nobody tries to use it.
if(intval($channel['channel_removed']) && $hub['hubloc_url'] === z_root())
- $hub['hubloc_deleted'] = true;
+ $hub['hubloc_deleted'] = 1;
$ret[] = array(
'host' => $hub['hubloc_host'],
diff --git a/mod/admin.php b/mod/admin.php
index 8fe9c8336..a884b7658 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -237,7 +237,7 @@ function admin_page_site_post(&$a){
$register_text = ((x($_POST,'register_text')) ? notags(trim($_POST['register_text'])) : '');
$frontpage = ((x($_POST,'frontpage')) ? notags(trim($_POST['frontpage'])) : '');
$mirror_frontpage = ((x($_POST,'mirror_frontpage')) ? intval(trim($_POST['mirror_frontpage'])) : 0);
-
+ $directory_server = ((x($_POST,'directory_server')) ? trim($_POST['directory_server']) : '');
$allowed_sites = ((x($_POST,'allowed_sites')) ? notags(trim($_POST['allowed_sites'])) : '');
$allowed_email = ((x($_POST,'allowed_email')) ? notags(trim($_POST['allowed_email'])) : '');
$not_allowed_email = ((x($_POST,'not_allowed_email')) ? notags(trim($_POST['not_allowed_email'])) : '');
@@ -272,6 +272,9 @@ function admin_page_site_post(&$a){
set_config('system', 'verify_email', $verify_email);
set_config('system', 'default_expire_days', $default_expire_days);
+ if($directory_server)
+ set_config('system','directory_server',$directory_server);
+
if ($banner == '') {
del_config('system', 'banner');
} else {
@@ -371,6 +374,26 @@ function admin_page_site(&$a) {
}
}
+ $dir_choices = null;
+ $dirmode = get_config('system','directory_mode');
+ $realm = get_directory_realm();
+
+ // directory server should not be set or settable unless we are a directory client
+
+ if($dirmode == DIRECTORY_MODE_NORMAL) {
+ $x = q("select site_url from site where site_flags in (%d,%d) and site_realm = '%s'",
+ intval(DIRECTORY_MODE_SECONDARY),
+ intval(DIRECTORY_MODE_PRIMARY),
+ dbesc($realm)
+ );
+ if($x) {
+ $dir_choices = array();
+ foreach($x as $xx) {
+ $dir_choices[$xx['site_url']] = $xx['site_url'];
+ }
+ }
+ }
+
/* Banner */
$banner = get_config('system', 'banner');
if($banner == false)
@@ -440,6 +463,8 @@ function admin_page_site(&$a) {
'$disable_discover_tab' => array('disable_discover_tab', t("Disable discovery tab"), get_config('system','disable_discover_tab'), t("Remove the tab in the network view with public content pulled from sources chosen for this site.")),
'$login_on_homepage' => array('login_on_homepage', t("login on Homepage"),((intval($homelogin) || $homelogin === false) ? 1 : '') , t("Present a login box to visitors on the home page if no other content has been configured.")),
+ '$directory_server' => (($dir_choices) ? array('directory_server', t("Directory Server URL"), get_config('system','directory_server'), t("Default directory server"), $dir_choices) : null),
+
'$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
'$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
'$timeout' => array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
diff --git a/mod/post.php b/mod/post.php
index 00e599b49..4c52de44a 100644
--- a/mod/post.php
+++ b/mod/post.php
@@ -663,16 +663,16 @@ function post_post(&$a) {
/* Check if the sender is already verified here */
- $hub = zot_gethub($sender);
+ $hubs = zot_gethub($sender,true);
- if (! $hub) {
+ if (! $hubs) {
/* Have never seen this guid or this guid coming from this location. Check it and register it. */
// (!!) this will validate the sender
$result = zot_register_hub($sender);
- if ((! $result['success']) || (! ($hub = zot_gethub($sender)))) {
+ if ((! $result['success']) || (! ($hubs = zot_gethub($sender,true)))) {
$ret['message'] = 'Hub not available.';
logger('mod_zot: no hub');
json_return_and_die($ret);
@@ -680,41 +680,62 @@ function post_post(&$a) {
}
- // Update our DB to show when we last communicated successfully with this hub
- // This will allow us to prune dead hubs from using up resources
+ foreach($hubs as $hub) {
- $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d",
- dbesc(datetime_convert()),
- intval($hub['hubloc_id'])
- );
+ $sitekey = $hub['hubloc_sitekey'];
- // a dead hub came back to life - reset any tombstones we might have
+ if(array_key_exists('sitekey',$sender) && $sender['sitekey']) {
- if(intval($hub['hubloc_error'])) {
- q("update hubloc set hubloc_error = 0 where hubloc_id = %d",
- intval($hub['hubloc_id'])
- );
- if(intval($r[0]['hubloc_orphancheck'])) {
- q("update hubloc set hubloc_orhpancheck = 0 where hubloc_id = %d",
- intval($hub['hubloc_id'])
+ /*
+ * This hub has now been proven to be valid.
+ * Any hub with the same URL and a different sitekey cannot be valid.
+ * Get rid of them (mark them deleted). There's a good chance they were re-installs.
+ */
+
+ q("update hubloc set hubloc_deleted = 1, hubloc_error = 1 where hubloc_url = '%s' and hubloc_sitekey != '%s' ",
+ dbesc($hub['hubloc_url']),
+ dbesc($sender['sitekey'])
);
+
+ $sitekey = $sender['sitekey'];
}
- q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'",
- dbesc($hub['hubloc_hash'])
+
+ // $sender['sitekey'] is a new addition to the protcol to distinguish
+ // hublocs coming from re-installed sites. Older sites will not provide
+ // this field and we have to still mark them valid, since we can't tell
+ // if this hubloc has the same sitekey as the packet we received.
+
+
+ // Update our DB to show when we last communicated successfully with this hub
+ // This will allow us to prune dead hubs from using up resources
+
+ $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d and hubloc_sitekey = '%s' ",
+ dbesc(datetime_convert()),
+ intval($hub['hubloc_id']),
+ dbesc($sitekey)
);
- }
+ // a dead hub came back to life - reset any tombstones we might have
- /*
- * This hub has now been proven to be valid.
- * Any hub with the same URL and a different sitekey cannot be valid.
- * Get rid of them (mark them deleted). There's a good chance they were re-installs.
- */
+ if(intval($hub['hubloc_error'])) {
+ q("update hubloc set hubloc_error = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ",
+ intval($hub['hubloc_id']),
+ dbesc($sitekey)
+ );
+ if(intval($r[0]['hubloc_orphancheck'])) {
+ q("update hubloc set hubloc_orhpancheck = 0 where hubloc_id = %d and hubloc_sitekey = '%s' ",
+ intval($hub['hubloc_id']),
+ dbesc($sitekey)
+ );
+ }
+ q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'",
+ dbesc($hub['hubloc_hash'])
+ );
+ }
+
+ $connecting_url = $hub['hubloc_url'];
+ }
- q("update hubloc set hubloc_deleted = 1 where hubloc_url = '%s' and hubloc_sitekey != '%s' ",
- dbesc($hub['hubloc_url']),
- dbesc($hub['hubloc_sitekey'])
- );
/** @TODO check which hub is primary and take action if mismatched */
@@ -917,7 +938,7 @@ function post_post(&$a) {
if ($msgtype === 'notify') {
- logger('notify received from ' . $hub['hubloc_url']);
+ logger('notify received from ' . $connecting_url);
$async = get_config('system','queued_fetch');
diff --git a/mod/subthread.php b/mod/subthread.php
index 9cfe5c24d..162545a2f 100755
--- a/mod/subthread.php
+++ b/mod/subthread.php
@@ -11,9 +11,12 @@ function subthread_content(&$a) {
return;
}
- $activity = ACTIVITY_FOLLOW;
+ if(argv(1) === 'sub')
+ $activity = ACTIVITY_FOLLOW;
+ elseif(argv(1) === 'unsub')
+ $activity = ACTIVITY_UNFOLLOW;
- $item_id = ((argc() > 1) ? notags(trim(argv(1))) : 0);
+ $item_id = ((argc() > 2) ? notags(trim(argv(2))) : 0);
$r = q("SELECT * FROM `item` WHERE `parent` = '%s' OR `parent_mid` = '%s' and parent = id LIMIT 1",
dbesc($item_id),
@@ -67,6 +70,8 @@ function subthread_content(&$a) {
killme();
+
+
$mid = item_message_id();
$post_type = (($item['resource_type'] === 'photo') ? t('photo') : t('status'));
@@ -99,7 +104,10 @@ function subthread_content(&$a) {
if(! intval($item['item_thread_top']))
$post_type = 'comment';
- $bodyverb = t('%1$s is following %2$s\'s %3$s');
+ if($activity === ACTIVITY_FOLLOW)
+ $bodyverb = t('%1$s is following %2$s\'s %3$s');
+ if($activity === ACTIVITY_UNFOLLOW)
+ $bodyverb = t('%1$s stopped following %2$s\'s %3$s');
$arr = array();
@@ -144,100 +152,7 @@ function subthread_content(&$a) {
killme();
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $post_type = (($item['resource_id']) ? t('photo') : t('status'));
- $objtype = (($item['resource_id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
-
- $link = xmlify('<link rel="alternate" type="text/html" href="' . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . '" />' . "\n") ;
- $body = $item['body'];
-
- $obj = <<< EOT
-
- <object>
- <type>$objtype</type>
- <local>1</local>
- <id>{$item['mid']}</id>
- <link>$link</link>
- <title></title>
- <content>$body</content>
- </object>
-EOT;
-
- $arr = array();
-
- $arr['mid'] = $mid;
- $arr['uid'] = $owner_uid;
- $arr['contact-id'] = $contact['id'];
- $arr['type'] = 'activity';
- $arr['wall'] = $item['wall'];
- $arr['origin'] = 1;
- $arr['gravity'] = GRAVITY_LIKE;
- $arr['parent'] = $item['id'];
- $arr['parent-mid'] = $item['mid'];
- $arr['thr_parent'] = $item['mid'];
- $arr['owner-name'] = $remote_owner['name'];
- $arr['owner-link'] = $remote_owner['url'];
- $arr['owner-avatar'] = $remote_owner['thumb'];
- $arr['author-name'] = $contact['name'];
- $arr['author-link'] = $contact['url'];
- $arr['author-avatar'] = $contact['thumb'];
-
- $ulink = '[zrl=' . $contact['url'] . ']' . $contact['name'] . '[/zrl]';
- $alink = '[zrl=' . $item['author-link'] . ']' . $item['author-name'] . '[/zrl]';
- $plink = '[zrl=' . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . ']' . $post_type . '[/zrl]';
- $arr['body'] = sprintf( $bodyverb, $ulink, $alink, $plink );
-
- $arr['verb'] = $activity;
- $arr['object-type'] = $objtype;
- $arr['object'] = $obj;
- $arr['allow_cid'] = $item['allow_cid'];
- $arr['allow_gid'] = $item['allow_gid'];
- $arr['deny_cid'] = $item['deny_cid'];
- $arr['deny_gid'] = $item['deny_gid'];
- $arr['visible'] = 1;
- $arr['unseen'] = 1;
- $arr['last-child'] = 0;
-
- $post = item_store($arr);
- $post_id = $post['item_id'];
-
- if(! $item['visible']) {
- $r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d",
- intval($item['id']),
- intval($owner_uid)
- );
- }
-
- $arr['id'] = $post_id;
-
- call_hooks('post_local_end', $arr);
-
- killme();
-
}
+
diff --git a/util/messages.po b/util/messages.po
index 6380cdfac..9693476e9 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2015-10-17.1188\n"
+"Project-Id-Version: 2015-10-30.1201\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-17 16:47-0700\n"
+"POT-Creation-Date: 2015-10-30 00:04-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,7 +22,7 @@ msgstr ""
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
+#: ../../include/photo/photo_driver.php:694 ../../mod/profile_photo.php:143
#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
#: ../../mod/photos.php:92 ../../mod/photos.php:637
msgid "Profile Photos"
@@ -386,7 +386,7 @@ msgstr ""
msgid "View"
msgstr ""
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
+#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:678
#: ../../include/conversation.php:1166 ../../mod/webpages.php:188
#: ../../mod/events.php:690 ../../mod/editpost.php:143
#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
@@ -429,12 +429,12 @@ msgstr ""
msgid "Delete this item?"
msgstr ""
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:668
#: ../../mod/photos.php:980 ../../mod/photos.php:1098
msgid "Comment"
msgstr ""
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:384
+#: ../../include/js_strings.php:7 ../../include/ItemObject.php:385
msgid "[+] show all"
msgstr ""
@@ -495,7 +495,7 @@ msgstr ""
msgid "Describe (optional)"
msgstr ""
-#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
+#: ../../include/js_strings.php:22 ../../include/ItemObject.php:669
#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:303
#: ../../mod/thing.php:346 ../../mod/events.php:511 ../../mod/events.php:693
#: ../../mod/group.php:81 ../../mod/photos.php:577 ../../mod/photos.php:654
@@ -600,367 +600,15 @@ msgstr ""
msgid "timeago.numbers"
msgstr ""
-#: ../../include/text.php:391
-msgid "prev"
-msgstr ""
-
-#: ../../include/text.php:393
-msgid "first"
-msgstr ""
-
-#: ../../include/text.php:422
-msgid "last"
-msgstr ""
-
-#: ../../include/text.php:425
-msgid "next"
-msgstr ""
-
-#: ../../include/text.php:435
-msgid "older"
-msgstr ""
-
-#: ../../include/text.php:437
-msgid "newer"
-msgstr ""
-
-#: ../../include/text.php:830
-msgid "No connections"
-msgstr ""
-
-#: ../../include/text.php:844
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/text.php:857 ../../mod/viewconnections.php:104
-msgid "View Connections"
-msgstr ""
-
-#: ../../include/text.php:914 ../../include/text.php:926
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr ""
-
-#: ../../include/text.php:915 ../../include/text.php:927
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
-msgid "Save"
-msgstr ""
-
-#: ../../include/text.php:990
-msgid "poke"
-msgstr ""
-
-#: ../../include/text.php:990 ../../include/conversation.php:243
-msgid "poked"
-msgstr ""
-
-#: ../../include/text.php:991
-msgid "ping"
-msgstr ""
-
-#: ../../include/text.php:991
-msgid "pinged"
-msgstr ""
-
-#: ../../include/text.php:992
-msgid "prod"
-msgstr ""
-
-#: ../../include/text.php:992
-msgid "prodded"
-msgstr ""
-
-#: ../../include/text.php:993
-msgid "slap"
-msgstr ""
-
-#: ../../include/text.php:993
-msgid "slapped"
-msgstr ""
-
-#: ../../include/text.php:994
-msgid "finger"
-msgstr ""
-
-#: ../../include/text.php:994
-msgid "fingered"
-msgstr ""
-
-#: ../../include/text.php:995
-msgid "rebuff"
-msgstr ""
-
-#: ../../include/text.php:995
-msgid "rebuffed"
-msgstr ""
-
-#: ../../include/text.php:1005
-msgid "happy"
-msgstr ""
-
-#: ../../include/text.php:1006
-msgid "sad"
-msgstr ""
-
-#: ../../include/text.php:1007
-msgid "mellow"
-msgstr ""
-
-#: ../../include/text.php:1008
-msgid "tired"
-msgstr ""
-
-#: ../../include/text.php:1009
-msgid "perky"
-msgstr ""
-
-#: ../../include/text.php:1010
-msgid "angry"
-msgstr ""
-
-#: ../../include/text.php:1011
-msgid "stupified"
-msgstr ""
-
-#: ../../include/text.php:1012
-msgid "puzzled"
-msgstr ""
-
-#: ../../include/text.php:1013
-msgid "interested"
-msgstr ""
-
-#: ../../include/text.php:1014
-msgid "bitter"
-msgstr ""
-
-#: ../../include/text.php:1015
-msgid "cheerful"
-msgstr ""
-
-#: ../../include/text.php:1016
-msgid "alive"
-msgstr ""
-
-#: ../../include/text.php:1017
-msgid "annoyed"
-msgstr ""
-
-#: ../../include/text.php:1018
-msgid "anxious"
-msgstr ""
-
-#: ../../include/text.php:1019
-msgid "cranky"
-msgstr ""
-
-#: ../../include/text.php:1020
-msgid "disturbed"
-msgstr ""
-
-#: ../../include/text.php:1021
-msgid "frustrated"
-msgstr ""
-
-#: ../../include/text.php:1022
-msgid "depressed"
-msgstr ""
-
-#: ../../include/text.php:1023
-msgid "motivated"
-msgstr ""
-
-#: ../../include/text.php:1024
-msgid "relaxed"
-msgstr ""
-
-#: ../../include/text.php:1025
-msgid "surprised"
-msgstr ""
-
-#: ../../include/text.php:1197
-msgid "Monday"
-msgstr ""
-
-#: ../../include/text.php:1197
-msgid "Tuesday"
-msgstr ""
-
-#: ../../include/text.php:1197
-msgid "Wednesday"
-msgstr ""
-
-#: ../../include/text.php:1197
-msgid "Thursday"
-msgstr ""
-
-#: ../../include/text.php:1197
-msgid "Friday"
-msgstr ""
-
-#: ../../include/text.php:1197
-msgid "Saturday"
-msgstr ""
-
-#: ../../include/text.php:1197
-msgid "Sunday"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "January"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "February"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "March"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "April"
-msgstr ""
-
-#: ../../include/text.php:1201 ../../mod/uexport.php:58
-#: ../../mod/uexport.php:59
-msgid "May"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "June"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "July"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "August"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "September"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "October"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "November"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "December"
-msgstr ""
-
-#: ../../include/text.php:1306
-msgid "unknown.???"
-msgstr ""
-
-#: ../../include/text.php:1307
-msgid "bytes"
-msgstr ""
-
-#: ../../include/text.php:1343
-msgid "remove category"
-msgstr ""
-
-#: ../../include/text.php:1418
-msgid "remove from file"
-msgstr ""
-
-#: ../../include/text.php:1494 ../../include/text.php:1505
-msgid "Click to open/close"
-msgstr ""
-
-#: ../../include/text.php:1661 ../../mod/events.php:474
-msgid "Link to Source"
-msgstr ""
-
-#: ../../include/text.php:1682 ../../include/text.php:1753
-msgid "default"
-msgstr ""
-
-#: ../../include/text.php:1690
-msgid "Page layout"
-msgstr ""
-
-#: ../../include/text.php:1690
-msgid "You can create your own with the layouts tool"
-msgstr ""
-
-#: ../../include/text.php:1731
-msgid "Page content type"
-msgstr ""
-
-#: ../../include/text.php:1765
-msgid "Select an alternate language"
-msgstr ""
-
-#: ../../include/text.php:1884 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:120 ../../mod/like.php:349
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
-msgid "photo"
-msgstr ""
-
-#: ../../include/text.php:1887 ../../include/conversation.php:123
-#: ../../mod/like.php:351 ../../mod/tagger.php:47
-msgid "event"
-msgstr ""
-
-#: ../../include/text.php:1890 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:148 ../../mod/like.php:349
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-msgid "status"
-msgstr ""
-
-#: ../../include/text.php:1892 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr ""
-
-#: ../../include/text.php:1897
-msgid "activity"
-msgstr ""
-
-#: ../../include/text.php:2192
-msgid "Design Tools"
-msgstr ""
-
-#: ../../include/text.php:2195 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr ""
-
-#: ../../include/text.php:2196 ../../mod/menu.php:101
-msgid "Menus"
-msgstr ""
-
-#: ../../include/text.php:2197 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr ""
-
-#: ../../include/text.php:2198
-msgid "Pages"
-msgstr ""
-
-#: ../../include/text.php:2549 ../../include/RedDAV/RedBrowser.php:131
-msgid "Collection"
-msgstr ""
-
#: ../../include/RedDAV/RedBrowser.php:107
#: ../../include/RedDAV/RedBrowser.php:265
msgid "parent"
msgstr ""
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2561
+msgid "Collection"
+msgstr ""
+
#: ../../include/RedDAV/RedBrowser.php:134
msgid "Principal"
msgstr ""
@@ -1413,6 +1061,12 @@ msgstr ""
msgid "Notes"
msgstr ""
+#: ../../include/widgets.php:192 ../../include/text.php:915
+#: ../../include/text.php:927 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50 ../../mod/admin.php:1457 ../../mod/admin.php:1477
+msgid "Save"
+msgstr ""
+
#: ../../include/widgets.php:266
msgid "Remove term"
msgstr ""
@@ -1755,6 +1409,19 @@ msgstr ""
msgid "Stored post could not be verified."
msgstr ""
+#: ../../include/diaspora.php:2119 ../../include/conversation.php:120
+#: ../../include/text.php:1896 ../../mod/like.php:349
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr ""
+
+#: ../../include/diaspora.php:2119 ../../include/conversation.php:148
+#: ../../include/text.php:1902 ../../mod/like.php:349
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+msgid "status"
+msgstr ""
+
#: ../../include/diaspora.php:2148 ../../include/conversation.php:164
#: ../../mod/like.php:397
#, php-format
@@ -1924,77 +1591,77 @@ msgstr ""
msgid "share"
msgstr ""
-#: ../../include/ItemObject.php:276
+#: ../../include/ItemObject.php:277
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/ItemObject.php:294 ../../include/ItemObject.php:295
+#: ../../include/ItemObject.php:295 ../../include/ItemObject.php:296
#, php-format
msgid "View %s's profile - %s"
msgstr ""
-#: ../../include/ItemObject.php:298
+#: ../../include/ItemObject.php:299
msgid "to"
msgstr ""
-#: ../../include/ItemObject.php:299
+#: ../../include/ItemObject.php:300
msgid "via"
msgstr ""
-#: ../../include/ItemObject.php:300
+#: ../../include/ItemObject.php:301
msgid "Wall-to-Wall"
msgstr ""
-#: ../../include/ItemObject.php:301
+#: ../../include/ItemObject.php:302
msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../include/ItemObject.php:312 ../../include/conversation.php:727
+#: ../../include/ItemObject.php:313 ../../include/conversation.php:727
#, php-format
msgid "from %s"
msgstr ""
-#: ../../include/ItemObject.php:315 ../../include/conversation.php:730
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:730
#, php-format
msgid "last edited: %s"
msgstr ""
-#: ../../include/ItemObject.php:316 ../../include/conversation.php:731
+#: ../../include/ItemObject.php:317 ../../include/conversation.php:731
#, php-format
msgid "Expires: %s"
msgstr ""
-#: ../../include/ItemObject.php:337
+#: ../../include/ItemObject.php:338
msgid "Save Bookmarks"
msgstr ""
-#: ../../include/ItemObject.php:338
+#: ../../include/ItemObject.php:339
msgid "Add to Calendar"
msgstr ""
-#: ../../include/ItemObject.php:347
+#: ../../include/ItemObject.php:348
msgid "Mark all seen"
msgstr ""
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1145
msgctxt "noun"
msgid "Likes"
msgstr ""
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
+#: ../../include/ItemObject.php:355 ../../mod/photos.php:1146
msgctxt "noun"
msgid "Dislikes"
msgstr ""
-#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
+#: ../../include/ItemObject.php:360 ../../include/acl_selectors.php:249
#: ../../mod/photos.php:1151
msgid "Close"
msgstr ""
-#: ../../include/ItemObject.php:364 ../../include/conversation.php:748
+#: ../../include/ItemObject.php:365 ../../include/conversation.php:748
#: ../../include/conversation.php:1220 ../../mod/editpost.php:123
#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
@@ -2002,54 +1669,54 @@ msgstr ""
msgid "Please wait"
msgstr ""
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
+#: ../../include/ItemObject.php:666 ../../mod/photos.php:978
#: ../../mod/photos.php:1096
msgid "This is you"
msgstr ""
-#: ../../include/ItemObject.php:669 ../../include/conversation.php:1192
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1192
#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
msgid "Bold"
msgstr ""
-#: ../../include/ItemObject.php:670 ../../include/conversation.php:1193
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1193
#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
msgid "Italic"
msgstr ""
-#: ../../include/ItemObject.php:671 ../../include/conversation.php:1194
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1194
#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
msgid "Underline"
msgstr ""
-#: ../../include/ItemObject.php:672 ../../include/conversation.php:1195
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1195
#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
msgid "Quote"
msgstr ""
-#: ../../include/ItemObject.php:673 ../../include/conversation.php:1196
+#: ../../include/ItemObject.php:674 ../../include/conversation.php:1196
#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
msgid "Code"
msgstr ""
-#: ../../include/ItemObject.php:674
+#: ../../include/ItemObject.php:675
msgid "Image"
msgstr ""
-#: ../../include/ItemObject.php:675
+#: ../../include/ItemObject.php:676
msgid "Insert Link"
msgstr ""
-#: ../../include/ItemObject.php:676
+#: ../../include/ItemObject.php:677
msgid "Video"
msgstr ""
-#: ../../include/ItemObject.php:680 ../../include/conversation.php:1247
+#: ../../include/ItemObject.php:681 ../../include/conversation.php:1247
#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
msgid "Encrypt text"
msgstr ""
@@ -2201,6 +1868,12 @@ msgstr ""
msgid "Applications, utilities, links, games"
msgstr ""
+#: ../../include/nav.php:165 ../../include/text.php:914
+#: ../../include/text.php:926 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr ""
+
#: ../../include/nav.php:165
msgid "Search site content"
msgstr ""
@@ -2529,10 +2202,20 @@ msgstr ""
msgid "Custom/Expert Mode"
msgstr ""
+#: ../../include/conversation.php:123 ../../include/text.php:1899
+#: ../../mod/like.php:351 ../../mod/tagger.php:47
+msgid "event"
+msgstr ""
+
#: ../../include/conversation.php:126 ../../mod/like.php:113
msgid "channel"
msgstr ""
+#: ../../include/conversation.php:150 ../../include/text.php:1904
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr ""
+
#: ../../include/conversation.php:167 ../../mod/like.php:399
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
@@ -2548,6 +2231,10 @@ msgstr ""
msgid "%1$s poked %2$s"
msgstr ""
+#: ../../include/conversation.php:243 ../../include/text.php:990
+msgid "poked"
+msgstr ""
+
#: ../../include/conversation.php:260 ../../mod/mood.php:63
#, php-format
msgctxt "mood"
@@ -3222,6 +2909,318 @@ msgstr ""
msgid "Permissions"
msgstr ""
+#: ../../include/text.php:391
+msgid "prev"
+msgstr ""
+
+#: ../../include/text.php:393
+msgid "first"
+msgstr ""
+
+#: ../../include/text.php:422
+msgid "last"
+msgstr ""
+
+#: ../../include/text.php:425
+msgid "next"
+msgstr ""
+
+#: ../../include/text.php:435
+msgid "older"
+msgstr ""
+
+#: ../../include/text.php:437
+msgid "newer"
+msgstr ""
+
+#: ../../include/text.php:830
+msgid "No connections"
+msgstr ""
+
+#: ../../include/text.php:844
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/text.php:857 ../../mod/viewconnections.php:104
+msgid "View Connections"
+msgstr ""
+
+#: ../../include/text.php:990
+msgid "poke"
+msgstr ""
+
+#: ../../include/text.php:991
+msgid "ping"
+msgstr ""
+
+#: ../../include/text.php:991
+msgid "pinged"
+msgstr ""
+
+#: ../../include/text.php:992
+msgid "prod"
+msgstr ""
+
+#: ../../include/text.php:992
+msgid "prodded"
+msgstr ""
+
+#: ../../include/text.php:993
+msgid "slap"
+msgstr ""
+
+#: ../../include/text.php:993
+msgid "slapped"
+msgstr ""
+
+#: ../../include/text.php:994
+msgid "finger"
+msgstr ""
+
+#: ../../include/text.php:994
+msgid "fingered"
+msgstr ""
+
+#: ../../include/text.php:995
+msgid "rebuff"
+msgstr ""
+
+#: ../../include/text.php:995
+msgid "rebuffed"
+msgstr ""
+
+#: ../../include/text.php:1005
+msgid "happy"
+msgstr ""
+
+#: ../../include/text.php:1006
+msgid "sad"
+msgstr ""
+
+#: ../../include/text.php:1007
+msgid "mellow"
+msgstr ""
+
+#: ../../include/text.php:1008
+msgid "tired"
+msgstr ""
+
+#: ../../include/text.php:1009
+msgid "perky"
+msgstr ""
+
+#: ../../include/text.php:1010
+msgid "angry"
+msgstr ""
+
+#: ../../include/text.php:1011
+msgid "stupified"
+msgstr ""
+
+#: ../../include/text.php:1012
+msgid "puzzled"
+msgstr ""
+
+#: ../../include/text.php:1013
+msgid "interested"
+msgstr ""
+
+#: ../../include/text.php:1014
+msgid "bitter"
+msgstr ""
+
+#: ../../include/text.php:1015
+msgid "cheerful"
+msgstr ""
+
+#: ../../include/text.php:1016
+msgid "alive"
+msgstr ""
+
+#: ../../include/text.php:1017
+msgid "annoyed"
+msgstr ""
+
+#: ../../include/text.php:1018
+msgid "anxious"
+msgstr ""
+
+#: ../../include/text.php:1019
+msgid "cranky"
+msgstr ""
+
+#: ../../include/text.php:1020
+msgid "disturbed"
+msgstr ""
+
+#: ../../include/text.php:1021
+msgid "frustrated"
+msgstr ""
+
+#: ../../include/text.php:1022
+msgid "depressed"
+msgstr ""
+
+#: ../../include/text.php:1023
+msgid "motivated"
+msgstr ""
+
+#: ../../include/text.php:1024
+msgid "relaxed"
+msgstr ""
+
+#: ../../include/text.php:1025
+msgid "surprised"
+msgstr ""
+
+#: ../../include/text.php:1197
+msgid "Monday"
+msgstr ""
+
+#: ../../include/text.php:1197
+msgid "Tuesday"
+msgstr ""
+
+#: ../../include/text.php:1197
+msgid "Wednesday"
+msgstr ""
+
+#: ../../include/text.php:1197
+msgid "Thursday"
+msgstr ""
+
+#: ../../include/text.php:1197
+msgid "Friday"
+msgstr ""
+
+#: ../../include/text.php:1197
+msgid "Saturday"
+msgstr ""
+
+#: ../../include/text.php:1197
+msgid "Sunday"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "January"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "February"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "March"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "April"
+msgstr ""
+
+#: ../../include/text.php:1201 ../../mod/uexport.php:58
+#: ../../mod/uexport.php:59
+msgid "May"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "June"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "July"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "August"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "September"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "October"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "November"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "December"
+msgstr ""
+
+#: ../../include/text.php:1306
+msgid "unknown.???"
+msgstr ""
+
+#: ../../include/text.php:1307
+msgid "bytes"
+msgstr ""
+
+#: ../../include/text.php:1343
+msgid "remove category"
+msgstr ""
+
+#: ../../include/text.php:1418
+msgid "remove from file"
+msgstr ""
+
+#: ../../include/text.php:1506 ../../include/text.php:1517
+msgid "Click to open/close"
+msgstr ""
+
+#: ../../include/text.php:1673 ../../mod/events.php:474
+msgid "Link to Source"
+msgstr ""
+
+#: ../../include/text.php:1694 ../../include/text.php:1765
+msgid "default"
+msgstr ""
+
+#: ../../include/text.php:1702
+msgid "Page layout"
+msgstr ""
+
+#: ../../include/text.php:1702
+msgid "You can create your own with the layouts tool"
+msgstr ""
+
+#: ../../include/text.php:1743
+msgid "Page content type"
+msgstr ""
+
+#: ../../include/text.php:1777
+msgid "Select an alternate language"
+msgstr ""
+
+#: ../../include/text.php:1909
+msgid "activity"
+msgstr ""
+
+#: ../../include/text.php:2204
+msgid "Design Tools"
+msgstr ""
+
+#: ../../include/text.php:2207 ../../mod/blocks.php:147
+msgid "Blocks"
+msgstr ""
+
+#: ../../include/text.php:2208 ../../mod/menu.php:101
+msgid "Menus"
+msgstr ""
+
+#: ../../include/text.php:2209 ../../mod/layouts.php:174
+msgid "Layouts"
+msgstr ""
+
+#: ../../include/text.php:2210
+msgid "Pages"
+msgstr ""
+
#: ../../include/attach.php:242 ../../include/attach.php:300
msgid "Item was not found."
msgstr ""
@@ -4523,6 +4522,10 @@ msgid "Location"
msgstr ""
#: ../../mod/pubsites.php:26
+msgid "Project"
+msgstr ""
+
+#: ../../mod/pubsites.php:26
msgid "View hub ratings"
msgstr ""
diff --git a/version.inc b/version.inc
index c2d20dbc4..4013cd9db 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2015-11-02.1204
+2015-11-03.1205
diff --git a/view/de/htconfig.tpl b/view/de/htconfig.tpl
index 550b018fe..928694769 100644
--- a/view/de/htconfig.tpl
+++ b/view/de/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
diff --git a/view/de/update_fail_eml.tpl b/view/de/update_fail_eml.tpl
index ca1a4985d..d28bed717 100644
--- a/view/de/update_fail_eml.tpl
+++ b/view/de/update_fail_eml.tpl
@@ -1,13 +1,13 @@
Hallo,
ich bin der Webserver für {{$sitename}};
-Die RedMatrix-Entwickler haben kürzlich das Update {{$update}} veröffentlicht,
+Die Hubzilla-Entwickler haben kürzlich das Update {{$update}} veröffentlicht,
aber als ich versuchte, es zu installieren, ging irgendwas furchtbar schief.
Das muss so bald als möglich gelöst werden und erfordert einen manuellen Eingriff.
-Bitte kontaktiere einen Red-Entwickler, wenn Du nicht weißt, wie Du das Problem
+Bitte kontaktiere einen Hubzilla-Entwickler, wenn Du nicht weißt, wie Du das Problem
selbst beheben kannst. Meine Datenbank ist eventuell ungültig.
Die Fehlermeldung ist '{{$error}}'.
Bitte entschuldige die Unannehmlichkeit,
- Dein Web-Server auf {{$siteurl}} \ No newline at end of file
+ Dein Hubzilla-Server auf {{$siteurl}}
diff --git a/view/es/messages.po b/view/es/messages.po
index 6c2093830..4ed1d6c44 100644
--- a/view/es/messages.po
+++ b/view/es/messages.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-17 16:47-0700\n"
-"PO-Revision-Date: 2015-10-18 15:17+0000\n"
+"POT-Creation-Date: 2015-10-23 00:04-0700\n"
+"PO-Revision-Date: 2015-10-31 19:26+0000\n"
"Last-Translator: Manuel Jiménez Friaza <mjfriaza@openmailbox.org>\n"
"Language-Team: Spanish (http://www.transifex.com/Friendica/red-matrix/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -4531,6 +4531,10 @@ msgid "Location"
msgstr "Localización"
#: ../../mod/pubsites.php:26
+msgid "Project"
+msgstr "Proyecto"
+
+#: ../../mod/pubsites.php:26
msgid "View hub ratings"
msgstr "Ver las valoraciones del sitio"
diff --git a/view/es/strings.php b/view/es/strings.php
index 8b0b1758a..be750b0ff 100644
--- a/view/es/strings.php
+++ b/view/es/strings.php
@@ -1067,6 +1067,7 @@ $a->strings["Site URL"] = "Dirección del sitio";
$a->strings["Access Type"] = "Tipo de Acceso";
$a->strings["Registration Policy"] = "Normas de Registro";
$a->strings["Location"] = "Localización";
+$a->strings["Project"] = "Proyecto";
$a->strings["View hub ratings"] = "Ver las valoraciones del sitio";
$a->strings["Rate"] = "Valorar";
$a->strings["View ratings"] = "Ver valoraciones";
diff --git a/view/fr/htconfig.tpl b/view/fr/htconfig.tpl
index a3b4c0644..430d97a47 100644
--- a/view/fr/htconfig.tpl
+++ b/view/fr/htconfig.tpl
@@ -31,7 +31,7 @@ $default_timezone = '{{$timezone}}';
// Quel sera le nom de votre site?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Matrice Rouge";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Vos choix sont REGISTER_OPEN, REGISTER_APPROVE, ou REGISTER_CLOSED.
diff --git a/view/js/main.js b/view/js/main.js
index fd03802c5..8bd4357cc 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -836,10 +836,20 @@ function dropItem(url, object) {
function dosubthread(ident) {
unpause();
$('#like-rotator-' + ident.toString()).spin('tiny');
- $.get('subthread/' + ident.toString(), NavUpdate );
+ $.get('subthread/sub/' + ident.toString(), NavUpdate );
liking = 1;
}
+
+function dounsubthread(ident) {
+ unpause();
+ $('#like-rotator-' + ident.toString()).spin('tiny');
+ $.get('subthread/unsub/' + ident.toString(), NavUpdate );
+ liking = 1;
+}
+
+
+
function dostar(ident) {
ident = ident.toString();
$('#like-rotator-' + ident).spin('tiny');
diff --git a/view/nl/messages.po b/view/nl/messages.po
index 0b3d7e3fd..6f55daf17 100644
--- a/view/nl/messages.po
+++ b/view/nl/messages.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-10-17 16:47-0700\n"
-"PO-Revision-Date: 2015-10-18 13:28+0000\n"
+"POT-Creation-Date: 2015-10-23 00:04-0700\n"
+"PO-Revision-Date: 2015-10-26 15:27+0000\n"
"Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/Friendica/red-matrix/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -4527,6 +4527,10 @@ msgid "Location"
msgstr "Locatie"
#: ../../mod/pubsites.php:26
+msgid "Project"
+msgstr "Project"
+
+#: ../../mod/pubsites.php:26
msgid "View hub ratings"
msgstr "Bekijk hubbeoordelingen"
diff --git a/view/nl/strings.php b/view/nl/strings.php
index 865de908e..295164d17 100644
--- a/view/nl/strings.php
+++ b/view/nl/strings.php
@@ -1067,6 +1067,7 @@ $a->strings["Site URL"] = "URL hub";
$a->strings["Access Type"] = "Toegangstype";
$a->strings["Registration Policy"] = "Registratiebeleid";
$a->strings["Location"] = "Locatie";
+$a->strings["Project"] = "Project";
$a->strings["View hub ratings"] = "Bekijk hubbeoordelingen";
$a->strings["Rate"] = "Beoordeel";
$a->strings["View ratings"] = "Bekijk beoordelingen";
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index 26434b20a..4add59a0d 100755
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
@@ -49,7 +49,9 @@
{{include file="field_input.tpl" field=$frontpage}}
{{include file="field_checkbox.tpl" field=$mirror_frontpage}}
{{include file="field_checkbox.tpl" field=$login_on_homepage}}
-
+ {{if $directory_server}}
+ {{include file="field_select.tpl" field=$directory_server}}
+ {{/if}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>