Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
31ad26aae2
17 changed files with 14710 additions and 14198 deletions
2
Vagrantfile
vendored
2
Vagrantfile
vendored
|
@ -1,6 +1,6 @@
|
|||
|
||||
server_ip = "192.168.22.10"
|
||||
server_memory = "384" # MB
|
||||
server_memory = "1024" # MB
|
||||
server_timezone = "UTC"
|
||||
|
||||
public_folder = "/vagrant"
|
||||
|
|
61
boot.php
61
boot.php
|
@ -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'");
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
include/create_shadowentry.php
Normal file
40
include/create_shadowentry.php
Normal 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();
|
||||
}
|
||||
?>
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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("[", "]"), 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("[", "]"), 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 = "";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
21
mod/item.php
21
mod/item.php
|
@ -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');
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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'),
|
||||
|
|
218
util/messages.po
218
util/messages.po
|
@ -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 ""
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
16537
view/lang/es/messages.po
16537
view/lang/es/messages.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue