From d9c6417f5dd6620d2fe2ff349b274ce745720c83 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 3 Jan 2018 19:29:52 -0500 Subject: [PATCH 1/7] Remove construct_acl_data() --- include/acl_selectors.php | 37 ------------------------------------- include/conversation.php | 1 - mod/bookmarklet.php | 1 - mod/display.php | 3 +-- mod/network.php | 7 ++----- mod/photos.php | 2 -- mod/profile.php | 1 - mod/settings.php | 1 - 8 files changed, 3 insertions(+), 50 deletions(-) diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 7a488ca40..9153207ef 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -386,43 +386,6 @@ function populate_acl($user = null, $show_jotnets = false) { } -function construct_acl_data(App $a, $user) { - // 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()) { diff --git a/include/conversation.php b/include/conversation.php index 97630a65f..3fd89d739 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1361,7 +1361,6 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false) // ACL permissions box '$acl' => $x['acl'], - '$acl_data' => $x['acl_data'], '$group_perms' => t('Post to Groups'), '$contact_perms' => t('Post to Contacts'), '$private' => t('Private post'), diff --git a/mod/bookmarklet.php b/mod/bookmarklet.php index 4696ed658..2e0d44971 100644 --- a/mod/bookmarklet.php +++ b/mod/bookmarklet.php @@ -37,7 +37,6 @@ function bookmarklet_content(App $a) 'bang' => '', 'visitor' => 'block', 'profile_uid' => local_user(), - 'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector 'title' => trim($_REQUEST["title"], "*"), 'content' => $content ); diff --git a/mod/display.php b/mod/display.php index 2d91d2d1a..755c8b922 100644 --- a/mod/display.php +++ b/mod/display.php @@ -313,9 +313,8 @@ function display_content(App $a, $update = false, $update_uid = 0) { 'bang' => '', 'visitor' => 'block', '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); diff --git a/mod/network.php b/mod/network.php index 65b15cb03..f54ee06f0 100644 --- a/mod/network.php +++ b/mod/network.php @@ -454,11 +454,10 @@ function networkFlatView(App $a, $update = 0) { 'bang' => '', 'visitor' => 'block', 'profile_uid' => local_user(), - 'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector 'content' => '', ); - $o .= status_editor($a,$x); + $o .= status_editor($a, $x); if (!Config::get('theme','hide_eventlist')) { $o .= get_birthdays(); @@ -605,12 +604,10 @@ function networkThreadedView(App $a, $update = 0) { 'bang' => (($group || $cid || $nets) ? '!' : ''), 'visitor' => 'block', '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); } // We don't have to deal with ACLs on this page. You're looking at everything diff --git a/mod/photos.php b/mod/photos.php index 3298e284a..54cfd7d4f 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1134,7 +1134,6 @@ function photos_content(App $a) '$uploadurl' => $ret['post_url'], // ACL permissions box - '$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector '$group_perms' => t('Show to Groups'), '$contact_perms' => t('Show to Contacts'), '$return_path' => $a->query_string, @@ -1482,7 +1481,6 @@ function photos_content(App $a) '$delete' => t('Delete Photo'), // ACL permissions box - '$acl_data' => construct_acl_data($a, $ph[0]), // For non-Javascript ACL selector '$group_perms' => t('Show to Groups'), '$contact_perms' => t('Show to Contacts'), '$return_path' => $a->query_string, diff --git a/mod/profile.php b/mod/profile.php index f439f754c..bebd28403 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -210,7 +210,6 @@ function profile_content(App $a, $update = 0) 'bang' => '', 'visitor' => $is_owner || $commvisitor ? 'block' : 'none', '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); diff --git a/mod/settings.php b/mod/settings.php index f9482289d..5a430e39d 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -1280,7 +1280,6 @@ function settings_content(App $a) { '$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''), // ACL permissions box - '$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector '$group_perms' => t('Show to Groups'), '$contact_perms' => t('Show to Contacts'), '$private' => t('Default Private Post'), From 3b4625ebdd892d0ed95fc685a0db4953521b8330 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 3 Jan 2018 20:54:35 -0500 Subject: [PATCH 2/7] Fix unused code in include/api --- include/api.php | 198 ++++++++++++++++++++---------------------------- 1 file changed, 84 insertions(+), 114 deletions(-) diff --git a/include/api.php b/include/api.php index e8e2295b8..6e7c369fa 100644 --- a/include/api.php +++ b/include/api.php @@ -304,7 +304,7 @@ function api_call(App $a) logger('API parameters: ' . print_r($_REQUEST, true)); $stamp = microtime(true); - $r = call_user_func($info['func'], $type); + $return = call_user_func($info['func'], $type); $duration = (float) (microtime(true) - $stamp); 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 * exception. This should not happend, throw a 500 @@ -363,27 +363,27 @@ function api_call(App $a) switch ($type) { case "xml": header("Content-Type: text/xml"); - return $r; break; case "json": header("Content-Type: application/json"); - foreach ($r as $rr) { + foreach ($return as $rr) { $json = json_encode($rr); } if (x($_GET, 'callback')) { $json = $_GET['callback'] . "(" . $json . ")"; } - return $json; + $return = $json; break; case "rss": header("Content-Type: application/rss+xml"); - return '' . "\n" . $r; + $return = '' . "\n" . $return; break; case "atom": header("Content-Type: application/atom+xml"); - return '' . "\n" . $r; + $return = '' . "\n" . $return; break; } + return $return; } } @@ -413,26 +413,25 @@ function api_error($type, $e) "code" => $e->httpcode . " " . $e->httpdesc, "request" => $a->query_string); - $ret = api_format_data('status', $type, array('status' => $error)); + $return = api_format_data('status', $type, array('status' => $error)); switch ($type) { case "xml": header("Content-Type: text/xml"); - return $ret; break; case "json": header("Content-Type: application/json"); - return json_encode($ret); + $return = json_encode($return); break; case "rss": header("Content-Type: application/rss+xml"); - return $ret; break; case "atom": header("Content-Type: application/atom+xml"); - return $ret; break; } + + return $return; } /** @@ -496,7 +495,6 @@ function api_get_user(App $a, $contact_id = null) $user = null; $extra_query = ""; $url = ""; - $nick = ""; 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')) { $user = dbesc($_GET['screen_name']); - $nick = $user; $extra_query = "AND `contact`.`nick` = '%s' "; if (api_user() !== false) { $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')) { $user = dbesc(normalise_link($_GET['profileurl'])); - $nick = $user; $extra_query = "AND `contact`.`nurl` = '%s' "; if (api_user() !== false) { $extra_query .= "AND `contact`.`uid`=".intval(api_user()); @@ -573,7 +569,6 @@ function api_get_user(App $a, $contact_id = null) } } else { $user = dbesc($user); - $nick = $user; $extra_query = "AND `contact`.`nick` = '%s' "; if (api_user() !== false) { $extra_query .= "AND `contact`.`uid`=" . intval(api_user()); @@ -1116,12 +1111,7 @@ function api_statuses_update($type) throw new ForbiddenException(); } - $user_info = api_get_user($a); - // convert $_POST array items to the form we use for web posts. - - // logger('api_post: ' . print_r($_POST,true)); - if (requestdata('htmlstatus')) { $txt = requestdata('htmlstatus'); if ((strpos($txt, '<') !== false) || (strpos($txt, '>') !== false)) { @@ -1284,12 +1274,10 @@ api_register_func('api/statuses/update_with_media', 'api_statuses_update', true, /** * Uploads an image to Friendica. * - * @param string $type Return type (atom, rss, xml, json) - * * @return array * @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(); @@ -1298,8 +1286,6 @@ function api_media_upload($type) throw new ForbiddenException(); } - $user_info = api_get_user($a); - if (!x($_FILES, 'media')) { // Output error throw new BadRequestException("No media."); @@ -1537,8 +1523,6 @@ function api_users_search($type) { $a = get_app(); - $page = (x($_REQUEST, 'page') ? $_REQUEST['page'] - 1 : 0); - $userlist = array(); if (x($_GET, 'q')) { @@ -1566,6 +1550,7 @@ function api_users_search($type) } else { throw new BadRequestException("User not found."); } + return api_format_data("users", $type, $userlist); } @@ -1748,7 +1733,7 @@ function api_statuses_home_timeline($type) $unseen = q("SELECT `id` FROM `item` WHERE `unseen` AND `id` IN (%s)", $idlist); 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,8 +2112,6 @@ function api_statuses_repeat($type) throw new ForbiddenException(); } - $user_info = api_get_user($a); - // params $id = intval($a->argv[3]); @@ -2207,8 +2190,6 @@ function api_statuses_destroy($type) throw new ForbiddenException(); } - $user_info = api_get_user($a); - // params $id = intval($a->argv[3]); @@ -2259,23 +2240,20 @@ function api_statuses_mentions($type) // params - $count = (x($_REQUEST, 'count') ? $_REQUEST['count'] : 20); - $page = (x($_REQUEST, 'page') ? $_REQUEST['page'] -1 : 0); - if ($page < 0) { - $page = 0; + $since_id = defaults($_REQUEST, 'since_id', 0); + $max_id = defaults($_REQUEST, 'max_id' , 0); + $count = defaults($_REQUEST, 'count' , 20); + $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 $myurl = System::baseUrl() . '/profile/'. $a->user['nickname']; $myurl = substr($myurl, strpos($myurl, '://') + 3); - //$myurl = str_replace(array('www.','.'),array('','\\.'),$myurl); $myurl = str_replace('www.', '', $myurl); - $diasp_url = str_replace('/profile/', '/u/', $myurl); if ($max_id > 0) { $sql_extra = ' AND `item`.`id` <= ' . intval($max_id); @@ -2751,8 +2729,6 @@ function api_get_attachments(&$body) */ function api_get_entitities(&$text, $bbcode) { - $a = get_app(); - $include_entities = strtolower(x($_REQUEST, 'include_entities') ? $_REQUEST['include_entities'] : "false"); if ($include_entities != "true") { @@ -2917,19 +2893,18 @@ function api_get_entitities(&$text, $bbcode) * * @return string */ -function api_format_items_embeded_images(&$item, $text) +function api_format_items_embeded_images($item, $text) { $text = preg_replace_callback( - "|data:image/([^;]+)[^=]+=*|m", - function ($match) use ($item) { - return System::baseUrl()."/display/".$item['guid']; + '|data:image/([^;]+)[^=]+=*|m', + function () use ($item) { + return System::baseUrl() . '/display/' . $item['guid']; }, $text ); return $text; } - /** * @brief return name as array * @@ -3034,54 +3009,53 @@ function api_format_items_activities(&$item, $type = "json") /** * @brief return data from profiles * - * @param array $profile array containing data from db table 'profile' - * @param string $type Known types are 'atom', 'rss', 'xml' and 'json' + * @param array $profile_row array containing data from db table 'profile' * @return array */ -function api_format_items_profiles(&$profile = null, $type = "json") +function api_format_items_profiles($profile_row) { - if ($profile != null) { - $profile = array('profile_id' => $profile['id'], - 'profile_name' => $profile['profile-name'], - 'is_default' => $profile['is-default'] ? true : false, - 'hide_friends'=> $profile['hide-friends'] ? true : false, - 'profile_photo' => $profile['photo'], - 'profile_thumb' => $profile['thumb'], - 'publish' => $profile['publish'] ? true : false, - 'net_publish' => $profile['net-publish'] ? true : false, - 'description' => $profile['pdesc'], - 'date_of_birth' => $profile['dob'], - 'address' => $profile['address'], - 'city' => $profile['locality'], - 'region' => $profile['region'], - 'postal_code' => $profile['postal-code'], - 'country' => $profile['country-name'], - 'hometown' => $profile['hometown'], - 'gender' => $profile['gender'], - 'marital' => $profile['marital'], - 'marital_with' => $profile['with'], - 'marital_since' => $profile['howlong'], - 'sexual' => $profile['sexual'], - 'politic' => $profile['politic'], - 'religion' => $profile['religion'], - 'public_keywords' => $profile['pub_keywords'], - 'private_keywords' => $profile['prv_keywords'], - 'likes' => bbcode(api_clean_plain_items($profile['likes']), false, false, 2, false), - 'dislikes' => bbcode(api_clean_plain_items($profile['dislikes']), false, false, 2, false), - 'about' => bbcode(api_clean_plain_items($profile['about']), false, false, 2, false), - 'music' => bbcode(api_clean_plain_items($profile['music']), false, false, 2, false), - 'book' => bbcode(api_clean_plain_items($profile['book']), false, false, 2, false), - 'tv' => bbcode(api_clean_plain_items($profile['tv']), false, false, 2, false), - 'film' => bbcode(api_clean_plain_items($profile['film']), false, false, 2, false), - 'interest' => bbcode(api_clean_plain_items($profile['interest']), false, false, 2, false), - 'romance' => bbcode(api_clean_plain_items($profile['romance']), false, false, 2, false), - 'work' => bbcode(api_clean_plain_items($profile['work']), false, false, 2, false), - 'education' => bbcode(api_clean_plain_items($profile['education']), false, false, 2, false), - 'social_networks' => bbcode(api_clean_plain_items($profile['contact']), false, false, 2, false), - 'homepage' => $profile['homepage'], - 'users' => null); - return $profile; - } + $profile = array( + 'profile_id' => $profile_row['id'], + 'profile_name' => $profile_row['profile-name'], + 'is_default' => $profile_row['is-default'] ? true : false, + 'hide_friends' => $profile_row['hide-friends'] ? true : false, + 'profile_photo' => $profile_row['photo'], + 'profile_thumb' => $profile_row['thumb'], + 'publish' => $profile_row['publish'] ? true : false, + 'net_publish' => $profile_row['net-publish'] ? true : false, + 'description' => $profile_row['pdesc'], + 'date_of_birth' => $profile_row['dob'], + 'address' => $profile_row['address'], + 'city' => $profile_row['locality'], + 'region' => $profile_row['region'], + 'postal_code' => $profile_row['postal-code'], + 'country' => $profile_row['country-name'], + 'hometown' => $profile_row['hometown'], + 'gender' => $profile_row['gender'], + 'marital' => $profile_row['marital'], + 'marital_with' => $profile_row['with'], + 'marital_since' => $profile_row['howlong'], + 'sexual' => $profile_row['sexual'], + 'politic' => $profile_row['politic'], + 'religion' => $profile_row['religion'], + 'public_keywords' => $profile_row['pub_keywords'], + 'private_keywords' => $profile_row['prv_keywords'], + 'likes' => bbcode(api_clean_plain_items($profile_row['likes']) , false, false, 2, false), + 'dislikes' => bbcode(api_clean_plain_items($profile_row['dislikes']) , false, false, 2, false), + 'about' => bbcode(api_clean_plain_items($profile_row['about']) , false, false, 2, false), + 'music' => bbcode(api_clean_plain_items($profile_row['music']) , false, false, 2, false), + 'book' => bbcode(api_clean_plain_items($profile_row['book']) , false, false, 2, false), + 'tv' => bbcode(api_clean_plain_items($profile_row['tv']) , false, false, 2, false), + 'film' => bbcode(api_clean_plain_items($profile_row['film']) , false, false, 2, false), + 'interest' => bbcode(api_clean_plain_items($profile_row['interest']) , false, false, 2, false), + 'romance' => bbcode(api_clean_plain_items($profile_row['romance']) , false, false, 2, false), + 'work' => bbcode(api_clean_plain_items($profile_row['work']) , 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_row['contact']) , false, false, 2, false), + 'homepage' => $profile_row['homepage'], + 'users' => null + ); + return $profile; } /** @@ -3541,11 +3515,10 @@ api_register_func('api/statusnet/version', 'api_statusnet_version', false); /** * * @param string $type Return type (atom, rss, xml, json) - * @param string $qtype * * @todo use api_format_data() to return data */ -function api_ff_ids($type, $qtype) +function api_ff_ids($type) { $a = get_app(); @@ -3553,9 +3526,7 @@ function api_ff_ids($type, $qtype) throw new ForbiddenException(); } - $user_info = api_get_user($a); - - $stringify_ids = (x($_REQUEST, 'stringify_ids') ? $_REQUEST['stringify_ids'] : false); + $stringify_ids = defaults($_REQUEST, 'stringify_ids', false); $r = q( "SELECT `pcontact`.`id` FROM `contact` @@ -3590,7 +3561,7 @@ function api_ff_ids($type, $qtype) */ function api_friends_ids($type) { - return api_ff_ids($type, 'friends'); + return api_ff_ids($type); } /** @@ -3603,7 +3574,7 @@ function api_friends_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 @@ -3930,10 +3901,9 @@ api_register_func('api/direct_messages', 'api_direct_messages_inbox', true); /** * Returns an OAuth Request Token. * - * @param string $type Return type (atom, rss, xml, json) * @see https://oauth.net/core/1.0/#auth_step1 */ -function api_oauth_request_token($type) +function api_oauth_request_token() { $oauth1 = new FKOAuth1(); try { @@ -4366,7 +4336,7 @@ function api_account_update_profile_image($type) throw new ForbiddenException(); } // input params - $profileid = (x($_REQUEST, 'profile_id') ? $_REQUEST['profile_id'] : 0); + $profileid = defaults($_REQUEST, 'profile_id', 0); // error if image data is missing if (!x($_FILES, 'image')) { @@ -4412,13 +4382,13 @@ function api_account_update_profile_image($type) } // change specified profile or all profiles to the new resource-id if ($is_default_profile) { - $r = q( + q( "UPDATE `photo` SET `profile` = 0 WHERE `profile` = 1 AND `resource-id` != '%s' AND `uid` = %d", dbesc($data['photo']['id']), intval(local_user()) ); - $r = q( + q( "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'] . '-5.' . $fileext), @@ -4426,7 +4396,7 @@ function api_account_update_profile_image($type) intval(local_user()) ); } else { - $r = q( + q( "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'] . '-5.' . $filetype), @@ -4438,7 +4408,7 @@ function api_account_update_profile_image($type) // 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 - $r = q( + q( "UPDATE `contact` SET `avatar-date` = '%s' WHERE `self` = 1 AND `uid` = %d", dbesc(datetime_convert()), intval(local_user()) @@ -4903,7 +4873,7 @@ function api_friendica_remoteauth() $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']) { $orig_id = $r['issued-id']; @@ -5503,7 +5473,7 @@ function api_friendica_group_create($type) intval($uid) ); if (count($contact)) { - $result = Group::addMember($gid, $cid); + Group::addMember($gid, $cid); } else { $erroraddinguser = true; $errorusers[] = $cid; @@ -5559,7 +5529,7 @@ function api_friendica_group_update($type) $found = ($user['cid'] == $cid ? true : false); } if (!$found) { - $ret = Group::removeMemberByName($uid, $name, $cid); + Group::removeMemberByName($uid, $name, $cid); } } @@ -5576,7 +5546,7 @@ function api_friendica_group_update($type) ); if (count($contact)) { - $result = Group::addMember($gid, $cid); + Group::addMember($gid, $cid); } else { $erroraddinguser = true; $errorusers[] = $cid; @@ -5880,7 +5850,7 @@ function api_friendica_profile_show($type) // loop through all returned profiles and retrieve data and users $k = 0; 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 $users = array(); From 659d637b5a277a6587c90102dfd4732caf675f8b Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 3 Jan 2018 21:04:52 -0500 Subject: [PATCH 3/7] Remove unused param in datetimesel() --- include/datetime.php | 22 ++++++++-------------- mod/events.php | 9 ++------- mod/profiles.php | 5 ----- 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/include/datetime.php b/include/datetime.php index cb2779979..76196936f 100644 --- a/include/datetime.php +++ b/include/datetime.php @@ -180,10 +180,6 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d function dob($dob) { 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') { $value = ''; } else { @@ -228,15 +224,14 @@ function dob($dob) { * * @return string Parsed HTML output. */ -function datesel($format, $min, $max, $default, $id = 'datepicker') { - return datetimesel($format, $min, $max, $default, '', $id, true, false, '', ''); +function datesel($min, $max, $default, $id = 'datepicker') +{ + return datetimesel($min, $max, $default, '', $id, true, false, '', ''); } /** * @brief Returns a time selector * - * @param string $format - * Format string, e.g. 'ymd' or 'mdy'. Not currently supported * @param $h * Already selected hour * @param $m @@ -246,15 +241,14 @@ function datesel($format, $min, $max, $default, $id = 'datepicker') { * * @return string Parsed HTML output. */ -function timesel($format, $h, $m, $id = 'timepicker') { - return datetimesel($format, new DateTime(), new DateTime(), new DateTime("$h:$m"), '', $id, false, true); +function timesel($h, $m, $id = 'timepicker') +{ + return datetimesel(new DateTime(), new DateTime(), new DateTime("$h:$m"), '', $id, false, true); } /** * @brief Returns a datetime selector. * - * @param string $format - * format string, e.g. 'ymd' or 'mdy'. Not currently supported * @param string $min * unix timestamp of minimum date * @param string $max @@ -278,8 +272,8 @@ function timesel($format, $h, $m, $id = 'timepicker') { * @todo Once browser support is better this could probably be replaced with * 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) $firstDay = PConfig::get(local_user(), 'system', 'first_day_of_week', 0); diff --git a/mod/events.php b/mod/events.php index eb804b5d6..0608e8679 100644 --- a/mod/events.php +++ b/mod/events.php @@ -475,11 +475,6 @@ function events_content(App $a) { $fhour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : 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' ; $perms = get_acl_permissions($orig_event); @@ -511,11 +506,11 @@ function events_content(App $a) { '$title' => t('Event details'), '$desc' => t('Starting date and Title are required.'), '$s_text' => t('Event Starts:') . ' *', - '$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_checked' => $n_checked, '$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_checked' => $a_checked, '$d_text' => t('Description:'), diff --git a/mod/profiles.php b/mod/profiles.php index 893f0d51e..cc01f74dd 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -655,11 +655,6 @@ function profiles_content(App $a) { $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); $tpl = get_markup_template("profile_edit.tpl"); $o .= replace_macros($tpl, array( From 722782d553a2681ea70cdf9f6ea8d603b897e05e Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 3 Jan 2018 21:05:55 -0500 Subject: [PATCH 4/7] Remove unused parameter in can_write_wall() --- include/like.php | 2 +- include/security.php | 5 ++--- mod/item.php | 2 +- mod/photos.php | 8 ++++---- mod/profile.php | 2 +- mod/subthread.php | 2 +- src/Object/Thread.php | 4 ++-- 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/include/like.php b/include/like.php index 8b8759c2f..793ea0421 100644 --- a/include/like.php +++ b/include/like.php @@ -85,7 +85,7 @@ function do_like($item_id, $verb) { $uid = local_user(); } - if (!can_write_wall($a, $uid)) { + if (!can_write_wall($uid)) { logger('like: unable to write on wall ' . $uid); return false; } diff --git a/include/security.php b/include/security.php index c443586c2..3cdfb4f28 100644 --- a/include/security.php +++ b/include/security.php @@ -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; @@ -174,8 +174,7 @@ function can_write_wall(App $a, $owner) } $uid = local_user(); - - if (($uid) && ($uid == $owner)) { + if ($uid == $owner) { return true; } diff --git a/mod/item.php b/mod/item.php index 1faef9601..feb0496a3 100644 --- a/mod/item.php +++ b/mod/item.php @@ -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 * 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) ; if (x($_REQUEST, 'return')) { goaway($return_path); diff --git a/mod/photos.php b/mod/photos.php index 54cfd7d4f..ab0ad7501 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1499,7 +1499,7 @@ function photos_content(App $a) $tpl = get_markup_template('photo_item.tpl'); $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'); $likebuttons = replace_macros($like_tpl, array( '$id' => $link_item['id'], @@ -1511,7 +1511,7 @@ function photos_content(App $a) } 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( '$return_path' => '', '$jsreload' => $return_url, @@ -1550,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']); } - 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( '$return_path' => '', '$jsreload' => $return_url, @@ -1623,7 +1623,7 @@ function photos_content(App $a) '$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( '$return_path' => '', '$jsreload' => $return_url, diff --git a/mod/profile.php b/mod/profile.php index bebd28403..ce2c5348d 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -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'] .= tagcloud_wall_widget(); - if (can_write_wall($a, $a->profile['profile_uid'])) { + if (can_write_wall($a->profile['profile_uid'])) { $x = array( 'is_owner' => $is_owner, 'allow_location' => ($is_owner || $commvisitor) && $a->profile['allow_location'], diff --git a/mod/subthread.php b/mod/subthread.php index a597b1698..9200c335e 100644 --- a/mod/subthread.php +++ b/mod/subthread.php @@ -32,7 +32,7 @@ function subthread_content(App $a) { $owner_uid = $item['uid']; - if(! can_write_wall($a,$owner_uid)) { + if(! can_write_wall($owner_uid)) { return; } diff --git a/src/Object/Thread.php b/src/Object/Thread.php index a03bae6e9..534095efb 100644 --- a/src/Object/Thread.php +++ b/src/Object/Thread.php @@ -60,11 +60,11 @@ class Thread extends BaseObject break; case 'profile': $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; case 'display': $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; case 'community': $this->profile_owner = local_user(); From 3b23f89ca257f972aa9c7beffdd308b1fd1b37e6 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 3 Jan 2018 21:12:19 -0500 Subject: [PATCH 5/7] Fix unused code in include - Fix local formatting - Remove unused variable - Fix unreached breaks - Remove commented out code - Add some documentation --- boot.php | 13 +--- include/acl_selectors.php | 5 +- include/bbcode.php | 3 - include/contact_widgets.php | 61 +++++++-------- include/conversation.php | 32 +++----- include/datetime.php | 9 +-- include/enotify.php | 57 +++++++------- include/event.php | 32 ++------ include/files.php | 32 ++++---- include/follow.php | 111 +++++++++++++++------------- include/html2plain.php | 135 ++++++++++++++++++---------------- include/identity.php | 5 +- include/items.php | 81 +++++++++----------- include/message.php | 96 ++++++++++++------------ include/network.php | 10 +-- include/plaintext.php | 36 +++++---- include/plugin.php | 11 +-- include/post_update.php | 2 +- include/profile_selectors.php | 13 ++-- include/queue_fn.php | 4 +- include/redir.php | 22 +++--- include/session.php | 4 +- include/tags.php | 2 +- include/text.php | 22 +++--- 24 files changed, 379 insertions(+), 419 deletions(-) diff --git a/boot.php b/boot.php index 2c4bce9c8..fbb08f619 100644 --- a/boot.php +++ b/boot.php @@ -697,11 +697,8 @@ function check_url(App $a) // and www.example.com vs example.com. // We will only change the url to an ip address if there is no existing setting - if (empty($url)) { - $url = 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()); + 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))) { + Config::set('system', 'url', System::baseUrl()); } return; @@ -711,7 +708,7 @@ function check_url(App $a) * @brief Automatic database updates * @param object $a App */ -function update_db(App $a) +function update_db() { $build = Config::get('system', 'build'); @@ -800,7 +797,6 @@ function run_update_function($x) Config::set('system', 'build', $x + 1); return true; } - return true; } /** @@ -1051,7 +1047,6 @@ function current_theme() if ($is_mobile) { if (isset($_SESSION['show-mobile']) && !$_SESSION['show-mobile']) { - $system_theme = $standard_system_theme; $theme_name = $standard_theme_name; } else { $system_theme = Config::get('system', 'mobile-theme', ''); @@ -1062,7 +1057,6 @@ function current_theme() if ($theme_name === '---') { // 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; if ($page_theme) { @@ -1071,7 +1065,6 @@ function current_theme() } } } else { - $system_theme = $standard_system_theme; $theme_name = $standard_theme_name; if ($page_theme) { diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 9153207ef..7441061db 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -744,11 +744,10 @@ function navbar_complete(App $a) { if (! $localsearch) { $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']) { - $t = 0; $j = json_decode($x['body'],true); - if ($j && $j['results']) { + if ($j && isset($j['results'])) { return $j['results']; } } diff --git a/include/bbcode.php b/include/bbcode.php index 261bdfcf6..87a8eaa9b 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -67,8 +67,6 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true) { } else { if ($simplehtml != 4) { $text = sprintf('', $data["type"]); - } else { - $span_end = ''; } $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] */ function bb_unspacefy_and_trim($st) { - $whole_match = $st[0]; $captured = $st[1]; $unspacefied = preg_replace("/\[ (.*?)\ ]/", "[$1]", $captured); return $unspacefied; diff --git a/include/contact_widgets.php b/include/contact_widgets.php index 9c44f4d15..55e119c3f 100644 --- a/include/contact_widgets.php +++ b/include/contact_widgets.php @@ -1,4 +1,5 @@ t('Add New Contact'), '$desc' => t('Enter address or web location'), @@ -20,10 +21,10 @@ function follow_widget($value = "") { '$value' => $value, '$follow' => t('Connect') )); - } -function findpeople_widget() { +function findpeople_widget() +{ $a = get_app(); $global_dir = Config::get('system', 'directory'); @@ -31,8 +32,8 @@ function findpeople_widget() { $x = PConfig::get(local_user(), 'system', 'invites_remaining'); if ($x || is_site_admin()) { $a->page['aside'] .= '' . $inv; + . tt('%d invitation available', '%d invitations available', $x) + . '' . $inv; } } @@ -49,12 +50,10 @@ function findpeople_widget() { '$directory' => t('View Global Directory'), '$global_dir' => $global_dir )); - } -function unavailable_networks() { - $network_filter = ""; - +function unavailable_networks() +{ $networks = array(); if (!plugin_enabled("appnet")) { @@ -100,10 +99,8 @@ function unavailable_networks() { return $network_filter; } -function networks_widget($baseurl, $selected = '') { - - $a = get_app(); - +function networks_widget($baseurl, $selected = '') +{ if (!local_user()) { return ''; } @@ -138,21 +135,21 @@ function networks_widget($baseurl, $selected = '') { '$all' => t('All Networks'), '$nets' => $nets, '$base' => $baseurl, - )); } -function fileas_widget($baseurl, $selected = '') { - if (! local_user()) { +function fileas_widget($baseurl, $selected = '') +{ + if (!local_user()) { return ''; } - if (! Feature::isEnabled(local_user(), 'filing')) { + if (!Feature::isEnabled(local_user(), 'filing')) { return ''; } $saved = PConfig::get(local_user(), 'system', 'filetags'); - if (! strlen($saved)) { + if (!strlen($saved)) { return; } @@ -173,20 +170,19 @@ function fileas_widget($baseurl, $selected = '') { '$all' => t('Everything'), '$terms' => $terms, '$base' => $baseurl, - )); } -function categories_widget($baseurl, $selected = '') { - +function categories_widget($baseurl, $selected = '') +{ $a = get_app(); - if (! Feature::isEnabled($a->profile['profile_uid'], 'categories')) { + if (!Feature::isEnabled($a->profile['profile_uid'], 'categories')) { return ''; } $saved = PConfig::get($a->profile['profile_uid'], 'system', 'filetags'); - if (! strlen($saved)) { + if (!strlen($saved)) { return; } @@ -208,14 +204,11 @@ function categories_widget($baseurl, $selected = '') { '$all' => t('Everything'), '$terms' => $terms, '$base' => $baseurl, - )); } -function common_friends_visitor_widget($profile_uid) { - - $a = get_app(); - +function common_friends_visitor_widget($profile_uid) +{ if (local_user() == $profile_uid) { return; } @@ -231,7 +224,7 @@ function common_friends_visitor_widget($profile_uid) { } } - if (! $cid) { + if (!$cid) { if (get_my_url()) { $r = dba::select('contact', array('id'), 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']; } else { $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']; + } } } } @@ -254,7 +248,8 @@ function common_friends_visitor_widget($profile_uid) { } else { $t = GContact::countCommonFriendsZcid($profile_uid, $zcid); } - if (! $t) { + + if (!$t) { return; } @@ -265,7 +260,7 @@ function common_friends_visitor_widget($profile_uid) { } 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(), '$uid' => $profile_uid, '$cid' => (($cid) ? $cid : '0'), diff --git a/include/conversation.php b/include/conversation.php index 3fd89d739..0ced60631 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -589,11 +589,8 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { $page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false); - - if ($update) { - $return_url = $_SESSION['return_url']; - } else { - $return_url = $_SESSION['return_url'] = $a->query_string; + if (!$update) { + $_SESSION['return_url'] = $a->query_string; } $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']; - $cmnt_tpl = get_markup_template('comment_item.tpl'); - $hide_comments_tpl = get_markup_template('hide_comments.tpl'); - $conv_responses = array( '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')) @@ -759,7 +753,6 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { $lock = false; $likebuttons = false; - $shareable = false; $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 * But for now, this array respects the old style, just in case */ - $threads = array(); foreach ($items as $item) { - if ($arr_blocked) { $blocked = false; foreach ($arr_blocked as $b) { @@ -883,7 +874,6 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { } $threads = $conv->getTemplateData($conv_responses); - if (!$threads) { logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG); $threads = array(); @@ -1000,7 +990,6 @@ function item_photo_menu($item) { $status_link = ''; $photos_link = ''; $posts_link = ''; - $network = ''; if ((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id'] && (! $item['self'])) { $sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;'; @@ -1026,7 +1015,6 @@ function item_photo_menu($item) { $status_link = $profile_link . '?url=status'; $photos_link = $profile_link . '?url=photos'; $profile_link = $profile_link . '?url=profile'; - $zurl = ''; } else { $profile_link = zrl($profile_link); } @@ -1113,7 +1101,6 @@ function builtin_activity_puller($item, &$conv_responses) { break; default: return; - break; } if ((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) { @@ -1655,22 +1642,25 @@ function get_responses($conv_responses, $response_verbs, $ob, $item) { return $ret; } -function get_response_button_text($v, $count) { +function get_response_button_text($v, $count) +{ switch ($v) { case 'like': - return tt('Like', 'Likes', $count, 'noun'); + $return = tt('Like', 'Likes', $count); break; case 'dislike': - return tt('Dislike', 'Dislikes', $count, 'noun'); + $return = tt('Dislike', 'Dislikes', $count); break; case 'attendyes': - return tt('Attending', 'Attending', $count, 'noun'); + $return = tt('Attending', 'Attending', $count); break; case 'attendno': - return tt('Not Attending', 'Not Attending', $count, 'noun'); + $return = tt('Not Attending', 'Not Attending', $count); break; case 'attendmaybe': - return tt('Undecided', 'Undecided', $count, 'noun'); + $return = tt('Undecided', 'Undecided', $count); break; } + + return $return; } diff --git a/include/datetime.php b/include/datetime.php index 76196936f..26f1debec 100644 --- a/include/datetime.php +++ b/include/datetime.php @@ -177,8 +177,9 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d * @param string $dob Date of Birth * @return string Formatted html */ -function dob($dob) { - list($year,$month,$day) = sscanf($dob,'%4d-%2d-%2d'); +function dob($dob) +{ + list($year, $month, $day) = sscanf($dob, '%4d-%2d-%2d'); if ($dob <= '0001-01-01') { $value = ''; @@ -211,8 +212,6 @@ function dob($dob) { /** * @brief Returns a date selector * - * @param string $format - * Format string, e.g. 'ymd' or 'mdy'. Not currently supported * @param string $min * Unix timestamp of minimum date * @param string $max @@ -613,7 +612,7 @@ function update_contact_birthdays() { $bdtext = sprintf( t('%s\'s birthday'), $rr['name']); $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' ) ", intval($rr['uid']), intval($rr['id']), diff --git a/include/enotify.php b/include/enotify.php index 99d5ea0ab..06f6a84e1 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -20,12 +20,11 @@ require_once 'include/html2bbcode.php'; source_link, activity, preamble, notify_flags, language, show_in_notification_page */ -function notification($params) { - +function notification($params) +{ $a = get_app(); // from here on everything is in the recipients language - push_lang($params['language']); $banner = t('Friendica Notification'); @@ -33,21 +32,22 @@ function notification($params) { $siteurl = System::baseUrl(true); $thanks = t('Thank You,'); $sitename = $a->config['sitename']; - if (!x($a->config['admin_name'])) + if (!x($a->config['admin_name'])) { $site_admin = sprintf(t('%s Administrator'), $sitename); - else + } else { $site_admin = sprintf(t('%1$s, %2$s Administrator'), $a->config['admin_name'], $sitename); - - $nickname = ""; + } $sender_name = $sitename; $hostname = $a->get_hostname(); - if (strpos($hostname, ':')) + if (strpos($hostname, ':')) { $hostname = substr($hostname, 0, strpos($hostname, ':')); + } $sender_email = $a->config['sender_email']; - if (empty($sender_email)) + if (empty($sender_email)) { $sender_email = t('noreply').'@'.$hostname; + } if ($params['type'] != SYSTEM_EMAIL) { $user = dba::select('user', array('nickname', 'page-flags'), @@ -77,21 +77,21 @@ function notification($params) { if (array_key_exists('item', $params)) { $title = $params['item']['title']; $body = $params['item']['body']; - } else + } else { $title = $body = ''; + } - // e.g. "your post", "David's photo", etc. - $possess_desc = t('%s '); - - if (isset($params['item']['id'])) + if (isset($params['item']['id'])) { $item_id = $params['item']['id']; - else + } else { $item_id = 0; + } - if (isset($params['parent'])) + if (isset($params['parent'])) { $parent_id = $params['parent']; - else + } else { $parent_id = 0; + } if ($params['type'] == NOTIFY_MAIL) { $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. // 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", intval(NOTIFY_TAGSELF), intval(NOTIFY_COMMENT), @@ -151,19 +149,21 @@ function notification($params) { $item_post_type); // "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]'), '[url='.$params['source_link'].']'.$params['source_name'].'[/url]', $itemlink, $p[0]['author-name'], $item_post_type); + } // "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]'), '[url='.$params['source_link'].']'.$params['source_name'].'[/url]', $itemlink, $item_post_type); + } // Some mail softwares relies on subject field for threading. // So, we cannot have different subjects for notifications of the same thread. @@ -413,7 +413,6 @@ function notification($params) { $body = $h['body']; - $sitelink = $h['sitelink']; $tsitelink = $h['tsitelink']; $hsitelink = $h['hsitelink']; $itemlink = $h['itemlink']; @@ -455,8 +454,7 @@ function notification($params) { } // create notification entry in DB - - $r = q("INSERT INTO `notify` (`hash`, `name`, `url`, `photo`, `date`, `uid`, `link`, `iid`, `parent`, `type`, `verb`, `otype`, `name_cache`) + 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')", dbesc($datarray['hash']), dbesc($datarray['name']), @@ -477,17 +475,15 @@ function notification($params) { dbesc($hash), intval($params['uid']) ); - if ($r) + if ($r) { $notify_id = $r[0]['id']; - else { + } else { pop_lang(); return False; } // 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 - - $p = null; $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_COMMENT), @@ -500,14 +496,12 @@ function notification($params) { } // only continue on if we stored the first one - if ($notify_id != $p[0]['id']) { pop_lang(); return False; } } - $itemlink = System::baseUrl().'/notify/view/'.$notify_id; $msg = replace_macros($epreamble, array('$itemlink' => $itemlink)); $msg_cache = format_notification_message($datarray['name_cache'], strip_tags(bbcode($msg))); @@ -539,7 +533,7 @@ function notification($params) { if (!$r) { 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)", intval($notify_id), intval($params['parent']), @@ -637,7 +631,6 @@ function notification($params) { )); // use the Emailer class to send the message - return Emailer::send( array( 'uid' => $params['uid'], diff --git a/include/event.php b/include/event.php index 584a70767..d1359512a 100644 --- a/include/event.php +++ b/include/event.php @@ -261,13 +261,10 @@ function event_store($arr) { $contact = $c[0]; } - // Existing event being modified. - if ($arr['id']) { // has the event actually changed? - $r = q("SELECT * FROM `event` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($arr['id']), intval($arr['uid']) @@ -275,7 +272,6 @@ function event_store($arr) { if ((! DBM::is_result($r)) || ($r[0]['edited'] === $arr['edited'])) { // Nothing has changed. Grab the item id to return. - $r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1", intval($arr['id']), intval($arr['uid']) @@ -284,8 +280,7 @@ function event_store($arr) { } // The event changed. Update it. - - $r = q("UPDATE `event` SET + q("UPDATE `event` SET `edited` = '%s', `start` = '%s', `finish` = '%s', @@ -309,6 +304,7 @@ function event_store($arr) { intval($arr['id']), intval($arr['uid']) ); + $r = q("SELECT * FROM `item` WHERE `event-id` = %d AND `uid` = %d LIMIT 1", intval($arr['id']), intval($arr['uid']) @@ -336,8 +332,7 @@ function event_store($arr) { return $item_id; } else { // New event. Store it. - - $r = q("INSERT INTO `event` (`uid`,`cid`,`guid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`, + 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`) VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", intval($arr['uid']), @@ -403,21 +398,7 @@ function event_store($arr) { $item_arr['object'] .= '' . "\n"; $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) { - //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", intval($event['id']), intval($arr['uid']), @@ -675,9 +656,12 @@ function process_events($arr) { * @param string $timezone The timezone of the user (not implemented yet). * * @return string Content according to selected export format. + * + * @todo Implement timezone support */ -function event_format_export ($events, $format = 'ical', $timezone) { - if (! ((is_array($events)) && count($events))) { +function event_format_export($events, $format = 'ical', $timezone) +{ + if (!((is_array($events)) && count($events))) { return; } diff --git a/include/files.php b/include/files.php index 0ac0078c8..64fe6a310 100644 --- a/include/files.php +++ b/include/files.php @@ -1,11 +1,11 @@ /ism", $message["file"], $files)) - foreach ($files[1] as $file) - $r = q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')", + if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) { + foreach ($files[1] as $file) { + 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)); + } + } } -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)); 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 !=''"); foreach ($messages as $message) { - echo $message["id"]."\n"; + echo $message["id"] . "\n"; create_files_from_item($message["id"]); } } diff --git a/include/follow.php b/include/follow.php index c9e81f7b3..9aedafb64 100644 --- a/include/follow.php +++ b/include/follow.php @@ -1,4 +1,5 @@ -1, 'success' => false,'message' => ''); +/** + * 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 + * dfrn_request page. + * + * Otherwise this can be used to bulk add statusnet contacts, twitter contacts, etc. + * + * Returns an array + * $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 + * @param int $uid + * @param string $url + * @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(); // 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.'); return $result; } @@ -96,7 +106,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') { return $result; } - if (! $url) { + if (!$url) { $result['message'] = t('Connect URL missing.'); return $result; } @@ -105,14 +115,14 @@ function new_contact($uid, $url, $interactive = false, $network = '') { call_hooks('follow', $arr); - if (x($arr['contact'],'name')) { + if (x($arr['contact'], 'name')) { $ret = $arr['contact']; } else { $ret = Probe::uri($url, $network, $uid, false); } 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; } @@ -128,7 +138,7 @@ function new_contact($uid, $url, $interactive = false, $network = '') { // 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('No compatible communication protocols or feeds were discovered.') . EOL; return $result; @@ -136,36 +146,36 @@ function new_contact($uid, $url, $interactive = false, $network = '') { // This extra param just confuses things, remove it 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? - 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; - if (! x($ret,'poll')) { + 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; + if (!x($ret, 'poll')) { $result['message'] .= t('No compatible communication protocols or feeds were discovered.') . EOL; } - if (! x($ret,'name')) { - $result['message'] .= t('An author or name was not found.') . EOL; + if (!x($ret, 'name')) { + $result['message'] .= t('An author or name was not found.') . EOL; } - if (! x($ret,'url')) { - $result['message'] .= t('No browser URL could be matched to this address.') . EOL; + if (!x($ret, 'url')) { + $result['message'] .= t('No browser URL could be matched to this address.') . EOL; } - if (strpos($url,'@') !== false) { - $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; + if (strpos($url, '@') !== false) { + $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; } 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; $ret['notify'] = ''; } - if (! $ret['notify']) { - $result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL; + if (!$ret['notify']) { + $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); @@ -189,10 +199,11 @@ function new_contact($uid, $url, $interactive = false, $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", intval($uid), dbesc(normalise_link($url)), dbesc($ret['network']) - ); + ); + } if (DBM::is_result($r)) { // 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); // 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` ) 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), @@ -235,13 +246,13 @@ function new_contact($uid, $url, $interactive = false, $network = '') { intval($uid) ); - if (! DBM::is_result($r)) { - $result['message'] .= t('Unable to retrieve contact information.') . EOL; + if (!DBM::is_result($r)) { + $result['message'] .= t('Unable to retrieve contact information.') . EOL; return $result; } $contact = $r[0]; - $contact_id = $r[0]['id']; + $contact_id = $r[0]['id']; $result['cid'] = $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) { $ret = Diaspora::sendShare($a->user, $contact); - logger('share returns: '.$ret); + logger('share returns: ' . $ret); } } diff --git a/include/html2plain.php b/include/html2plain.php index 72185de3b..aa634534a 100644 --- a/include/html2plain.php +++ b/include/html2plain.php @@ -1,15 +1,14 @@ 0) && strlen($line) > $wraplen) { $newline = trim(substr($line, 0, $pos)); - if ($level > 0) - $newline = str_repeat(">", $level).' '.$newline; + if ($level > 0) { + $newline = str_repeat(">", $level) . ' ' . $newline; + } - $newlines[] = $newline." "; - $line = substr($line, $pos+1); + $newlines[] = $newline . " "; + $line = substr($line, $pos + 1); } - } while ((strlen($line) > $wraplen) && !($oldline == $line)); - if ($level > 0) - $line = str_repeat(">", $level).' '.$line; + if ($level > 0) { + $line = str_repeat(">", $level) . ' ' . $line; + } $newlines[] = $line; - - return(implode($newlines, "\n")); + return implode($newlines, "\n"); } function quotelevel($message, $wraplength = 75) @@ -49,62 +49,72 @@ function quotelevel($message, $wraplength = 75) $newlines = array(); $level = 0; - foreach ($lines as $line) {; + foreach ($lines as $line) { $line = trim($line); $startquote = false; - while (strpos("*".$line, '[quote]') > 0) { + while (strpos("*" . $line, '[quote]') > 0) { $level++; $pos = strpos($line, '[quote]'); - $line = substr($line, 0, $pos).substr($line, $pos+7); + $line = substr($line, 0, $pos) . substr($line, $pos + 7); $startquote = true; } $currlevel = $level; - while (strpos("*".$line, '[/quote]') > 0) { + while (strpos("*" . $line, '[/quote]') > 0) { $level--; - if ($level < 0) + if ($level < 0) { $level = 0; + } $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); + } } - return(implode($newlines, "\n")); + + return implode($newlines, "\n"); } -function collecturls($message) { +function collecturls($message) +{ $pattern = '/(.*?)<\/a>/is'; preg_match_all($pattern, $message, $result, PREG_SET_ORDER); $urls = array(); foreach ($result as $treffer) { - $ignore = false; // A list of some links that should be ignored $list = array("/user/", "/tag/", "/group/", "/profile/", "/search?search=", "/search?tag=", "mailto:", "/u/", "/node/", - "//facebook.com/profile.php?id=", "//plus.google.com/", "//twitter.com/"); - foreach ($list as $listitem) - if (strpos($treffer[1], $listitem) !== false) + "//facebook.com/profile.php?id=", "//plus.google.com/", "//twitter.com/"); + foreach ($list as $listitem) { + if (strpos($treffer[1], $listitem) !== false) { $ignore = true; + } + } - if ((strpos($treffer[1], "//twitter.com/") !== false) && (strpos($treffer[1], "/status/") !== false)) - $ignore = false; + if ((strpos($treffer[1], "//twitter.com/") !== false) && (strpos($treffer[1], "/status/") !== false)) { + $ignore = false; + } - if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/posts") !== false)) - $ignore = false; + if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/posts") !== false)) { + $ignore = false; + } - if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/photos") !== false)) - $ignore = false; + if ((strpos($treffer[1], "//plus.google.com/") !== false) && (strpos($treffer[1], "/photos") !== false)) { + $ignore = false; + } - if (!$ignore) + if (!$ignore) { $urls[$treffer[1]] = $treffer[1]; + } } - return($urls); + + return $urls; } function html2plain($html, $wraplength = 75, $compact = false) @@ -140,20 +150,21 @@ function html2plain($html, $wraplength = 75, $compact = false) // MyBB-Auszeichnungen /* - node2bbcode($doc, 'span', array('style'=>'text-decoration: underline;'), '_', '_'); - node2bbcode($doc, 'span', array('style'=>'font-style: italic;'), '/', '/'); - node2bbcode($doc, 'span', array('style'=>'font-weight: bold;'), '*', '*'); + node2bbcode($doc, 'span', array('style'=>'text-decoration: underline;'), '_', '_'); + node2bbcode($doc, 'span', array('style'=>'font-style: italic;'), '/', '/'); + node2bbcode($doc, 'span', array('style'=>'font-weight: bold;'), '*', '*'); - node2bbcode($doc, 'strong', array(), '*', '*'); - node2bbcode($doc, 'b', array(), '*', '*'); - node2bbcode($doc, 'i', array(), '/', '/'); - node2bbcode($doc, 'u', array(), '_', '_'); - */ + node2bbcode($doc, 'strong', array(), '*', '*'); + node2bbcode($doc, 'b', array(), '*', '*'); + node2bbcode($doc, 'i', array(), '/', '/'); + node2bbcode($doc, 'u', array(), '_', '_'); + */ - if ($compact) + if ($compact) { node2bbcode($doc, 'blockquote', array(), "»", "«"); - else + } else { node2bbcode($doc, 'blockquote', array(), '[quote]', "[/quote]\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, '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, 'td', array(), "\t", ""); @@ -184,12 +195,13 @@ function html2plain($html, $wraplength = 75, $compact = false) //node2bbcode($doc, 'img', array('alt'=>'/(.+)/'), '$1', ''); //node2bbcode($doc, 'img', array('title'=>'/(.+)/'), '$1', ''); //node2bbcode($doc, 'img', array(), '', ''); - if (!$compact) - node2bbcode($doc, 'img', array('src'=>'/(.+)/'), ' [img]$1', '[/img] '); - else - node2bbcode($doc, 'img', array('src'=>'/(.+)/'), ' ', ' '); + if (!$compact) { + node2bbcode($doc, 'img', array('src' => '/(.+)/'), ' [img]$1', '[/img] '); + } else { + node2bbcode($doc, 'img', array('src' => '/(.+)/'), ' ', ' '); + } - node2bbcode($doc, 'iframe', array('src'=>'/(.+)/'), ' $1 ', '', true); + node2bbcode($doc, 'iframe', array('src' => '/(.+)/'), ' $1 ', '', true); $message = $doc->saveHTML(); @@ -200,7 +212,7 @@ function html2plain($html, $wraplength = 75, $compact = false) // was ersetze ich da? // Irgendein stoerrisches UTF-Zeug - $message = str_replace(chr(194).chr(160), ' ', $message); + $message = str_replace(chr(194) . chr(160), ' ', $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'); - if (!$compact && ($message != "")) { - $counter = 1; - foreach ($urls as $id=>$url) - if ($url != "") - if (strpos($message, $url) === false) - $message .= "\n".$url." "; - //$message .= "\n[".($counter++)."] ".$url; + if (!$compact && ($message != '')) { + foreach ($urls as $id => $url) { + if ($url != '' && strpos($message, $url) === false) { + $message .= "\n" . $url . ' '; + } + } } $message = str_replace("\n«", "«\n", $message); @@ -231,5 +242,5 @@ function html2plain($html, $wraplength = 75, $compact = false) $message = quotelevel(trim($message), $wraplength); - return(trim($message)); + return trim($message); } diff --git a/include/identity.php b/include/identity.php index d78935778..6c9627a1d 100644 --- a/include/identity.php +++ b/include/identity.php @@ -230,7 +230,6 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) $o = ''; $location = false; - $address = false; // This function can also use contact information in $profile $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; 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']); @@ -551,10 +550,8 @@ function get_birthdays() $cids[] = $rr['cid']; $today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false); - $sparkle = ''; $url = $rr['url']; if ($rr['network'] === NETWORK_DFRN) { - $sparkle = ' sparkle'; $url = System::baseUrl() . '/redir/' . $rr['cid']; } diff --git a/include/items.php b/include/items.php index 8f15f9479..6000a851e 100644 --- a/include/items.php +++ b/include/items.php @@ -37,13 +37,20 @@ function construct_verb($item) { /* 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(); // If the length of the body, including the embedded images, is smaller @@ -55,7 +62,6 @@ function limit_body_size($body) { $orig_body = $body; $new_body = ''; $textlen = 0; - $max_found = false; $img_start = strpos($orig_body, '[img'); $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) { 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); - $textlen = $maxlen; } } else { logger('limit_body_size: the text size with embedded images extracted did not violate the limit', LOGGER_DEBUG); $new_body = $new_body . $orig_body; - $textlen += strlen($orig_body); } return $new_body; @@ -169,12 +173,6 @@ function add_page_info_data($data) { return ""; } - if (sizeof($data["images"]) > 0) { - $preview = $data["images"][0]; - } else { - $preview = ""; - } - // Escape some bad characters $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)); @@ -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); $u = q("SELECT `nickname` FROM `user` WHERE `uid` = %d", intval($arr['uid'])); if (DBM::is_result($u)) { - $a = get_app(); $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); 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 - $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['parent'] = $parent_id; @@ -1205,8 +1202,6 @@ function item_body_set_hashtags(&$item) { // Otherwise there could be problems with hashtags like #test and #test2 rsort($tags); - $a = get_app(); - $URLSearchString = "^\[\]"; // 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) { if ($contact['id'] == $item['contact-id']) { return $contact; - break; // NOTREACHED } } return false; @@ -1327,16 +1321,13 @@ function get_item_contact($item, $contacts) { * @param int $item_id * @return bool true if item was deleted, else false */ -function tag_deliver($uid, $item_id) { - - $a = get_app(); - +function tag_deliver($uid, $item_id) +{ $mention = false; $u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($uid) ); - if (! DBM::is_result($u)) { return; } @@ -1344,7 +1335,6 @@ function tag_deliver($uid, $item_id) { $community_page = (($u[0]['page-flags'] == PAGE_COMMUNITY) ? true : false); $prvgroup = (($u[0]['page-flags'] == PAGE_PRVGROUP) ? true : false); - $i = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($item_id), intval($uid) @@ -1674,15 +1664,13 @@ function new_follower($importer, $contact, $datarray, $item, $sharing = false) { if (is_array($contact)) { if (($contact['network'] == NETWORK_OSTATUS && $contact['rel'] == CONTACT_IS_SHARING) || ($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'])); } // send email notification to owner? } else { - // create contact record - - $r = q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`, + q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `name`, `nick`, `photo`, `network`, `rel`, `blocked`, `readonly`, `pending`, `writable`) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, 0, 0, 1, 1)", intval($importer['uid']), @@ -1695,6 +1683,7 @@ function new_follower($importer, $contact, $datarray, $item, $sharing = false) { dbesc(NETWORK_OSTATUS), intval(CONTACT_IS_FOLLOWER) ); + $r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `pending` = 1 LIMIT 1", intval($importer['uid']), 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", intval($importer['uid']) ); - if (DBM::is_result($r) && !in_array($r[0]['page-flags'], array(PAGE_SOAPBOX, PAGE_FREELOVE, PAGE_COMMUNITY))) { - // create notification $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))) { - $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']), 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); 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); @@ -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; } - $a = get_app(); - 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; $new_body = ''; @@ -1826,19 +1819,18 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) { $img_start = strpos($orig_body, '[img'); $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); - 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 $image = substr($orig_body, $img_start + $img_st_close, $img_len); logger('fix_private_photos: found photo ' . $image, LOGGER_DEBUG); - - if (stristr($image , $site . '/photo/')) { + if (stristr($image, $site . '/photo/')) { // Only embed locally hosted photos $replace = false; $i = basename($image); - $i = str_replace(array('.jpg', '.png', '.gif'),array('', '',''), $i); + $i = str_replace(array('.jpg', '.png', '.gif'), array('', '', ''), $i); $x = strpos($i, '-'); if ($x) { @@ -1848,7 +1840,6 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) { dbesc($i), intval($res), intval($uid) - ); if (DBM::is_result($r)) { /* @@ -2161,7 +2152,7 @@ function drop_item($id, $interactive = true) { logger('delete item: ' . $item['id'], LOGGER_DEBUG); // 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()), array('id' => $item['id'])); diff --git a/include/message.php b/include/message.php index e49647b6e..3d73b3547 100644 --- a/include/message.php +++ b/include/message.php @@ -7,29 +7,32 @@ use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Database\DBM; -function send_message($recipient=0, $body='', $subject='', $replyto=''){ - +function send_message($recipient = 0, $body = '', $subject = '', $replyto = '') +{ $a = get_app(); - if (! $recipient) return -1; + if (!$recipient) { + return -1; + } - if (! strlen($subject)) + if (!strlen($subject)) { $subject = t('[no subject]'); + } $me = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1", intval(local_user()) ); $contact = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($recipient), - intval(local_user()) + intval($recipient), + intval(local_user()) ); - if (! (count($me) && (count($contact)))) { + if (!(count($me) && (count($contact)))) { return -2; } $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; @@ -38,51 +41,50 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ if (strlen($replyto)) { $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()), dbesc($replyto), dbesc($replyto) ); - if (DBM::is_result($r)) + if (DBM::is_result($r)) { $convid = $r[0]['convid']; + } } - if (! $convid) { - + if (!$convid) { // create a new conversation - - $recip_host = substr($contact[0]['url'],strpos($contact[0]['url'],'://')+3); - $recip_host = substr($recip_host,0,strpos($recip_host,'/')); + $recip_host = substr($contact[0]['url'], strpos($contact[0]['url'], '://') + 3); + $recip_host = substr($recip_host, 0, strpos($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); - $convuri = $recip_handle.':'.$conv_guid; + $convuri = $recip_handle . ':' . $conv_guid; $handles = $recip_handle . ';' . $sender_handle; $fields = array('uid' => local_user(), 'guid' => $conv_guid, 'creator' => $sender_handle, - 'created' => datetime_convert(), 'updated' => datetime_convert(), - 'subject' => $subject, 'recips' => $handles); - $r = dba::insert('conv', $fields); + 'created' => datetime_convert(), 'updated' => datetime_convert(), + 'subject' => $subject, 'recips' => $handles); + dba::insert('conv', $fields); $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']; + } } - if (! $convid) { + if (!$convid) { logger('send message: conversation not found.'); return -4; } - if (! strlen($replyto)) { + if (!strlen($replyto)) { $replyto = $convuri; } - - $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`) VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s' )", intval(local_user()), @@ -107,8 +109,9 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ dbesc($uri), intval(local_user()) ); - if (DBM::is_result($r)) + if (DBM::is_result($r)) { $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. * */ - $match = null; - - if (preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) { + if (preg_match_all("/\[img\](.*?)\[\/img\]/", $body, $match)) { $images = $match[1]; if (count($images)) { foreach ($images as $image) { - if (! stristr($image,System::baseUrl() . '/photo/')) { + if (!stristr($image, System::baseUrl() . '/photo/')) { continue; } - $image_uri = substr($image,strrpos($image,'/') + 1); - $image_uri = substr($image_uri,0, strpos($image_uri,'-')); - $r = q("UPDATE `photo` SET `allow_cid` = '%s' + $image_uri = substr($image, strrpos($image, '/') + 1); + $image_uri = substr($image_uri, 0, strpos($image_uri, '-')); + q("UPDATE `photo` SET `allow_cid` = '%s' WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ", dbesc('<' . $recipient . '>'), dbesc($image_uri), @@ -150,46 +151,42 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){ } else { return -3; } - } -function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){ - - if (! $recipient) { +function send_wallmessage($recipient = '', $body = '', $subject = '', $replyto = '') +{ + if (!$recipient) { return -1; } - if (! strlen($subject)) { + if (!strlen($subject)) { $subject = t('[no subject]'); } $guid = get_guid(32); - $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; - - $convid = 0; - $reply = false; + $uri = 'urn:X-dfrn:' . System::baseUrl() . ':' . local_user() . ':' . $guid; $me = Probe::uri($replyto); - if (! $me['name']) { + if (!$me['name']) { return -2; } $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_host = substr($replyto,strpos($replyto,'://')+3); - $sender_host = substr($sender_host,0,strpos($sender_host,'/')); + $sender_host = substr($replyto, strpos($replyto, '://') + 3); + $sender_host = substr($sender_host, 0, strpos($sender_host, '/')); $sender_handle = $sender_nick . '@' . $sender_host; $handles = $recip_handle . ';' . $sender_handle; $fields = array('uid' => $recipient['uid'], 'guid' => $conv_guid, 'creator' => $sender_handle, - 'created' => datetime_convert(), 'updated' => datetime_convert(), - 'subject' => $subject, 'recips' => $handles); - $r = dba::insert('conv', $fields); + 'created' => datetime_convert(), 'updated' => datetime_convert(), + 'subject' => $subject, 'recips' => $handles); + dba::insert('conv', $fields); $r = dba::select('conv', array('id'), array('guid' => $conv_guid, 'uid' => $recipient['uid']), array('limit' => 1)); if (!DBM::is_result($r)) { @@ -221,5 +218,4 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){ ); return 0; - } diff --git a/include/network.php b/include/network.php index be5519d5c..3e5e15d28 100644 --- a/include/network.php +++ b/include/network.php @@ -232,8 +232,6 @@ function z_fetch_url($url, $binary = false, &$redirects = 0, $opts = array()) $a->set_curl_code($http_code); $a->set_curl_content_type($curl_info['content_type']); - $body = substr($s, strlen($header)); - $rc = intval($http_code); $ret['return_code'] = $rc; $ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false); @@ -680,8 +678,6 @@ function scale_external_images($srctext, $include_link = true, $scale_replace = $include_link = false; } - $a = get_app(); - // Picture addresses can contain special characters $s = htmlspecialchars_decode($srctext); @@ -855,7 +851,6 @@ function original_url($url, $depth = 1, $fetchbody = false) $stamp1 = microtime(true); - $siteinfo = array(); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); @@ -864,7 +859,7 @@ function original_url($url, $depth = 1, $fetchbody = false) curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, $a->get_useragent()); - $header = curl_exec($ch); + curl_exec($ch); $curl_info = @curl_getinfo($ch); $http_code = $curl_info['http_code']; curl_close($ch); @@ -936,7 +931,6 @@ function original_url($url, $depth = 1, $fetchbody = false) if (@$attr["http-equiv"] == 'refresh') { $path = $attr["content"]; $pathinfo = explode(";", $path); - $content = ""; foreach ($pathinfo as $value) { if (substr(strtolower($value), 0, 4) == "url=") { return(original_url(substr($value, 4), ++$depth)); @@ -945,7 +939,7 @@ function original_url($url, $depth = 1, $fetchbody = false) } } - return($url); + return $url; } function short_link($url) diff --git a/include/plaintext.php b/include/plaintext.php index 39dcc9ecd..acc35869e 100644 --- a/include/plaintext.php +++ b/include/plaintext.php @@ -292,30 +292,38 @@ function get_attached_data($body, $item = array()) { return $post; } -function shortenmsg($msg, $limit, $twitter = false) { - /// @TODO - /// For Twitter URLs aren't shortened, but they have to be calculated as if. - +/** + * Shortens message + * + * @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); $msg = ""; $recycle = html_entity_decode("♲ ", ENT_QUOTES, 'UTF-8'); $ellipsis = html_entity_decode("…", ENT_QUOTES, 'UTF-8'); - foreach ($lines AS $row=>$line) { - if (iconv_strlen(trim($msg."\n".$line), "UTF-8") <= $limit) - $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))) - $msg = iconv_substr(iconv_substr(trim($msg."\n".$line), 0, $limit, "UTF-8"), 0, -3, "UTF-8").$ellipsis; - else + foreach ($lines AS $row => $line) { + if (iconv_strlen(trim($msg . "\n" . $line), "UTF-8") <= $limit) { + $msg = trim($msg . "\n" . $line); + } 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; + } else { break; + } } - return($msg); + + return $msg; } /** * @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 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? @@ -324,7 +332,7 @@ function shortenmsg($msg, $limit, $twitter = false) { * * @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 $URLSearchString = "^\[\]"; diff --git a/include/plugin.php b/include/plugin.php index 276c36bd2..34f8c1371 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -182,14 +182,15 @@ function load_hooks() { * @param string $name of the hook to call * @param string|array &$data to transmit to the callback handler */ -function call_hooks($name, &$data = null) { - $stamp1 = microtime(true); - +function call_hooks($name, &$data = null) +{ $a = get_app(); - if (is_array($a->hooks) && array_key_exists($name, $a->hooks)) - foreach ($a->hooks[$name] as $hook) + if (is_array($a->hooks) && array_key_exists($name, $a->hooks)) { + foreach ($a->hooks[$name] as $hook) { call_single_hook($a, $name, $hook, $data); + } + } } /** diff --git a/include/post_update.php b/include/post_update.php index 0d223709e..fd72d888e 100644 --- a/include/post_update.php +++ b/include/post_update.php @@ -144,7 +144,7 @@ function post_update_1194() { 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), dbesc(NETWORK_DFRN), dbesc(NETWORK_DIASPORA), dbesc(NETWORK_OSTATUS)); diff --git a/include/profile_selectors.php b/include/profile_selectors.php index af6c0d96c..9e9dee025 100644 --- a/include/profile_selectors.php +++ b/include/profile_selectors.php @@ -16,7 +16,7 @@ function gender_selector($current="",$suffix="") { } $o .= ''; return $o; -} +} function sexpref_selector($current="",$suffix="") { $o = ''; @@ -34,16 +34,17 @@ function sexpref_selector($current="",$suffix="") { } $o .= ''; return $o; -} +} -function marital_selector($current="",$suffix="") { +function marital_selector($current = "") +{ $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); - $o .= "'; foreach ($select as $selection) { if ($selection !== 'NOTRANSLATION') { $selected = (($selection == $current) ? ' selected="selected" ' : ''); @@ -52,4 +53,4 @@ function marital_selector($current="",$suffix="") { } $o .= ''; return $o; -} +} diff --git a/include/queue_fn.php b/include/queue_fn.php index c4ab229ae..a9e052201 100644 --- a/include/queue_fn.php +++ b/include/queue_fn.php @@ -24,8 +24,6 @@ function remove_queue_item($id) { * @return bool The communication with this contact has currently problems */ function was_recently_delayed($cid) { - $was_delayed = false; - // Are there queue entries that were recently added? $r = q("SELECT `id` FROM `queue` WHERE `cid` = %d 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; } - $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 ", intval($cid) ); diff --git a/include/redir.php b/include/redir.php index 060d0e9bf..dac03f92c 100644 --- a/include/redir.php +++ b/include/redir.php @@ -4,18 +4,18 @@ use Friendica\App; use Friendica\Core\System; use Friendica\Database\DBM; -function auto_redir(App $a, $contact_nick) { - +function auto_redir(App $a, $contact_nick) +{ // prevent looping - - if (x($_REQUEST,'redir') && intval($_REQUEST['redir'])) + if (x($_REQUEST,'redir') && intval($_REQUEST['redir'])) { return; + } - if ((! $contact_nick) || ($contact_nick === $a->user['nickname'])) + if ((! $contact_nick) || ($contact_nick === $a->user['nickname'])) { return; + } if (local_user()) { - // 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 // 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(); $domain_st = strpos($baseurl, "://"); - if ($domain_st === false) + if ($domain_st === false) { return; + } $baseurl = substr($baseurl, $domain_st + 3); $nurl = normalise_link($baseurl); @@ -39,7 +40,6 @@ function auto_redir(App $a, $contact_nick) { dbesc($baseurl), dbesc($nurl) ); - if ((! DBM::is_result($r)) || $r[0]['id'] == remote_user()) { return; } @@ -51,14 +51,13 @@ function auto_redir(App $a, $contact_nick) { intval(local_user()), dbesc($baseurl) ); - if (! DBM::is_result($r)) { return; } $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']) { $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 // 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; + } $sec = random_string(); diff --git a/include/session.php b/include/session.php index 66df498fe..b1619e90f 100644 --- a/include/session.php +++ b/include/session.php @@ -9,7 +9,7 @@ use Friendica\Database\DBM; $session_exists = 0; $session_expire = 180000; -function ref_session_open($s, $n) +function ref_session_open() { return true; } @@ -109,7 +109,7 @@ function ref_session_destroy($id) return true; } -function ref_session_gc($expire) +function ref_session_gc() { dba::delete('session', array("`expire` < ?", time())); return true; diff --git a/include/tags.php b/include/tags.php index 584ed30e5..50fe1e490 100644 --- a/include/tags.php +++ b/include/tags.php @@ -97,7 +97,7 @@ function create_tags_from_item($itemid) $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)", 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)); diff --git a/include/text.php b/include/text.php index 5a24c68ed..0b763d687 100644 --- a/include/text.php +++ b/include/text.php @@ -1003,7 +1003,6 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { $redir = false; if ($redirect) { - $a = get_app(); $redirect_url = 'redir/' . $contact['id']; if (local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) { $redir = true; @@ -1041,8 +1040,6 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { * @param boolean $savedsearch show save search button */ function search($s, $id = 'search-box', $url = 'search', $save = false, $aside = true) { - $a = get_app(); - $values = array( '$s' => htmlspecialchars($s), '$id' => $id, @@ -1471,9 +1468,8 @@ function prepare_text($text) { * ] * ] */ -function get_cats_and_terms($item) { - - $a = get_app(); +function get_cats_and_terms($item) +{ $categories = 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) { require_once "include/files.php"; - $result = false; - if (! intval($uid)) + if (! intval($uid)) { return false; + } + $r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($item), intval($uid) @@ -1931,9 +1928,9 @@ function file_tag_save_file($uid, $item, $file) { function file_tag_unsave_file($uid, $item, $file, $cat = false) { require_once "include/files.php"; - $result = false; - if (! intval($uid)) + if (! intval($uid)) { return false; + } if ($cat == true) { $pattern = '<' . file_tag_encode($file) . '>' ; @@ -1943,7 +1940,6 @@ function file_tag_unsave_file($uid, $item, $file, $cat = false) { $termtype = TERM_FILE; } - $r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($item), intval($uid) @@ -1964,8 +1960,8 @@ function file_tag_unsave_file($uid, $item, $file, $cat = false) { dbesc($file), intval(TERM_OBJ_POST), intval($termtype), - intval($uid)); - + intval($uid) + ); if (!DBM::is_result($r)) { $saved = PConfig::get($uid, 'system', 'filetags'); PConfig::set($uid, 'system', 'filetags', str_replace($pattern, '', $saved)); From 35a18f68255f0b37b0109de4e6479cbf4312fc6e Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 4 Jan 2018 09:51:05 -0500 Subject: [PATCH 6/7] Fix unused code in include (second pass) --- boot.php | 2 +- include/acl_selectors.php | 31 ++++++++++--------------------- include/api.php | 7 +------ include/enotify.php | 2 +- include/html2plain.php | 2 +- include/items.php | 6 +++--- include/message.php | 2 +- 7 files changed, 18 insertions(+), 34 deletions(-) diff --git a/boot.php b/boot.php index fbb08f619..5607260d9 100644 --- a/boot.php +++ b/boot.php @@ -676,7 +676,7 @@ function check_db($via_worker) if ($build != DB_UPDATE_VERSION) { // When we cannot execute the database update via the worker, we will do it directly if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) { - update_db(get_app()); + update_db(); } } } diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 7441061db..02ab95bb1 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -386,22 +386,20 @@ function populate_acl($user = null, $show_jotnets = false) { } -function acl_lookup(App $a, $out_type = 'json') { - +function acl_lookup(App $a, $out_type = 'json') +{ if (!local_user()) { return ''; } - $start = (x($_REQUEST,'start') ? $_REQUEST['start'] : 0); - $count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100); - $search = (x($_REQUEST,'search') ? $_REQUEST['search'] : ""); - $type = (x($_REQUEST,'type') ? $_REQUEST['type'] : ""); - $mode = (x($_REQUEST,'smode') ? $_REQUEST['smode'] : ""); - $conv_id = (x($_REQUEST,'conversation') ? $_REQUEST['conversation'] : null); + $start = defaults($_REQUEST, 'start' , 0); + $count = defaults($_REQUEST, 'count' , 100); + $search = defaults($_REQUEST, 'search' , ''); + $type = defaults($_REQUEST, 'type' , ''); + $conv_id = defaults($_REQUEST, 'conversation', null); // For use with jquery.textcomplete for private mail completion - - if (x($_REQUEST, 'query') && strlen($_REQUEST['query'])) { + if (x($_REQUEST, 'query')) { if (! $type) { $type = 'm'; } @@ -410,7 +408,7 @@ function acl_lookup(App $a, $out_type = 'json') { logger("Searching for ".$search." - type ".$type, LOGGER_DEBUG); - if ($search != "") { + if ($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)."%%')"; } else { @@ -453,7 +451,6 @@ function acl_lookup(App $a, $out_type = 'json') { $contact_count = (int)$r[0]['c']; } elseif ($type == 'm') { // autocomplete for Private Messages - $r = q("SELECT COUNT(*) AS c FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` AND NOT `archive` @@ -466,28 +463,23 @@ function acl_lookup(App $a, $out_type = 'json') { $contact_count = (int)$r[0]['c']; } elseif ($type == 'a') { - // autocomplete for Contacts - $r = q("SELECT COUNT(*) AS c FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `pending` $sql_extra2" , intval(local_user()) ); $contact_count = (int)$r[0]['c']; - } else { $contact_count = 0; } - - $tot = $group_count+$contact_count; + $tot = $group_count + $contact_count; $groups = array(); $contacts = array(); if ($type == '' || $type == 'g') { - /// @todo We should cache this query. // 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 @@ -504,7 +496,6 @@ function acl_lookup(App $a, $out_type = 'json') { ); foreach ($r as $g) { -// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']); $groups[] = array( "type" => "g", "photo" => "images/twopeople.png", @@ -521,7 +512,6 @@ function acl_lookup(App $a, $out_type = 'json') { } if ($type == '') { - $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` != '' AND `success_update` >= `failure_update` AND NOT (`network` IN ('%s', '%s')) @@ -593,7 +583,6 @@ function acl_lookup(App $a, $out_type = 'json') { $r = array(); } - if (DBM::is_result($r)) { $forums = array(); foreach ($r as $g) { diff --git a/include/api.php b/include/api.php index 6e7c369fa..bf038de90 100644 --- a/include/api.php +++ b/include/api.php @@ -3520,8 +3520,6 @@ api_register_func('api/statusnet/version', 'api_statusnet_version', false); */ function api_ff_ids($type) { - $a = get_app(); - if (! api_user()) { throw new ForbiddenException(); } @@ -3534,7 +3532,6 @@ function api_ff_ids($type) WHERE `contact`.`uid` = %s AND NOT `contact`.`self`", intval(api_user()) ); - if (!DBM::is_result($r)) { return; } @@ -3919,12 +3916,10 @@ function api_oauth_request_token() /** * Returns an OAuth Access Token. * - * @param string $type Return type (atom, rss, xml, json) - * * @return array|string * @see https://oauth.net/core/1.0/#auth_step3 */ -function api_oauth_access_token($type) +function api_oauth_access_token() { $oauth1 = new FKOAuth1(); try { diff --git a/include/enotify.php b/include/enotify.php index 06f6a84e1..58f40fe2d 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -505,7 +505,7 @@ function notification($params) $itemlink = System::baseUrl().'/notify/view/'.$notify_id; $msg = replace_macros($epreamble, array('$itemlink' => $itemlink)); $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_cache), intval($notify_id), diff --git a/include/html2plain.php b/include/html2plain.php index aa634534a..83aa05ed5 100644 --- a/include/html2plain.php +++ b/include/html2plain.php @@ -201,7 +201,7 @@ function html2plain($html, $wraplength = 75, $compact = false) node2bbcode($doc, 'img', array('src' => '/(.+)/'), ' ', ' '); } - node2bbcode($doc, 'iframe', array('src' => '/(.+)/'), ' $1 ', '', true); + node2bbcode($doc, 'iframe', array('src' => '/(.+)/'), ' $1 ', ''); $message = $doc->saveHTML(); diff --git a/include/items.php b/include/items.php index 6000a851e..1ac8e9696 100644 --- a/include/items.php +++ b/include/items.php @@ -1116,7 +1116,7 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f * It is done after the transaction to avoid dead locks. */ 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']), intval($arr['uid']), intval($current_post) @@ -2220,12 +2220,12 @@ function drop_item($id, $interactive = true) { // Now delete them 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 ($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()), array('parent-uri' => $item['parent-uri'], 'uid' => $item['uid'])); diff --git a/include/message.php b/include/message.php index 3d73b3547..844a803c0 100644 --- a/include/message.php +++ b/include/message.php @@ -196,7 +196,7 @@ function send_wallmessage($recipient = '', $body = '', $subject = '', $replyto = $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`) VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s', %d )", intval($recipient['uid']), From d1b3b7fbe4db703953a3c8e16fcfcb3621b19d56 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 4 Jan 2018 13:26:09 -0500 Subject: [PATCH 7/7] Review changes - Remove doc for unused config value - Restore api_get_user($a) calls --- doc/htconfig.md | 2 -- include/api.php | 10 ++++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/htconfig.md b/doc/htconfig.md index 34045e5c1..a39bf0aad 100644 --- a/doc/htconfig.md +++ b/doc/htconfig.md @@ -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. * **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. * **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". @@ -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_url_validation** (Boolean) - Disables the DNS lookup of an URL. * **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. * **hsts** (Boolean) - Enables the sending of HTTP Strict Transport Security headers * **ignore_cache** (Boolean) - For development only. Disables the item cache. diff --git a/include/api.php b/include/api.php index bf038de90..e527cb003 100644 --- a/include/api.php +++ b/include/api.php @@ -1111,6 +1111,8 @@ function api_statuses_update($type) throw new ForbiddenException(); } + api_get_user($a); + // convert $_POST array items to the form we use for web posts. if (requestdata('htmlstatus')) { $txt = requestdata('htmlstatus'); @@ -1286,6 +1288,8 @@ function api_media_upload() throw new ForbiddenException(); } + api_get_user($a); + if (!x($_FILES, 'media')) { // Output error throw new BadRequestException("No media."); @@ -2112,6 +2116,8 @@ function api_statuses_repeat($type) throw new ForbiddenException(); } + api_get_user($a); + // params $id = intval($a->argv[3]); @@ -2190,6 +2196,8 @@ function api_statuses_destroy($type) throw new ForbiddenException(); } + api_get_user($a); + // params $id = intval($a->argv[3]); @@ -3524,6 +3532,8 @@ function api_ff_ids($type) throw new ForbiddenException(); } + api_get_user($a); + $stringify_ids = defaults($_REQUEST, 'stringify_ids', false); $r = q(