Browse Source

Fix unused code in include

- Fix local formatting
- Remove unused variable
- Fix unreached breaks
- Remove commented out code
- Add some documentation
pull/4166/head
Hypolite Petovan 4 years ago
parent
commit
3b23f89ca2
  1. 13
      boot.php
  2. 5
      include/acl_selectors.php
  3. 3
      include/bbcode.php
  4. 61
      include/contact_widgets.php
  5. 32
      include/conversation.php
  6. 9
      include/datetime.php
  7. 57
      include/enotify.php
  8. 32
      include/event.php
  9. 32
      include/files.php
  10. 111
      include/follow.php
  11. 135
      include/html2plain.php
  12. 5
      include/identity.php
  13. 81
      include/items.php
  14. 96
      include/message.php
  15. 10
      include/network.php
  16. 36
      include/plaintext.php
  17. 11
      include/plugin.php
  18. 2
      include/post_update.php
  19. 13
      include/profile_selectors.php
  20. 4
      include/queue_fn.php
  21. 22
      include/redir.php
  22. 4
      include/session.php
  23. 2
      include/tags.php
  24. 22
      include/text.php

13
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) {

5
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'];
}
}

3
include/bbcode.php

@ -67,8 +67,6 @@ function bb_attachment($Text, $simplehtml = false, $tryoembed = true) {
} else {
if ($simplehtml != 4) {
$text = sprintf('<span class="type-%s">', $data["type"]);
} else {
$span_end = '';
}
$bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $data["url"], $data["title"]), $data["url"], $data["title"]);
@ -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;

61
include/contact_widgets.php

@ -1,4 +1,5 @@
<?php
/**
* @file include/contact_widgets.php
*/
@ -11,8 +12,8 @@ use Friendica\Model\GContact;
require_once 'include/contact_selectors.php';
function follow_widget($value = "") {
function follow_widget($value = "")
{
return replace_macros(get_markup_template('follow.tpl'), array(
'$connect' => 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'] .= '<div class="side-link" id="side-invite-remain">'
. sprintf( tt('%d invitation available', '%d invitations available', $x), $x)
. '</div>' . $inv;
. tt('%d invitation available', '%d invitations available', $x)
. '</div>' . $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'),

32
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;
}

9
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']),

57
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 <!item_type!>');
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'],

32
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'] .= '</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;
}

32
include/files.php

@ -1,11 +1,11 @@
<?php
function create_files_from_item($itemid) {
$a = get_app();
function create_files_from_item($itemid)
{
$messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `file`, `parent` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
if (!$messages)
if (!$messages) {
return;
}
$message = $messages[0];
@ -19,18 +19,23 @@ function create_files_from_item($itemid) {
if ($message["deleted"])
return;
if (preg_match_all("/\[(.*?)\]/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_FILE), dbesc($file));
}
}
if (preg_match_all("/\<(.*?)\>/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"]);
}
}

111
include/follow.php

@ -1,4 +1,5 @@
<?php
/**
* @file include/follow.php
*/
@ -16,21 +17,24 @@ use Friendica\Protocol\OStatus;
use Friendica\Protocol\PortableContact;
use Friendica\Protocol\Salmon;
function update_contact($id) {
function update_contact($id)
{
/*
Warning: Never ever fetch the public key via Probe::uri and write it into the contacts.
This will reliably kill your communication with Friendica contacts.
*/
Warning: Never ever fetch the public key via Probe::uri and write it into the contacts.
This will reliably kill your communication with Friendica contacts.
*/
$r = q("SELECT `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `network` FROM `contact` WHERE `id` = %d", intval($id));
if (!$r)
if (!$r) {
return false;
}
$ret = Probe::uri($r[0]["url"]);
// If Probe::uri fails the network code will be different
if ($ret["network"] != $r[0]["network"])
if ($ret["network"] != $r[0]["network"]) {
return false;
}
$update = false;
@ -43,8 +47,9 @@ function update_contact($id) {
$update = true;
}
if (!$update)
if (!$update) {
return true;
}
q("UPDATE `contact` SET `url` = '%s', `nurl` = '%s', `addr` = '%s', `alias` = '%s', `batch` = '%s', `notify` = '%s', `poll` = '%s', `poco` = '%s' WHERE `id` = %d",
dbesc($ret['url']),
@ -64,29 +69,34 @@ function update_contact($id) {
return true;
}
//
// 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.
function new_contact($uid, $url, $interactive = false, $network = '') {
$result = array('cid' => -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);
}
}

135
include/html2plain.php

@ -1,15 +1,14 @@
<?php
require_once("include/html2bbcode.php");
require_once 'include/html2bbcode.php';
function breaklines($line, $level, $wraplength = 75)
{
if ($wraplength == 0)
if ($wraplength == 0) {
$wraplength = 2000000;
}
// return($line);
$wraplen = $wraplength-$level;
$wraplen = $wraplength - $level;
$newlines = array();
@ -20,27 +19,28 @@ function breaklines($line, $level, $wraplength = 75)
$pos = strrpos($subline, ' ');
if ($pos == 0)
if ($pos == 0) {
$pos = strpos($line, ' ');
}
if (($pos > 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.*?href="(.*?)".*?>(.*?)<\/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("&nbsp;", " ", $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);
}

5
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'];
}

81
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("&#91;", "&#93;"), htmlentities($data["url"], ENT_QUOTES, 'UTF-8', false));
$data["title"] = str_replace(array("[", "]"), array("&#91;", "&#93;"), 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(