Merge remote-tracking branch 'upstream/develop' into develop

This commit is contained in:
Jens Tautenhahn
2016-11-14 09:52:01 +01:00
17 changed files with 14710 additions and 14198 deletions
Vendored
+1 -1
View File
@@ -1,6 +1,6 @@
server_ip = "192.168.22.10"
server_memory = "384" # MB
server_memory = "1024" # MB
server_timezone = "UTC"
public_folder = "/vagrant"
+39 -22
View File
@@ -1897,11 +1897,12 @@ function get_max_import_size() {
* @brief Wrap calls to proc_close(proc_open()) and call hook
* so plugins can take part in process :)
*
* @param (string|integer) $cmd program to run or priority
* @param (string|integer|array) $cmd program to run, priority or parameter array
*
* next args are passed as $cmd command line
* e.g.: proc_run("ls","-la","/tmp");
* or: proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
* or: proc_run(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), "include/create_shadowentry.php", $post_id);
*
* @note $cmd and string args are surrounded with ""
*
@@ -1912,24 +1913,31 @@ function proc_run($cmd){
$a = get_app();
$args = func_get_args();
$proc_args = func_get_args();
$newargs = array();
if (!count($args))
$args = array();
if (!count($proc_args)) {
return;
// expand any arrays
foreach($args as $arg) {
if(is_array($arg)) {
foreach($arg as $n) {
$newargs[] = $n;
}
} else
$newargs[] = $arg;
}
$args = $newargs;
// Preserve the first parameter
// It could contain a command, the priority or an parameter array
// If we use the parameter array we have to protect it from the following function
$run_parameter = array_shift($proc_args);
// expand any arrays
foreach ($proc_args as $arg) {
if (is_array($arg)) {
foreach ($arg as $n) {
$args[] = $n;
}
} else {
$args[] = $arg;
}
}
// Now we add the run parameters back to the array
array_unshift($args, $run_parameter);
$arr = array('args' => $args, 'run_cmd' => true);
@@ -1937,16 +1945,24 @@ function proc_run($cmd){
if (!$arr['run_cmd'] OR !count($args))
return;
if (!get_config("system", "worker") OR
(($args[0] != 'php') AND !is_int($args[0]))) {
if (!get_config("system", "worker") OR (is_string($run_parameter) AND ($run_parameter != 'php'))) {
$a->proc_run($args);
return;
}
if (is_int($args[0]))
$priority = $args[0];
else
$priority = PRIORITY_MEDIUM;
$priority = PRIORITY_MEDIUM;
$dont_fork = get_config("system", "worker_dont_fork");
if (is_int($run_parameter)) {
$priority = $run_parameter;
} elseif (is_array($run_parameter)) {
if (isset($run_parameter['priority'])) {
$priority = $run_parameter['priority'];
}
if (isset($run_parameter['dont_fork'])) {
$dont_fork = $run_parameter['dont_fork'];
}
}
$argv = $args;
array_shift($argv);
@@ -1963,8 +1979,9 @@ function proc_run($cmd){
intval($priority));
// Should we quit and wait for the poller to be called as a cronjob?
if (get_config("system", "worker_dont_fork"))
if ($dont_fork) {
return;
}
// Checking number of workers
$workers = q("SELECT COUNT(*) AS `workers` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
+1 -6
View File
@@ -707,11 +707,6 @@ class Photo {
);
}
// Update the cached values
if ($album != 'Contact Photos') {
photo_albums($uid, true);
}
return $r;
}
}
@@ -872,7 +867,7 @@ function get_photo_info($url) {
$data = Cache::get($url);
if (is_null($data) OR !$data) {
if (is_null($data) OR !$data OR !is_array($data)) {
$img_str = fetch_url($url, true, $redirects, 4);
$filesize = strlen($img_str);
+5 -6
View File
@@ -281,16 +281,15 @@
logger("API call duration: ".round($duration, 2)."\t".$a->query_string, LOGGER_DEBUG);
if (get_config("system", "profiler")) {
logger(sprintf("Database: %s/%s, Network: %s, Rendering: %s, Session: %s, I/O: %s, Other: %s, Total: %s",
$duration = microtime(true)-$a->performance["start"];
logger(parse_url($a->query_string, PHP_URL_PATH).": ".sprintf("Database: %s/%s, Network: %s, I/O: %s, Other: %s, Total: %s",
round($a->performance["database"] - $a->performance["database_write"], 3),
round($a->performance["database_write"], 3),
round($a->performance["network"], 2),
round($a->performance["rendering"], 2),
round($a->performance["parser"], 2),
round($a->performance["file"], 2),
round($duration - $a->performance["database"]
- $a->performance["network"] - $a->performance["rendering"]
- $a->performance["parser"] - $a->performance["file"], 2),
round($duration - ($a->performance["database"] + $a->performance["network"]
+ $a->performance["file"]), 2),
round($duration, 2)),
LOGGER_DEBUG);
+40
View File
@@ -0,0 +1,40 @@
<?php
/**
* @file include/create_shadowentry.php
* @brief This script creates posts with UID = 0 for a given public post.
*
* This script is started from mod/item.php to save some time when doing a post.
*/
require_once("boot.php");
require_once("include/threads.php");
function create_shadowentry_run($argv, $argc) {
global $a, $db;
if (is_null($a))
$a = new App;
if (is_null($db)) {
@include(".htconfig.php");
require_once("include/dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
}
load_config('config');
load_config('system');
if ($argc != 2) {
return;
}
$message_id = intval($argv[1]);
add_shadow_entry($message_id);
}
if (array_search(__file__,get_included_files())===0){
create_shadowentry_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
}
?>
+3 -1
View File
@@ -2876,8 +2876,10 @@ class diaspora {
"created_at" => $created,
"provider_display_name" => $item["app"]);
if (count($location) == 0)
// Diaspora rejects messages when they contain a location without "lat" or "lng"
if (!isset($location["lat"]) OR !isset($location["lng"])) {
unset($message["location"]);
}
$type = "status_message";
}
+29 -11
View File
@@ -147,19 +147,23 @@ function add_page_info_data($data) {
// It maybe is a rich content, but if it does have everything that a link has,
// then treat it that way
if (($data["type"] == "rich") AND is_string($data["title"]) AND
is_string($data["text"]) AND (sizeof($data["images"]) > 0))
is_string($data["text"]) AND (sizeof($data["images"]) > 0)) {
$data["type"] = "link";
}
if ((($data["type"] != "link") AND ($data["type"] != "video") AND ($data["type"] != "photo")) OR ($data["title"] == $url))
return("");
if ((($data["type"] != "link") AND ($data["type"] != "video") AND ($data["type"] != "photo")) OR ($data["title"] == $data["url"])) {
return "";
}
if ($no_photos AND ($data["type"] == "photo"))
return("");
if ($no_photos AND ($data["type"] == "photo")) {
return "";
}
if (sizeof($data["images"]) > 0)
if (sizeof($data["images"]) > 0) {
$preview = $data["images"][0];
else
} else {
$preview = "";
}
// Escape some bad characters
$data["url"] = str_replace(array("[", "]"), array("&#91;", "&#93;"), htmlentities($data["url"], ENT_QUOTES, 'UTF-8', false));
@@ -167,19 +171,33 @@ function add_page_info_data($data) {
$text = "[attachment type='".$data["type"]."'";
if ($data["url"] != "")
if ($data["text"] == "") {
$data["text"] = $data["title"];
}
if ($data["text"] == "") {
$data["text"] = $data["url"];
}
if ($data["url"] != "") {
$text .= " url='".$data["url"]."'";
if ($data["title"] != "")
}
if ($data["title"] != "") {
$text .= " title='".$data["title"]."'";
}
if (sizeof($data["images"]) > 0) {
$preview = str_replace(array("[", "]"), array("&#91;", "&#93;"), htmlentities($data["images"][0]["src"], ENT_QUOTES, 'UTF-8', false));
// if the preview picture is larger than 500 pixels then show it in a larger mode
// But only, if the picture isn't higher than large (To prevent huge posts)
if (($data["images"][0]["width"] >= 500) AND ($data["images"][0]["width"] >= $data["images"][0]["height"]))
if (($data["images"][0]["width"] >= 500) AND ($data["images"][0]["width"] >= $data["images"][0]["height"])) {
$text .= " image='".$preview."'";
else
} else {
$text .= " preview='".$preview."'";
}
}
$text .= "]".$data["text"]."[/attachment]";
$hashtags = "";
+11
View File
@@ -123,8 +123,19 @@ function add_shadow_thread($itemid) {
function add_shadow_entry($itemid) {
$items = q("SELECT * FROM `item` WHERE `id` = %d", intval($itemid));
if (!dbm::is_result($items)) {
return;
}
$item = $items[0];
// Is it a toplevel post?
if ($item['id'] == $item['parent']) {
add_shadow_thread($itemid);
return;
}
// Is this a shadow entry?
if ($item['uid'] == 0)
return;
+14 -5
View File
@@ -269,13 +269,15 @@ function admin_page_federation(&$a) {
// off one % two of them are needed in the query
// Add more platforms if you like, when one returns 0 known nodes it is not
// displayed on the stats page.
$platforms = array('Friendica', 'Diaspora', '%%red%%', 'Hubzilla', 'GNU Social', 'StatusNet');
$platforms = array('Friendica', 'Diaspora', '%%red%%', 'Hubzilla', 'BlaBlaNet', 'GNU Social', 'StatusNet', 'Mastodon');
$colors = array('Friendica' => '#ffc018', // orange from the logo
'Diaspora' => '#a1a1a1', // logo is black and white, makes a gray
'Diaspora' => '#a1a1a1', // logo is black and white, makes a gray
'%%red%%' => '#c50001', // fire red from the logo
'Hubzilla' => '#43488a', // blue from the logo
'BlaBlaNet' => '#3B5998', // blue from the navbar at blablanet-dot-com
'GNU Social'=> '#a22430', // dark red from the logo
'StatusNet' => '#789240'); // the green from the logo (red and blue have already others
'StatusNet' => '#789240', // the green from the logo (red and blue have already others
'Mastodon' => '#1a9df9'); // blue from the Mastodon logo
$counts = array();
$total = 0;
@@ -283,20 +285,27 @@ function admin_page_federation(&$a) {
// get a total count for the platform, the name and version of the
// highest version and the protocol tpe
$c = qu('SELECT COUNT(*) AS `total`, `platform`, `network`, `version` FROM `gserver`
WHERE `platform` LIKE "%s" AND `last_contact` > `last_failure` AND `version` != ""
WHERE `platform` LIKE "%s" AND `last_contact` > `last_failure`
ORDER BY `version` ASC;', $p);
$total = $total + $c[0]['total'];
// what versions for that platform do we know at all?
// again only the active nodes
$v = qu('SELECT COUNT(*) AS `total`, `version` FROM `gserver`
WHERE `last_contact` > `last_failure` AND `platform` LIKE "%s" AND `version` != ""
WHERE `last_contact` > `last_failure` AND `platform` LIKE "%s"
GROUP BY `version`
ORDER BY `version`;', $p);
//
// clean up version numbers
//
// some platforms do not provide version information, add a unkown there
// to the version string for the displayed list.
foreach ($v as $key => $value) {
if ($v[$key]['version'] == '') {
$v[$key] = array('total'=>$v[$key]['total'], 'version'=>t('unknown'));
}
}
// in the DB the Diaspora versions have the format x.x.x.x-xx the last
// part (-xx) should be removed to clean up the versions from the "head
// commit" information and combined into a single entry for x.x.x.x
+6 -15
View File
@@ -1020,22 +1020,13 @@ function item_post(&$a) {
create_tags_from_item($post_id);
create_files_from_item($post_id);
// Insert an item entry for UID=0 for global entries
if ($post_id != $parent) {
add_shadow_thread($post_id);
} else {
add_shadow_entry($post_id);
}
// This is a real juggling act on shared hosting services which kill your processes
// e.g. dreamhost. We used to start delivery to our native delivery agents in the background
// and then run our plugin delivery from the foreground. We're now doing plugin delivery first,
// because as soon as you start loading up a bunch of remote delivey processes, *this* page is
// likely to get killed off. If you end up looking at an /item URL and a blank page,
// it's very likely the delivery got killed before all your friends could be notified.
// Currently the only realistic fixes are to use a reliable server - which precludes shared hosting,
// or cut back on plugins which do remote deliveries.
// Insert an item entry for UID=0 for global entries.
// We now do it in the background to save some time.
// This is important in interactive environments like the frontend or the API.
// We don't fork a new process since this is done anyway with the following command
proc_run(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), "include/create_shadowentry.php", $post_id);
// Call the background process that is delivering the item to the receivers
proc_run(PRIORITY_HIGH, "include/notifier.php", $notify_type, $post_id);
logger('post_complete');
+15 -2
View File
@@ -89,6 +89,13 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
$siteinfo = array();
// Check if the URL does contain a scheme
$scheme = parse_url($url, PHP_URL_SCHEME);
if ($scheme == "") {
$url = "http://".trim($url, "/");
}
if ($count > 10) {
logger("parseurl_getsiteinfo: Endless loop detected for ".$url, LOGGER_DEBUG);
return($siteinfo);
@@ -102,6 +109,8 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
$siteinfo["url"] = $url;
$siteinfo["type"] = "link";
$check_cert = get_config('system','verifyssl');
$stamp1 = microtime(true);
$ch = curl_init();
@@ -110,8 +119,9 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent());
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, (($check_cert) ? true : false));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, (($check_cert) ? 2 : false));
$header = curl_exec($ch);
$curl_info = @curl_getinfo($ch);
@@ -142,8 +152,9 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
$oembed_data = oembed_fetch_url($url);
if ($oembed_data->type != "error")
if (!in_array($oembed_data->type, array("error", "rich"))) {
$siteinfo["type"] = $oembed_data->type;
}
if (($oembed_data->type == "link") AND ($siteinfo["type"] != "photo")) {
if (isset($oembed_data->title))
@@ -165,6 +176,8 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent());
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, (($check_cert) ? true : false));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, (($check_cert) ? 2 : false));
$header = curl_exec($ch);
$curl_info = @curl_getinfo($ch);
+1 -1
View File
@@ -1004,7 +1004,7 @@ function settings_content(&$a) {
'$noinfo' => array('noinfo', t("Don't show notices"), $noinfo, ''),
'$infinite_scroll' => array('infinite_scroll', t("Infinite scroll"), $infinite_scroll, ''),
'$no_auto_update' => array('no_auto_update', t("Automatic updates only at the top of the network page"), $no_auto_update, 'When disabled, the network page is updated all the time, which could be confusing while reading.'),
'$bandwidth_saver' => array('bandwidth_saver', t('Bandwith Saver Mode'), $bandwidth_saver, 'When enabled, embedded content is not displayed on automatic updates, they only show on page reload.'),
'$bandwidth_saver' => array('bandwidth_saver', t('Bandwith Saver Mode'), $bandwidth_saver, t('When enabled, embedded content is not displayed on automatic updates, they only show on page reload.')),
'$d_tset' => t('General Theme Settings'),
'$d_ctset' => t('Custom Theme Settings'),
+112 -106
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-06 16:00+0100\n"
"POT-Creation-Date: 2016-11-10 15:43+0100\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"
@@ -51,8 +51,8 @@ msgstr ""
msgid "Enter name or interest"
msgstr ""
#: include/contact_widgets.php:32 include/Contact.php:325
#: include/conversation.php:981 mod/follow.php:103 mod/allfriends.php:66
#: include/contact_widgets.php:32 include/conversation.php:981
#: include/Contact.php:347 mod/follow.php:103 mod/allfriends.php:66
#: mod/contacts.php:602 mod/dirfind.php:204 mod/match.php:72
#: mod/suggest.php:83
msgid "Connect/Follow"
@@ -1146,57 +1146,6 @@ msgstr ""
msgid "noreply"
msgstr ""
#: include/Contact.php:119
msgid "stopped following"
msgstr ""
#: include/Contact.php:311 include/Contact.php:324 include/Contact.php:369
#: include/conversation.php:968 include/conversation.php:984
#: mod/allfriends.php:65 mod/directory.php:155 mod/dirfind.php:203
#: mod/match.php:71 mod/suggest.php:82
msgid "View Profile"
msgstr ""
#: include/Contact.php:368 include/conversation.php:967
msgid "View Status"
msgstr ""
#: include/Contact.php:370 include/conversation.php:969
msgid "View Photos"
msgstr ""
#: include/Contact.php:371 include/conversation.php:970
msgid "Network Posts"
msgstr ""
#: include/Contact.php:372 include/conversation.php:971
msgid "View Contact"
msgstr ""
#: include/Contact.php:373
msgid "Drop Contact"
msgstr ""
#: include/Contact.php:374 include/conversation.php:972
msgid "Send PM"
msgstr ""
#: include/Contact.php:375 include/conversation.php:976
msgid "Poke"
msgstr ""
#: include/Contact.php:748
msgid "Organisation"
msgstr ""
#: include/Contact.php:751
msgid "News"
msgstr ""
#: include/Contact.php:754
msgid "Forum"
msgstr ""
#: include/api.php:1019
#, php-format
msgid "Daily posting limit of %d posts reached. The post was rejected."
@@ -1353,6 +1302,37 @@ msgstr ""
msgid "Follow Thread"
msgstr ""
#: include/conversation.php:967 include/Contact.php:390
msgid "View Status"
msgstr ""
#: include/conversation.php:968 include/conversation.php:984
#: include/Contact.php:333 include/Contact.php:346 include/Contact.php:391
#: mod/allfriends.php:65 mod/directory.php:155 mod/dirfind.php:203
#: mod/match.php:71 mod/suggest.php:82
msgid "View Profile"
msgstr ""
#: include/conversation.php:969 include/Contact.php:392
msgid "View Photos"
msgstr ""
#: include/conversation.php:970 include/Contact.php:393
msgid "Network Posts"
msgstr ""
#: include/conversation.php:971 include/Contact.php:394
msgid "View Contact"
msgstr ""
#: include/conversation.php:972 include/Contact.php:396
msgid "Send PM"
msgstr ""
#: include/conversation.php:976 include/Contact.php:397
msgid "Poke"
msgstr ""
#: include/conversation.php:1094
#, php-format
msgid "%s likes this."
@@ -1564,8 +1544,8 @@ msgstr ""
#: mod/fbrowser.php:136 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:121
#: mod/editpost.php:148 mod/message.php:220 mod/dfrn_request.php:875
#: mod/contacts.php:445 mod/photos.php:235 mod/photos.php:322
#: mod/settings.php:677 mod/settings.php:703 mod/suggest.php:32
#: mod/videos.php:128
#: mod/suggest.php:32 mod/videos.php:128 mod/settings.php:677
#: mod/settings.php:703
msgid "Cancel"
msgstr ""
@@ -2554,11 +2534,11 @@ msgstr ""
#: include/items.php:1914 mod/follow.php:110 mod/api.php:105
#: mod/message.php:217 mod/dfrn_request.php:861 mod/profiles.php:648
#: mod/profiles.php:651 mod/profiles.php:677 mod/contacts.php:442
#: mod/register.php:238 mod/settings.php:1158 mod/settings.php:1164
#: mod/settings.php:1172 mod/settings.php:1176 mod/settings.php:1181
#: mod/settings.php:1187 mod/settings.php:1193 mod/settings.php:1199
#: mod/settings.php:1225 mod/settings.php:1226 mod/settings.php:1227
#: mod/settings.php:1228 mod/settings.php:1229 mod/suggest.php:29
#: mod/register.php:238 mod/suggest.php:29 mod/settings.php:1158
#: mod/settings.php:1164 mod/settings.php:1172 mod/settings.php:1176
#: mod/settings.php:1181 mod/settings.php:1187 mod/settings.php:1193
#: mod/settings.php:1199 mod/settings.php:1225 mod/settings.php:1226
#: mod/settings.php:1227 mod/settings.php:1228 mod/settings.php:1229
msgid "Yes"
msgstr ""
@@ -2579,8 +2559,8 @@ msgstr ""
#: mod/contacts.php:350 mod/dirfind.php:11 mod/display.php:475
#: mod/events.php:190 mod/item.php:198 mod/item.php:210 mod/network.php:4
#: mod/photos.php:159 mod/photos.php:1072 mod/register.php:42
#: mod/settings.php:22 mod/settings.php:128 mod/settings.php:663
#: mod/suggest.php:58 mod/viewcontacts.php:45 index.php:397
#: mod/suggest.php:58 mod/viewcontacts.php:45 mod/settings.php:22
#: mod/settings.php:128 mod/settings.php:663 index.php:397
msgid "Permission denied."
msgstr ""
@@ -3075,6 +3055,26 @@ msgstr ""
msgid "Item filed"
msgstr ""
#: include/Contact.php:119
msgid "stopped following"
msgstr ""
#: include/Contact.php:395
msgid "Drop Contact"
msgstr ""
#: include/Contact.php:770
msgid "Organisation"
msgstr ""
#: include/Contact.php:773
msgid "News"
msgstr ""
#: include/Contact.php:776
msgid "Forum"
msgstr ""
#: mod/oexchange.php:25
msgid "Post successful."
msgstr ""
@@ -7861,6 +7861,49 @@ msgstr ""
msgid "Import your profile to this friendica instance"
msgstr ""
#: mod/suggest.php:27
msgid "Do you really want to delete this suggestion?"
msgstr ""
#: mod/suggest.php:71
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr ""
#: mod/suggest.php:84 mod/suggest.php:104
msgid "Ignore/Hide"
msgstr ""
#: mod/update_community.php:19 mod/update_display.php:23
#: mod/update_network.php:27 mod/update_notes.php:36 mod/update_profile.php:35
msgid "[Embedded content - reload page to view]"
msgstr ""
#: mod/videos.php:120
msgid "Do you really want to delete this video?"
msgstr ""
#: mod/videos.php:125
msgid "Delete Video"
msgstr ""
#: mod/videos.php:204
msgid "No videos selected"
msgstr ""
#: mod/videos.php:396
msgid "Recent Videos"
msgstr ""
#: mod/videos.php:398
msgid "Upload New Videos"
msgstr ""
#: mod/viewcontacts.php:72
msgid "No contacts."
msgstr ""
#: mod/settings.php:60
msgid "Display"
msgstr ""
@@ -8181,6 +8224,12 @@ msgstr ""
msgid "Bandwith Saver Mode"
msgstr ""
#: mod/settings.php:1007
msgid ""
"When enabled, embedded content is not displayed on automatic updates, they "
"only show on page reload."
msgstr ""
#: mod/settings.php:1009
msgid "General Theme Settings"
msgstr ""
@@ -8556,49 +8605,6 @@ msgstr ""
msgid "Resend relocate message to contacts"
msgstr ""
#: mod/suggest.php:27
msgid "Do you really want to delete this suggestion?"
msgstr ""
#: mod/suggest.php:71
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr ""
#: mod/suggest.php:84 mod/suggest.php:104
msgid "Ignore/Hide"
msgstr ""
#: mod/update_community.php:19 mod/update_display.php:23
#: mod/update_network.php:27 mod/update_notes.php:36 mod/update_profile.php:35
msgid "[Embedded content - reload page to view]"
msgstr ""
#: mod/videos.php:120
msgid "Do you really want to delete this video?"
msgstr ""
#: mod/videos.php:125
msgid "Delete Video"
msgstr ""
#: mod/videos.php:204
msgid "No videos selected"
msgstr ""
#: mod/videos.php:396
msgid "Recent Videos"
msgstr ""
#: mod/videos.php:398
msgid "Upload New Videos"
msgstr ""
#: mod/viewcontacts.php:72
msgid "No contacts."
msgstr ""
#: object/Item.php:370
msgid "via"
msgstr ""
+3894 -3865
View File
File diff suppressed because it is too large Load Diff
+689 -682
View File
File diff suppressed because it is too large Load Diff
+8421 -8116
View File
File diff suppressed because it is too large Load Diff
+1429 -1359
View File
File diff suppressed because it is too large Load Diff