use Friendica\Core\L10n;
use Friendica\Core\NotificationsManager;
use Friendica\Core\PConfig;
+use Friendica\Core\Protocol;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBM;
}
logger("Unrecognized user-agent ".$_SERVER['HTTP_USER_AGENT'], LOGGER_DEBUG);
+ } else {
+ logger("Empty user-agent", LOGGER_DEBUG);
}
- logger("Empty user-agent", LOGGER_DEBUG);
-
return "api";
}
'base' => System::baseUrl(),
'updated' => api_date(null),
'atom_updated' => DateTimeFormat::utcNow(DateTimeFormat::ATOM),
- 'language' => $user_info['language'],
+ 'language' => $user_info['lang'],
'logo' => System::baseUrl() . "/images/friendica-32.png",
];
'geo_enabled' => false,
'verified' => false,
'statuses_count' => 0,
- 'language' => '',
+ 'lang' => '',
'contributors_enabled' => false,
'is_translator' => false,
'is_translation_enabled' => false,
'geo_enabled' => false,
'verified' => true,
'statuses_count' => intval($countitems),
- 'language' => '',
+ 'lang' => '',
'contributors_enabled' => false,
'is_translator' => false,
'is_translation_enabled' => false,
'in_reply_to_screen_name' => $in_reply_to['screen_name'],
'user' => $user_info,
$geo => null,
- 'coordinates' => "",
- 'place' => "",
- 'contributors' => "",
+ 'coordinates' => '',
+ 'place' => '',
+ 'contributors' => '',
'is_quote_status' => false,
'retweet_count' => 0,
'favorite_count' => 0,
'favorited' => $lastwall['starred'] ? true : false,
'retweeted' => false,
'possibly_sensitive' => false,
- 'language' => "",
+ 'lang' => '',
'statusnet_html' => $converted["html"],
'statusnet_conversation_id' => $lastwall['parent'],
- 'external_url' => System::baseUrl() . "/display/" . $lastwall['guid'],
+ 'external_url' => System::baseUrl() . '/display/' . $lastwall['guid'],
];
if (count($converted["attachments"]) > 0) {
api_get_user($a);
// params
- $id = intval($a->argv[3]);
+ $id = intval(defaults($a->argv, 3, 0));
if ($id == 0) {
- $id = intval($_REQUEST["id"]);
+ $id = intval(defaults($_REQUEST, 'id', 0));
}
// Hotot workaround
if ($id == 0) {
- $id = intval($a->argv[4]);
+ $id = intval(defaults($a->argv, 4, 0));
}
logger('API: api_statuses_repeat: '.$id);
api_get_user($a);
// params
- $id = intval($a->argv[3]);
+ $id = intval(defaults($a->argv, 3, 0));
if ($id == 0) {
- $id = intval($_REQUEST["id"]);
+ $id = intval(defaults($_REQUEST, 'id', 0));
}
// Hotot workaround
if ($id == 0) {
- $id = intval($a->argv[4]);
+ $id = intval(defaults($a->argv, 4, 0));
}
logger('API: api_statuses_destroy: '.$id);
}
$action = str_replace("." . $type, "", $a->argv[$action_argv_id]);
if ($a->argc == $action_argv_id + 2) {
- $itemid = intval($a->argv[$action_argv_id + 1]);
+ $itemid = intval(defaults($a->argv, $action_argv_id + 1, 0));
} else {
- /// @TODO use x() to check if _REQUEST contains 'id'
- $itemid = intval($_REQUEST['id']);
+ $itemid = intval(defaults($_REQUEST, 'id', 0));
}
$item = Item::selectFirstForUser(api_user(), [], ['id' => $itemid, 'uid' => api_user()]);
{
// standard meta information
$ret = [
- 'id' => $item['id'],
- 'sender_id' => $sender['id'] ,
- 'text' => "",
- 'recipient_id' => $recipient['id'],
- 'created_at' => api_date($item['created']),
- 'sender_screen_name' => $sender['screen_name'],
- 'recipient_screen_name' => $recipient['screen_name'],
- 'sender' => $sender,
- 'recipient' => $recipient,
- 'title' => "",
- 'friendica_seen' => $item['seen'],
- 'friendica_parent_uri' => $item['parent-uri'],
+ 'id' => $item['id'],
+ 'sender_id' => $sender['id'] ,
+ 'text' => "",
+ 'recipient_id' => $recipient['id'],
+ 'created_at' => api_date(defaults($item, 'created', DateTimeFormat::utcNow())),
+ 'sender_screen_name' => $sender['screen_name'],
+ 'recipient_screen_name' => $recipient['screen_name'],
+ 'sender' => $sender,
+ 'recipient' => $recipient,
+ 'title' => "",
+ 'friendica_seen' => defaults($item, 'seen', 0),
+ 'friendica_parent_uri' => defaults($item, 'parent-uri', ''),
];
// "uid" and "self" are only needed for some internal stuff, so remove it from here
- unset($ret["sender"]["uid"]);
- unset($ret["sender"]["self"]);
- unset($ret["recipient"]["uid"]);
- unset($ret["recipient"]["self"]);
+ if (isset($ret['sender']['uid'])) {
+ unset($ret['sender']['uid']);
+ }
+ if (isset($ret['sender']['self'])) {
+ unset($ret['sender']['self']);
+ }
+ if (isset($ret['recipient']['uid'])) {
+ unset($ret['recipient']['uid']);
+ }
+ if (isset($ret['recipient']['self'])) {
+ unset($ret['recipient']['self']);
+ }
//don't send title to regular StatusNET requests to avoid confusing these apps
if (x($_GET, 'getText')) {
$statustext = trim($statustitle."\n\n".$statusbody);
}
- if (($item["network"] == NETWORK_FEED) && (strlen($statustext)> 1000)) {
- $statustext = substr($statustext, 0, 1000)."... \n".$item["plink"];
+ if ((defaults($item, 'network', Protocol::PHANTOM) == Protocol::FEED) && (strlen($statustext)> 1000)) {
+ $statustext = substr($statustext, 0, 1000) . "... \n" . defaults($item, 'plink', '');
}
$statushtml = BBCode::convert(api_clean_attachments($body), false);
}
// feeds without body should contain the link
- if (($item['network'] == NETWORK_FEED) && (strlen($item['body']) == 0)) {
+ if ((defaults($item, 'network', Protocol::PHANTOM) == Protocol::FEED) && (strlen($item['body']) == 0)) {
$statushtml .= BBCode::convert($item['plink']);
}
}
}
- if (strstr($_SERVER['HTTP_USER_AGENT'], "AndStatus")) {
+ if (strstr(defaults($_SERVER, 'HTTP_USER_AGENT', ''), "AndStatus")) {
foreach ($images[0] as $orig) {
$body = str_replace($orig, "", $body);
}
{
$a = get_app();
- $name = $a->config['sitename'];
- $server = $a->get_hostname();
- $logo = System::baseUrl() . '/images/friendica-64.png';
- $email = $a->config['admin_email'];
- $closed = (($a->config['register_policy'] == REGISTER_CLOSED) ? 'true' : 'false');
- $private = ((Config::get('system', 'block_public')) ? 'true' : 'false');
- $textlimit = (string) (($a->config['max_import_size']) ? $a->config['max_import_size'] : 200000);
- if ($a->config['api_import_size']) {
- $textlimit = (string) $a->config['api_import_size'];
- }
- $ssl = ((Config::get('system', 'have_ssl')) ? 'true' : 'false');
- $sslserver = (($ssl === 'true') ? str_replace('http:', 'https:', System::baseUrl()) : '');
+ $name = Config::get('config', 'sitename');
+ $server = $a->get_hostname();
+ $logo = System::baseUrl() . '/images/friendica-64.png';
+ $email = Config::get('config', 'admin_email');
+ $closed = Config::get('config', 'register_policy') == REGISTER_CLOSED ? 'true' : 'false';
+ $private = Config::get('system', 'block_public') ? 'true' : 'false';
+ $textlimit = (string) Config::get('config', 'api_import_size', Config::get('config', 'max_import_size', 200000));
+ $ssl = Config::get('system', 'have_ssl') ? 'true' : 'false';
+ $sslserver = Config::get('system', 'have_ssl') ? str_replace('http:', 'https:', System::baseUrl()) : '';
$config = [
'site' => ['name' => $name,'server' => $server, 'theme' => 'default', 'path' => '',
*/
function api_direct_messages_new($type)
{
-
$a = get_app();
if (api_user() === false) {
throw new ForbiddenException();
}
- if (!x($_POST, "text") || (!x($_POST, "screen_name") && !x($_POST, "user_id"))) {
+ if (empty($_POST["text"]) || empty($_POST["screen_name"]) && empty($_POST["user_id"])) {
return;
}
$sender = api_get_user($a);
- if ($_POST['screen_name']) {
+ $recipient = null;
+ if (!empty($_POST['screen_name'])) {
$r = q(
"SELECT `id`, `nurl`, `network` FROM `contact` WHERE `uid`=%d AND `nick`='%s'",
intval(api_user()),
dbesc($_POST['screen_name'])
);
- // Selecting the id by priority, friendica first
- api_best_nickname($r);
+ if (DBM::is_result($r)) {
+ // Selecting the id by priority, friendica first
+ api_best_nickname($r);
- $recipient = api_get_user($a, $r[0]['nurl']);
+ $recipient = api_get_user($a, $r[0]['nurl']);
+ }
} else {
$recipient = api_get_user($a, $_POST['user_id']);
}
+ if (empty($recipient)) {
+ throw new NotFoundException('Recipient not found');
+ }
+
$replyto = '';
$sub = '';
if (x($_REQUEST, 'replyto')) {
throw new ForbiddenException();
}
// params
- $count = (x($_GET, 'count') ? $_GET['count'] : 20);
- $page = (x($_REQUEST, 'page') ? $_REQUEST['page'] -1 : 0);
+ $count = defaults($_GET, 'count', 20);
+ $page = defaults($_REQUEST, 'page', 1) - 1;
if ($page < 0) {
$page = 0;
}
- $since_id = (x($_REQUEST, 'since_id') ? $_REQUEST['since_id'] : 0);
- $max_id = (x($_REQUEST, 'max_id') ? $_REQUEST['max_id'] : 0);
+ $since_id = defaults($_REQUEST, 'since_id', 0);
+ $max_id = defaults($_REQUEST, 'max_id', 0);
- $user_id = (x($_REQUEST, 'user_id') ? $_REQUEST['user_id'] : "");
- $screen_name = (x($_REQUEST, 'screen_name') ? $_REQUEST['screen_name'] : "");
+ $user_id = defaults($_REQUEST, 'user_id', '');
+ $screen_name = defaults($_REQUEST, 'screen_name', '');
// caller user info
unset($_REQUEST["user_id"]);
if ($box=="sentbox") {
$sql_extra = "`mail`.`from-url`='" . dbesc($profile_url) . "'";
} elseif ($box == "conversation") {
- $sql_extra = "`mail`.`parent-uri`='" . dbesc($_GET["uri"]) . "'";
+ $sql_extra = "`mail`.`parent-uri`='" . dbesc(defaults($_GET, 'uri', '')) . "'";
} elseif ($box == "all") {
$sql_extra = "true";
} elseif ($box == "inbox") {
if ($type == "xml") {
$xmlnotes = [];
- foreach ($notes as $note) {
- $xmlnotes[] = ["@attributes" => $note];
+ if (!empty($notes)) {
+ foreach ($notes as $note) {
+ $xmlnotes[] = ["@attributes" => $note];
+ }
}
$notes = $xmlnotes;