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_ip = "192.168.22.10"
|
||||||
server_memory = "384" # MB
|
server_memory = "1024" # MB
|
||||||
server_timezone = "UTC"
|
server_timezone = "UTC"
|
||||||
|
|
||||||
public_folder = "/vagrant"
|
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
|
* @brief Wrap calls to proc_close(proc_open()) and call hook
|
||||||
* so plugins can take part in process :)
|
* 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
|
* next args are passed as $cmd command line
|
||||||
* e.g.: proc_run("ls","-la","/tmp");
|
* e.g.: proc_run("ls","-la","/tmp");
|
||||||
* or: proc_run(PRIORITY_HIGH, "include/notifier.php", "drop", $drop_id);
|
* 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 ""
|
* @note $cmd and string args are surrounded with ""
|
||||||
*
|
*
|
||||||
|
@ -1912,24 +1913,31 @@ function proc_run($cmd){
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
$args = func_get_args();
|
$proc_args = func_get_args();
|
||||||
|
|
||||||
$newargs = array();
|
$args = array();
|
||||||
if (!count($args))
|
if (!count($proc_args)) {
|
||||||
return;
|
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);
|
$arr = array('args' => $args, 'run_cmd' => true);
|
||||||
|
|
||||||
|
@ -1937,16 +1945,24 @@ function proc_run($cmd){
|
||||||
if (!$arr['run_cmd'] OR !count($args))
|
if (!$arr['run_cmd'] OR !count($args))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!get_config("system", "worker") OR
|
if (!get_config("system", "worker") OR (is_string($run_parameter) AND ($run_parameter != 'php'))) {
|
||||||
(($args[0] != 'php') AND !is_int($args[0]))) {
|
|
||||||
$a->proc_run($args);
|
$a->proc_run($args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_int($args[0]))
|
$priority = PRIORITY_MEDIUM;
|
||||||
$priority = $args[0];
|
$dont_fork = get_config("system", "worker_dont_fork");
|
||||||
else
|
|
||||||
$priority = PRIORITY_MEDIUM;
|
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;
|
$argv = $args;
|
||||||
array_shift($argv);
|
array_shift($argv);
|
||||||
|
@ -1963,8 +1979,9 @@ function proc_run($cmd){
|
||||||
intval($priority));
|
intval($priority));
|
||||||
|
|
||||||
// Should we quit and wait for the poller to be called as a cronjob?
|
// 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;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Checking number of workers
|
// Checking number of workers
|
||||||
$workers = q("SELECT COUNT(*) AS `workers` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
|
$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;
|
return $r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -872,7 +867,7 @@ function get_photo_info($url) {
|
||||||
|
|
||||||
$data = Cache::get($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);
|
$img_str = fetch_url($url, true, $redirects, 4);
|
||||||
$filesize = strlen($img_str);
|
$filesize = strlen($img_str);
|
||||||
|
|
||||||
|
|
|
@ -281,16 +281,15 @@
|
||||||
logger("API call duration: ".round($duration, 2)."\t".$a->query_string, LOGGER_DEBUG);
|
logger("API call duration: ".round($duration, 2)."\t".$a->query_string, LOGGER_DEBUG);
|
||||||
|
|
||||||
if (get_config("system", "profiler")) {
|
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"] - $a->performance["database_write"], 3),
|
||||||
round($a->performance["database_write"], 3),
|
round($a->performance["database_write"], 3),
|
||||||
round($a->performance["network"], 2),
|
round($a->performance["network"], 2),
|
||||||
round($a->performance["rendering"], 2),
|
|
||||||
round($a->performance["parser"], 2),
|
|
||||||
round($a->performance["file"], 2),
|
round($a->performance["file"], 2),
|
||||||
round($duration - $a->performance["database"]
|
round($duration - ($a->performance["database"] + $a->performance["network"]
|
||||||
- $a->performance["network"] - $a->performance["rendering"]
|
+ $a->performance["file"]), 2),
|
||||||
- $a->performance["parser"] - $a->performance["file"], 2),
|
|
||||||
round($duration, 2)),
|
round($duration, 2)),
|
||||||
LOGGER_DEBUG);
|
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,
|
"created_at" => $created,
|
||||||
"provider_display_name" => $item["app"]);
|
"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"]);
|
unset($message["location"]);
|
||||||
|
}
|
||||||
|
|
||||||
$type = "status_message";
|
$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,
|
// It maybe is a rich content, but if it does have everything that a link has,
|
||||||
// then treat it that way
|
// then treat it that way
|
||||||
if (($data["type"] == "rich") AND is_string($data["title"]) AND
|
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";
|
$data["type"] = "link";
|
||||||
|
}
|
||||||
|
|
||||||
if ((($data["type"] != "link") AND ($data["type"] != "video") AND ($data["type"] != "photo")) OR ($data["title"] == $url))
|
if ((($data["type"] != "link") AND ($data["type"] != "video") AND ($data["type"] != "photo")) OR ($data["title"] == $data["url"])) {
|
||||||
return("");
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
if ($no_photos AND ($data["type"] == "photo"))
|
if ($no_photos AND ($data["type"] == "photo")) {
|
||||||
return("");
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
if (sizeof($data["images"]) > 0)
|
if (sizeof($data["images"]) > 0) {
|
||||||
$preview = $data["images"][0];
|
$preview = $data["images"][0];
|
||||||
else
|
} else {
|
||||||
$preview = "";
|
$preview = "";
|
||||||
|
}
|
||||||
|
|
||||||
// Escape some bad characters
|
// Escape some bad characters
|
||||||
$data["url"] = str_replace(array("[", "]"), array("[", "]"), htmlentities($data["url"], ENT_QUOTES, 'UTF-8', false));
|
$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"]."'";
|
$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"]."'";
|
$text .= " url='".$data["url"]."'";
|
||||||
if ($data["title"] != "")
|
}
|
||||||
|
|
||||||
|
if ($data["title"] != "") {
|
||||||
$text .= " title='".$data["title"]."'";
|
$text .= " title='".$data["title"]."'";
|
||||||
|
}
|
||||||
|
|
||||||
if (sizeof($data["images"]) > 0) {
|
if (sizeof($data["images"]) > 0) {
|
||||||
$preview = str_replace(array("[", "]"), array("[", "]"), htmlentities($data["images"][0]["src"], ENT_QUOTES, 'UTF-8', false));
|
$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
|
// 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)
|
// 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."'";
|
$text .= " image='".$preview."'";
|
||||||
else
|
} else {
|
||||||
$text .= " preview='".$preview."'";
|
$text .= " preview='".$preview."'";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$text .= "]".$data["text"]."[/attachment]";
|
$text .= "]".$data["text"]."[/attachment]";
|
||||||
|
|
||||||
$hashtags = "";
|
$hashtags = "";
|
||||||
|
|
|
@ -123,8 +123,19 @@ function add_shadow_thread($itemid) {
|
||||||
function add_shadow_entry($itemid) {
|
function add_shadow_entry($itemid) {
|
||||||
|
|
||||||
$items = q("SELECT * FROM `item` WHERE `id` = %d", intval($itemid));
|
$items = q("SELECT * FROM `item` WHERE `id` = %d", intval($itemid));
|
||||||
|
|
||||||
|
if (!dbm::is_result($items)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$item = $items[0];
|
$item = $items[0];
|
||||||
|
|
||||||
|
// Is it a toplevel post?
|
||||||
|
if ($item['id'] == $item['parent']) {
|
||||||
|
add_shadow_thread($itemid);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Is this a shadow entry?
|
// Is this a shadow entry?
|
||||||
if ($item['uid'] == 0)
|
if ($item['uid'] == 0)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -269,13 +269,15 @@ function admin_page_federation(&$a) {
|
||||||
// off one % two of them are needed in the query
|
// 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
|
// Add more platforms if you like, when one returns 0 known nodes it is not
|
||||||
// displayed on the stats page.
|
// 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
|
$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
|
'%%red%%' => '#c50001', // fire red from the logo
|
||||||
'Hubzilla' => '#43488a', // blue 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
|
'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();
|
$counts = array();
|
||||||
$total = 0;
|
$total = 0;
|
||||||
|
|
||||||
|
@ -283,20 +285,27 @@ function admin_page_federation(&$a) {
|
||||||
// get a total count for the platform, the name and version of the
|
// get a total count for the platform, the name and version of the
|
||||||
// highest version and the protocol tpe
|
// highest version and the protocol tpe
|
||||||
$c = qu('SELECT COUNT(*) AS `total`, `platform`, `network`, `version` FROM `gserver`
|
$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);
|
ORDER BY `version` ASC;', $p);
|
||||||
$total = $total + $c[0]['total'];
|
$total = $total + $c[0]['total'];
|
||||||
|
|
||||||
// what versions for that platform do we know at all?
|
// what versions for that platform do we know at all?
|
||||||
// again only the active nodes
|
// again only the active nodes
|
||||||
$v = qu('SELECT COUNT(*) AS `total`, `version` FROM `gserver`
|
$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`
|
GROUP BY `version`
|
||||||
ORDER BY `version`;', $p);
|
ORDER BY `version`;', $p);
|
||||||
|
|
||||||
//
|
//
|
||||||
// clean up version numbers
|
// 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
|
// 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
|
// 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
|
// 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_tags_from_item($post_id);
|
||||||
create_files_from_item($post_id);
|
create_files_from_item($post_id);
|
||||||
|
|
||||||
// Insert an item entry for UID=0 for global entries
|
// Insert an item entry for UID=0 for global entries.
|
||||||
if ($post_id != $parent) {
|
// We now do it in the background to save some time.
|
||||||
add_shadow_thread($post_id);
|
// This is important in interactive environments like the frontend or the API.
|
||||||
} else {
|
// We don't fork a new process since this is done anyway with the following command
|
||||||
add_shadow_entry($post_id);
|
proc_run(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), "include/create_shadowentry.php", $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.
|
|
||||||
|
|
||||||
|
// Call the background process that is delivering the item to the receivers
|
||||||
proc_run(PRIORITY_HIGH, "include/notifier.php", $notify_type, $post_id);
|
proc_run(PRIORITY_HIGH, "include/notifier.php", $notify_type, $post_id);
|
||||||
|
|
||||||
logger('post_complete');
|
logger('post_complete');
|
||||||
|
|
|
@ -89,6 +89,13 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
|
||||||
|
|
||||||
$siteinfo = array();
|
$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) {
|
if ($count > 10) {
|
||||||
logger("parseurl_getsiteinfo: Endless loop detected for ".$url, LOGGER_DEBUG);
|
logger("parseurl_getsiteinfo: Endless loop detected for ".$url, LOGGER_DEBUG);
|
||||||
return($siteinfo);
|
return($siteinfo);
|
||||||
|
@ -102,6 +109,8 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co
|
||||||
$siteinfo["url"] = $url;
|
$siteinfo["url"] = $url;
|
||||||
$siteinfo["type"] = "link";
|
$siteinfo["type"] = "link";
|
||||||
|
|
||||||
|
$check_cert = get_config('system','verifyssl');
|
||||||
|
|
||||||
$stamp1 = microtime(true);
|
$stamp1 = microtime(true);
|
||||||
|
|
||||||
$ch = curl_init();
|
$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_NOBODY, 1);
|
||||||
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
|
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
|
||||||
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent());
|
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);
|
$header = curl_exec($ch);
|
||||||
$curl_info = @curl_getinfo($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);
|
$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;
|
$siteinfo["type"] = $oembed_data->type;
|
||||||
|
}
|
||||||
|
|
||||||
if (($oembed_data->type == "link") AND ($siteinfo["type"] != "photo")) {
|
if (($oembed_data->type == "link") AND ($siteinfo["type"] != "photo")) {
|
||||||
if (isset($oembed_data->title))
|
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_TIMEOUT, 10);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent());
|
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);
|
$header = curl_exec($ch);
|
||||||
$curl_info = @curl_getinfo($ch);
|
$curl_info = @curl_getinfo($ch);
|
||||||
|
|
|
@ -1004,7 +1004,7 @@ function settings_content(&$a) {
|
||||||
'$noinfo' => array('noinfo', t("Don't show notices"), $noinfo, ''),
|
'$noinfo' => array('noinfo', t("Don't show notices"), $noinfo, ''),
|
||||||
'$infinite_scroll' => array('infinite_scroll', t("Infinite scroll"), $infinite_scroll, ''),
|
'$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.'),
|
'$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_tset' => t('General Theme Settings'),
|
||||||
'$d_ctset' => t('Custom Theme Settings'),
|
'$d_ctset' => t('Custom Theme Settings'),
|
||||||
|
|
218
util/messages.po
218
util/messages.po
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \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"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -51,8 +51,8 @@ msgstr ""
|
||||||
msgid "Enter name or interest"
|
msgid "Enter name or interest"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: include/contact_widgets.php:32 include/Contact.php:325
|
#: include/contact_widgets.php:32 include/conversation.php:981
|
||||||
#: include/conversation.php:981 mod/follow.php:103 mod/allfriends.php:66
|
#: 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/contacts.php:602 mod/dirfind.php:204 mod/match.php:72
|
||||||
#: mod/suggest.php:83
|
#: mod/suggest.php:83
|
||||||
msgid "Connect/Follow"
|
msgid "Connect/Follow"
|
||||||
|
@ -1146,57 +1146,6 @@ msgstr ""
|
||||||
msgid "noreply"
|
msgid "noreply"
|
||||||
msgstr ""
|
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
|
#: include/api.php:1019
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Daily posting limit of %d posts reached. The post was rejected."
|
msgid "Daily posting limit of %d posts reached. The post was rejected."
|
||||||
|
@ -1353,6 +1302,37 @@ msgstr ""
|
||||||
msgid "Follow Thread"
|
msgid "Follow Thread"
|
||||||
msgstr ""
|
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
|
#: include/conversation.php:1094
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s likes this."
|
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/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/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/contacts.php:445 mod/photos.php:235 mod/photos.php:322
|
||||||
#: mod/settings.php:677 mod/settings.php:703 mod/suggest.php:32
|
#: mod/suggest.php:32 mod/videos.php:128 mod/settings.php:677
|
||||||
#: mod/videos.php:128
|
#: mod/settings.php:703
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2554,11 +2534,11 @@ msgstr ""
|
||||||
#: include/items.php:1914 mod/follow.php:110 mod/api.php:105
|
#: 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/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/profiles.php:651 mod/profiles.php:677 mod/contacts.php:442
|
||||||
#: mod/register.php:238 mod/settings.php:1158 mod/settings.php:1164
|
#: mod/register.php:238 mod/suggest.php:29 mod/settings.php:1158
|
||||||
#: mod/settings.php:1172 mod/settings.php:1176 mod/settings.php:1181
|
#: mod/settings.php:1164 mod/settings.php:1172 mod/settings.php:1176
|
||||||
#: mod/settings.php:1187 mod/settings.php:1193 mod/settings.php:1199
|
#: mod/settings.php:1181 mod/settings.php:1187 mod/settings.php:1193
|
||||||
#: mod/settings.php:1225 mod/settings.php:1226 mod/settings.php:1227
|
#: mod/settings.php:1199 mod/settings.php:1225 mod/settings.php:1226
|
||||||
#: mod/settings.php:1228 mod/settings.php:1229 mod/suggest.php:29
|
#: mod/settings.php:1227 mod/settings.php:1228 mod/settings.php:1229
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2579,8 +2559,8 @@ msgstr ""
|
||||||
#: mod/contacts.php:350 mod/dirfind.php:11 mod/display.php:475
|
#: 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/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/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 mod/settings.php:22
|
||||||
#: mod/suggest.php:58 mod/viewcontacts.php:45 index.php:397
|
#: mod/settings.php:128 mod/settings.php:663 index.php:397
|
||||||
msgid "Permission denied."
|
msgid "Permission denied."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3075,6 +3055,26 @@ msgstr ""
|
||||||
msgid "Item filed"
|
msgid "Item filed"
|
||||||
msgstr ""
|
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
|
#: mod/oexchange.php:25
|
||||||
msgid "Post successful."
|
msgid "Post successful."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -7861,6 +7861,49 @@ msgstr ""
|
||||||
msgid "Import your profile to this friendica instance"
|
msgid "Import your profile to this friendica instance"
|
||||||
msgstr ""
|
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
|
#: mod/settings.php:60
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8181,6 +8224,12 @@ msgstr ""
|
||||||
msgid "Bandwith Saver Mode"
|
msgid "Bandwith Saver Mode"
|
||||||
msgstr ""
|
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
|
#: mod/settings.php:1009
|
||||||
msgid "General Theme Settings"
|
msgid "General Theme Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -8556,49 +8605,6 @@ msgstr ""
|
||||||
msgid "Resend relocate message to contacts"
|
msgid "Resend relocate message to contacts"
|
||||||
msgstr ""
|
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
|
#: object/Item.php:370
|
||||||
msgid "via"
|
msgid "via"
|
||||||
msgstr ""
|
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