Merge pull request #4166 from MrPetovan/task/fix-scrutinizer-issues
[Scrutinizer] Fix unused code issues in boot and include
This commit is contained in:
commit
066b776dcc
39 changed files with 510 additions and 652 deletions
15
boot.php
15
boot.php
|
@ -676,7 +676,7 @@ function check_db($via_worker)
|
||||||
if ($build != DB_UPDATE_VERSION) {
|
if ($build != DB_UPDATE_VERSION) {
|
||||||
// When we cannot execute the database update via the worker, we will do it directly
|
// When we cannot execute the database update via the worker, we will do it directly
|
||||||
if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) {
|
if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) {
|
||||||
update_db(get_app());
|
update_db();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -697,11 +697,8 @@ function check_url(App $a)
|
||||||
// and www.example.com vs example.com.
|
// and www.example.com vs example.com.
|
||||||
// We will only change the url to an ip address if there is no existing setting
|
// We will only change the url to an ip address if there is no existing setting
|
||||||
|
|
||||||
if (empty($url)) {
|
if (empty($url) || (!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname))) {
|
||||||
$url = Config::set('system', 'url', System::baseUrl());
|
Config::set('system', 'url', System::baseUrl());
|
||||||
}
|
|
||||||
if ((!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname))) {
|
|
||||||
$url = Config::set('system', 'url', System::baseUrl());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -711,7 +708,7 @@ function check_url(App $a)
|
||||||
* @brief Automatic database updates
|
* @brief Automatic database updates
|
||||||
* @param object $a App
|
* @param object $a App
|
||||||
*/
|
*/
|
||||||
function update_db(App $a)
|
function update_db()
|
||||||
{
|
{
|
||||||
$build = Config::get('system', 'build');
|
$build = Config::get('system', 'build');
|
||||||
|
|
||||||
|
@ -800,7 +797,6 @@ function run_update_function($x)
|
||||||
Config::set('system', 'build', $x + 1);
|
Config::set('system', 'build', $x + 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1051,7 +1047,6 @@ function current_theme()
|
||||||
|
|
||||||
if ($is_mobile) {
|
if ($is_mobile) {
|
||||||
if (isset($_SESSION['show-mobile']) && !$_SESSION['show-mobile']) {
|
if (isset($_SESSION['show-mobile']) && !$_SESSION['show-mobile']) {
|
||||||
$system_theme = $standard_system_theme;
|
|
||||||
$theme_name = $standard_theme_name;
|
$theme_name = $standard_theme_name;
|
||||||
} else {
|
} else {
|
||||||
$system_theme = Config::get('system', 'mobile-theme', '');
|
$system_theme = Config::get('system', 'mobile-theme', '');
|
||||||
|
@ -1062,7 +1057,6 @@ function current_theme()
|
||||||
|
|
||||||
if ($theme_name === '---') {
|
if ($theme_name === '---') {
|
||||||
// user has selected to have the mobile theme be the same as the normal one
|
// user has selected to have the mobile theme be the same as the normal one
|
||||||
$system_theme = $standard_system_theme;
|
|
||||||
$theme_name = $standard_theme_name;
|
$theme_name = $standard_theme_name;
|
||||||
|
|
||||||
if ($page_theme) {
|
if ($page_theme) {
|
||||||
|
@ -1071,7 +1065,6 @@ function current_theme()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$system_theme = $standard_system_theme;
|
|
||||||
$theme_name = $standard_theme_name;
|
$theme_name = $standard_theme_name;
|
||||||
|
|
||||||
if ($page_theme) {
|
if ($page_theme) {
|
||||||
|
|
|
@ -25,7 +25,6 @@ Example: To set the directory value please add this line to your .htconfig.php:
|
||||||
|
|
||||||
* **allowed_link_protocols** (Array) - Allowed protocols in links URLs, add at your own risk. http is always allowed.
|
* **allowed_link_protocols** (Array) - Allowed protocols in links URLs, add at your own risk. http is always allowed.
|
||||||
* **always_show_preview** (Boolean) - Only show small preview picures. Default value is false.
|
* **always_show_preview** (Boolean) - Only show small preview picures. Default value is false.
|
||||||
* **birthday_input_format** - Default value is "ymd".
|
|
||||||
* **block_local_dir** (Boolean) - Blocks the access to the directory of the local users.
|
* **block_local_dir** (Boolean) - Blocks the access to the directory of the local users.
|
||||||
* **auth_cookie_lifetime** (Integer) - Number of days that should pass without any activity before a user who chose "Remember me" when logging in is considered logged out. Defaults to 7.
|
* **auth_cookie_lifetime** (Integer) - Number of days that should pass without any activity before a user who chose "Remember me" when logging in is considered logged out. Defaults to 7.
|
||||||
* **curl_range_bytes** - Maximum number of bytes that should be fetched. Default is 0, which mean "no limit".
|
* **curl_range_bytes** - Maximum number of bytes that should be fetched. Default is 0, which mean "no limit".
|
||||||
|
@ -43,7 +42,6 @@ Example: To set the directory value please add this line to your .htconfig.php:
|
||||||
* **disable_email_validation** (Boolean) - Disables the check if a mail address is in a valid format and can be resolved via DNS.
|
* **disable_email_validation** (Boolean) - Disables the check if a mail address is in a valid format and can be resolved via DNS.
|
||||||
* **disable_url_validation** (Boolean) - Disables the DNS lookup of an URL.
|
* **disable_url_validation** (Boolean) - Disables the DNS lookup of an URL.
|
||||||
* **dlogfile - location of the developer log file
|
* **dlogfile - location of the developer log file
|
||||||
* **event_input_format** - Default value is "ymd".
|
|
||||||
* **frontend_worker_timeout** - Value in minutes after we think that a frontend task was killed by the webserver. Default value is 10.
|
* **frontend_worker_timeout** - Value in minutes after we think that a frontend task was killed by the webserver. Default value is 10.
|
||||||
* **hsts** (Boolean) - Enables the sending of HTTP Strict Transport Security headers
|
* **hsts** (Boolean) - Enables the sending of HTTP Strict Transport Security headers
|
||||||
* **ignore_cache** (Boolean) - For development only. Disables the item cache.
|
* **ignore_cache** (Boolean) - For development only. Disables the item cache.
|
||||||
|
|
|
@ -386,59 +386,20 @@ function populate_acl($user = null, $show_jotnets = false) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function construct_acl_data(App $a, $user) {
|
function acl_lookup(App $a, $out_type = 'json')
|
||||||
// This function is now deactivated. It seems as if the generated data isn't used anywhere.
|
{
|
||||||
/// @todo Remove this function and all function calls before releasing Friendica 3.5.3
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Get group and contact information for html ACL selector
|
|
||||||
$acl_data = acl_lookup($a, 'html');
|
|
||||||
|
|
||||||
$user_defaults = get_acl_permissions($user);
|
|
||||||
|
|
||||||
if ($acl_data['groups']) {
|
|
||||||
foreach ($acl_data['groups'] as $key => $group) {
|
|
||||||
// Add a "selected" flag to groups that are posted to by default
|
|
||||||
if ($user_defaults['allow_gid'] &&
|
|
||||||
in_array($group['id'], $user_defaults['allow_gid']) && !in_array($group['id'], $user_defaults['deny_gid']) ) {
|
|
||||||
$acl_data['groups'][$key]['selected'] = 1;
|
|
||||||
} else {
|
|
||||||
$acl_data['groups'][$key]['selected'] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($acl_data['contacts']) {
|
|
||||||
foreach ($acl_data['contacts'] as $key => $contact) {
|
|
||||||
// Add a "selected" flag to groups that are posted to by default
|
|
||||||
if ($user_defaults['allow_cid'] &&
|
|
||||||
in_array($contact['id'], $user_defaults['allow_cid']) && !in_array($contact['id'], $user_defaults['deny_cid']) ) {
|
|
||||||
$acl_data['contacts'][$key]['selected'] = 1;
|
|
||||||
} else {
|
|
||||||
$acl_data['contacts'][$key]['selected'] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $acl_data;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function acl_lookup(App $a, $out_type = 'json') {
|
|
||||||
|
|
||||||
if (!local_user()) {
|
if (!local_user()) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$start = (x($_REQUEST,'start') ? $_REQUEST['start'] : 0);
|
$start = defaults($_REQUEST, 'start' , 0);
|
||||||
$count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100);
|
$count = defaults($_REQUEST, 'count' , 100);
|
||||||
$search = (x($_REQUEST,'search') ? $_REQUEST['search'] : "");
|
$search = defaults($_REQUEST, 'search' , '');
|
||||||
$type = (x($_REQUEST,'type') ? $_REQUEST['type'] : "");
|
$type = defaults($_REQUEST, 'type' , '');
|
||||||
$mode = (x($_REQUEST,'smode') ? $_REQUEST['smode'] : "");
|
$conv_id = defaults($_REQUEST, 'conversation', null);
|
||||||
$conv_id = (x($_REQUEST,'conversation') ? $_REQUEST['conversation'] : null);
|
|
||||||
|
|
||||||
// For use with jquery.textcomplete for private mail completion
|
// For use with jquery.textcomplete for private mail completion
|
||||||
|
if (x($_REQUEST, 'query')) {
|
||||||
if (x($_REQUEST, 'query') && strlen($_REQUEST['query'])) {
|
|
||||||
if (! $type) {
|
if (! $type) {
|
||||||
$type = 'm';
|
$type = 'm';
|
||||||
}
|
}
|
||||||
|
@ -447,7 +408,7 @@ function acl_lookup(App $a, $out_type = 'json') {
|
||||||
|
|
||||||
logger("Searching for ".$search." - type ".$type, LOGGER_DEBUG);
|
logger("Searching for ".$search." - type ".$type, LOGGER_DEBUG);
|
||||||
|
|
||||||
if ($search != "") {
|
if ($search != '') {
|
||||||
$sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
|
$sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
|
||||||
$sql_extra2 = "AND (`attag` LIKE '%%".dbesc($search)."%%' OR `name` LIKE '%%".dbesc($search)."%%' OR `nick` LIKE '%%".dbesc($search)."%%')";
|
$sql_extra2 = "AND (`attag` LIKE '%%".dbesc($search)."%%' OR `name` LIKE '%%".dbesc($search)."%%' OR `nick` LIKE '%%".dbesc($search)."%%')";
|
||||||
} else {
|
} else {
|
||||||
|
@ -490,7 +451,6 @@ function acl_lookup(App $a, $out_type = 'json') {
|
||||||
$contact_count = (int)$r[0]['c'];
|
$contact_count = (int)$r[0]['c'];
|
||||||
} elseif ($type == 'm') {
|
} elseif ($type == 'm') {
|
||||||
// autocomplete for Private Messages
|
// autocomplete for Private Messages
|
||||||
|
|
||||||
$r = q("SELECT COUNT(*) AS c FROM `contact`
|
$r = q("SELECT COUNT(*) AS c FROM `contact`
|
||||||
WHERE `uid` = %d AND NOT `self`
|
WHERE `uid` = %d AND NOT `self`
|
||||||
AND NOT `blocked` AND NOT `pending` AND NOT `archive`
|
AND NOT `blocked` AND NOT `pending` AND NOT `archive`
|
||||||
|
@ -503,28 +463,23 @@ function acl_lookup(App $a, $out_type = 'json') {
|
||||||
$contact_count = (int)$r[0]['c'];
|
$contact_count = (int)$r[0]['c'];
|
||||||
|
|
||||||
} elseif ($type == 'a') {
|
} elseif ($type == 'a') {
|
||||||
|
|
||||||
// autocomplete for Contacts
|
// autocomplete for Contacts
|
||||||
|
|
||||||
$r = q("SELECT COUNT(*) AS c FROM `contact`
|
$r = q("SELECT COUNT(*) AS c FROM `contact`
|
||||||
WHERE `uid` = %d AND NOT `self`
|
WHERE `uid` = %d AND NOT `self`
|
||||||
AND NOT `pending` $sql_extra2" ,
|
AND NOT `pending` $sql_extra2" ,
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
$contact_count = (int)$r[0]['c'];
|
$contact_count = (int)$r[0]['c'];
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$contact_count = 0;
|
$contact_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$tot = $group_count + $contact_count;
|
||||||
$tot = $group_count+$contact_count;
|
|
||||||
|
|
||||||
$groups = array();
|
$groups = array();
|
||||||
$contacts = array();
|
$contacts = array();
|
||||||
|
|
||||||
if ($type == '' || $type == 'g') {
|
if ($type == '' || $type == 'g') {
|
||||||
|
|
||||||
/// @todo We should cache this query.
|
/// @todo We should cache this query.
|
||||||
// This can be done when we can delete cache entries via wildcard
|
// This can be done when we can delete cache entries via wildcard
|
||||||
$r = q("SELECT `group`.`id`, `group`.`name`, GROUP_CONCAT(DISTINCT `group_member`.`contact-id` SEPARATOR ',') AS uids
|
$r = q("SELECT `group`.`id`, `group`.`name`, GROUP_CONCAT(DISTINCT `group_member`.`contact-id` SEPARATOR ',') AS uids
|
||||||
|
@ -541,7 +496,6 @@ function acl_lookup(App $a, $out_type = 'json') {
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($r as $g) {
|
foreach ($r as $g) {
|
||||||
// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']);
|
|
||||||
$groups[] = array(
|
$groups[] = array(
|
||||||
"type" => "g",
|
"type" => "g",
|
||||||
"photo" => "images/twopeople.png",
|
"photo" => "images/twopeople.png",
|
||||||
|
@ -558,7 +512,6 @@ function acl_lookup(App $a, $out_type = 'json') {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == '') {
|
if ($type == '') {
|
||||||
|
|
||||||
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv`, (`prv` OR `forum`) AS `frm` FROM `contact`
|
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `addr`, `forum`, `prv`, (`prv` OR `forum`) AS `frm` FROM `contact`
|
||||||
WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `notify` != ''
|
WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` AND `notify` != ''
|
||||||
AND `success_update` >= `failure_update` AND NOT (`network` IN ('%s', '%s'))
|
AND `success_update` >= `failure_update` AND NOT (`network` IN ('%s', '%s'))
|
||||||
|
@ -630,7 +583,6 @@ function acl_lookup(App $a, $out_type = 'json') {
|
||||||
$r = array();
|
$r = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
$forums = array();
|
$forums = array();
|
||||||
foreach ($r as $g) {
|
foreach ($r as $g) {
|
||||||
|
@ -781,11 +733,10 @@ function navbar_complete(App $a) {
|
||||||
if (! $localsearch) {
|
if (! $localsearch) {
|
||||||
$p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : '');
|
$p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : '');
|
||||||
|
|
||||||
$x = z_fetch_url(get_server().'/lsearch?f=' . $p . '&search=' . urlencode($search));
|
$x = z_fetch_url(get_server() . '/lsearch?f=' . $p . '&search=' . urlencode($search));
|
||||||
if ($x['success']) {
|
if ($x['success']) {
|
||||||
$t = 0;
|
|
||||||
$j = json_decode($x['body'],true);
|
$j = json_decode($x['body'],true);
|
||||||
if ($j && $j['results']) {
|
if ($j && isset($j['results'])) {
|
||||||
return $j['results'];
|
return $j['results'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
205
include/api.php
205
include/api.php
|
@ -304,7 +304,7 @@ function api_call(App $a)
|
||||||
logger('API parameters: ' . print_r($_REQUEST, true));
|
logger('API parameters: ' . print_r($_REQUEST, true));
|
||||||
|
|
||||||
$stamp = microtime(true);
|
$stamp = microtime(true);
|
||||||
$r = call_user_func($info['func'], $type);
|
$return = call_user_func($info['func'], $type);
|
||||||
$duration = (float) (microtime(true) - $stamp);
|
$duration = (float) (microtime(true) - $stamp);
|
||||||
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);
|
||||||
|
|
||||||
|
@ -352,7 +352,7 @@ function api_call(App $a)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false === $r) {
|
if (false === $return) {
|
||||||
/*
|
/*
|
||||||
* api function returned false withour throw an
|
* api function returned false withour throw an
|
||||||
* exception. This should not happend, throw a 500
|
* exception. This should not happend, throw a 500
|
||||||
|
@ -363,27 +363,27 @@ function api_call(App $a)
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case "xml":
|
case "xml":
|
||||||
header("Content-Type: text/xml");
|
header("Content-Type: text/xml");
|
||||||
return $r;
|
|
||||||
break;
|
break;
|
||||||
case "json":
|
case "json":
|
||||||
header("Content-Type: application/json");
|
header("Content-Type: application/json");
|
||||||
foreach ($r as $rr) {
|
foreach ($return as $rr) {
|
||||||
$json = json_encode($rr);
|
$json = json_encode($rr);
|
||||||
}
|
}
|
||||||
if (x($_GET, 'callback')) {
|
if (x($_GET, 'callback')) {
|
||||||
$json = $_GET['callback'] . "(" . $json . ")";
|
$json = $_GET['callback'] . "(" . $json . ")";
|
||||||
}
|
}
|
||||||
return $json;
|
$return = $json;
|
||||||
break;
|
break;
|
||||||
case "rss":
|
case "rss":
|
||||||
header("Content-Type: application/rss+xml");
|
header("Content-Type: application/rss+xml");
|
||||||
return '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . $r;
|
$return = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . $return;
|
||||||
break;
|
break;
|
||||||
case "atom":
|
case "atom":
|
||||||
header("Content-Type: application/atom+xml");
|
header("Content-Type: application/atom+xml");
|
||||||
return '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . $r;
|
$return = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . $return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
return $return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -413,26 +413,25 @@ function api_error($type, $e)
|
||||||
"code" => $e->httpcode . " " . $e->httpdesc,
|
"code" => $e->httpcode . " " . $e->httpdesc,
|
||||||
"request" => $a->query_string);
|
"request" => $a->query_string);
|
||||||
|
|
||||||
$ret = api_format_data('status', $type, array('status' => $error));
|
$return = api_format_data('status', $type, array('status' => $error));
|
||||||
|
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case "xml":
|
case "xml":
|
||||||
header("Content-Type: text/xml");
|
header("Content-Type: text/xml");
|
||||||
return $ret;
|
|
||||||
break;
|
break;
|
||||||
case "json":
|
case "json":
|
||||||
header("Content-Type: application/json");
|
header("Content-Type: application/json");
|
||||||
return json_encode($ret);
|
$return = json_encode($return);
|
||||||
break;
|
break;
|
||||||
case "rss":
|
case "rss":
|
||||||
header("Content-Type: application/rss+xml");
|
header("Content-Type: application/rss+xml");
|
||||||
return $ret;
|
|
||||||
break;
|
break;
|
||||||
case "atom":
|
case "atom":
|
||||||
header("Content-Type: application/atom+xml");
|
header("Content-Type: application/atom+xml");
|
||||||
return $ret;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -496,7 +495,6 @@ function api_get_user(App $a, $contact_id = null)
|
||||||
$user = null;
|
$user = null;
|
||||||
$extra_query = "";
|
$extra_query = "";
|
||||||
$url = "";
|
$url = "";
|
||||||
$nick = "";
|
|
||||||
|
|
||||||
logger("api_get_user: Fetching user data for user ".$contact_id, LOGGER_DEBUG);
|
logger("api_get_user: Fetching user data for user ".$contact_id, LOGGER_DEBUG);
|
||||||
|
|
||||||
|
@ -540,7 +538,6 @@ function api_get_user(App $a, $contact_id = null)
|
||||||
}
|
}
|
||||||
if (is_null($user) && x($_GET, 'screen_name')) {
|
if (is_null($user) && x($_GET, 'screen_name')) {
|
||||||
$user = dbesc($_GET['screen_name']);
|
$user = dbesc($_GET['screen_name']);
|
||||||
$nick = $user;
|
|
||||||
$extra_query = "AND `contact`.`nick` = '%s' ";
|
$extra_query = "AND `contact`.`nick` = '%s' ";
|
||||||
if (api_user() !== false) {
|
if (api_user() !== false) {
|
||||||
$extra_query .= "AND `contact`.`uid`=".intval(api_user());
|
$extra_query .= "AND `contact`.`uid`=".intval(api_user());
|
||||||
|
@ -549,7 +546,6 @@ function api_get_user(App $a, $contact_id = null)
|
||||||
|
|
||||||
if (is_null($user) && x($_GET, 'profileurl')) {
|
if (is_null($user) && x($_GET, 'profileurl')) {
|
||||||
$user = dbesc(normalise_link($_GET['profileurl']));
|
$user = dbesc(normalise_link($_GET['profileurl']));
|
||||||
$nick = $user;
|
|
||||||
$extra_query = "AND `contact`.`nurl` = '%s' ";
|
$extra_query = "AND `contact`.`nurl` = '%s' ";
|
||||||
if (api_user() !== false) {
|
if (api_user() !== false) {
|
||||||
$extra_query .= "AND `contact`.`uid`=".intval(api_user());
|
$extra_query .= "AND `contact`.`uid`=".intval(api_user());
|
||||||
|
@ -573,7 +569,6 @@ function api_get_user(App $a, $contact_id = null)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$user = dbesc($user);
|
$user = dbesc($user);
|
||||||
$nick = $user;
|
|
||||||
$extra_query = "AND `contact`.`nick` = '%s' ";
|
$extra_query = "AND `contact`.`nick` = '%s' ";
|
||||||
if (api_user() !== false) {
|
if (api_user() !== false) {
|
||||||
$extra_query .= "AND `contact`.`uid`=" . intval(api_user());
|
$extra_query .= "AND `contact`.`uid`=" . intval(api_user());
|
||||||
|
@ -1116,12 +1111,9 @@ function api_statuses_update($type)
|
||||||
throw new ForbiddenException();
|
throw new ForbiddenException();
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_info = api_get_user($a);
|
api_get_user($a);
|
||||||
|
|
||||||
// convert $_POST array items to the form we use for web posts.
|
// convert $_POST array items to the form we use for web posts.
|
||||||
|
|
||||||
// logger('api_post: ' . print_r($_POST,true));
|
|
||||||
|
|
||||||
if (requestdata('htmlstatus')) {
|
if (requestdata('htmlstatus')) {
|
||||||
$txt = requestdata('htmlstatus');
|
$txt = requestdata('htmlstatus');
|
||||||
if ((strpos($txt, '<') !== false) || (strpos($txt, '>') !== false)) {
|
if ((strpos($txt, '<') !== false) || (strpos($txt, '>') !== false)) {
|
||||||
|
@ -1284,12 +1276,10 @@ api_register_func('api/statuses/update_with_media', 'api_statuses_update', true,
|
||||||
/**
|
/**
|
||||||
* Uploads an image to Friendica.
|
* Uploads an image to Friendica.
|
||||||
*
|
*
|
||||||
* @param string $type Return type (atom, rss, xml, json)
|
|
||||||
*
|
|
||||||
* @return array
|
* @return array
|
||||||
* @see https://developer.twitter.com/en/docs/media/upload-media/api-reference/post-media-upload
|
* @see https://developer.twitter.com/en/docs/media/upload-media/api-reference/post-media-upload
|
||||||
*/
|
*/
|
||||||
function api_media_upload($type)
|
function api_media_upload()
|
||||||
{
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
|
@ -1298,7 +1288,7 @@ function api_media_upload($type)
|
||||||
throw new ForbiddenException();
|
throw new ForbiddenException();
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_info = api_get_user($a);
|
api_get_user($a);
|
||||||
|
|
||||||
if (!x($_FILES, 'media')) {
|
if (!x($_FILES, 'media')) {
|
||||||
// Output error
|
// Output error
|
||||||
|
@ -1537,8 +1527,6 @@ function api_users_search($type)
|
||||||
{
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
$page = (x($_REQUEST, 'page') ? $_REQUEST['page'] - 1 : 0);
|
|
||||||
|
|
||||||
$userlist = array();
|
$userlist = array();
|
||||||
|
|
||||||
if (x($_GET, 'q')) {
|
if (x($_GET, 'q')) {
|
||||||
|
@ -1566,6 +1554,7 @@ function api_users_search($type)
|
||||||
} else {
|
} else {
|
||||||
throw new BadRequestException("User not found.");
|
throw new BadRequestException("User not found.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return api_format_data("users", $type, $userlist);
|
return api_format_data("users", $type, $userlist);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1748,7 +1737,7 @@ function api_statuses_home_timeline($type)
|
||||||
$unseen = q("SELECT `id` FROM `item` WHERE `unseen` AND `id` IN (%s)", $idlist);
|
$unseen = q("SELECT `id` FROM `item` WHERE `unseen` AND `id` IN (%s)", $idlist);
|
||||||
|
|
||||||
if ($unseen) {
|
if ($unseen) {
|
||||||
$r = q("UPDATE `item` SET `unseen` = 0 WHERE `unseen` AND `id` IN (%s)", $idlist);
|
q("UPDATE `item` SET `unseen` = 0 WHERE `unseen` AND `id` IN (%s)", $idlist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2127,7 +2116,7 @@ function api_statuses_repeat($type)
|
||||||
throw new ForbiddenException();
|
throw new ForbiddenException();
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_info = api_get_user($a);
|
api_get_user($a);
|
||||||
|
|
||||||
// params
|
// params
|
||||||
$id = intval($a->argv[3]);
|
$id = intval($a->argv[3]);
|
||||||
|
@ -2207,7 +2196,7 @@ function api_statuses_destroy($type)
|
||||||
throw new ForbiddenException();
|
throw new ForbiddenException();
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_info = api_get_user($a);
|
api_get_user($a);
|
||||||
|
|
||||||
// params
|
// params
|
||||||
$id = intval($a->argv[3]);
|
$id = intval($a->argv[3]);
|
||||||
|
@ -2259,23 +2248,20 @@ function api_statuses_mentions($type)
|
||||||
|
|
||||||
|
|
||||||
// params
|
// params
|
||||||
$count = (x($_REQUEST, 'count') ? $_REQUEST['count'] : 20);
|
$since_id = defaults($_REQUEST, 'since_id', 0);
|
||||||
$page = (x($_REQUEST, 'page') ? $_REQUEST['page'] -1 : 0);
|
$max_id = defaults($_REQUEST, 'max_id' , 0);
|
||||||
if ($page < 0) {
|
$count = defaults($_REQUEST, 'count' , 20);
|
||||||
$page = 0;
|
$page = defaults($_REQUEST, 'page' , 1);
|
||||||
|
if ($page < 1) {
|
||||||
|
$page = 1;
|
||||||
}
|
}
|
||||||
$since_id = (x($_REQUEST, 'since_id') ? $_REQUEST['since_id'] : 0);
|
|
||||||
$max_id = (x($_REQUEST, 'max_id') ? $_REQUEST['max_id'] : 0);
|
|
||||||
//$since_id = 0;//$since_id = (x($_REQUEST, 'since_id')?$_REQUEST['since_id'] : 0);
|
|
||||||
|
|
||||||
$start = $page * $count;
|
$start = ($page - 1) * $count;
|
||||||
|
|
||||||
// Ugly code - should be changed
|
// Ugly code - should be changed
|
||||||
$myurl = System::baseUrl() . '/profile/'. $a->user['nickname'];
|
$myurl = System::baseUrl() . '/profile/'. $a->user['nickname'];
|
||||||
$myurl = substr($myurl, strpos($myurl, '://') + 3);
|
$myurl = substr($myurl, strpos($myurl, '://') + 3);
|
||||||
//$myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
|
|
||||||
$myurl = str_replace('www.', '', $myurl);
|
$myurl = str_replace('www.', '', $myurl);
|
||||||
$diasp_url = str_replace('/profile/', '/u/', $myurl);
|
|
||||||
|
|
||||||
if ($max_id > 0) {
|
if ($max_id > 0) {
|
||||||
$sql_extra = ' AND `item`.`id` <= ' . intval($max_id);
|
$sql_extra = ' AND `item`.`id` <= ' . intval($max_id);
|
||||||
|
@ -2751,8 +2737,6 @@ function api_get_attachments(&$body)
|
||||||
*/
|
*/
|
||||||
function api_get_entitities(&$text, $bbcode)
|
function api_get_entitities(&$text, $bbcode)
|
||||||
{
|
{
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
$include_entities = strtolower(x($_REQUEST, 'include_entities') ? $_REQUEST['include_entities'] : "false");
|
$include_entities = strtolower(x($_REQUEST, 'include_entities') ? $_REQUEST['include_entities'] : "false");
|
||||||
|
|
||||||
if ($include_entities != "true") {
|
if ($include_entities != "true") {
|
||||||
|
@ -2917,19 +2901,18 @@ function api_get_entitities(&$text, $bbcode)
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function api_format_items_embeded_images(&$item, $text)
|
function api_format_items_embeded_images($item, $text)
|
||||||
{
|
{
|
||||||
$text = preg_replace_callback(
|
$text = preg_replace_callback(
|
||||||
"|data:image/([^;]+)[^=]+=*|m",
|
'|data:image/([^;]+)[^=]+=*|m',
|
||||||
function ($match) use ($item) {
|
function () use ($item) {
|
||||||
return System::baseUrl()."/display/".$item['guid'];
|
return System::baseUrl() . '/display/' . $item['guid'];
|
||||||
},
|
},
|
||||||
$text
|
$text
|
||||||
);
|
);
|
||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief return <a href='url'>name</a> as array
|
* @brief return <a href='url'>name</a> as array
|
||||||
*
|
*
|
||||||
|
@ -3034,54 +3017,53 @@ function api_format_items_activities(&$item, $type = "json")
|
||||||
/**
|
/**
|
||||||
* @brief return data from profiles
|
* @brief return data from profiles
|
||||||
*
|
*
|
||||||
* @param array $profile array containing data from db table 'profile'
|
* @param array $profile_row array containing data from db table 'profile'
|
||||||
* @param string $type Known types are 'atom', 'rss', 'xml' and 'json'
|
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function api_format_items_profiles(&$profile = null, $type = "json")
|
function api_format_items_profiles($profile_row)
|
||||||
{
|
{
|
||||||
if ($profile != null) {
|
$profile = array(
|
||||||
$profile = array('profile_id' => $profile['id'],
|
'profile_id' => $profile_row['id'],
|
||||||
'profile_name' => $profile['profile-name'],
|
'profile_name' => $profile_row['profile-name'],
|
||||||
'is_default' => $profile['is-default'] ? true : false,
|
'is_default' => $profile_row['is-default'] ? true : false,
|
||||||
'hide_friends'=> $profile['hide-friends'] ? true : false,
|
'hide_friends' => $profile_row['hide-friends'] ? true : false,
|
||||||
'profile_photo' => $profile['photo'],
|
'profile_photo' => $profile_row['photo'],
|
||||||
'profile_thumb' => $profile['thumb'],
|
'profile_thumb' => $profile_row['thumb'],
|
||||||
'publish' => $profile['publish'] ? true : false,
|
'publish' => $profile_row['publish'] ? true : false,
|
||||||
'net_publish' => $profile['net-publish'] ? true : false,
|
'net_publish' => $profile_row['net-publish'] ? true : false,
|
||||||
'description' => $profile['pdesc'],
|
'description' => $profile_row['pdesc'],
|
||||||
'date_of_birth' => $profile['dob'],
|
'date_of_birth' => $profile_row['dob'],
|
||||||
'address' => $profile['address'],
|
'address' => $profile_row['address'],
|
||||||
'city' => $profile['locality'],
|
'city' => $profile_row['locality'],
|
||||||
'region' => $profile['region'],
|
'region' => $profile_row['region'],
|
||||||
'postal_code' => $profile['postal-code'],
|
'postal_code' => $profile_row['postal-code'],
|
||||||
'country' => $profile['country-name'],
|
'country' => $profile_row['country-name'],
|
||||||
'hometown' => $profile['hometown'],
|
'hometown' => $profile_row['hometown'],
|
||||||
'gender' => $profile['gender'],
|
'gender' => $profile_row['gender'],
|
||||||
'marital' => $profile['marital'],
|
'marital' => $profile_row['marital'],
|
||||||
'marital_with' => $profile['with'],
|
'marital_with' => $profile_row['with'],
|
||||||
'marital_since' => $profile['howlong'],
|
'marital_since' => $profile_row['howlong'],
|
||||||
'sexual' => $profile['sexual'],
|
'sexual' => $profile_row['sexual'],
|
||||||
'politic' => $profile['politic'],
|
'politic' => $profile_row['politic'],
|
||||||
'religion' => $profile['religion'],
|
'religion' => $profile_row['religion'],
|
||||||
'public_keywords' => $profile['pub_keywords'],
|
'public_keywords' => $profile_row['pub_keywords'],
|
||||||
'private_keywords' => $profile['prv_keywords'],
|
'private_keywords' => $profile_row['prv_keywords'],
|
||||||
'likes' => bbcode(api_clean_plain_items($profile['likes']), false, false, 2, false),
|
'likes' => bbcode(api_clean_plain_items($profile_row['likes']) , false, false, 2, false),
|
||||||
'dislikes' => bbcode(api_clean_plain_items($profile['dislikes']), false, false, 2, false),
|
'dislikes' => bbcode(api_clean_plain_items($profile_row['dislikes']) , false, false, 2, false),
|
||||||
'about' => bbcode(api_clean_plain_items($profile['about']), false, false, 2, false),
|
'about' => bbcode(api_clean_plain_items($profile_row['about']) , false, false, 2, false),
|
||||||
'music' => bbcode(api_clean_plain_items($profile['music']), false, false, 2, false),
|
'music' => bbcode(api_clean_plain_items($profile_row['music']) , false, false, 2, false),
|
||||||
'book' => bbcode(api_clean_plain_items($profile['book']), false, false, 2, false),
|
'book' => bbcode(api_clean_plain_items($profile_row['book']) , false, false, 2, false),
|
||||||
'tv' => bbcode(api_clean_plain_items($profile['tv']), false, false, 2, false),
|
'tv' => bbcode(api_clean_plain_items($profile_row['tv']) , false, false, 2, false),
|
||||||
'film' => bbcode(api_clean_plain_items($profile['film']), false, false, 2, false),
|
'film' => bbcode(api_clean_plain_items($profile_row['film']) , false, false, 2, false),
|
||||||
'interest' => bbcode(api_clean_plain_items($profile['interest']), false, false, 2, false),
|
'interest' => bbcode(api_clean_plain_items($profile_row['interest']) , false, false, 2, false),
|
||||||
'romance' => bbcode(api_clean_plain_items($profile['romance']), false, false, 2, false),
|
'romance' => bbcode(api_clean_plain_items($profile_row['romance']) , false, false, 2, false),
|
||||||
'work' => bbcode(api_clean_plain_items($profile['work']), false, false, 2, false),
|
'work' => bbcode(api_clean_plain_items($profile_row['work']) , false, false, 2, false),
|
||||||
'education' => bbcode(api_clean_plain_items($profile['education']), false, false, 2, false),
|
'education' => bbcode(api_clean_plain_items($profile_row['education']), false, false, 2, false),
|
||||||
'social_networks' => bbcode(api_clean_plain_items($profile['contact']), false, false, 2, false),
|
'social_networks' => bbcode(api_clean_plain_items($profile_row['contact']) , false, false, 2, false),
|
||||||
'homepage' => $profile['homepage'],
|
'homepage' => $profile_row['homepage'],
|
||||||
'users' => null);
|
'users' => null
|
||||||
return $profile;
|
);
|
||||||
}
|
return $profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3541,21 +3523,18 @@ api_register_func('api/statusnet/version', 'api_statusnet_version', false);
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param string $type Return type (atom, rss, xml, json)
|
* @param string $type Return type (atom, rss, xml, json)
|
||||||
* @param string $qtype
|
|
||||||
*
|
*
|
||||||
* @todo use api_format_data() to return data
|
* @todo use api_format_data() to return data
|
||||||
*/
|
*/
|
||||||
function api_ff_ids($type, $qtype)
|
function api_ff_ids($type)
|
||||||
{
|
{
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
if (! api_user()) {
|
if (! api_user()) {
|
||||||
throw new ForbiddenException();
|
throw new ForbiddenException();
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_info = api_get_user($a);
|
api_get_user($a);
|
||||||
|
|
||||||
$stringify_ids = (x($_REQUEST, 'stringify_ids') ? $_REQUEST['stringify_ids'] : false);
|
$stringify_ids = defaults($_REQUEST, 'stringify_ids', false);
|
||||||
|
|
||||||
$r = q(
|
$r = q(
|
||||||
"SELECT `pcontact`.`id` FROM `contact`
|
"SELECT `pcontact`.`id` FROM `contact`
|
||||||
|
@ -3563,7 +3542,6 @@ function api_ff_ids($type, $qtype)
|
||||||
WHERE `contact`.`uid` = %s AND NOT `contact`.`self`",
|
WHERE `contact`.`uid` = %s AND NOT `contact`.`self`",
|
||||||
intval(api_user())
|
intval(api_user())
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!DBM::is_result($r)) {
|
if (!DBM::is_result($r)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -3590,7 +3568,7 @@ function api_ff_ids($type, $qtype)
|
||||||
*/
|
*/
|
||||||
function api_friends_ids($type)
|
function api_friends_ids($type)
|
||||||
{
|
{
|
||||||
return api_ff_ids($type, 'friends');
|
return api_ff_ids($type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3603,7 +3581,7 @@ function api_friends_ids($type)
|
||||||
*/
|
*/
|
||||||
function api_followers_ids($type)
|
function api_followers_ids($type)
|
||||||
{
|
{
|
||||||
return api_ff_ids($type, 'followers');
|
return api_ff_ids($type);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @TODO move to top of file or somewhere better
|
/// @TODO move to top of file or somewhere better
|
||||||
|
@ -3930,10 +3908,9 @@ api_register_func('api/direct_messages', 'api_direct_messages_inbox', true);
|
||||||
/**
|
/**
|
||||||
* Returns an OAuth Request Token.
|
* Returns an OAuth Request Token.
|
||||||
*
|
*
|
||||||
* @param string $type Return type (atom, rss, xml, json)
|
|
||||||
* @see https://oauth.net/core/1.0/#auth_step1
|
* @see https://oauth.net/core/1.0/#auth_step1
|
||||||
*/
|
*/
|
||||||
function api_oauth_request_token($type)
|
function api_oauth_request_token()
|
||||||
{
|
{
|
||||||
$oauth1 = new FKOAuth1();
|
$oauth1 = new FKOAuth1();
|
||||||
try {
|
try {
|
||||||
|
@ -3949,12 +3926,10 @@ function api_oauth_request_token($type)
|
||||||
/**
|
/**
|
||||||
* Returns an OAuth Access Token.
|
* Returns an OAuth Access Token.
|
||||||
*
|
*
|
||||||
* @param string $type Return type (atom, rss, xml, json)
|
|
||||||
*
|
|
||||||
* @return array|string
|
* @return array|string
|
||||||
* @see https://oauth.net/core/1.0/#auth_step3
|
* @see https://oauth.net/core/1.0/#auth_step3
|
||||||
*/
|
*/
|
||||||
function api_oauth_access_token($type)
|
function api_oauth_access_token()
|
||||||
{
|
{
|
||||||
$oauth1 = new FKOAuth1();
|
$oauth1 = new FKOAuth1();
|
||||||
try {
|
try {
|
||||||
|
@ -4366,7 +4341,7 @@ function api_account_update_profile_image($type)
|
||||||
throw new ForbiddenException();
|
throw new ForbiddenException();
|
||||||
}
|
}
|
||||||
// input params
|
// input params
|
||||||
$profileid = (x($_REQUEST, 'profile_id') ? $_REQUEST['profile_id'] : 0);
|
$profileid = defaults($_REQUEST, 'profile_id', 0);
|
||||||
|
|
||||||
// error if image data is missing
|
// error if image data is missing
|
||||||
if (!x($_FILES, 'image')) {
|
if (!x($_FILES, 'image')) {
|
||||||
|
@ -4412,13 +4387,13 @@ function api_account_update_profile_image($type)
|
||||||
}
|
}
|
||||||
// change specified profile or all profiles to the new resource-id
|
// change specified profile or all profiles to the new resource-id
|
||||||
if ($is_default_profile) {
|
if ($is_default_profile) {
|
||||||
$r = q(
|
q(
|
||||||
"UPDATE `photo` SET `profile` = 0 WHERE `profile` = 1 AND `resource-id` != '%s' AND `uid` = %d",
|
"UPDATE `photo` SET `profile` = 0 WHERE `profile` = 1 AND `resource-id` != '%s' AND `uid` = %d",
|
||||||
dbesc($data['photo']['id']),
|
dbesc($data['photo']['id']),
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
|
||||||
$r = q(
|
q(
|
||||||
"UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s' WHERE `self` AND `uid` = %d",
|
"UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s' WHERE `self` AND `uid` = %d",
|
||||||
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-4.' . $fileext),
|
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-4.' . $fileext),
|
||||||
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-5.' . $fileext),
|
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-5.' . $fileext),
|
||||||
|
@ -4426,7 +4401,7 @@ function api_account_update_profile_image($type)
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$r = q(
|
q(
|
||||||
"UPDATE `profile` SET `photo` = '%s', `thumb` = '%s' WHERE `id` = %d AND `uid` = %d",
|
"UPDATE `profile` SET `photo` = '%s', `thumb` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||||
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-4.' . $filetype),
|
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-4.' . $filetype),
|
||||||
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-5.' . $filetype),
|
dbesc(System::baseUrl() . '/photo/' . $data['photo']['id'] . '-5.' . $filetype),
|
||||||
|
@ -4438,7 +4413,7 @@ function api_account_update_profile_image($type)
|
||||||
// we'll set the updated profile-photo timestamp even if it isn't the default profile,
|
// we'll set the updated profile-photo timestamp even if it isn't the default profile,
|
||||||
// so that browsers will do a cache update unconditionally
|
// so that browsers will do a cache update unconditionally
|
||||||
|
|
||||||
$r = q(
|
q(
|
||||||
"UPDATE `contact` SET `avatar-date` = '%s' WHERE `self` = 1 AND `uid` = %d",
|
"UPDATE `contact` SET `avatar-date` = '%s' WHERE `self` = 1 AND `uid` = %d",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
|
@ -4903,7 +4878,7 @@ function api_friendica_remoteauth()
|
||||||
|
|
||||||
$cid = $r['id'];
|
$cid = $r['id'];
|
||||||
|
|
||||||
$dfrn_id = $orig_id = (($r['issued-id']) ? $r['issued-id'] : $r['dfrn-id']);
|
$dfrn_id = defaults($r, 'issued-id', $r['dfrn-id']);
|
||||||
|
|
||||||
if ($r['duplex'] && $r['issued-id']) {
|
if ($r['duplex'] && $r['issued-id']) {
|
||||||
$orig_id = $r['issued-id'];
|
$orig_id = $r['issued-id'];
|
||||||
|
@ -5503,7 +5478,7 @@ function api_friendica_group_create($type)
|
||||||
intval($uid)
|
intval($uid)
|
||||||
);
|
);
|
||||||
if (count($contact)) {
|
if (count($contact)) {
|
||||||
$result = Group::addMember($gid, $cid);
|
Group::addMember($gid, $cid);
|
||||||
} else {
|
} else {
|
||||||
$erroraddinguser = true;
|
$erroraddinguser = true;
|
||||||
$errorusers[] = $cid;
|
$errorusers[] = $cid;
|
||||||
|
@ -5559,7 +5534,7 @@ function api_friendica_group_update($type)
|
||||||
$found = ($user['cid'] == $cid ? true : false);
|
$found = ($user['cid'] == $cid ? true : false);
|
||||||
}
|
}
|
||||||
if (!$found) {
|
if (!$found) {
|
||||||
$ret = Group::removeMemberByName($uid, $name, $cid);
|
Group::removeMemberByName($uid, $name, $cid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5576,7 +5551,7 @@ function api_friendica_group_update($type)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (count($contact)) {
|
if (count($contact)) {
|
||||||
$result = Group::addMember($gid, $cid);
|
Group::addMember($gid, $cid);
|
||||||
} else {
|
} else {
|
||||||
$erroraddinguser = true;
|
$erroraddinguser = true;
|
||||||
$errorusers[] = $cid;
|
$errorusers[] = $cid;
|
||||||
|
@ -5880,7 +5855,7 @@ function api_friendica_profile_show($type)
|
||||||
// loop through all returned profiles and retrieve data and users
|
// loop through all returned profiles and retrieve data and users
|
||||||
$k = 0;
|
$k = 0;
|
||||||
foreach ($r as $rr) {
|
foreach ($r as $rr) {
|
||||||
$profile = api_format_items_profiles($rr, $type);
|
$profile = api_format_items_profiles($rr);
|
||||||
|
|
||||||
// select all users from contact table, loop and prepare standard return for user data
|
// select all users from contact table, loop and prepare standard return for user data
|
||||||
$users = array();
|
$users = array();
|
||||||
|
|
|
@ -67,8 +67,6 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true) {
|
||||||
} else {
|
} else {
|
||||||
if ($simplehtml != 4) {
|
if ($simplehtml != 4) {
|
||||||
$text = sprintf('<span class="type-%s">', $data["type"]);
|
$text = sprintf('<span class="type-%s">', $data["type"]);
|
||||||
} else {
|
|
||||||
$span_end = '';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $data["url"], $data["title"]), $data["url"], $data["title"]);
|
$bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $data["url"], $data["title"]), $data["url"], $data["title"]);
|
||||||
|
@ -270,7 +268,6 @@ function bb_spacefy($st) {
|
||||||
* returning [i]italic[/i]
|
* returning [i]italic[/i]
|
||||||
*/
|
*/
|
||||||
function bb_unspacefy_and_trim($st) {
|
function bb_unspacefy_and_trim($st) {
|
||||||
$whole_match = $st[0];
|
|
||||||
$captured = $st[1];
|
$captured = $st[1];
|
||||||
$unspacefied = preg_replace("/\[ (.*?)\ ]/", "[$1]", $captured);
|
$unspacefied = preg_replace("/\[ (.*?)\ ]/", "[$1]", $captured);
|
||||||
return $unspacefied;
|
return $unspacefied;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file include/contact_widgets.php
|
* @file include/contact_widgets.php
|
||||||
*/
|
*/
|
||||||
|
@ -11,8 +12,8 @@ use Friendica\Model\GContact;
|
||||||
|
|
||||||
require_once 'include/contact_selectors.php';
|
require_once 'include/contact_selectors.php';
|
||||||
|
|
||||||
function follow_widget($value = "") {
|
function follow_widget($value = "")
|
||||||
|
{
|
||||||
return replace_macros(get_markup_template('follow.tpl'), array(
|
return replace_macros(get_markup_template('follow.tpl'), array(
|
||||||
'$connect' => t('Add New Contact'),
|
'$connect' => t('Add New Contact'),
|
||||||
'$desc' => t('Enter address or web location'),
|
'$desc' => t('Enter address or web location'),
|
||||||
|
@ -20,10 +21,10 @@ function follow_widget($value = "") {
|
||||||
'$value' => $value,
|
'$value' => $value,
|
||||||
'$follow' => t('Connect')
|
'$follow' => t('Connect')
|
||||||
));
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function findpeople_widget() {
|
function findpeople_widget()
|
||||||
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
$global_dir = Config::get('system', 'directory');
|
$global_dir = Config::get('system', 'directory');
|
||||||
|
|
||||||
|
@ -31,8 +32,8 @@ function findpeople_widget() {
|
||||||
$x = PConfig::get(local_user(), 'system', 'invites_remaining');
|
$x = PConfig::get(local_user(), 'system', 'invites_remaining');
|
||||||
if ($x || is_site_admin()) {
|
if ($x || is_site_admin()) {
|
||||||
$a->page['aside'] .= '<div class="side-link" id="side-invite-remain">'
|
$a->page['aside'] .= '<div class="side-link" id="side-invite-remain">'
|
||||||
. sprintf( tt('%d invitation available', '%d invitations available', $x), $x)
|
. tt('%d invitation available', '%d invitations available', $x)
|
||||||
. '</div>' . $inv;
|
. '</div>' . $inv;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,12 +50,10 @@ function findpeople_widget() {
|
||||||
'$directory' => t('View Global Directory'),
|
'$directory' => t('View Global Directory'),
|
||||||
'$global_dir' => $global_dir
|
'$global_dir' => $global_dir
|
||||||
));
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function unavailable_networks() {
|
function unavailable_networks()
|
||||||
$network_filter = "";
|
{
|
||||||
|
|
||||||
$networks = array();
|
$networks = array();
|
||||||
|
|
||||||
if (!plugin_enabled("appnet")) {
|
if (!plugin_enabled("appnet")) {
|
||||||
|
@ -100,10 +99,8 @@ function unavailable_networks() {
|
||||||
return $network_filter;
|
return $network_filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
function networks_widget($baseurl, $selected = '') {
|
function networks_widget($baseurl, $selected = '')
|
||||||
|
{
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
if (!local_user()) {
|
if (!local_user()) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
@ -138,21 +135,21 @@ function networks_widget($baseurl, $selected = '') {
|
||||||
'$all' => t('All Networks'),
|
'$all' => t('All Networks'),
|
||||||
'$nets' => $nets,
|
'$nets' => $nets,
|
||||||
'$base' => $baseurl,
|
'$base' => $baseurl,
|
||||||
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
function fileas_widget($baseurl, $selected = '') {
|
function fileas_widget($baseurl, $selected = '')
|
||||||
if (! local_user()) {
|
{
|
||||||
|
if (!local_user()) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! Feature::isEnabled(local_user(), 'filing')) {
|
if (!Feature::isEnabled(local_user(), 'filing')) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$saved = PConfig::get(local_user(), 'system', 'filetags');
|
$saved = PConfig::get(local_user(), 'system', 'filetags');
|
||||||
if (! strlen($saved)) {
|
if (!strlen($saved)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,20 +170,19 @@ function fileas_widget($baseurl, $selected = '') {
|
||||||
'$all' => t('Everything'),
|
'$all' => t('Everything'),
|
||||||
'$terms' => $terms,
|
'$terms' => $terms,
|
||||||
'$base' => $baseurl,
|
'$base' => $baseurl,
|
||||||
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
function categories_widget($baseurl, $selected = '') {
|
function categories_widget($baseurl, $selected = '')
|
||||||
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
if (! Feature::isEnabled($a->profile['profile_uid'], 'categories')) {
|
if (!Feature::isEnabled($a->profile['profile_uid'], 'categories')) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$saved = PConfig::get($a->profile['profile_uid'], 'system', 'filetags');
|
$saved = PConfig::get($a->profile['profile_uid'], 'system', 'filetags');
|
||||||
if (! strlen($saved)) {
|
if (!strlen($saved)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -208,14 +204,11 @@ function categories_widget($baseurl, $selected = '') {
|
||||||
'$all' => t('Everything'),
|
'$all' => t('Everything'),
|
||||||
'$terms' => $terms,
|
'$terms' => $terms,
|
||||||
'$base' => $baseurl,
|
'$base' => $baseurl,
|
||||||
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
function common_friends_visitor_widget($profile_uid) {
|
function common_friends_visitor_widget($profile_uid)
|
||||||
|
{
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
if (local_user() == $profile_uid) {
|
if (local_user() == $profile_uid) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -231,7 +224,7 @@ function common_friends_visitor_widget($profile_uid) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $cid) {
|
if (!$cid) {
|
||||||
if (get_my_url()) {
|
if (get_my_url()) {
|
||||||
$r = dba::select('contact', array('id'),
|
$r = dba::select('contact', array('id'),
|
||||||
array('nurl' => normalise_link(get_my_url()), 'uid' => $profile_uid), array('limit' => 1));
|
array('nurl' => normalise_link(get_my_url()), 'uid' => $profile_uid), array('limit' => 1));
|
||||||
|
@ -239,8 +232,9 @@ function common_friends_visitor_widget($profile_uid) {
|
||||||
$cid = $r['id'];
|
$cid = $r['id'];
|
||||||
} else {
|
} else {
|
||||||
$r = dba::select('gcontact', array('id'), array('nurl' => normalise_link(get_my_url())), array('limit' => 1));
|
$r = dba::select('gcontact', array('id'), array('nurl' => normalise_link(get_my_url())), array('limit' => 1));
|
||||||
if (DBM::is_result($r))
|
if (DBM::is_result($r)) {
|
||||||
$zcid = $r['id'];
|
$zcid = $r['id'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -254,7 +248,8 @@ function common_friends_visitor_widget($profile_uid) {
|
||||||
} else {
|
} else {
|
||||||
$t = GContact::countCommonFriendsZcid($profile_uid, $zcid);
|
$t = GContact::countCommonFriendsZcid($profile_uid, $zcid);
|
||||||
}
|
}
|
||||||
if (! $t) {
|
|
||||||
|
if (!$t) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,7 +260,7 @@ function common_friends_visitor_widget($profile_uid) {
|
||||||
}
|
}
|
||||||
|
|
||||||
return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
|
return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
|
||||||
'$desc' => sprintf(tt("%d contact in common", "%d contacts in common", $t), $t),
|
'$desc' => tt("%d contact in common", "%d contacts in common", $t),
|
||||||
'$base' => System::baseUrl(),
|
'$base' => System::baseUrl(),
|
||||||
'$uid' => $profile_uid,
|
'$uid' => $profile_uid,
|
||||||
'$cid' => (($cid) ? $cid : '0'),
|
'$cid' => (($cid) ? $cid : '0'),
|
||||||
|
|
|
@ -589,11 +589,8 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
|
||||||
|
|
||||||
$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
|
$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
|
||||||
|
|
||||||
|
if (!$update) {
|
||||||
if ($update) {
|
$_SESSION['return_url'] = $a->query_string;
|
||||||
$return_url = $_SESSION['return_url'];
|
|
||||||
} else {
|
|
||||||
$return_url = $_SESSION['return_url'] = $a->query_string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$cb = array('items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview);
|
$cb = array('items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview);
|
||||||
|
@ -601,9 +598,6 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
|
||||||
|
|
||||||
$items = $cb['items'];
|
$items = $cb['items'];
|
||||||
|
|
||||||
$cmnt_tpl = get_markup_template('comment_item.tpl');
|
|
||||||
$hide_comments_tpl = get_markup_template('hide_comments.tpl');
|
|
||||||
|
|
||||||
$conv_responses = array(
|
$conv_responses = array(
|
||||||
'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')),
|
'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')),
|
||||||
'attendyes' => array('title' => t('Attending','title')), 'attendno' => array('title' => t('Not attending','title')), 'attendmaybe' => array('title' => t('Might attend','title'))
|
'attendyes' => array('title' => t('Attending','title')), 'attendno' => array('title' => t('Not attending','title')), 'attendmaybe' => array('title' => t('Might attend','title'))
|
||||||
|
@ -759,7 +753,6 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
|
||||||
|
|
||||||
$lock = false;
|
$lock = false;
|
||||||
$likebuttons = false;
|
$likebuttons = false;
|
||||||
$shareable = false;
|
|
||||||
|
|
||||||
$body = prepare_body($item, true, $preview);
|
$body = prepare_body($item, true, $preview);
|
||||||
|
|
||||||
|
@ -844,9 +837,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
|
||||||
* this shouldn't be needed, as we should have only them in our array
|
* this shouldn't be needed, as we should have only them in our array
|
||||||
* But for now, this array respects the old style, just in case
|
* But for now, this array respects the old style, just in case
|
||||||
*/
|
*/
|
||||||
$threads = array();
|
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
|
|
||||||
if ($arr_blocked) {
|
if ($arr_blocked) {
|
||||||
$blocked = false;
|
$blocked = false;
|
||||||
foreach ($arr_blocked as $b) {
|
foreach ($arr_blocked as $b) {
|
||||||
|
@ -883,7 +874,6 @@ function conversation(App $a, $items, $mode, $update, $preview = false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$threads = $conv->getTemplateData($conv_responses);
|
$threads = $conv->getTemplateData($conv_responses);
|
||||||
|
|
||||||
if (!$threads) {
|
if (!$threads) {
|
||||||
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
|
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
|
||||||
$threads = array();
|
$threads = array();
|
||||||
|
@ -1000,7 +990,6 @@ function item_photo_menu($item) {
|
||||||
$status_link = '';
|
$status_link = '';
|
||||||
$photos_link = '';
|
$photos_link = '';
|
||||||
$posts_link = '';
|
$posts_link = '';
|
||||||
$network = '';
|
|
||||||
|
|
||||||
if ((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id'] && (! $item['self'])) {
|
if ((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id'] && (! $item['self'])) {
|
||||||
$sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
|
$sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
|
||||||
|
@ -1026,7 +1015,6 @@ function item_photo_menu($item) {
|
||||||
$status_link = $profile_link . '?url=status';
|
$status_link = $profile_link . '?url=status';
|
||||||
$photos_link = $profile_link . '?url=photos';
|
$photos_link = $profile_link . '?url=photos';
|
||||||
$profile_link = $profile_link . '?url=profile';
|
$profile_link = $profile_link . '?url=profile';
|
||||||
$zurl = '';
|
|
||||||
} else {
|
} else {
|
||||||
$profile_link = zrl($profile_link);
|
$profile_link = zrl($profile_link);
|
||||||
}
|
}
|
||||||
|
@ -1113,7 +1101,6 @@ function builtin_activity_puller($item, &$conv_responses) {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) {
|
if ((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) {
|
||||||
|
@ -1361,7 +1348,6 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
|
||||||
|
|
||||||
// ACL permissions box
|
// ACL permissions box
|
||||||
'$acl' => $x['acl'],
|
'$acl' => $x['acl'],
|
||||||
'$acl_data' => $x['acl_data'],
|
|
||||||
'$group_perms' => t('Post to Groups'),
|
'$group_perms' => t('Post to Groups'),
|
||||||
'$contact_perms' => t('Post to Contacts'),
|
'$contact_perms' => t('Post to Contacts'),
|
||||||
'$private' => t('Private post'),
|
'$private' => t('Private post'),
|
||||||
|
@ -1656,22 +1642,25 @@ function get_responses($conv_responses, $response_verbs, $ob, $item) {
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_response_button_text($v, $count) {
|
function get_response_button_text($v, $count)
|
||||||
|
{
|
||||||
switch ($v) {
|
switch ($v) {
|
||||||
case 'like':
|
case 'like':
|
||||||
return tt('Like', 'Likes', $count, 'noun');
|
$return = tt('Like', 'Likes', $count);
|
||||||
break;
|
break;
|
||||||
case 'dislike':
|
case 'dislike':
|
||||||
return tt('Dislike', 'Dislikes', $count, 'noun');
|
$return = tt('Dislike', 'Dislikes', $count);
|
||||||
break;
|
break;
|
||||||
case 'attendyes':
|
case 'attendyes':
|
||||||
return tt('Attending', 'Attending', $count, 'noun');
|
$return = tt('Attending', 'Attending', $count);
|
||||||
break;
|
break;
|
||||||
case 'attendno':
|
case 'attendno':
|
||||||
return tt('Not Attending', 'Not Attending', $count, 'noun');
|
$return = tt('Not Attending', 'Not Attending', $count);
|
||||||
break;
|
break;
|
||||||
case 'attendmaybe':
|
case 'attendmaybe':
|
||||||
return tt('Undecided', 'Undecided', $count, 'noun');
|
$return = tt('Undecided', 'Undecided', $count);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,13 +177,10 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
|
||||||
* @param string $dob Date of Birth
|
* @param string $dob Date of Birth
|
||||||
* @return string Formatted html
|
* @return string Formatted html
|
||||||
*/
|
*/
|
||||||
function dob($dob) {
|
function dob($dob)
|
||||||
list($year,$month,$day) = sscanf($dob,'%4d-%2d-%2d');
|
{
|
||||||
|
list($year, $month, $day) = sscanf($dob, '%4d-%2d-%2d');
|
||||||
|
|
||||||
$f = Config::get('system', 'birthday_input_format');
|
|
||||||
if (! $f) {
|
|
||||||
$f = 'ymd';
|
|
||||||
}
|
|
||||||
if ($dob <= '0001-01-01') {
|
if ($dob <= '0001-01-01') {
|
||||||
$value = '';
|
$value = '';
|
||||||
} else {
|
} else {
|
||||||
|
@ -215,8 +212,6 @@ function dob($dob) {
|
||||||
/**
|
/**
|
||||||
* @brief Returns a date selector
|
* @brief Returns a date selector
|
||||||
*
|
*
|
||||||
* @param string $format
|
|
||||||
* Format string, e.g. 'ymd' or 'mdy'. Not currently supported
|
|
||||||
* @param string $min
|
* @param string $min
|
||||||
* Unix timestamp of minimum date
|
* Unix timestamp of minimum date
|
||||||
* @param string $max
|
* @param string $max
|
||||||
|
@ -228,15 +223,14 @@ function dob($dob) {
|
||||||
*
|
*
|
||||||
* @return string Parsed HTML output.
|
* @return string Parsed HTML output.
|
||||||
*/
|
*/
|
||||||
function datesel($format, $min, $max, $default, $id = 'datepicker') {
|
function datesel($min, $max, $default, $id = 'datepicker')
|
||||||
return datetimesel($format, $min, $max, $default, '', $id, true, false, '', '');
|
{
|
||||||
|
return datetimesel($min, $max, $default, '', $id, true, false, '', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns a time selector
|
* @brief Returns a time selector
|
||||||
*
|
*
|
||||||
* @param string $format
|
|
||||||
* Format string, e.g. 'ymd' or 'mdy'. Not currently supported
|
|
||||||
* @param $h
|
* @param $h
|
||||||
* Already selected hour
|
* Already selected hour
|
||||||
* @param $m
|
* @param $m
|
||||||
|
@ -246,15 +240,14 @@ function datesel($format, $min, $max, $default, $id = 'datepicker') {
|
||||||
*
|
*
|
||||||
* @return string Parsed HTML output.
|
* @return string Parsed HTML output.
|
||||||
*/
|
*/
|
||||||
function timesel($format, $h, $m, $id = 'timepicker') {
|
function timesel($h, $m, $id = 'timepicker')
|
||||||
return datetimesel($format, new DateTime(), new DateTime(), new DateTime("$h:$m"), '', $id, false, true);
|
{
|
||||||
|
return datetimesel(new DateTime(), new DateTime(), new DateTime("$h:$m"), '', $id, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns a datetime selector.
|
* @brief Returns a datetime selector.
|
||||||
*
|
*
|
||||||
* @param string $format
|
|
||||||
* format string, e.g. 'ymd' or 'mdy'. Not currently supported
|
|
||||||
* @param string $min
|
* @param string $min
|
||||||
* unix timestamp of minimum date
|
* unix timestamp of minimum date
|
||||||
* @param string $max
|
* @param string $max
|
||||||
|
@ -278,8 +271,8 @@ function timesel($format, $h, $m, $id = 'timepicker') {
|
||||||
* @todo Once browser support is better this could probably be replaced with
|
* @todo Once browser support is better this could probably be replaced with
|
||||||
* native HTML5 date picker.
|
* native HTML5 date picker.
|
||||||
*/
|
*/
|
||||||
function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) {
|
function datetimesel($min, $max, $default, $label, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false)
|
||||||
|
{
|
||||||
// First day of the week (0 = Sunday)
|
// First day of the week (0 = Sunday)
|
||||||
$firstDay = PConfig::get(local_user(), 'system', 'first_day_of_week', 0);
|
$firstDay = PConfig::get(local_user(), 'system', 'first_day_of_week', 0);
|
||||||
|
|
||||||
|
@ -619,7 +612,7 @@ function update_contact_birthdays() {
|
||||||
$bdtext = sprintf( t('%s\'s birthday'), $rr['name']);
|
$bdtext = sprintf( t('%s\'s birthday'), $rr['name']);
|
||||||
$bdtext2 = sprintf( t('Happy Birthday %s'), ' [url=' . $rr['url'] . ']' . $rr['name'] . '[/url]') ;
|
$bdtext2 = sprintf( t('Happy Birthday %s'), ' [url=' . $rr['url'] . ']' . $rr['name'] . '[/url]') ;
|
||||||
|
|
||||||
$r = q("INSERT INTO `event` (`uid`,`cid`,`created`,`edited`,`start`,`finish`,`summary`,`desc`,`type`,`adjust`)
|
q("INSERT INTO `event` (`uid`,`cid`,`created`,`edited`,`start`,`finish`,`summary`,`desc`,`type`,`adjust`)
|
||||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d' ) ",
|
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d' ) ",
|
||||||
intval($rr['uid']),
|
intval($rr['uid']),
|
||||||
intval($rr['id']),
|
intval($rr['id']),
|
||||||
|
|
|
@ -20,12 +20,11 @@ require_once 'include/html2bbcode.php';
|
||||||
source_link, activity, preamble, notify_flags,
|
source_link, activity, preamble, notify_flags,
|
||||||
language, show_in_notification_page
|
language, show_in_notification_page
|
||||||
*/
|
*/
|
||||||
function notification($params) {
|
function notification($params)
|
||||||
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
// from here on everything is in the recipients language
|
// from here on everything is in the recipients language
|
||||||
|
|
||||||
push_lang($params['language']);
|
push_lang($params['language']);
|
||||||
|
|
||||||
$banner = t('Friendica Notification');
|
$banner = t('Friendica Notification');
|
||||||
|
@ -33,21 +32,22 @@ function notification($params) {
|
||||||
$siteurl = System::baseUrl(true);
|
$siteurl = System::baseUrl(true);
|
||||||
$thanks = t('Thank You,');
|
$thanks = t('Thank You,');
|
||||||
$sitename = $a->config['sitename'];
|
$sitename = $a->config['sitename'];
|
||||||
if (!x($a->config['admin_name']))
|
if (!x($a->config['admin_name'])) {
|
||||||
$site_admin = sprintf(t('%s Administrator'), $sitename);
|
$site_admin = sprintf(t('%s Administrator'), $sitename);
|
||||||
else
|
} else {
|
||||||
$site_admin = sprintf(t('%1$s, %2$s Administrator'), $a->config['admin_name'], $sitename);
|
$site_admin = sprintf(t('%1$s, %2$s Administrator'), $a->config['admin_name'], $sitename);
|
||||||
|
}
|
||||||
$nickname = "";
|
|
||||||
|
|
||||||
$sender_name = $sitename;
|
$sender_name = $sitename;
|
||||||
$hostname = $a->get_hostname();
|
$hostname = $a->get_hostname();
|
||||||
if (strpos($hostname, ':'))
|
if (strpos($hostname, ':')) {
|
||||||
$hostname = substr($hostname, 0, strpos($hostname, ':'));
|
$hostname = substr($hostname, 0, strpos($hostname, ':'));
|
||||||
|
}
|
||||||
|
|
||||||
$sender_email = $a->config['sender_email'];
|
$sender_email = $a->config['sender_email'];
|
||||||
if (empty($sender_email))
|
if (empty($sender_email)) {
|
||||||
$sender_email = t('noreply').'@'.$hostname;
|
$sender_email = t('noreply').'@'.$hostname;
|
||||||
|
}
|
||||||
|
|
||||||
if ($params['type'] != SYSTEM_EMAIL) {
|
if ($params['type'] != SYSTEM_EMAIL) {
|
||||||
$user = dba::select('user', array('nickname', 'page-flags'),
|
$user = dba::select('user', array('nickname', 'page-flags'),
|
||||||
|
@ -77,21 +77,21 @@ function notification($params) {
|
||||||
if (array_key_exists('item', $params)) {
|
if (array_key_exists('item', $params)) {
|
||||||
$title = $params['item']['title'];
|
$title = $params['item']['title'];
|
||||||
$body = $params['item']['body'];
|
$body = $params['item']['body'];
|
||||||
} else
|
} else {
|
||||||
$title = $body = '';
|
$title = $body = '';
|
||||||
|
}
|
||||||
|
|
||||||
// e.g. "your post", "David's photo", etc.
|
if (isset($params['item']['id'])) {
|
||||||
$possess_desc = t('%s <!item_type!>');
|
|
||||||
|
|
||||||
if (isset($params['item']['id']))
|
|
||||||
$item_id = $params['item']['id'];
|
$item_id = $params['item']['id'];
|
||||||
else
|
} else {
|
||||||
$item_id = 0;
|
$item_id = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($params['parent']))
|
if (isset($params['parent'])) {
|
||||||
$parent_id = $params['parent'];
|
$parent_id = $params['parent'];
|
||||||
else
|
} else {
|
||||||
$parent_id = 0;
|
$parent_id = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if ($params['type'] == NOTIFY_MAIL) {
|
if ($params['type'] == NOTIFY_MAIL) {
|
||||||
$subject = sprintf(t('[Friendica:Notify] New mail received at %s'), $sitename);
|
$subject = sprintf(t('[Friendica:Notify] New mail received at %s'), $sitename);
|
||||||
|
@ -117,8 +117,6 @@ function notification($params) {
|
||||||
|
|
||||||
// Check to see if there was already a tag notify or comment notify for this post.
|
// Check to see if there was already a tag notify or comment notify for this post.
|
||||||
// If so don't create a second notification
|
// If so don't create a second notification
|
||||||
|
|
||||||
$p = null;
|
|
||||||
$p = q("SELECT `id` FROM `notify` WHERE `type` IN (%d, %d, %d) AND `link` = '%s' AND `uid` = %d LIMIT 1",
|
$p = q("SELECT `id` FROM `notify` WHERE `type` IN (%d, %d, %d) AND `link` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
intval(NOTIFY_TAGSELF),
|
intval(NOTIFY_TAGSELF),
|
||||||
intval(NOTIFY_COMMENT),
|
intval(NOTIFY_COMMENT),
|
||||||
|
@ -151,19 +149,21 @@ function notification($params) {
|
||||||
$item_post_type);
|
$item_post_type);
|
||||||
|
|
||||||
// "George Bull's post"
|
// "George Bull's post"
|
||||||
if ($p)
|
if ($p) {
|
||||||
$dest_str = sprintf(t('%1$s commented on [url=%2$s]%3$s\'s %4$s[/url]'),
|
$dest_str = sprintf(t('%1$s commented on [url=%2$s]%3$s\'s %4$s[/url]'),
|
||||||
'[url='.$params['source_link'].']'.$params['source_name'].'[/url]',
|
'[url='.$params['source_link'].']'.$params['source_name'].'[/url]',
|
||||||
$itemlink,
|
$itemlink,
|
||||||
$p[0]['author-name'],
|
$p[0]['author-name'],
|
||||||
$item_post_type);
|
$item_post_type);
|
||||||
|
}
|
||||||
|
|
||||||
// "your post"
|
// "your post"
|
||||||
if ($p[0]['owner-name'] == $p[0]['author-name'] && $p[0]['wall'])
|
if ($p[0]['owner-name'] == $p[0]['author-name'] && $p[0]['wall']) {
|
||||||
$dest_str = sprintf(t('%1$s commented on [url=%2$s]your %3$s[/url]'),
|
$dest_str = sprintf(t('%1$s commented on [url=%2$s]your %3$s[/url]'),
|
||||||
'[url='.$params['source_link'].']'.$params['source_name'].'[/url]',
|
'[url='.$params['source_link'].']'.$params['source_name'].'[/url]',
|
||||||
$itemlink,
|
$itemlink,
|
||||||
$item_post_type);
|
$item_post_type);
|
||||||
|
}
|
||||||
|
|
||||||
// Some mail softwares relies on subject field for threading.
|
// Some mail softwares relies on subject field for threading.
|
||||||
// So, we cannot have different subjects for notifications of the same thread.
|
// So, we cannot have different subjects for notifications of the same thread.
|
||||||
|
@ -413,7 +413,6 @@ function notification($params) {
|
||||||
|
|
||||||
$body = $h['body'];
|
$body = $h['body'];
|
||||||
|
|
||||||
$sitelink = $h['sitelink'];
|
|
||||||
$tsitelink = $h['tsitelink'];
|
$tsitelink = $h['tsitelink'];
|
||||||
$hsitelink = $h['hsitelink'];
|
$hsitelink = $h['hsitelink'];
|
||||||
$itemlink = $h['itemlink'];
|
$itemlink = $h['itemlink'];
|
||||||
|
@ -455,8 +454,7 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// create notification entry in DB
|
// create notification entry in DB
|
||||||
|
q("INSERT INTO `notify` (`hash`, `name`, `url`, `photo`, `date`, `uid`, `link`, `iid`, `parent`, `type`, `verb`, `otype`, `name_cache`)
|
||||||
$r = q("INSERT INTO `notify` (`hash`, `name`, `url`, `photo`, `date`, `uid`, `link`, `iid`, `parent`, `type`, `verb`, `otype`, `name_cache`)
|
|
||||||
values('%s', '%s', '%s', '%s', '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s')",
|
values('%s', '%s', '%s', '%s', '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s')",
|
||||||
dbesc($datarray['hash']),
|
dbesc($datarray['hash']),
|
||||||
dbesc($datarray['name']),
|
dbesc($datarray['name']),
|
||||||
|
@ -477,17 +475,15 @@ function notification($params) {
|
||||||
dbesc($hash),
|
dbesc($hash),
|
||||||
intval($params['uid'])
|
intval($params['uid'])
|
||||||
);
|
);
|
||||||
if ($r)
|
if ($r) {
|
||||||
$notify_id = $r[0]['id'];
|
$notify_id = $r[0]['id'];
|
||||||
else {
|
} else {
|
||||||
pop_lang();
|
pop_lang();
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we seem to have a lot of duplicate comment notifications due to race conditions, mostly from forums
|
// we seem to have a lot of duplicate comment notifications due to race conditions, mostly from forums
|
||||||
// After we've stored everything, look again to see if there are any duplicates and if so remove them
|
// After we've stored everything, look again to see if there are any duplicates and if so remove them
|
||||||
|
|
||||||
$p = null;
|
|
||||||
$p = q("SELECT `id` FROM `notify` WHERE `type` IN (%d, %d) AND `link` = '%s' AND `uid` = %d ORDER BY `id`",
|
$p = q("SELECT `id` FROM `notify` WHERE `type` IN (%d, %d) AND `link` = '%s' AND `uid` = %d ORDER BY `id`",
|
||||||
intval(NOTIFY_TAGSELF),
|
intval(NOTIFY_TAGSELF),
|
||||||
intval(NOTIFY_COMMENT),
|
intval(NOTIFY_COMMENT),
|
||||||
|
@ -500,18 +496,16 @@ function notification($params) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// only continue on if we stored the first one
|
// only continue on if we stored the first one
|
||||||
|
|
||||||
if ($notify_id != $p[0]['id']) {
|
if ($notify_id != $p[0]['id']) {
|
||||||
pop_lang();
|
pop_lang();
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$itemlink = System::baseUrl().'/notify/view/'.$notify_id;
|
$itemlink = System::baseUrl().'/notify/view/'.$notify_id;
|
||||||
$msg = replace_macros($epreamble, array('$itemlink' => $itemlink));
|
$msg = replace_macros($epreamble, array('$itemlink' => $itemlink));
|
||||||
$msg_cache = format_notification_message($datarray['name_cache'], strip_tags(bbcode($msg)));
|
$msg_cache = format_notification_message($datarray['name_cache'], strip_tags(bbcode($msg)));
|
||||||
$r = q("UPDATE `notify` SET `msg` = '%s', `msg_cache` = '%s' WHERE `id` = %d AND `uid` = %d",
|
q("UPDATE `notify` SET `msg` = '%s', `msg_cache` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||||
dbesc($msg),
|
dbesc($msg),
|
||||||
dbesc($msg_cache),
|
dbesc($msg_cache),
|
||||||
intval($notify_id),
|
intval($notify_id),
|
||||||
|
@ -539,7 +533,7 @@ function notification($params) {
|
||||||
|
|
||||||
if (!$r) {
|
if (!$r) {
|
||||||
logger("notify_id:".intval($notify_id).", parent: ".intval($params['parent'])."uid: ".intval($params['uid']), LOGGER_DEBUG);
|
logger("notify_id:".intval($notify_id).", parent: ".intval($params['parent'])."uid: ".intval($params['uid']), LOGGER_DEBUG);
|
||||||
$r = q("INSERT INTO `notify-threads` (`notify-id`, `master-parent-item`, `receiver-uid`, `parent-item`)
|
q("INSERT INTO `notify-threads` (`notify-id`, `master-parent-item`, `receiver-uid`, `parent-item`)
|
||||||
values(%d, %d, %d, %d)",
|
values(%d, %d, %d, %d)",
|
||||||
intval($notify_id),
|
intval($notify_id),
|
||||||
intval($params['parent']),
|
intval($params['parent']),
|
||||||
|
@ -637,7 +631,6 @@ function notification($params) {
|
||||||
));
|
));
|
||||||
|
|
||||||
// use the Emailer class to send the message
|
// use the Emailer class to send the message
|
||||||
|
|
||||||
return Emailer::send(
|
return Emailer::send(
|
||||||
array(
|
array(
|
||||||
'uid' => $params['uid'],
|
'uid' => $params['uid'],
|
||||||
|
|
|
@ -261,13 +261,10 @@ function event_store($arr) {
|
||||||
$contact = $c[0];
|
$contact = $c[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Existing event being modified.
|
// Existing event being modified.
|
||||||
|
|
||||||
if ($arr['id']) {
|
if ($arr['id']) {
|
||||||
|
|
||||||
// has the event actually changed?
|
// has the event actually changed?
|
||||||
|
|
||||||
$r = q("SELECT * FROM `event` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `event` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($arr['id']),
|
intval($arr['id']),
|
||||||
intval($arr['uid'])
|
intval($arr['uid'])
|
||||||
|
@ -275,7 +272,6 @@ function event_store($arr) {
|
||||||
if ((! DBM::is_result($r)) || ($r[0]['edited'] === $arr['edited'])) {
|
if ((! DBM::is_result($r)) || ($r[0]['edited'] === $arr['edited'])) {
|
||||||
|
|
||||||
// Nothing has changed. Grab the item id to return.
|
// Nothing has changed. Grab the item id to return.
|
||||||
|
|
||||||
$r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($arr['id']),
|
intval($arr['id']),
|
||||||
intval($arr['uid'])
|
intval($arr['uid'])
|
||||||
|
@ -284,8 +280,7 @@ function event_store($arr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// The event changed. Update it.
|
// The event changed. Update it.
|
||||||
|
q("UPDATE `event` SET
|
||||||
$r = q("UPDATE `event` SET
|
|
||||||
`edited` = '%s',
|
`edited` = '%s',
|
||||||
`start` = '%s',
|
`start` = '%s',
|
||||||
`finish` = '%s',
|
`finish` = '%s',
|
||||||
|
@ -309,6 +304,7 @@ function event_store($arr) {
|
||||||
intval($arr['id']),
|
intval($arr['id']),
|
||||||
intval($arr['uid'])
|
intval($arr['uid'])
|
||||||
);
|
);
|
||||||
|
|
||||||
$r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($arr['id']),
|
intval($arr['id']),
|
||||||
intval($arr['uid'])
|
intval($arr['uid'])
|
||||||
|
@ -336,8 +332,7 @@ function event_store($arr) {
|
||||||
return $item_id;
|
return $item_id;
|
||||||
} else {
|
} else {
|
||||||
// New event. Store it.
|
// New event. Store it.
|
||||||
|
q("INSERT INTO `event` (`uid`,`cid`,`guid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`,
|
||||||
$r = q("INSERT INTO `event` (`uid`,`cid`,`guid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`,
|
|
||||||
`adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
|
`adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
|
||||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
|
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
|
||||||
intval($arr['uid']),
|
intval($arr['uid']),
|
||||||
|
@ -403,21 +398,7 @@ function event_store($arr) {
|
||||||
$item_arr['object'] .= '</object>' . "\n";
|
$item_arr['object'] .= '</object>' . "\n";
|
||||||
|
|
||||||
$item_id = item_store($item_arr);
|
$item_id = item_store($item_arr);
|
||||||
|
|
||||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
|
||||||
intval($arr['uid'])
|
|
||||||
);
|
|
||||||
//if (DBM::is_result($r))
|
|
||||||
// $plink = System::baseUrl() . '/display/' . $r[0]['nickname'] . '/' . $item_id;
|
|
||||||
|
|
||||||
|
|
||||||
if ($item_id) {
|
if ($item_id) {
|
||||||
//q("UPDATE `item` SET `plink` = '%s', `event-id` = %d WHERE `uid` = %d AND `id` = %d",
|
|
||||||
// dbesc($plink),
|
|
||||||
// intval($event['id']),
|
|
||||||
// intval($arr['uid']),
|
|
||||||
// intval($item_id)
|
|
||||||
//);
|
|
||||||
q("UPDATE `item` SET `event-id` = %d WHERE `uid` = %d AND `id` = %d",
|
q("UPDATE `item` SET `event-id` = %d WHERE `uid` = %d AND `id` = %d",
|
||||||
intval($event['id']),
|
intval($event['id']),
|
||||||
intval($arr['uid']),
|
intval($arr['uid']),
|
||||||
|
@ -675,9 +656,12 @@ function process_events($arr) {
|
||||||
* @param string $timezone The timezone of the user (not implemented yet).
|
* @param string $timezone The timezone of the user (not implemented yet).
|
||||||
*
|
*
|
||||||
* @return string Content according to selected export format.
|
* @return string Content according to selected export format.
|
||||||
|
*
|
||||||
|
* @todo Implement timezone support
|
||||||
*/
|
*/
|
||||||
function event_format_export ($events, $format = 'ical', $timezone) {
|
function event_format_export($events, $format = 'ical', $timezone)
|
||||||
if (! ((is_array($events)) && count($events))) {
|
{
|
||||||
|
if (!((is_array($events)) && count($events))) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
function create_files_from_item($itemid) {
|
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
|
function create_files_from_item($itemid)
|
||||||
|
{
|
||||||
$messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `file`, `parent` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
|
$messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `file`, `parent` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
|
||||||
|
if (!$messages) {
|
||||||
if (!$messages)
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$message = $messages[0];
|
$message = $messages[0];
|
||||||
|
|
||||||
|
@ -19,18 +19,23 @@ function create_files_from_item($itemid) {
|
||||||
if ($message["deleted"])
|
if ($message["deleted"])
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files))
|
if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files)) {
|
||||||
foreach ($files[1] as $file)
|
foreach ($files[1] as $file) {
|
||||||
$r = q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
|
q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
|
||||||
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_FILE), dbesc($file));
|
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_FILE), dbesc($file));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files))
|
if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) {
|
||||||
foreach ($files[1] as $file)
|
foreach ($files[1] as $file) {
|
||||||
$r = q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
|
q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
|
||||||
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), dbesc($file));
|
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), dbesc($file));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_files_from_itemuri($itemuri, $uid) {
|
function create_files_from_itemuri($itemuri, $uid)
|
||||||
|
{
|
||||||
$messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
|
$messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
|
||||||
|
|
||||||
if (count($messages)) {
|
if (count($messages)) {
|
||||||
|
@ -39,11 +44,12 @@ function create_files_from_itemuri($itemuri, $uid) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_files_for_items() {
|
function update_files_for_items()
|
||||||
|
{
|
||||||
$messages = q("SELECT `id` FROM `item` where file !=''");
|
$messages = q("SELECT `id` FROM `item` where file !=''");
|
||||||
|
|
||||||
foreach ($messages as $message) {
|
foreach ($messages as $message) {
|
||||||
echo $message["id"]."\n";
|
echo $message["id"] . "\n";
|
||||||
create_files_from_item($message["id"]);
|
create_files_from_item($message["id"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file include/follow.php
|
* @file include/follow.php
|
||||||
*/
|
*/
|
||||||
|
@ -16,21 +17,24 @@ use Friendica\Protocol\OStatus;
|
||||||
use Friendica\Protocol\PortableContact;
|
use Friendica\Protocol\PortableContact;
|
||||||
use Friendica\Protocol\Salmon;
|
use Friendica\Protocol\Salmon;
|
||||||
|
|
||||||
function update_contact($id) {
|
function update_contact($id)
|
||||||
|
{
|
||||||
/*
|
/*
|
||||||
Warning: Never ever fetch the public key via Probe::uri and write it into the contacts.
|
Warning: Never ever fetch the public key via Probe::uri and write it into the contacts.
|
||||||
This will reliably kill your communication with Friendica contacts.
|
This will reliably kill your communication with Friendica contacts.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$r = q("SELECT `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `network` FROM `contact` WHERE `id` = %d", intval($id));
|
$r = q("SELECT `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `network` FROM `contact` WHERE `id` = %d", intval($id));
|
||||||
if (!$r)
|
if (!$r) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$ret = Probe::uri($r[0]["url"]);
|
$ret = Probe::uri($r[0]["url"]);
|
||||||
|
|
||||||
// If Probe::uri fails the network code will be different
|
// If Probe::uri fails the network code will be different
|
||||||
if ($ret["network"] != $r[0]["network"])
|
if ($ret["network"] != $r[0]["network"]) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$update = false;
|
$update = false;
|
||||||
|
|
||||||
|
@ -43,8 +47,9 @@ function update_contact($id) {
|
||||||
$update = true;
|
$update = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$update)
|
if (!$update) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
q("UPDATE `contact` SET `url` = '%s', `nurl` = '%s', `addr` = '%s', `alias` = '%s', `batch` = '%s', `notify` = '%s', `poll` = '%s', `poco` = '%s' WHERE `id` = %d",
|
q("UPDATE `contact` SET `url` = '%s', `nurl` = '%s', `addr` = '%s', `alias` = '%s', `batch` = '%s', `notify` = '%s', `poll` = '%s', `poco` = '%s' WHERE `id` = %d",
|
||||||
dbesc($ret['url']),
|
dbesc($ret['url']),
|
||||||
|
@ -64,29 +69,34 @@ function update_contact($id) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
/**
|
||||||
// Takes a $uid and a url/handle and adds a new contact
|
* Takes a $uid and a url/handle and adds a new contact
|
||||||
// Currently if the contact is DFRN, interactive needs to be true, to redirect to the
|
* Currently if the contact is DFRN, interactive needs to be true, to redirect to the
|
||||||
// dfrn_request page.
|
* dfrn_request page.
|
||||||
|
*
|
||||||
// Otherwise this can be used to bulk add statusnet contacts, twitter contacts, etc.
|
* Otherwise this can be used to bulk add statusnet contacts, twitter contacts, etc.
|
||||||
// Returns an array
|
*
|
||||||
// $return['success'] boolean true if successful
|
* Returns an array
|
||||||
// $return['message'] error text if success is false.
|
* $return['success'] boolean true if successful
|
||||||
|
* $return['message'] error text if success is false.
|
||||||
|
*
|
||||||
|
* @brief Takes a $uid and a url/handle and adds a new contact
|
||||||
function new_contact($uid, $url, $interactive = false, $network = '') {
|
* @param int $uid
|
||||||
|
* @param string $url
|
||||||
$result = array('cid' => -1, 'success' => false,'message' => '');
|
* @param bool $interactive
|
||||||
|
* @param string $network
|
||||||
|
* @return boolean|string
|
||||||
|
*/
|
||||||
|
function new_contact($uid, $url, $interactive = false, $network = '')
|
||||||
|
{
|
||||||
|
$result = array('cid' => -1, 'success' => false, 'message' => '');
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
// remove ajax junk, e.g. Twitter
|
// remove ajax junk, e.g. Twitter
|
||||||
|
$url = str_replace('/#!/', '/', $url);
|
||||||
|
|
||||||
$url = str_replace('/#!/','/',$url);
|
if (!allowed_url($url)) {
|
||||||
|
|
||||||
if (! allowed_url($url)) {
|
|
||||||
$result['message'] = t('Disallowed profile URL.');
|
$result['message'] = t('Disallowed profile URL.');
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
@ -96,7 +106,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $url) {
|
if (!$url) {
|
||||||
$result['message'] = t('Connect URL missing.');
|
$result['message'] = t('Connect URL missing.');
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
@ -105,14 +115,14 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
|
|
||||||
call_hooks('follow', $arr);
|
call_hooks('follow', $arr);
|
||||||
|
|
||||||
if (x($arr['contact'],'name')) {
|
if (x($arr['contact'], 'name')) {
|
||||||
$ret = $arr['contact'];
|
$ret = $arr['contact'];
|
||||||
} else {
|
} else {
|
||||||
$ret = Probe::uri($url, $network, $uid, false);
|
$ret = Probe::uri($url, $network, $uid, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($network != '') && ($ret['network'] != $network)) {
|
if (($network != '') && ($ret['network'] != $network)) {
|
||||||
logger('Expected network '.$network.' does not match actual network '.$ret['network']);
|
logger('Expected network ' . $network . ' does not match actual network ' . $ret['network']);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -128,7 +138,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
|
|
||||||
// NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
} elseif (Config::get('system','dfrn_only')) {
|
} elseif (Config::get('system', 'dfrn_only')) {
|
||||||
$result['message'] = t('This site is not configured to allow communications with other networks.') . EOL;
|
$result['message'] = t('This site is not configured to allow communications with other networks.') . EOL;
|
||||||
$result['message'] != t('No compatible communication protocols or feeds were discovered.') . EOL;
|
$result['message'] != t('No compatible communication protocols or feeds were discovered.') . EOL;
|
||||||
return $result;
|
return $result;
|
||||||
|
@ -136,36 +146,36 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
|
|
||||||
// This extra param just confuses things, remove it
|
// This extra param just confuses things, remove it
|
||||||
if ($ret['network'] === NETWORK_DIASPORA) {
|
if ($ret['network'] === NETWORK_DIASPORA) {
|
||||||
$ret['url'] = str_replace('?absolute=true','',$ret['url']);
|
$ret['url'] = str_replace('?absolute=true', '', $ret['url']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// do we have enough information?
|
// do we have enough information?
|
||||||
|
|
||||||
if (! ((x($ret,'name')) && (x($ret,'poll')) && ((x($ret,'url')) || (x($ret,'addr'))))) {
|
if (!((x($ret, 'name')) && (x($ret, 'poll')) && ((x($ret, 'url')) || (x($ret, 'addr'))))) {
|
||||||
$result['message'] .= t('The profile address specified does not provide adequate information.') . EOL;
|
$result['message'] .= t('The profile address specified does not provide adequate information.') . EOL;
|
||||||
if (! x($ret,'poll')) {
|
if (!x($ret, 'poll')) {
|
||||||
$result['message'] .= t('No compatible communication protocols or feeds were discovered.') . EOL;
|
$result['message'] .= t('No compatible communication protocols or feeds were discovered.') . EOL;
|
||||||
}
|
}
|
||||||
if (! x($ret,'name')) {
|
if (!x($ret, 'name')) {
|
||||||
$result['message'] .= t('An author or name was not found.') . EOL;
|
$result['message'] .= t('An author or name was not found.') . EOL;
|
||||||
}
|
}
|
||||||
if (! x($ret,'url')) {
|
if (!x($ret, 'url')) {
|
||||||
$result['message'] .= t('No browser URL could be matched to this address.') . EOL;
|
$result['message'] .= t('No browser URL could be matched to this address.') . EOL;
|
||||||
}
|
}
|
||||||
if (strpos($url,'@') !== false) {
|
if (strpos($url, '@') !== false) {
|
||||||
$result['message'] .= t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL;
|
$result['message'] .= t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL;
|
||||||
$result['message'] .= t('Use mailto: in front of address to force email check.') . EOL;
|
$result['message'] .= t('Use mailto: in front of address to force email check.') . EOL;
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($ret['network'] === NETWORK_OSTATUS && Config::get('system','ostatus_disabled')) {
|
if ($ret['network'] === NETWORK_OSTATUS && Config::get('system', 'ostatus_disabled')) {
|
||||||
$result['message'] .= t('The profile address specified belongs to a network which has been disabled on this site.') . EOL;
|
$result['message'] .= t('The profile address specified belongs to a network which has been disabled on this site.') . EOL;
|
||||||
$ret['notify'] = '';
|
$ret['notify'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $ret['notify']) {
|
if (!$ret['notify']) {
|
||||||
$result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
|
$result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
$writeable = ((($ret['network'] === NETWORK_OSTATUS) && ($ret['notify'])) ? 1 : 0);
|
$writeable = ((($ret['network'] === NETWORK_OSTATUS) && ($ret['notify'])) ? 1 : 0);
|
||||||
|
@ -189,10 +199,11 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
dbesc($ret['network'])
|
dbesc($ret['network'])
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!DBM::is_result($r))
|
if (!DBM::is_result($r)) {
|
||||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `network` = '%s' LIMIT 1",
|
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `network` = '%s' LIMIT 1",
|
||||||
intval($uid), dbesc(normalise_link($url)), dbesc($ret['network'])
|
intval($uid), dbesc(normalise_link($url)), dbesc($ret['network'])
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
// update contact
|
// update contact
|
||||||
|
@ -204,7 +215,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
$new_relation = ((in_array($ret['network'], array(NETWORK_MAIL))) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
|
$new_relation = ((in_array($ret['network'], array(NETWORK_MAIL))) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
|
||||||
|
|
||||||
// create contact record
|
// create contact record
|
||||||
$r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `network`, `pubkey`, `rel`, `priority`,
|
q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `network`, `pubkey`, `rel`, `priority`,
|
||||||
`writable`, `hidden`, `blocked`, `readonly`, `pending`, `subhub` )
|
`writable`, `hidden`, `blocked`, `readonly`, `pending`, `subhub` )
|
||||||
VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, 0, 0, 0, %d ) ",
|
VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, 0, 0, 0, %d ) ",
|
||||||
intval($uid),
|
intval($uid),
|
||||||
|
@ -235,13 +246,13 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
intval($uid)
|
intval($uid)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (! DBM::is_result($r)) {
|
if (!DBM::is_result($r)) {
|
||||||
$result['message'] .= t('Unable to retrieve contact information.') . EOL;
|
$result['message'] .= t('Unable to retrieve contact information.') . EOL;
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
$contact = $r[0];
|
$contact = $r[0];
|
||||||
$contact_id = $r[0]['id'];
|
$contact_id = $r[0]['id'];
|
||||||
$result['cid'] = $contact_id;
|
$result['cid'] = $contact_id;
|
||||||
|
|
||||||
Group::addMember(User::getDefaultGroup($uid, $contact["network"]), $contact_id);
|
Group::addMember(User::getDefaultGroup($uid, $contact["network"]), $contact_id);
|
||||||
|
@ -270,7 +281,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') {
|
||||||
|
|
||||||
if ($contact['network'] == NETWORK_DIASPORA) {
|
if ($contact['network'] == NETWORK_DIASPORA) {
|
||||||
$ret = Diaspora::sendShare($a->user, $contact);
|
$ret = Diaspora::sendShare($a->user, $contact);
|
||||||
logger('share returns: '.$ret);
|
logger('share returns: ' . $ret);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
require_once("include/html2bbcode.php");
|
|
||||||
|
require_once 'include/html2bbcode.php';
|
||||||
|
|
||||||
function breaklines($line, $level, $wraplength = 75)
|
function breaklines($line, $level, $wraplength = 75)
|
||||||
{
|
{
|
||||||
|
if ($wraplength == 0) {
|
||||||
if ($wraplength == 0)
|
|
||||||
$wraplength = 2000000;
|
$wraplength = 2000000;
|
||||||
|
}
|
||||||
|
|
||||||
// return($line);
|
$wraplen = $wraplength - $level;
|
||||||
|
|
||||||
$wraplen = $wraplength-$level;
|
|
||||||
|
|
||||||
$newlines = array();
|
$newlines = array();
|
||||||
|
|
||||||
|
@ -20,27 +19,28 @@ function breaklines($line, $level, $wraplength = 75)
|
||||||
|
|
||||||
$pos = strrpos($subline, ' ');
|
$pos = strrpos($subline, ' ');
|
||||||
|
|
||||||
if ($pos == 0)
|
if ($pos == 0) {
|
||||||
$pos = strpos($line, ' ');
|
$pos = strpos($line, ' ');
|
||||||
|
}
|
||||||
|
|
||||||
if (($pos > 0) && strlen($line) > $wraplen) {
|
if (($pos > 0) && strlen($line) > $wraplen) {
|
||||||
$newline = trim(substr($line, 0, $pos));
|
$newline = trim(substr($line, 0, $pos));
|
||||||
if ($level > 0)
|
if ($level > 0) {
|
||||||
$newline = str_repeat(">", $level).' '.$newline;
|
$newline = str_repeat(">", $level) . ' ' . $newline;
|
||||||
|
}
|
||||||
|
|
||||||
$newlines[] = $newline." ";
|
$newlines[] = $newline . " ";
|
||||||
$line = substr($line, $pos+1);
|
$line = substr($line, $pos + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
} while ((strlen($line) > $wraplen) && !($oldline == $line));
|
} while ((strlen($line) > $wraplen) && !($oldline == $line));
|
||||||
|
|
||||||
if ($level > 0)
|
if ($level > 0) {
|
||||||
$line = str_repeat(">", $level).' '.$line;
|
$line = str_repeat(">", $level) . ' ' . $line;
|
||||||
|
}
|
||||||
|
|
||||||
$newlines[] = $line;
|
$newlines[] = $line;
|
||||||
|
|
||||||
|
return implode($newlines, "\n");
|
||||||
return(implode($newlines, "\n"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function quotelevel($message, $wraplength = 75)
|
function quotelevel($message, $wraplength = 75)
|
||||||
|
@ -49,62 +49,72 @@ function quotelevel($message, $wraplength = 75)
|
||||||
|
|
||||||
$newlines = array();
|
$newlines = array();
|
||||||
$level = 0;
|
$level = 0;
|
||||||
foreach ($lines as $line) {;
|
foreach ($lines as $line) {
|
||||||
$line = trim($line);
|
$line = trim($line);
|
||||||
$startquote = false;
|
$startquote = false;
|
||||||
while (strpos("*".$line, '[quote]') > 0) {
|
while (strpos("*" . $line, '[quote]') > 0) {
|
||||||
$level++;
|
$level++;
|
||||||
$pos = strpos($line, '[quote]');
|
$pos = strpos($line, '[quote]');
|
||||||
$line = substr($line, 0, $pos).substr($line, $pos+7);
|
$line = substr($line, 0, $pos) . substr($line, $pos + 7);
|
||||||
$startquote = true;
|
$startquote = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$currlevel = $level;
|
$currlevel = $level;
|
||||||
|
|
||||||
while (strpos("*".$line, '[/quote]') > 0) {
|
while (strpos("*" . $line, '[/quote]') > 0) {
|
||||||
$level--;
|
$level--;
|
||||||
if ($level < 0)
|
if ($level < 0) {
|
||||||
$level = 0;
|
$level = 0;
|
||||||
|
}
|
||||||
|
|
||||||
$pos = strpos($line, '[/quote]');
|
$pos = strpos($line, '[/quote]');
|
||||||
$line = substr($line, 0, $pos).substr($line, $pos+8);
|
$line = substr($line, 0, $pos) . substr($line, $pos + 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$startquote || ($line != ''))
|
if (!$startquote || ($line != '')) {
|
||||||
$newlines[] = breaklines($line, $currlevel, $wraplength);
|
$newlines[] = breaklines($line, $currlevel, $wraplength);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return(implode($newlines, "\n"));
|
|
||||||
|
return implode($newlines, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
function collecturls($message) {
|
function collecturls($message)
|
||||||
|
{
|
||||||
$pattern = '/<a.*?href="(.*?)".*?>(.*?)<\/a>/is';
|
$pattern = '/<a.*?href="(.*?)".*?>(.*?)<\/a>/is';
|
||||||
preg_match_all($pattern, $message, $result, PREG_SET_ORDER);
|
preg_match_all($pattern, $message, $result, PREG_SET_ORDER);
|
||||||
|
|
||||||
$urls = array();
|
$urls = array();
|
||||||
foreach ($result as $treffer) {
|
foreach ($result as $treffer) {
|
||||||
|
|
||||||
$ignore = false;
|
$ignore = false;
|
||||||
|
|
||||||
// A list of some links that should be ignored
|
// A list of some links that should be ignored
|
||||||
$list = array("/user/", "/tag/", "/group/", "/profile/", "/search?search=", "/search?tag=", "mailto:", "/u/", "/node/",
|
$list = array("/user/", "/tag/", "/group/", "/profile/", "/search?search=", "/search?tag=", "mailto:", "/u/", "/node/",
|
||||||
"//facebook.com/profile.php?id=", "//plus.google.com/", "//twitter.com/");
|
"//facebook.com/profile.php?id=", "//plus.google.com/", "//twitter.com/");
|
||||||
foreach ($list as $listitem)
|
foreach ($list as $listitem) {
|
||||||
if (strpos($treffer[1], $listitem) !== false)
|
if (strpos($treffer[1], $listitem) !== false) {
|
||||||
$ignore = true;
|
$ignore = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((strpos($treffer[1], "//twitter.com/") !== false) && (strpos($treffer[1], "/status/") !== false))
|
if ((strpos($treffer[1], "//twitter.com/") !== false) && (strpos($treffer[1], "/status/") !== false)) {
|
||||||
$ignore = false;
|
$ignore = false;
|
||||||
|
}
|
||||||
|
|
||||||
if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/posts") !== false))
|
if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/posts") !== false)) {
|
||||||
$ignore = false;
|
$ignore = false;
|
||||||
|
}
|
||||||
|
|
||||||
if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/photos") !== false))
|
if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/photos") !== false)) {
|
||||||
$ignore = false;
|
$ignore = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$ignore)
|
if (!$ignore) {
|
||||||
$urls[$treffer[1]] = $treffer[1];
|
$urls[$treffer[1]] = $treffer[1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return($urls);
|
|
||||||
|
return $urls;
|
||||||
}
|
}
|
||||||
|
|
||||||
function html2plain($html, $wraplength = 75, $compact = false)
|
function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
|
@ -140,20 +150,21 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
|
|
||||||
// MyBB-Auszeichnungen
|
// MyBB-Auszeichnungen
|
||||||
/*
|
/*
|
||||||
node2bbcode($doc, 'span', array('style'=>'text-decoration: underline;'), '_', '_');
|
node2bbcode($doc, 'span', array('style'=>'text-decoration: underline;'), '_', '_');
|
||||||
node2bbcode($doc, 'span', array('style'=>'font-style: italic;'), '/', '/');
|
node2bbcode($doc, 'span', array('style'=>'font-style: italic;'), '/', '/');
|
||||||
node2bbcode($doc, 'span', array('style'=>'font-weight: bold;'), '*', '*');
|
node2bbcode($doc, 'span', array('style'=>'font-weight: bold;'), '*', '*');
|
||||||
|
|
||||||
node2bbcode($doc, 'strong', array(), '*', '*');
|
node2bbcode($doc, 'strong', array(), '*', '*');
|
||||||
node2bbcode($doc, 'b', array(), '*', '*');
|
node2bbcode($doc, 'b', array(), '*', '*');
|
||||||
node2bbcode($doc, 'i', array(), '/', '/');
|
node2bbcode($doc, 'i', array(), '/', '/');
|
||||||
node2bbcode($doc, 'u', array(), '_', '_');
|
node2bbcode($doc, 'u', array(), '_', '_');
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($compact)
|
if ($compact) {
|
||||||
node2bbcode($doc, 'blockquote', array(), "»", "«");
|
node2bbcode($doc, 'blockquote', array(), "»", "«");
|
||||||
else
|
} else {
|
||||||
node2bbcode($doc, 'blockquote', array(), '[quote]', "[/quote]\n");
|
node2bbcode($doc, 'blockquote', array(), '[quote]', "[/quote]\n");
|
||||||
|
}
|
||||||
|
|
||||||
node2bbcode($doc, 'br', array(), "\n", '');
|
node2bbcode($doc, 'br', array(), "\n", '');
|
||||||
|
|
||||||
|
@ -166,7 +177,7 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
//node2bbcode($doc, 'ol', array(), "\n[list=1]", "[/list]\n");
|
//node2bbcode($doc, 'ol', array(), "\n[list=1]", "[/list]\n");
|
||||||
node2bbcode($doc, 'li', array(), "\n* ", "\n");
|
node2bbcode($doc, 'li', array(), "\n* ", "\n");
|
||||||
|
|
||||||
node2bbcode($doc, 'hr', array(), "\n".str_repeat("-", 70)."\n", "");
|
node2bbcode($doc, 'hr', array(), "\n" . str_repeat("-", 70) . "\n", "");
|
||||||
|
|
||||||
node2bbcode($doc, 'tr', array(), "\n", "");
|
node2bbcode($doc, 'tr', array(), "\n", "");
|
||||||
node2bbcode($doc, 'td', array(), "\t", "");
|
node2bbcode($doc, 'td', array(), "\t", "");
|
||||||
|
@ -184,12 +195,13 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
//node2bbcode($doc, 'img', array('alt'=>'/(.+)/'), '$1', '');
|
//node2bbcode($doc, 'img', array('alt'=>'/(.+)/'), '$1', '');
|
||||||
//node2bbcode($doc, 'img', array('title'=>'/(.+)/'), '$1', '');
|
//node2bbcode($doc, 'img', array('title'=>'/(.+)/'), '$1', '');
|
||||||
//node2bbcode($doc, 'img', array(), '', '');
|
//node2bbcode($doc, 'img', array(), '', '');
|
||||||
if (!$compact)
|
if (!$compact) {
|
||||||
node2bbcode($doc, 'img', array('src'=>'/(.+)/'), ' [img]$1', '[/img] ');
|
node2bbcode($doc, 'img', array('src' => '/(.+)/'), ' [img]$1', '[/img] ');
|
||||||
else
|
} else {
|
||||||
node2bbcode($doc, 'img', array('src'=>'/(.+)/'), ' ', ' ');
|
node2bbcode($doc, 'img', array('src' => '/(.+)/'), ' ', ' ');
|
||||||
|
}
|
||||||
|
|
||||||
node2bbcode($doc, 'iframe', array('src'=>'/(.+)/'), ' $1 ', '', true);
|
node2bbcode($doc, 'iframe', array('src' => '/(.+)/'), ' $1 ', '');
|
||||||
|
|
||||||
$message = $doc->saveHTML();
|
$message = $doc->saveHTML();
|
||||||
|
|
||||||
|
@ -200,7 +212,7 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
|
|
||||||
// was ersetze ich da?
|
// was ersetze ich da?
|
||||||
// Irgendein stoerrisches UTF-Zeug
|
// Irgendein stoerrisches UTF-Zeug
|
||||||
$message = str_replace(chr(194).chr(160), ' ', $message);
|
$message = str_replace(chr(194) . chr(160), ' ', $message);
|
||||||
|
|
||||||
$message = str_replace(" ", " ", $message);
|
$message = str_replace(" ", " ", $message);
|
||||||
|
|
||||||
|
@ -212,13 +224,12 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
|
|
||||||
$message = html_entity_decode($message, ENT_QUOTES, 'UTF-8');
|
$message = html_entity_decode($message, ENT_QUOTES, 'UTF-8');
|
||||||
|
|
||||||
if (!$compact && ($message != "")) {
|
if (!$compact && ($message != '')) {
|
||||||
$counter = 1;
|
foreach ($urls as $id => $url) {
|
||||||
foreach ($urls as $id=>$url)
|
if ($url != '' && strpos($message, $url) === false) {
|
||||||
if ($url != "")
|
$message .= "\n" . $url . ' ';
|
||||||
if (strpos($message, $url) === false)
|
}
|
||||||
$message .= "\n".$url." ";
|
}
|
||||||
//$message .= "\n[".($counter++)."] ".$url;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$message = str_replace("\n«", "«\n", $message);
|
$message = str_replace("\n«", "«\n", $message);
|
||||||
|
@ -231,5 +242,5 @@ function html2plain($html, $wraplength = 75, $compact = false)
|
||||||
|
|
||||||
$message = quotelevel(trim($message), $wraplength);
|
$message = quotelevel(trim($message), $wraplength);
|
||||||
|
|
||||||
return(trim($message));
|
return trim($message);
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,7 +230,6 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
|
||||||
|
|
||||||
$o = '';
|
$o = '';
|
||||||
$location = false;
|
$location = false;
|
||||||
$address = false;
|
|
||||||
|
|
||||||
// This function can also use contact information in $profile
|
// This function can also use contact information in $profile
|
||||||
$is_contact = x($profile, 'cid');
|
$is_contact = x($profile, 'cid');
|
||||||
|
@ -381,7 +380,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true)
|
||||||
$xmpp = x($profile, 'xmpp') ? t('XMPP:') : false;
|
$xmpp = x($profile, 'xmpp') ? t('XMPP:') : false;
|
||||||
|
|
||||||
if ((x($profile, 'hidewall') || $block) && !local_user() && !remote_user()) {
|
if ((x($profile, 'hidewall') || $block) && !local_user() && !remote_user()) {
|
||||||
$location = $pdesc = $gender = $marital = $homepage = $about = false;
|
$location = $gender = $marital = $homepage = $about = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$split_name = Diaspora::splitName($profile['name']);
|
$split_name = Diaspora::splitName($profile['name']);
|
||||||
|
@ -551,10 +550,8 @@ function get_birthdays()
|
||||||
$cids[] = $rr['cid'];
|
$cids[] = $rr['cid'];
|
||||||
|
|
||||||
$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
|
$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
|
||||||
$sparkle = '';
|
|
||||||
$url = $rr['url'];
|
$url = $rr['url'];
|
||||||
if ($rr['network'] === NETWORK_DFRN) {
|
if ($rr['network'] === NETWORK_DFRN) {
|
||||||
$sparkle = ' sparkle';
|
|
||||||
$url = System::baseUrl() . '/redir/' . $rr['cid'];
|
$url = System::baseUrl() . '/redir/' . $rr['cid'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,13 +37,20 @@ function construct_verb($item) {
|
||||||
|
|
||||||
/* limit_body_size()
|
/* limit_body_size()
|
||||||
*
|
*
|
||||||
* The purpose of this function is to apply system message length limits to
|
*
|
||||||
* imported messages without including any embedded photos in the length
|
*
|
||||||
*/
|
*/
|
||||||
function limit_body_size($body) {
|
|
||||||
|
|
||||||
// logger('limit_body_size: start', LOGGER_DEBUG);
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The purpose of this function is to apply system message length limits to
|
||||||
|
* imported messages without including any embedded photos in the length
|
||||||
|
*
|
||||||
|
* @brief Truncates imported message body string length to max_import_size
|
||||||
|
* @param string $body
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function limit_body_size($body)
|
||||||
|
{
|
||||||
$maxlen = get_max_import_size();
|
$maxlen = get_max_import_size();
|
||||||
|
|
||||||
// If the length of the body, including the embedded images, is smaller
|
// If the length of the body, including the embedded images, is smaller
|
||||||
|
@ -55,7 +62,6 @@ function limit_body_size($body) {
|
||||||
$orig_body = $body;
|
$orig_body = $body;
|
||||||
$new_body = '';
|
$new_body = '';
|
||||||
$textlen = 0;
|
$textlen = 0;
|
||||||
$max_found = false;
|
|
||||||
|
|
||||||
$img_start = strpos($orig_body, '[img');
|
$img_start = strpos($orig_body, '[img');
|
||||||
$img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
|
$img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
|
||||||
|
@ -110,12 +116,10 @@ function limit_body_size($body) {
|
||||||
if ($textlen < $maxlen) {
|
if ($textlen < $maxlen) {
|
||||||
logger('limit_body_size: the limit happens after the end of the last image', LOGGER_DEBUG);
|
logger('limit_body_size: the limit happens after the end of the last image', LOGGER_DEBUG);
|
||||||
$new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen);
|
$new_body = $new_body . substr($orig_body, 0, $maxlen - $textlen);
|
||||||
$textlen = $maxlen;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger('limit_body_size: the text size with embedded images extracted did not violate the limit', LOGGER_DEBUG);
|
logger('limit_body_size: the text size with embedded images extracted did not violate the limit', LOGGER_DEBUG);
|
||||||
$new_body = $new_body . $orig_body;
|
$new_body = $new_body . $orig_body;
|
||||||
$textlen += strlen($orig_body);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $new_body;
|
return $new_body;
|
||||||
|
@ -169,12 +173,6 @@ function add_page_info_data($data) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sizeof($data["images"]) > 0) {
|
|
||||||
$preview = $data["images"][0];
|
|
||||||
} else {
|
|
||||||
$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));
|
||||||
$data["title"] = str_replace(array("[", "]"), array("[", "]"), htmlentities($data["title"], ENT_QUOTES, 'UTF-8', false));
|
$data["title"] = str_replace(array("[", "]"), array("[", "]"), htmlentities($data["title"], ENT_QUOTES, 'UTF-8', false));
|
||||||
|
@ -854,7 +852,6 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
|
||||||
logger("item_store: Checking if parent ".$parent_id." has to be tagged as mention for user ".$arr['uid'], LOGGER_DEBUG);
|
logger("item_store: Checking if parent ".$parent_id." has to be tagged as mention for user ".$arr['uid'], LOGGER_DEBUG);
|
||||||
$u = q("SELECT `nickname` FROM `user` WHERE `uid` = %d", intval($arr['uid']));
|
$u = q("SELECT `nickname` FROM `user` WHERE `uid` = %d", intval($arr['uid']));
|
||||||
if (DBM::is_result($u)) {
|
if (DBM::is_result($u)) {
|
||||||
$a = get_app();
|
|
||||||
$self = normalise_link(System::baseUrl() . '/profile/' . $u[0]['nickname']);
|
$self = normalise_link(System::baseUrl() . '/profile/' . $u[0]['nickname']);
|
||||||
logger("item_store: 'myself' is ".$self." for parent ".$parent_id." checking against ".$arr['author-link']." and ".$arr['owner-link'], LOGGER_DEBUG);
|
logger("item_store: 'myself' is ".$self." for parent ".$parent_id." checking against ".$arr['author-link']." and ".$arr['owner-link'], LOGGER_DEBUG);
|
||||||
if ((normalise_link($arr['author-link']) == $self) || (normalise_link($arr['owner-link']) == $self)) {
|
if ((normalise_link($arr['author-link']) == $self) || (normalise_link($arr['owner-link']) == $self)) {
|
||||||
|
@ -1051,7 +1048,7 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set parent id
|
// Set parent id
|
||||||
$r = dba::update('item', array('parent' => $parent_id), array('id' => $current_post));
|
dba::update('item', array('parent' => $parent_id), array('id' => $current_post));
|
||||||
|
|
||||||
$arr['id'] = $current_post;
|
$arr['id'] = $current_post;
|
||||||
$arr['parent'] = $parent_id;
|
$arr['parent'] = $parent_id;
|
||||||
|
@ -1119,7 +1116,7 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
|
||||||
* It is done after the transaction to avoid dead locks.
|
* It is done after the transaction to avoid dead locks.
|
||||||
*/
|
*/
|
||||||
if ($arr['last-child']) {
|
if ($arr['last-child']) {
|
||||||
$r = q("UPDATE `item` SET `last-child` = 0 WHERE `parent-uri` = '%s' AND `uid` = %d AND `id` != %d",
|
q("UPDATE `item` SET `last-child` = 0 WHERE `parent-uri` = '%s' AND `uid` = %d AND `id` != %d",
|
||||||
dbesc($arr['uri']),
|
dbesc($arr['uri']),
|
||||||
intval($arr['uid']),
|
intval($arr['uid']),
|
||||||
intval($current_post)
|
intval($current_post)
|
||||||
|
@ -1205,8 +1202,6 @@ function item_body_set_hashtags(&$item) {
|
||||||
// Otherwise there could be problems with hashtags like #test and #test2
|
// Otherwise there could be problems with hashtags like #test and #test2
|
||||||
rsort($tags);
|
rsort($tags);
|
||||||
|
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
$URLSearchString = "^\[\]";
|
$URLSearchString = "^\[\]";
|
||||||
|
|
||||||
// All hashtags should point to the home server if "local_tags" is activated
|
// All hashtags should point to the home server if "local_tags" is activated
|
||||||
|
@ -1315,7 +1310,6 @@ function get_item_contact($item, $contacts) {
|
||||||
foreach ($contacts as $contact) {
|
foreach ($contacts as $contact) {
|
||||||
if ($contact['id'] == $item['contact-id']) {
|
if ($contact['id'] == $item['contact-id']) {
|
||||||
return $contact;
|
return $contact;
|
||||||
break; // NOTREACHED
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -1327,16 +1321,13 @@ function get_item_contact($item, $contacts) {
|
||||||
* @param int $item_id
|
* @param int $item_id
|
||||||
* @return bool true if item was deleted, else false
|
* @return bool true if item was deleted, else false
|
||||||
*/
|
*/
|
||||||
function tag_deliver($uid, $item_id) {
|
function tag_deliver($uid, $item_id)
|
||||||
|
{
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
$mention = false;
|
$mention = false;
|
||||||
|
|
||||||
$u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
$u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
||||||
intval($uid)
|
intval($uid)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (! DBM::is_result($u)) {
|
if (! DBM::is_result($u)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1344,7 +1335,6 @@ function tag_deliver($uid, $item_id) {
|
||||||
$community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
|
$community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
|
||||||
$prvgroup = (($u[0]['page-flags'] == PAGE_PRVGROUP) ? true : false);
|
$prvgroup = (($u[0]['page-flags'] == PAGE_PRVGROUP) ? true : false);
|
||||||
|
|
||||||
|
|
||||||
$i = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$i = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($item_id),
|
intval($item_id),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
|
@ -1674,15 +1664,13 @@ function new_follower($importer, $contact, $datarray, $item, $sharing = false) {
|
||||||
if (is_array($contact)) {
|
if (is_array($contact)) {
|
||||||
if (($contact['network'] == NETWORK_OSTATUS && $contact['rel'] == CONTACT_IS_SHARING)
|
if (($contact['network'] == NETWORK_OSTATUS && $contact['rel'] == CONTACT_IS_SHARING)
|
||||||
|| ($sharing && $contact['rel'] == CONTACT_IS_FOLLOWER)) {
|
|| ($sharing && $contact['rel'] == CONTACT_IS_FOLLOWER)) {
|
||||||
$r = dba::update('contact', array('rel' => CONTACT_IS_FRIEND, 'writable' => true),
|
dba::update('contact', array('rel' => CONTACT_IS_FRIEND, 'writable' => true),
|
||||||
array('id' => $contact['id'], 'uid' => $importer['uid']));
|
array('id' => $contact['id'], 'uid' => $importer['uid']));
|
||||||
}
|
}
|
||||||
// send email notification to owner?
|
// send email notification to owner?
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// create contact record
|
// create contact record
|
||||||
|
q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`,
|
||||||
$r = q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`,
|
|
||||||
`blocked`, `readonly`, `pending`, `writable`)
|
`blocked`, `readonly`, `pending`, `writable`)
|
||||||
VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1)",
|
VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1)",
|
||||||
intval($importer['uid']),
|
intval($importer['uid']),
|
||||||
|
@ -1695,6 +1683,7 @@ function new_follower($importer, $contact, $datarray, $item, $sharing = false) {
|
||||||
dbesc(NETWORK_OSTATUS),
|
dbesc(NETWORK_OSTATUS),
|
||||||
intval(CONTACT_IS_FOLLOWER)
|
intval(CONTACT_IS_FOLLOWER)
|
||||||
);
|
);
|
||||||
|
|
||||||
$r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `pending` = 1 LIMIT 1",
|
$r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `pending` = 1 LIMIT 1",
|
||||||
intval($importer['uid']),
|
intval($importer['uid']),
|
||||||
dbesc($url)
|
dbesc($url)
|
||||||
|
@ -1708,9 +1697,7 @@ function new_follower($importer, $contact, $datarray, $item, $sharing = false) {
|
||||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
||||||
intval($importer['uid'])
|
intval($importer['uid'])
|
||||||
);
|
);
|
||||||
|
|
||||||
if (DBM::is_result($r) && !in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE, PAGE_COMMUNITY))) {
|
if (DBM::is_result($r) && !in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE, PAGE_COMMUNITY))) {
|
||||||
|
|
||||||
// create notification
|
// create notification
|
||||||
$hash = random_string();
|
$hash = random_string();
|
||||||
|
|
||||||
|
@ -1742,7 +1729,7 @@ function new_follower($importer, $contact, $datarray, $item, $sharing = false) {
|
||||||
|
|
||||||
}
|
}
|
||||||
} elseif (DBM::is_result($r) && in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE, PAGE_COMMUNITY))) {
|
} elseif (DBM::is_result($r) && in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE, PAGE_COMMUNITY))) {
|
||||||
$r = q("UPDATE `contact` SET `pending` = 0 WHERE `uid` = %d AND `url` = '%s' AND `pending` LIMIT 1",
|
q("UPDATE `contact` SET `pending` = 0 WHERE `uid` = %d AND `url` = '%s' AND `pending` LIMIT 1",
|
||||||
intval($importer['uid']),
|
intval($importer['uid']),
|
||||||
dbesc($url)
|
dbesc($url)
|
||||||
);
|
);
|
||||||
|
@ -1798,7 +1785,7 @@ function subscribe_to_hub($url, $importer, $contact, $hubmode = 'subscribe') {
|
||||||
logger('subscribe_to_hub: ' . $hubmode . ' ' . $contact['name'] . ' to hub ' . $url . ' endpoint: ' . $push_url . ' with verifier ' . $verify_token);
|
logger('subscribe_to_hub: ' . $hubmode . ' ' . $contact['name'] . ' to hub ' . $url . ' endpoint: ' . $push_url . ' with verifier ' . $verify_token);
|
||||||
|
|
||||||
if (!strlen($contact['hub-verify']) || ($contact['hub-verify'] != $verify_token)) {
|
if (!strlen($contact['hub-verify']) || ($contact['hub-verify'] != $verify_token)) {
|
||||||
$r = dba::update('contact', array('hub-verify' => $verify_token), array('id' => $contact['id']));
|
dba::update('contact', array('hub-verify' => $verify_token), array('id' => $contact['id']));
|
||||||
}
|
}
|
||||||
|
|
||||||
post_url($url, $params);
|
post_url($url, $params);
|
||||||
|
@ -1809,16 +1796,22 @@ function subscribe_to_hub($url, $importer, $contact, $hubmode = 'subscribe') {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function fix_private_photos($s, $uid, $item = null, $cid = 0) {
|
/**
|
||||||
|
*
|
||||||
if (Config::get('system','disable_embedded')) {
|
* @param string $s
|
||||||
|
* @param int $uid
|
||||||
|
* @param array $item
|
||||||
|
* @param int $cid
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function fix_private_photos($s, $uid, $item = null, $cid = 0)
|
||||||
|
{
|
||||||
|
if (Config::get('system', 'disable_embedded')) {
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
logger('fix_private_photos: check for photos', LOGGER_DEBUG);
|
logger('fix_private_photos: check for photos', LOGGER_DEBUG);
|
||||||
$site = substr(System::baseUrl(),strpos(System::baseUrl(),'://'));
|
$site = substr(System::baseUrl(), strpos(System::baseUrl(), '://'));
|
||||||
|
|
||||||
$orig_body = $s;
|
$orig_body = $s;
|
||||||
$new_body = '';
|
$new_body = '';
|
||||||
|
@ -1826,19 +1819,18 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
|
||||||
$img_start = strpos($orig_body, '[img');
|
$img_start = strpos($orig_body, '[img');
|
||||||
$img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
|
$img_st_close = ($img_start !== false ? strpos(substr($orig_body, $img_start), ']') : false);
|
||||||
$img_len = ($img_start !== false ? strpos(substr($orig_body, $img_start + $img_st_close + 1), '[/img]') : false);
|
$img_len = ($img_start !== false ? strpos(substr($orig_body, $img_start + $img_st_close + 1), '[/img]') : false);
|
||||||
while ( ($img_st_close !== false) && ($img_len !== false) ) {
|
|
||||||
|
|
||||||
|
while (($img_st_close !== false) && ($img_len !== false)) {
|
||||||
$img_st_close++; // make it point to AFTER the closing bracket
|
$img_st_close++; // make it point to AFTER the closing bracket
|
||||||
$image = substr($orig_body, $img_start + $img_st_close, $img_len);
|
$image = substr($orig_body, $img_start + $img_st_close, $img_len);
|
||||||
|
|
||||||
logger('fix_private_photos: found photo ' . $image, LOGGER_DEBUG);
|
logger('fix_private_photos: found photo ' . $image, LOGGER_DEBUG);
|
||||||
|
|
||||||
|
if (stristr($image, $site . '/photo/')) {
|
||||||
if (stristr($image , $site . '/photo/')) {
|
|
||||||
// Only embed locally hosted photos
|
// Only embed locally hosted photos
|
||||||
$replace = false;
|
$replace = false;
|
||||||
$i = basename($image);
|
$i = basename($image);
|
||||||
$i = str_replace(array('.jpg', '.png', '.gif'),array('', '',''), $i);
|
$i = str_replace(array('.jpg', '.png', '.gif'), array('', '', ''), $i);
|
||||||
$x = strpos($i, '-');
|
$x = strpos($i, '-');
|
||||||
|
|
||||||
if ($x) {
|
if ($x) {
|
||||||
|
@ -1848,7 +1840,6 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
|
||||||
dbesc($i),
|
dbesc($i),
|
||||||
intval($res),
|
intval($res),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
|
|
||||||
);
|
);
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
/*
|
/*
|
||||||
|
@ -2161,7 +2152,7 @@ function drop_item($id, $interactive = true) {
|
||||||
logger('delete item: ' . $item['id'], LOGGER_DEBUG);
|
logger('delete item: ' . $item['id'], LOGGER_DEBUG);
|
||||||
|
|
||||||
// delete the item
|
// delete the item
|
||||||
$r = dba::update('item', array('deleted' => true, 'title' => '', 'body' => '',
|
dba::update('item', array('deleted' => true, 'title' => '', 'body' => '',
|
||||||
'edited' => datetime_convert(), 'changed' => datetime_convert()),
|
'edited' => datetime_convert(), 'changed' => datetime_convert()),
|
||||||
array('id' => $item['id']));
|
array('id' => $item['id']));
|
||||||
|
|
||||||
|
@ -2229,12 +2220,12 @@ function drop_item($id, $interactive = true) {
|
||||||
|
|
||||||
// Now delete them
|
// Now delete them
|
||||||
if ($parentid != "") {
|
if ($parentid != "") {
|
||||||
$r = q("DELETE FROM `sign` WHERE `iid` IN (%s)", dbesc($parentid));
|
q("DELETE FROM `sign` WHERE `iid` IN (%s)", dbesc($parentid));
|
||||||
}
|
}
|
||||||
|
|
||||||
// If it's the parent of a comment thread, kill all the kids
|
// If it's the parent of a comment thread, kill all the kids
|
||||||
if ($item['uri'] == $item['parent-uri']) {
|
if ($item['uri'] == $item['parent-uri']) {
|
||||||
$r = dba::update('item', array('deleted' => true, 'title' => '', 'body' => '',
|
dba::update('item', array('deleted' => true, 'title' => '', 'body' => '',
|
||||||
'edited' => datetime_convert(), 'changed' => datetime_convert()),
|
'edited' => datetime_convert(), 'changed' => datetime_convert()),
|
||||||
array('parent-uri' => $item['parent-uri'], 'uid' => $item['uid']));
|
array('parent-uri' => $item['parent-uri'], 'uid' => $item['uid']));
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ function do_like($item_id, $verb) {
|
||||||
$uid = local_user();
|
$uid = local_user();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!can_write_wall($a, $uid)) {
|
if (!can_write_wall($uid)) {
|
||||||
logger('like: unable to write on wall ' . $uid);
|
logger('like: unable to write on wall ' . $uid);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,29 +7,32 @@ use Friendica\Core\System;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
|
|
||||||
function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
function send_message($recipient = 0, $body = '', $subject = '', $replyto = '')
|
||||||
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
if (! $recipient) return -1;
|
if (!$recipient) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if (! strlen($subject))
|
if (!strlen($subject)) {
|
||||||
$subject = t('[no subject]');
|
$subject = t('[no subject]');
|
||||||
|
}
|
||||||
|
|
||||||
$me = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
$me = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
$contact = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$contact = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($recipient),
|
intval($recipient),
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
|
||||||
if (! (count($me) && (count($contact)))) {
|
if (!(count($me) && (count($contact)))) {
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
$guid = get_guid(32);
|
$guid = get_guid(32);
|
||||||
$uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
|
$uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
|
||||||
|
|
||||||
$convid = 0;
|
$convid = 0;
|
||||||
$reply = false;
|
$reply = false;
|
||||||
|
@ -38,51 +41,50 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
|
|
||||||
if (strlen($replyto)) {
|
if (strlen($replyto)) {
|
||||||
$reply = true;
|
$reply = true;
|
||||||
$r = q("select convid from mail where uid = %d and ( uri = '%s' or `parent-uri` = '%s' ) limit 1",
|
$r = q("SELECT `convid` FROM `mail` WHERE `uid` = %d AND (`uri` = '%s' OR `parent-uri` = '%s') LIMIT 1",
|
||||||
intval(local_user()),
|
intval(local_user()),
|
||||||
dbesc($replyto),
|
dbesc($replyto),
|
||||||
dbesc($replyto)
|
dbesc($replyto)
|
||||||
);
|
);
|
||||||
if (DBM::is_result($r))
|
if (DBM::is_result($r)) {
|
||||||
$convid = $r[0]['convid'];
|
$convid = $r[0]['convid'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $convid) {
|
if (!$convid) {
|
||||||
|
|
||||||
// create a new conversation
|
// create a new conversation
|
||||||
|
$recip_host = substr($contact[0]['url'], strpos($contact[0]['url'], '://') + 3);
|
||||||
$recip_host = substr($contact[0]['url'],strpos($contact[0]['url'],'://')+3);
|
$recip_host = substr($recip_host, 0, strpos($recip_host, '/'));
|
||||||
$recip_host = substr($recip_host,0,strpos($recip_host,'/'));
|
|
||||||
|
|
||||||
$recip_handle = (($contact[0]['addr']) ? $contact[0]['addr'] : $contact[0]['nick'] . '@' . $recip_host);
|
$recip_handle = (($contact[0]['addr']) ? $contact[0]['addr'] : $contact[0]['nick'] . '@' . $recip_host);
|
||||||
$sender_handle = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(),'://') + 3);
|
$sender_handle = $a->user['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3);
|
||||||
|
|
||||||
$conv_guid = get_guid(32);
|
$conv_guid = get_guid(32);
|
||||||
$convuri = $recip_handle.':'.$conv_guid;
|
$convuri = $recip_handle . ':' . $conv_guid;
|
||||||
|
|
||||||
$handles = $recip_handle . ';' . $sender_handle;
|
$handles = $recip_handle . ';' . $sender_handle;
|
||||||
|
|
||||||
$fields = array('uid' => local_user(), 'guid' => $conv_guid, 'creator' => $sender_handle,
|
$fields = array('uid' => local_user(), 'guid' => $conv_guid, 'creator' => $sender_handle,
|
||||||
'created' => datetime_convert(), 'updated' => datetime_convert(),
|
'created' => datetime_convert(), 'updated' => datetime_convert(),
|
||||||
'subject' => $subject, 'recips' => $handles);
|
'subject' => $subject, 'recips' => $handles);
|
||||||
$r = dba::insert('conv', $fields);
|
dba::insert('conv', $fields);
|
||||||
|
|
||||||
$r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => local_user()), array('limit' => 1));
|
$r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => local_user()), array('limit' => 1));
|
||||||
if (DBM::is_result($r))
|
if (DBM::is_result($r)) {
|
||||||
$convid = $r['id'];
|
$convid = $r['id'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $convid) {
|
if (!$convid) {
|
||||||
logger('send message: conversation not found.');
|
logger('send message: conversation not found.');
|
||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! strlen($replyto)) {
|
if (!strlen($replyto)) {
|
||||||
$replyto = $convuri;
|
$replyto = $convuri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`,
|
||||||
$r = q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`,
|
|
||||||
`contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`)
|
`contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`)
|
||||||
VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s' )",
|
VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s' )",
|
||||||
intval(local_user()),
|
intval(local_user()),
|
||||||
|
@ -107,8 +109,9 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
dbesc($uri),
|
dbesc($uri),
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
if (DBM::is_result($r))
|
if (DBM::is_result($r)) {
|
||||||
$post_id = $r[0]['id'];
|
$post_id = $r[0]['id'];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -121,19 +124,17 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
* post and set them to the same permissions as the post itself.
|
* post and set them to the same permissions as the post itself.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$match = null;
|
$match = null;
|
||||||
|
if (preg_match_all("/\[img\](.*?)\[\/img\]/", $body, $match)) {
|
||||||
if (preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) {
|
|
||||||
$images = $match[1];
|
$images = $match[1];
|
||||||
if (count($images)) {
|
if (count($images)) {
|
||||||
foreach ($images as $image) {
|
foreach ($images as $image) {
|
||||||
if (! stristr($image,System::baseUrl() . '/photo/')) {
|
if (!stristr($image, System::baseUrl() . '/photo/')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$image_uri = substr($image,strrpos($image,'/') + 1);
|
$image_uri = substr($image, strrpos($image, '/') + 1);
|
||||||
$image_uri = substr($image_uri,0, strpos($image_uri,'-'));
|
$image_uri = substr($image_uri, 0, strpos($image_uri, '-'));
|
||||||
$r = q("UPDATE `photo` SET `allow_cid` = '%s'
|
q("UPDATE `photo` SET `allow_cid` = '%s'
|
||||||
WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ",
|
WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ",
|
||||||
dbesc('<' . $recipient . '>'),
|
dbesc('<' . $recipient . '>'),
|
||||||
dbesc($image_uri),
|
dbesc($image_uri),
|
||||||
|
@ -150,46 +151,42 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
||||||
} else {
|
} else {
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
|
function send_wallmessage($recipient = '', $body = '', $subject = '', $replyto = '')
|
||||||
|
{
|
||||||
if (! $recipient) {
|
if (!$recipient) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! strlen($subject)) {
|
if (!strlen($subject)) {
|
||||||
$subject = t('[no subject]');
|
$subject = t('[no subject]');
|
||||||
}
|
}
|
||||||
|
|
||||||
$guid = get_guid(32);
|
$guid = get_guid(32);
|
||||||
$uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
|
$uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid;
|
||||||
|
|
||||||
$convid = 0;
|
|
||||||
$reply = false;
|
|
||||||
|
|
||||||
$me = Probe::uri($replyto);
|
$me = Probe::uri($replyto);
|
||||||
|
|
||||||
if (! $me['name']) {
|
if (!$me['name']) {
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
$conv_guid = get_guid(32);
|
$conv_guid = get_guid(32);
|
||||||
|
|
||||||
$recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(),'://') + 3);
|
$recip_handle = $recipient['nickname'] . '@' . substr(System::baseUrl(), strpos(System::baseUrl(), '://') + 3);
|
||||||
|
|
||||||
$sender_nick = basename($replyto);
|
$sender_nick = basename($replyto);
|
||||||
$sender_host = substr($replyto,strpos($replyto,'://')+3);
|
$sender_host = substr($replyto, strpos($replyto, '://') + 3);
|
||||||
$sender_host = substr($sender_host,0,strpos($sender_host,'/'));
|
$sender_host = substr($sender_host, 0, strpos($sender_host, '/'));
|
||||||
$sender_handle = $sender_nick . '@' . $sender_host;
|
$sender_handle = $sender_nick . '@' . $sender_host;
|
||||||
|
|
||||||
$handles = $recip_handle . ';' . $sender_handle;
|
$handles = $recip_handle . ';' . $sender_handle;
|
||||||
|
|
||||||
$fields = array('uid' => $recipient['uid'], 'guid' => $conv_guid, 'creator' => $sender_handle,
|
$fields = array('uid' => $recipient['uid'], 'guid' => $conv_guid, 'creator' => $sender_handle,
|
||||||
'created' => datetime_convert(), 'updated' => datetime_convert(),
|
'created' => datetime_convert(), 'updated' => datetime_convert(),
|
||||||
'subject' => $subject, 'recips' => $handles);
|
'subject' => $subject, 'recips' => $handles);
|
||||||
$r = dba::insert('conv', $fields);
|
dba::insert('conv', $fields);
|
||||||
|
|
||||||
$r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => $recipient['uid']), array('limit' => 1));
|
$r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => $recipient['uid']), array('limit' => 1));
|
||||||
if (!DBM::is_result($r)) {
|
if (!DBM::is_result($r)) {
|
||||||
|
@ -199,7 +196,7 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
|
||||||
|
|
||||||
$convid = $r['id'];
|
$convid = $r['id'];
|
||||||
|
|
||||||
$r = q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`,
|
q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`,
|
||||||
`contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`, `unknown`)
|
`contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`, `unknown`)
|
||||||
VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s', %d )",
|
VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s', %d )",
|
||||||
intval($recipient['uid']),
|
intval($recipient['uid']),
|
||||||
|
@ -221,5 +218,4 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
|
||||||
);
|
);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -232,8 +232,6 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array())
|
||||||
$a->set_curl_code($http_code);
|
$a->set_curl_code($http_code);
|
||||||
$a->set_curl_content_type($curl_info['content_type']);
|
$a->set_curl_content_type($curl_info['content_type']);
|
||||||
|
|
||||||
$body = substr($s, strlen($header));
|
|
||||||
|
|
||||||
$rc = intval($http_code);
|
$rc = intval($http_code);
|
||||||
$ret['return_code'] = $rc;
|
$ret['return_code'] = $rc;
|
||||||
$ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false);
|
$ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false);
|
||||||
|
@ -693,8 +691,6 @@ function scale_external_images($srctext, $include_link = true, $scale_replace =
|
||||||
$include_link = false;
|
$include_link = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
// Picture addresses can contain special characters
|
// Picture addresses can contain special characters
|
||||||
$s = htmlspecialchars_decode($srctext);
|
$s = htmlspecialchars_decode($srctext);
|
||||||
|
|
||||||
|
@ -868,7 +864,6 @@ function original_url($url, $depth = 1, $fetchbody = false)
|
||||||
|
|
||||||
$stamp1 = microtime(true);
|
$stamp1 = microtime(true);
|
||||||
|
|
||||||
$siteinfo = array();
|
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
curl_setopt($ch, CURLOPT_URL, $url);
|
curl_setopt($ch, CURLOPT_URL, $url);
|
||||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||||
|
@ -877,7 +872,7 @@ function original_url($url, $depth = 1, $fetchbody = false)
|
||||||
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());
|
||||||
|
|
||||||
$header = curl_exec($ch);
|
curl_exec($ch);
|
||||||
$curl_info = @curl_getinfo($ch);
|
$curl_info = @curl_getinfo($ch);
|
||||||
$http_code = $curl_info['http_code'];
|
$http_code = $curl_info['http_code'];
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
@ -949,7 +944,6 @@ function original_url($url, $depth = 1, $fetchbody = false)
|
||||||
if (@$attr["http-equiv"] == 'refresh') {
|
if (@$attr["http-equiv"] == 'refresh') {
|
||||||
$path = $attr["content"];
|
$path = $attr["content"];
|
||||||
$pathinfo = explode(";", $path);
|
$pathinfo = explode(";", $path);
|
||||||
$content = "";
|
|
||||||
foreach ($pathinfo as $value) {
|
foreach ($pathinfo as $value) {
|
||||||
if (substr(strtolower($value), 0, 4) == "url=") {
|
if (substr(strtolower($value), 0, 4) == "url=") {
|
||||||
return(original_url(substr($value, 4), ++$depth));
|
return(original_url(substr($value, 4), ++$depth));
|
||||||
|
@ -958,7 +952,7 @@ function original_url($url, $depth = 1, $fetchbody = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return($url);
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
function short_link($url)
|
function short_link($url)
|
||||||
|
|
|
@ -292,30 +292,38 @@ function get_attached_data($body, $item = array()) {
|
||||||
return $post;
|
return $post;
|
||||||
}
|
}
|
||||||
|
|
||||||
function shortenmsg($msg, $limit, $twitter = false) {
|
/**
|
||||||
/// @TODO
|
* Shortens message
|
||||||
/// For Twitter URLs aren't shortened, but they have to be calculated as if.
|
*
|
||||||
|
* @param type $msg
|
||||||
|
* @param type $limit
|
||||||
|
* @return type
|
||||||
|
*
|
||||||
|
* @todo For Twitter URLs aren't shortened, but they have to be calculated as if.
|
||||||
|
*/
|
||||||
|
function shortenmsg($msg, $limit)
|
||||||
|
{
|
||||||
$lines = explode("\n", $msg);
|
$lines = explode("\n", $msg);
|
||||||
$msg = "";
|
$msg = "";
|
||||||
$recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8');
|
$recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8');
|
||||||
$ellipsis = html_entity_decode("…", ENT_QUOTES, 'UTF-8');
|
$ellipsis = html_entity_decode("…", ENT_QUOTES, 'UTF-8');
|
||||||
foreach ($lines AS $row=>$line) {
|
foreach ($lines AS $row => $line) {
|
||||||
if (iconv_strlen(trim($msg."\n".$line), "UTF-8") <= $limit)
|
if (iconv_strlen(trim($msg . "\n" . $line), "UTF-8") <= $limit) {
|
||||||
$msg = trim($msg."\n".$line);
|
$msg = trim($msg . "\n" . $line);
|
||||||
// Is the new message empty by now or is it a reshared message?
|
} elseif (($msg == "") || (($row == 1) && (substr($msg, 0, 4) == $recycle))) {
|
||||||
elseif (($msg == "") || (($row == 1) && (substr($msg, 0, 4) == $recycle)))
|
// Is the new message empty by now or is it a reshared message?
|
||||||
$msg = iconv_substr(iconv_substr(trim($msg."\n".$line), 0, $limit, "UTF-8"), 0, -3, "UTF-8").$ellipsis;
|
$msg = iconv_substr(iconv_substr(trim($msg . "\n" . $line), 0, $limit, "UTF-8"), 0, -3, "UTF-8") . $ellipsis;
|
||||||
else
|
} else {
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return($msg);
|
|
||||||
|
return $msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Convert a message into plaintext for connectors to other networks
|
* @brief Convert a message into plaintext for connectors to other networks
|
||||||
*
|
*
|
||||||
* @param App $a The application class
|
|
||||||
* @param array $b The message array that is about to be posted
|
* @param array $b The message array that is about to be posted
|
||||||
* @param int $limit The maximum number of characters when posting to that network
|
* @param int $limit The maximum number of characters when posting to that network
|
||||||
* @param bool $includedlinks Has an attached link to be included into the message?
|
* @param bool $includedlinks Has an attached link to be included into the message?
|
||||||
|
@ -324,7 +332,7 @@ function shortenmsg($msg, $limit, $twitter = false) {
|
||||||
*
|
*
|
||||||
* @return string The converted message
|
* @return string The converted message
|
||||||
*/
|
*/
|
||||||
function plaintext(App $a, $b, $limit = 0, $includedlinks = false, $htmlmode = 2, $target_network = "") {
|
function plaintext($b, $limit = 0, $includedlinks = false, $htmlmode = 2, $target_network = "") {
|
||||||
|
|
||||||
// Remove the hash tags
|
// Remove the hash tags
|
||||||
$URLSearchString = "^\[\]";
|
$URLSearchString = "^\[\]";
|
||||||
|
|
|
@ -182,14 +182,15 @@ function load_hooks() {
|
||||||
* @param string $name of the hook to call
|
* @param string $name of the hook to call
|
||||||
* @param string|array &$data to transmit to the callback handler
|
* @param string|array &$data to transmit to the callback handler
|
||||||
*/
|
*/
|
||||||
function call_hooks($name, &$data = null) {
|
function call_hooks($name, &$data = null)
|
||||||
$stamp1 = microtime(true);
|
{
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
if (is_array($a->hooks) && array_key_exists($name, $a->hooks))
|
if (is_array($a->hooks) && array_key_exists($name, $a->hooks)) {
|
||||||
foreach ($a->hooks[$name] as $hook)
|
foreach ($a->hooks[$name] as $hook) {
|
||||||
call_single_hook($a, $name, $hook, $data);
|
call_single_hook($a, $name, $hook, $data);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -144,7 +144,7 @@ function post_update_1194() {
|
||||||
|
|
||||||
logger("Progress: Start: ".$start_id." position: ".$pos_id." end: ".$end_id, LOGGER_DEBUG);
|
logger("Progress: Start: ".$start_id." position: ".$pos_id." end: ".$end_id, LOGGER_DEBUG);
|
||||||
|
|
||||||
$r = q("UPDATE `item` ".$query2." SET `item`.`global` = 1 ".$query3,
|
q("UPDATE `item` ".$query2." SET `item`.`global` = 1 ".$query3,
|
||||||
intval($start_id), intval($pos_id),
|
intval($start_id), intval($pos_id),
|
||||||
dbesc(NETWORK_DFRN), dbesc(NETWORK_DIASPORA), dbesc(NETWORK_OSTATUS));
|
dbesc(NETWORK_DFRN), dbesc(NETWORK_DIASPORA), dbesc(NETWORK_OSTATUS));
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ function gender_selector($current="",$suffix="") {
|
||||||
}
|
}
|
||||||
$o .= '</select>';
|
$o .= '</select>';
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
function sexpref_selector($current="",$suffix="") {
|
function sexpref_selector($current="",$suffix="") {
|
||||||
$o = '';
|
$o = '';
|
||||||
|
@ -34,16 +34,17 @@ function sexpref_selector($current="",$suffix="") {
|
||||||
}
|
}
|
||||||
$o .= '</select>';
|
$o .= '</select>';
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function marital_selector($current="",$suffix="") {
|
function marital_selector($current = "")
|
||||||
|
{
|
||||||
$o = '';
|
$o = '';
|
||||||
$select = array('', t('Single'), t('Lonely'), t('Available'), t('Unavailable'), t('Has crush'), t('Infatuated'), t('Dating'), t('Unfaithful'), t('Sex Addict'), t('Friends'), t('Friends/Benefits'), t('Casual'), t('Engaged'), t('Married'), t('Imaginarily married'), t('Partners'), t('Cohabiting'), t('Common law'), t('Happy'), t('Not looking'), t('Swinger'), t('Betrayed'), t('Separated'), t('Unstable'), t('Divorced'), t('Imaginarily divorced'), t('Widowed'), t('Uncertain'), t('It\'s complicated'), t('Don\'t care'), t('Ask me') );
|
$select = array('', t('Single'), t('Lonely'), t('Available'), t('Unavailable'), t('Has crush'), t('Infatuated'), t('Dating'), t('Unfaithful'), t('Sex Addict'), t('Friends'), t('Friends/Benefits'), t('Casual'), t('Engaged'), t('Married'), t('Imaginarily married'), t('Partners'), t('Cohabiting'), t('Common law'), t('Happy'), t('Not looking'), t('Swinger'), t('Betrayed'), t('Separated'), t('Unstable'), t('Divorced'), t('Imaginarily divorced'), t('Widowed'), t('Uncertain'), t('It\'s complicated'), t('Don\'t care'), t('Ask me'));
|
||||||
|
|
||||||
call_hooks('marital_selector', $select);
|
call_hooks('marital_selector', $select);
|
||||||
|
|
||||||
$o .= "<select name=\"marital\" id=\"marital-select\" size=\"1\" >";
|
$o .= '<select name="marital" id="marital-select" size="1" >';
|
||||||
foreach ($select as $selection) {
|
foreach ($select as $selection) {
|
||||||
if ($selection !== 'NOTRANSLATION') {
|
if ($selection !== 'NOTRANSLATION') {
|
||||||
$selected = (($selection == $current) ? ' selected="selected" ' : '');
|
$selected = (($selection == $current) ? ' selected="selected" ' : '');
|
||||||
|
@ -52,4 +53,4 @@ function marital_selector($current="",$suffix="") {
|
||||||
}
|
}
|
||||||
$o .= '</select>';
|
$o .= '</select>';
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,6 @@ function remove_queue_item($id) {
|
||||||
* @return bool The communication with this contact has currently problems
|
* @return bool The communication with this contact has currently problems
|
||||||
*/
|
*/
|
||||||
function was_recently_delayed($cid) {
|
function was_recently_delayed($cid) {
|
||||||
$was_delayed = false;
|
|
||||||
|
|
||||||
// Are there queue entries that were recently added?
|
// Are there queue entries that were recently added?
|
||||||
$r = q("SELECT `id` FROM `queue` WHERE `cid` = %d
|
$r = q("SELECT `id` FROM `queue` WHERE `cid` = %d
|
||||||
AND `last` > UTC_TIMESTAMP() - INTERVAL 15 MINUTE LIMIT 1",
|
AND `last` > UTC_TIMESTAMP() - INTERVAL 15 MINUTE LIMIT 1",
|
||||||
|
@ -59,7 +57,7 @@ function add_to_queue($cid,$network,$msg,$batch = false) {
|
||||||
$batch_queue = 1000;
|
$batch_queue = 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT COUNT(*) AS `total` FROM `queue` INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id`
|
$r = q("SELECT COUNT(*) AS `total` FROM `queue` INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id`
|
||||||
WHERE `queue`.`cid` = %d AND `contact`.`self` = 0 ",
|
WHERE `queue`.`cid` = %d AND `contact`.`self` = 0 ",
|
||||||
intval($cid)
|
intval($cid)
|
||||||
);
|
);
|
||||||
|
|
|
@ -4,18 +4,18 @@ use Friendica\App;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
use Friendica\Database\DBM;
|
use Friendica\Database\DBM;
|
||||||
|
|
||||||
function auto_redir(App $a, $contact_nick) {
|
function auto_redir(App $a, $contact_nick)
|
||||||
|
{
|
||||||
// prevent looping
|
// prevent looping
|
||||||
|
if (x($_REQUEST,'redir') && intval($_REQUEST['redir'])) {
|
||||||
if (x($_REQUEST,'redir') && intval($_REQUEST['redir']))
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ((! $contact_nick) || ($contact_nick === $a->user['nickname']))
|
if ((! $contact_nick) || ($contact_nick === $a->user['nickname'])) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (local_user()) {
|
if (local_user()) {
|
||||||
|
|
||||||
// We need to find out if $contact_nick is a user on this hub, and if so, if I
|
// We need to find out if $contact_nick is a user on this hub, and if so, if I
|
||||||
// am a contact of that user. However, that user may have other contacts with the
|
// am a contact of that user. However, that user may have other contacts with the
|
||||||
// same nickname as me on other hubs or other networks. Exclude these by requiring
|
// same nickname as me on other hubs or other networks. Exclude these by requiring
|
||||||
|
@ -26,8 +26,9 @@ function auto_redir(App $a, $contact_nick) {
|
||||||
|
|
||||||
$baseurl = System::baseUrl();
|
$baseurl = System::baseUrl();
|
||||||
$domain_st = strpos($baseurl, "://");
|
$domain_st = strpos($baseurl, "://");
|
||||||
if ($domain_st === false)
|
if ($domain_st === false) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
$baseurl = substr($baseurl, $domain_st + 3);
|
$baseurl = substr($baseurl, $domain_st + 3);
|
||||||
$nurl = normalise_link($baseurl);
|
$nurl = normalise_link($baseurl);
|
||||||
|
|
||||||
|
@ -39,7 +40,6 @@ function auto_redir(App $a, $contact_nick) {
|
||||||
dbesc($baseurl),
|
dbesc($baseurl),
|
||||||
dbesc($nurl)
|
dbesc($nurl)
|
||||||
);
|
);
|
||||||
|
|
||||||
if ((! DBM::is_result($r)) || $r[0]['id'] == remote_user()) {
|
if ((! DBM::is_result($r)) || $r[0]['id'] == remote_user()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -51,14 +51,13 @@ function auto_redir(App $a, $contact_nick) {
|
||||||
intval(local_user()),
|
intval(local_user()),
|
||||||
dbesc($baseurl)
|
dbesc($baseurl)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (! DBM::is_result($r)) {
|
if (! DBM::is_result($r)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$cid = $r[0]['id'];
|
$cid = $r[0]['id'];
|
||||||
|
|
||||||
$dfrn_id = $orig_id = (($r[0]['issued-id']) ? $r[0]['issued-id'] : $r[0]['dfrn-id']);
|
$dfrn_id = (($r[0]['issued-id']) ? $r[0]['issued-id'] : $r[0]['dfrn-id']);
|
||||||
|
|
||||||
if ($r[0]['duplex'] && $r[0]['issued-id']) {
|
if ($r[0]['duplex'] && $r[0]['issued-id']) {
|
||||||
$orig_id = $r[0]['issued-id'];
|
$orig_id = $r[0]['issued-id'];
|
||||||
|
@ -72,8 +71,9 @@ function auto_redir(App $a, $contact_nick) {
|
||||||
// ensure that we've got a valid ID. There may be some edge cases with forums and non-duplex mode
|
// ensure that we've got a valid ID. There may be some edge cases with forums and non-duplex mode
|
||||||
// that may have triggered some of the "went to {profile/intro} and got an RSS feed" issues
|
// that may have triggered some of the "went to {profile/intro} and got an RSS feed" issues
|
||||||
|
|
||||||
if (strlen($dfrn_id) < 3)
|
if (strlen($dfrn_id) < 3) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$sec = random_string();
|
$sec = random_string();
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function can_write_wall(App $a, $owner)
|
function can_write_wall($owner)
|
||||||
{
|
{
|
||||||
static $verified = 0;
|
static $verified = 0;
|
||||||
|
|
||||||
|
@ -174,8 +174,7 @@ function can_write_wall(App $a, $owner)
|
||||||
}
|
}
|
||||||
|
|
||||||
$uid = local_user();
|
$uid = local_user();
|
||||||
|
if ($uid == $owner) {
|
||||||
if (($uid) && ($uid == $owner)) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ use Friendica\Database\DBM;
|
||||||
$session_exists = 0;
|
$session_exists = 0;
|
||||||
$session_expire = 180000;
|
$session_expire = 180000;
|
||||||
|
|
||||||
function ref_session_open($s, $n)
|
function ref_session_open()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,7 @@ function ref_session_destroy($id)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function ref_session_gc($expire)
|
function ref_session_gc()
|
||||||
{
|
{
|
||||||
dba::delete('session', array("`expire` < ?", time()));
|
dba::delete('session', array("`expire` < ?", time()));
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -97,7 +97,7 @@ function create_tags_from_item($itemid)
|
||||||
$global = (count($isglobal) > 0);
|
$global = (count($isglobal) > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`, `url`, `guid`, `created`, `received`, `global`)
|
q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`, `url`, `guid`, `created`, `received`, `global`)
|
||||||
VALUES (%d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', %d)",
|
VALUES (%d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', %d)",
|
||||||
intval($message['uid']), intval($itemid), intval(TERM_OBJ_POST), intval($type), dbesc($term),
|
intval($message['uid']), intval($itemid), intval(TERM_OBJ_POST), intval($type), dbesc($term),
|
||||||
dbesc($link), dbesc($message['guid']), dbesc($message['created']), dbesc($message['received']), intval($global));
|
dbesc($link), dbesc($message['guid']), dbesc($message['created']), dbesc($message['received']), intval($global));
|
||||||
|
|
|
@ -1003,7 +1003,6 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
|
||||||
$redir = false;
|
$redir = false;
|
||||||
|
|
||||||
if ($redirect) {
|
if ($redirect) {
|
||||||
$a = get_app();
|
|
||||||
$redirect_url = 'redir/' . $contact['id'];
|
$redirect_url = 'redir/' . $contact['id'];
|
||||||
if (local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) {
|
if (local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) {
|
||||||
$redir = true;
|
$redir = true;
|
||||||
|
@ -1041,8 +1040,6 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
|
||||||
* @param boolean $savedsearch show save search button
|
* @param boolean $savedsearch show save search button
|
||||||
*/
|
*/
|
||||||
function search($s, $id = 'search-box', $url = 'search', $save = false, $aside = true) {
|
function search($s, $id = 'search-box', $url = 'search', $save = false, $aside = true) {
|
||||||
$a = get_app();
|
|
||||||
|
|
||||||
$values = array(
|
$values = array(
|
||||||
'$s' => htmlspecialchars($s),
|
'$s' => htmlspecialchars($s),
|
||||||
'$id' => $id,
|
'$id' => $id,
|
||||||
|
@ -1471,9 +1468,8 @@ function prepare_text($text) {
|
||||||
* ]
|
* ]
|
||||||
* ]
|
* ]
|
||||||
*/
|
*/
|
||||||
function get_cats_and_terms($item) {
|
function get_cats_and_terms($item)
|
||||||
|
{
|
||||||
$a = get_app();
|
|
||||||
$categories = array();
|
$categories = array();
|
||||||
$folders = array();
|
$folders = array();
|
||||||
|
|
||||||
|
@ -1901,9 +1897,10 @@ function file_tag_update_pconfig($uid, $file_old, $file_new, $type = 'file') {
|
||||||
function file_tag_save_file($uid, $item, $file) {
|
function file_tag_save_file($uid, $item, $file) {
|
||||||
require_once "include/files.php";
|
require_once "include/files.php";
|
||||||
|
|
||||||
$result = false;
|
if (! intval($uid)) {
|
||||||
if (! intval($uid))
|
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($item),
|
intval($item),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
|
@ -1931,9 +1928,9 @@ function file_tag_save_file($uid, $item, $file) {
|
||||||
function file_tag_unsave_file($uid, $item, $file, $cat = false) {
|
function file_tag_unsave_file($uid, $item, $file, $cat = false) {
|
||||||
require_once "include/files.php";
|
require_once "include/files.php";
|
||||||
|
|
||||||
$result = false;
|
if (! intval($uid)) {
|
||||||
if (! intval($uid))
|
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if ($cat == true) {
|
if ($cat == true) {
|
||||||
$pattern = '<' . file_tag_encode($file) . '>' ;
|
$pattern = '<' . file_tag_encode($file) . '>' ;
|
||||||
|
@ -1943,7 +1940,6 @@ function file_tag_unsave_file($uid, $item, $file, $cat = false) {
|
||||||
$termtype = TERM_FILE;
|
$termtype = TERM_FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
intval($item),
|
intval($item),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
|
@ -1964,8 +1960,8 @@ function file_tag_unsave_file($uid, $item, $file, $cat = false) {
|
||||||
dbesc($file),
|
dbesc($file),
|
||||||
intval(TERM_OBJ_POST),
|
intval(TERM_OBJ_POST),
|
||||||
intval($termtype),
|
intval($termtype),
|
||||||
intval($uid));
|
intval($uid)
|
||||||
|
);
|
||||||
if (!DBM::is_result($r)) {
|
if (!DBM::is_result($r)) {
|
||||||
$saved = PConfig::get($uid, 'system', 'filetags');
|
$saved = PConfig::get($uid, 'system', 'filetags');
|
||||||
PConfig::set($uid, 'system', 'filetags', str_replace($pattern, '', $saved));
|
PConfig::set($uid, 'system', 'filetags', str_replace($pattern, '', $saved));
|
||||||
|
|
|
@ -37,7 +37,6 @@ function bookmarklet_content(App $a)
|
||||||
'bang' => '',
|
'bang' => '',
|
||||||
'visitor' => 'block',
|
'visitor' => 'block',
|
||||||
'profile_uid' => local_user(),
|
'profile_uid' => local_user(),
|
||||||
'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
|
|
||||||
'title' => trim($_REQUEST["title"], "*"),
|
'title' => trim($_REQUEST["title"], "*"),
|
||||||
'content' => $content
|
'content' => $content
|
||||||
);
|
);
|
||||||
|
|
|
@ -313,9 +313,8 @@ function display_content(App $a, $update = false, $update_uid = 0) {
|
||||||
'bang' => '',
|
'bang' => '',
|
||||||
'visitor' => 'block',
|
'visitor' => 'block',
|
||||||
'profile_uid' => local_user(),
|
'profile_uid' => local_user(),
|
||||||
'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
|
|
||||||
);
|
);
|
||||||
$o .= status_editor($a,$x,0,true);
|
$o .= status_editor($a, $x, 0, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql_extra = item_permissions_sql($a->profile['uid'], $remote_contact, $groups);
|
$sql_extra = item_permissions_sql($a->profile['uid'], $remote_contact, $groups);
|
||||||
|
|
|
@ -475,11 +475,6 @@ function events_content(App $a) {
|
||||||
$fhour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : 0);
|
$fhour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : 0);
|
||||||
$fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : 0);
|
$fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : 0);
|
||||||
|
|
||||||
$f = Config::get('system','event_input_format');
|
|
||||||
if (! $f) {
|
|
||||||
$f = 'ymd';
|
|
||||||
}
|
|
||||||
|
|
||||||
require_once 'include/acl_selectors.php' ;
|
require_once 'include/acl_selectors.php' ;
|
||||||
|
|
||||||
$perms = get_acl_permissions($orig_event);
|
$perms = get_acl_permissions($orig_event);
|
||||||
|
@ -511,11 +506,11 @@ function events_content(App $a) {
|
||||||
'$title' => t('Event details'),
|
'$title' => t('Event details'),
|
||||||
'$desc' => t('Starting date and Title are required.'),
|
'$desc' => t('Starting date and Title are required.'),
|
||||||
'$s_text' => t('Event Starts:') . ' <span class="required" title="' . t('Required') . '">*</span>',
|
'$s_text' => t('Event Starts:') . ' <span class="required" title="' . t('Required') . '">*</span>',
|
||||||
'$s_dsel' => datetimesel($f, new DateTime(), DateTime::createFromFormat('Y', $syear+5), DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"), t('Event Starts:'), 'start_text', true, true, '', '', true),
|
'$s_dsel' => datetimesel(new DateTime(), DateTime::createFromFormat('Y', $syear+5), DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"), t('Event Starts:'), 'start_text', true, true, '', '', true),
|
||||||
'$n_text' => t('Finish date/time is not known or not relevant'),
|
'$n_text' => t('Finish date/time is not known or not relevant'),
|
||||||
'$n_checked' => $n_checked,
|
'$n_checked' => $n_checked,
|
||||||
'$f_text' => t('Event Finishes:'),
|
'$f_text' => t('Event Finishes:'),
|
||||||
'$f_dsel' => datetimesel($f, new DateTime(), DateTime::createFromFormat('Y', $fyear+5), DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"), t('Event Finishes:'), 'finish_text', true, true, 'start_text'),
|
'$f_dsel' => datetimesel(new DateTime(), DateTime::createFromFormat('Y', $fyear+5), DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"), t('Event Finishes:'), 'finish_text', true, true, 'start_text'),
|
||||||
'$a_text' => t('Adjust for viewer timezone'),
|
'$a_text' => t('Adjust for viewer timezone'),
|
||||||
'$a_checked' => $a_checked,
|
'$a_checked' => $a_checked,
|
||||||
'$d_text' => t('Description:'),
|
'$d_text' => t('Description:'),
|
||||||
|
|
|
@ -215,7 +215,7 @@ function item_post(App $a) {
|
||||||
* Now check that it is a page_type of PAGE_BLOG, and that valid personal details
|
* Now check that it is a page_type of PAGE_BLOG, and that valid personal details
|
||||||
* have been provided, and run any anti-spam plugins
|
* have been provided, and run any anti-spam plugins
|
||||||
*/
|
*/
|
||||||
if (!(can_write_wall($a, $profile_uid) || $allow_comment) && !$allow_moderated) {
|
if (!(can_write_wall($profile_uid) || $allow_comment) && !$allow_moderated) {
|
||||||
notice(t('Permission denied.') . EOL) ;
|
notice(t('Permission denied.') . EOL) ;
|
||||||
if (x($_REQUEST, 'return')) {
|
if (x($_REQUEST, 'return')) {
|
||||||
goaway($return_path);
|
goaway($return_path);
|
||||||
|
|
|
@ -454,11 +454,10 @@ function networkFlatView(App $a, $update = 0) {
|
||||||
'bang' => '',
|
'bang' => '',
|
||||||
'visitor' => 'block',
|
'visitor' => 'block',
|
||||||
'profile_uid' => local_user(),
|
'profile_uid' => local_user(),
|
||||||
'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
|
|
||||||
'content' => '',
|
'content' => '',
|
||||||
);
|
);
|
||||||
|
|
||||||
$o .= status_editor($a,$x);
|
$o .= status_editor($a, $x);
|
||||||
|
|
||||||
if (!Config::get('theme','hide_eventlist')) {
|
if (!Config::get('theme','hide_eventlist')) {
|
||||||
$o .= get_birthdays();
|
$o .= get_birthdays();
|
||||||
|
@ -605,12 +604,10 @@ function networkThreadedView(App $a, $update = 0) {
|
||||||
'bang' => (($group || $cid || $nets) ? '!' : ''),
|
'bang' => (($group || $cid || $nets) ? '!' : ''),
|
||||||
'visitor' => 'block',
|
'visitor' => 'block',
|
||||||
'profile_uid' => local_user(),
|
'profile_uid' => local_user(),
|
||||||
'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
|
|
||||||
'content' => $content,
|
'content' => $content,
|
||||||
);
|
);
|
||||||
|
|
||||||
$o .= status_editor($a,$x);
|
$o .= status_editor($a, $x);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// We don't have to deal with ACLs on this page. You're looking at everything
|
// We don't have to deal with ACLs on this page. You're looking at everything
|
||||||
|
|
|
@ -1134,7 +1134,6 @@ function photos_content(App $a)
|
||||||
'$uploadurl' => $ret['post_url'],
|
'$uploadurl' => $ret['post_url'],
|
||||||
|
|
||||||
// ACL permissions box
|
// ACL permissions box
|
||||||
'$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
|
|
||||||
'$group_perms' => t('Show to Groups'),
|
'$group_perms' => t('Show to Groups'),
|
||||||
'$contact_perms' => t('Show to Contacts'),
|
'$contact_perms' => t('Show to Contacts'),
|
||||||
'$return_path' => $a->query_string,
|
'$return_path' => $a->query_string,
|
||||||
|
@ -1482,7 +1481,6 @@ function photos_content(App $a)
|
||||||
'$delete' => t('Delete Photo'),
|
'$delete' => t('Delete Photo'),
|
||||||
|
|
||||||
// ACL permissions box
|
// ACL permissions box
|
||||||
'$acl_data' => construct_acl_data($a, $ph[0]), // For non-Javascript ACL selector
|
|
||||||
'$group_perms' => t('Show to Groups'),
|
'$group_perms' => t('Show to Groups'),
|
||||||
'$contact_perms' => t('Show to Contacts'),
|
'$contact_perms' => t('Show to Contacts'),
|
||||||
'$return_path' => $a->query_string,
|
'$return_path' => $a->query_string,
|
||||||
|
@ -1501,7 +1499,7 @@ function photos_content(App $a)
|
||||||
$tpl = get_markup_template('photo_item.tpl');
|
$tpl = get_markup_template('photo_item.tpl');
|
||||||
$return_url = $a->cmd;
|
$return_url = $a->cmd;
|
||||||
|
|
||||||
if ($can_post || can_write_wall($a, $owner_uid)) {
|
if ($can_post || can_write_wall($owner_uid)) {
|
||||||
$like_tpl = get_markup_template('like_noshare.tpl');
|
$like_tpl = get_markup_template('like_noshare.tpl');
|
||||||
$likebuttons = replace_macros($like_tpl, array(
|
$likebuttons = replace_macros($like_tpl, array(
|
||||||
'$id' => $link_item['id'],
|
'$id' => $link_item['id'],
|
||||||
|
@ -1513,7 +1511,7 @@ function photos_content(App $a)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DBM::is_result($r)) {
|
if (!DBM::is_result($r)) {
|
||||||
if (($can_post || can_write_wall($a, $owner_uid)) && $link_item['last-child']) {
|
if (($can_post || can_write_wall($owner_uid)) && $link_item['last-child']) {
|
||||||
$comments .= replace_macros($cmnt_tpl, array(
|
$comments .= replace_macros($cmnt_tpl, array(
|
||||||
'$return_path' => '',
|
'$return_path' => '',
|
||||||
'$jsreload' => $return_url,
|
'$jsreload' => $return_url,
|
||||||
|
@ -1552,7 +1550,7 @@ function photos_content(App $a)
|
||||||
$dislike = format_like($conv_responses['dislike'][$link_item['uri']], $conv_responses['dislike'][$link_item['uri'] . '-l'], 'dislike', $link_item['id']);
|
$dislike = format_like($conv_responses['dislike'][$link_item['uri']], $conv_responses['dislike'][$link_item['uri'] . '-l'], 'dislike', $link_item['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($can_post || can_write_wall($a, $owner_uid)) && $link_item['last-child']) {
|
if (($can_post || can_write_wall($owner_uid)) && $link_item['last-child']) {
|
||||||
$comments .= replace_macros($cmnt_tpl,array(
|
$comments .= replace_macros($cmnt_tpl,array(
|
||||||
'$return_path' => '',
|
'$return_path' => '',
|
||||||
'$jsreload' => $return_url,
|
'$jsreload' => $return_url,
|
||||||
|
@ -1625,7 +1623,7 @@ function photos_content(App $a)
|
||||||
'$comment' => $comment
|
'$comment' => $comment
|
||||||
));
|
));
|
||||||
|
|
||||||
if (($can_post || can_write_wall($a, $owner_uid)) && $item['last-child']) {
|
if (($can_post || can_write_wall($owner_uid)) && $item['last-child']) {
|
||||||
$comments .= replace_macros($cmnt_tpl, array(
|
$comments .= replace_macros($cmnt_tpl, array(
|
||||||
'$return_path' => '',
|
'$return_path' => '',
|
||||||
'$jsreload' => $return_url,
|
'$jsreload' => $return_url,
|
||||||
|
|
|
@ -194,7 +194,7 @@ function profile_content(App $a, $update = 0)
|
||||||
$a->page['aside'] .= categories_widget(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], (x($category) ? xmlify($category) : ''));
|
$a->page['aside'] .= categories_widget(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], (x($category) ? xmlify($category) : ''));
|
||||||
$a->page['aside'] .= tagcloud_wall_widget();
|
$a->page['aside'] .= tagcloud_wall_widget();
|
||||||
|
|
||||||
if (can_write_wall($a, $a->profile['profile_uid'])) {
|
if (can_write_wall($a->profile['profile_uid'])) {
|
||||||
$x = array(
|
$x = array(
|
||||||
'is_owner' => $is_owner,
|
'is_owner' => $is_owner,
|
||||||
'allow_location' => ($is_owner || $commvisitor) && $a->profile['allow_location'],
|
'allow_location' => ($is_owner || $commvisitor) && $a->profile['allow_location'],
|
||||||
|
@ -210,7 +210,6 @@ function profile_content(App $a, $update = 0)
|
||||||
'bang' => '',
|
'bang' => '',
|
||||||
'visitor' => $is_owner || $commvisitor ? 'block' : 'none',
|
'visitor' => $is_owner || $commvisitor ? 'block' : 'none',
|
||||||
'profile_uid' => $a->profile['profile_uid'],
|
'profile_uid' => $a->profile['profile_uid'],
|
||||||
'acl_data' => $is_owner ? construct_acl_data($a, $a->user) : '', // For non-Javascript ACL selector
|
|
||||||
);
|
);
|
||||||
|
|
||||||
$o .= status_editor($a, $x);
|
$o .= status_editor($a, $x);
|
||||||
|
|
|
@ -655,11 +655,6 @@ function profiles_content(App $a) {
|
||||||
|
|
||||||
$detailled_profile = (PConfig::get(local_user(), 'system', 'detailled_profile') AND $personal_account);
|
$detailled_profile = (PConfig::get(local_user(), 'system', 'detailled_profile') AND $personal_account);
|
||||||
|
|
||||||
$f = Config::get('system', 'birthday_input_format');
|
|
||||||
if (! $f) {
|
|
||||||
$f = 'ymd';
|
|
||||||
}
|
|
||||||
|
|
||||||
$is_default = (($r[0]['is-default']) ? 1 : 0);
|
$is_default = (($r[0]['is-default']) ? 1 : 0);
|
||||||
$tpl = get_markup_template("profile_edit.tpl");
|
$tpl = get_markup_template("profile_edit.tpl");
|
||||||
$o .= replace_macros($tpl, array(
|
$o .= replace_macros($tpl, array(
|
||||||
|
|
|
@ -1280,7 +1280,6 @@ function settings_content(App $a) {
|
||||||
'$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''),
|
'$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''),
|
||||||
|
|
||||||
// ACL permissions box
|
// ACL permissions box
|
||||||
'$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
|
|
||||||
'$group_perms' => t('Show to Groups'),
|
'$group_perms' => t('Show to Groups'),
|
||||||
'$contact_perms' => t('Show to Contacts'),
|
'$contact_perms' => t('Show to Contacts'),
|
||||||
'$private' => t('Default Private Post'),
|
'$private' => t('Default Private Post'),
|
||||||
|
|
|
@ -32,7 +32,7 @@ function subthread_content(App $a) {
|
||||||
|
|
||||||
$owner_uid = $item['uid'];
|
$owner_uid = $item['uid'];
|
||||||
|
|
||||||
if(! can_write_wall($a,$owner_uid)) {
|
if(! can_write_wall($owner_uid)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,11 +60,11 @@ class Thread extends BaseObject
|
||||||
break;
|
break;
|
||||||
case 'profile':
|
case 'profile':
|
||||||
$this->profile_owner = $a->profile['profile_uid'];
|
$this->profile_owner = $a->profile['profile_uid'];
|
||||||
$this->writable = can_write_wall($a, $this->profile_owner);
|
$this->writable = can_write_wall($this->profile_owner);
|
||||||
break;
|
break;
|
||||||
case 'display':
|
case 'display':
|
||||||
$this->profile_owner = $a->profile['uid'];
|
$this->profile_owner = $a->profile['uid'];
|
||||||
$this->writable = can_write_wall($a, $this->profile_owner) || $writable;
|
$this->writable = can_write_wall($this->profile_owner) || $writable;
|
||||||
break;
|
break;
|
||||||
case 'community':
|
case 'community':
|
||||||
$this->profile_owner = local_user();
|
$this->profile_owner = local_user();
|
||||||
|
|
Loading…
Reference in a new issue