kopia lustrzana https://github.com/friendica/friendica
				
				
				
			Improved profile page, improved "limit" handling (#5639)
* Improved profile page, improved "limit" handling * Update will now work again * Update will work nowpull/5641/head
							rodzic
							
								
									47c2565917
								
							
						
					
					
						commit
						16a081871c
					
				| 
						 | 
				
			
			@ -471,6 +471,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
 | 
			
		|||
				. "'; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
 | 
			
		||||
		}
 | 
			
		||||
	} elseif ($mode === 'profile') {
 | 
			
		||||
		$items = conversation_add_children($items, false, $order, $uid);
 | 
			
		||||
		$profile_owner = $a->profile['profile_uid'];
 | 
			
		||||
 | 
			
		||||
		if (!$update) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -195,15 +195,14 @@ function community_getitems($start, $itemspage, $content)
 | 
			
		|||
			INNER JOIN `contact` AS `author` ON `author`.`id`=`item`.`author-id`
 | 
			
		||||
			WHERE `thread`.`visible` AND NOT `thread`.`deleted` AND NOT `thread`.`moderated`
 | 
			
		||||
			AND NOT `thread`.`private` AND `thread`.`wall` AND `thread`.`origin`
 | 
			
		||||
			ORDER BY `thread`.`commented` DESC LIMIT " . intval($start) . ", " . intval($itemspage)
 | 
			
		||||
		);
 | 
			
		||||
			ORDER BY `thread`.`commented` DESC LIMIT ?, ?", $start, $itemspage);
 | 
			
		||||
		return DBA::toArray($r);
 | 
			
		||||
	} elseif ($content == 'global') {
 | 
			
		||||
		$r = DBA::p("SELECT `uri` FROM `thread`
 | 
			
		||||
				INNER JOIN `item` ON `item`.`id` = `thread`.`iid`
 | 
			
		||||
				INNER JOIN `contact` AS `author` ON `author`.`id`=`item`.`author-id`
 | 
			
		||||
				WHERE `thread`.`uid` = 0 AND NOT `author`.`hidden` AND NOT `author`.`blocked`
 | 
			
		||||
				ORDER BY `thread`.`commented` DESC LIMIT " . intval($start) . ", " . intval($itemspage));
 | 
			
		||||
				ORDER BY `thread`.`commented` DESC LIMIT ?, ?", $start, $itemspage);
 | 
			
		||||
		return DBA::toArray($r);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ use Friendica\Util\DateTimeFormat;
 | 
			
		|||
 | 
			
		||||
function profile_init(App $a)
 | 
			
		||||
{
 | 
			
		||||
	if (!x($a->page, 'aside')) {
 | 
			
		||||
	if (empty($a->page['aside'])) {
 | 
			
		||||
		$a->page['aside'] = '';
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -54,15 +54,15 @@ function profile_init(App $a)
 | 
			
		|||
	$blocked   = !local_user() && !remote_user() && Config::get('system', 'block_public');
 | 
			
		||||
	$userblock = !local_user() && !remote_user() && $a->profile['hidewall'];
 | 
			
		||||
 | 
			
		||||
	if (x($a->profile, 'page-flags') && $a->profile['page-flags'] == Contact::PAGE_COMMUNITY) {
 | 
			
		||||
	if (!empty($a->profile['page-flags']) && $a->profile['page-flags'] == Contact::PAGE_COMMUNITY) {
 | 
			
		||||
		$a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />';
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (x($a->profile, 'openidserver')) {
 | 
			
		||||
	if (!empty($a->profile['openidserver'])) {
 | 
			
		||||
		$a->page['htmlhead'] .= '<link rel="openid.server" href="' . $a->profile['openidserver'] . '" />' . "\r\n";
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (x($a->profile, 'openid')) {
 | 
			
		||||
	if (!empty($a->profile['openid'])) {
 | 
			
		||||
		$delegate = strstr($a->profile['openid'], '://') ? $a->profile['openid'] : 'https://' . $a->profile['openid'];
 | 
			
		||||
		$a->page['htmlhead'] .= '<link rel="openid.delegate" href="' . $delegate . '" />' . "\r\n";
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +109,7 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!x($category)) {
 | 
			
		||||
	if (empty($category)) {
 | 
			
		||||
		$category = defaults($_GET, 'category', '');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -140,7 +140,7 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
 | 
			
		||||
	$contact_id = 0;
 | 
			
		||||
 | 
			
		||||
	if (x($_SESSION, 'remote') && is_array($_SESSION['remote'])) {
 | 
			
		||||
	if (!empty($_SESSION['remote'])) {
 | 
			
		||||
		foreach ($_SESSION['remote'] as $v) {
 | 
			
		||||
			if ($v['uid'] == $a->profile['profile_uid']) {
 | 
			
		||||
				$contact_id = $v['cid'];
 | 
			
		||||
| 
						 | 
				
			
			@ -171,14 +171,14 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
	$is_owner = local_user() == $a->profile['profile_uid'];
 | 
			
		||||
	$last_updated_key = "profile:" . $a->profile['profile_uid'] . ":" . local_user() . ":" . remote_user();
 | 
			
		||||
 | 
			
		||||
	if (x($a->profile, 'hidewall') && !$is_owner && !$remote_contact) {
 | 
			
		||||
	if (!empty($a->profile['hidewall']) && !$is_owner && !$remote_contact) {
 | 
			
		||||
		notice(L10n::t('Access to this profile has been restricted.') . EOL);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!$update) {
 | 
			
		||||
		$tab = false;
 | 
			
		||||
		if (x($_GET, 'tab')) {
 | 
			
		||||
		if (!empty($_GET['tab'])) {
 | 
			
		||||
			$tab = notags(trim($_GET['tab']));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -196,7 +196,7 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
		$commvisitor = $commpage && $remote_contact;
 | 
			
		||||
 | 
			
		||||
		$a->page['aside'] .= posted_date_widget(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], $a->profile['profile_uid'], true);
 | 
			
		||||
		$a->page['aside'] .= Widget::categories(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], (x($category) ? xmlify($category) : ''));
 | 
			
		||||
		$a->page['aside'] .= Widget::categories(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], (!empty($category) ? xmlify($category) : ''));
 | 
			
		||||
		$a->page['aside'] .= Widget::tagCloud();
 | 
			
		||||
 | 
			
		||||
		if (can_write_wall($a->profile['profile_uid'])) {
 | 
			
		||||
| 
						 | 
				
			
			@ -227,7 +227,7 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
	$sql_extra2 = '';
 | 
			
		||||
 | 
			
		||||
	if ($update) {
 | 
			
		||||
		$last_updated = (x($_SESSION['last_updated'], $last_updated_key) ? $_SESSION['last_updated'][$last_updated_key] : 0);
 | 
			
		||||
		$last_updated = (!empty($_SESSION['last_updated'][$last_updated_key]) ? $_SESSION['last_updated'][$last_updated_key] : 0);
 | 
			
		||||
 | 
			
		||||
		// If the page user is the owner of the page we should query for unseen
 | 
			
		||||
		// items. Otherwise use a timestamp of the last succesful update request.
 | 
			
		||||
| 
						 | 
				
			
			@ -238,7 +238,7 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
			$sql_extra4 = " AND `item`.`received` > '" . $gmupdate . "'";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$r = q("SELECT distinct(parent) AS `item_id`, `item`.`network` AS `item_network`, `item`.`created`
 | 
			
		||||
		$items = q("SELECT DISTINCT(`parent-uri`) AS `uri`
 | 
			
		||||
			FROM `item` INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
 | 
			
		||||
			AND NOT `contact`.`blocked` AND NOT `contact`.`pending`
 | 
			
		||||
			WHERE `item`.`uid` = %d AND `item`.`visible` AND
 | 
			
		||||
| 
						 | 
				
			
			@ -250,38 +250,33 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
			intval($a->profile['profile_uid']), intval(GRAVITY_ACTIVITY)
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		if (!DBA::isResult($r)) {
 | 
			
		||||
		if (!DBA::isResult($items)) {
 | 
			
		||||
			return '';
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		$sql_post_table = "";
 | 
			
		||||
 | 
			
		||||
		if (x($category)) {
 | 
			
		||||
		if (!empty($category)) {
 | 
			
		||||
			$sql_post_table = sprintf("INNER JOIN (SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d ORDER BY `tid` DESC) AS `term` ON `item`.`id` = `term`.`oid` ",
 | 
			
		||||
				DBA::escape(protect_sprintf($category)), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), intval($a->profile['profile_uid']));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (x($hashtags)) {
 | 
			
		||||
		if (!empty($hashtags)) {
 | 
			
		||||
			$sql_post_table .= sprintf("INNER JOIN (SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d ORDER BY `tid` DESC) AS `term` ON `item`.`id` = `term`.`oid` ",
 | 
			
		||||
				DBA::escape(protect_sprintf($hashtags)), intval(TERM_OBJ_POST), intval(TERM_HASHTAG), intval($a->profile['profile_uid']));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ($datequery) {
 | 
			
		||||
		if (!empty($datequery)) {
 | 
			
		||||
			$sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` <= '%s' ", DBA::escape(DateTimeFormat::convert($datequery, 'UTC', date_default_timezone_get()))));
 | 
			
		||||
		}
 | 
			
		||||
		if ($datequery2) {
 | 
			
		||||
		if (!empty($datequery2)) {
 | 
			
		||||
			$sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` >= '%s' ", DBA::escape(DateTimeFormat::convert($datequery2, 'UTC', date_default_timezone_get()))));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Belongs the profile page to a forum?
 | 
			
		||||
		// Does the profile page belong to a forum?
 | 
			
		||||
		// If not then we can improve the performance with an additional condition
 | 
			
		||||
		$r = q("SELECT `uid` FROM `user` WHERE `uid` = %d AND `page-flags` IN (%d, %d)",
 | 
			
		||||
			intval($a->profile['profile_uid']),
 | 
			
		||||
			intval(Contact::PAGE_COMMUNITY),
 | 
			
		||||
			intval(Contact::PAGE_PRVGROUP)
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
		if (!DBA::isResult($r)) {
 | 
			
		||||
		$condition = ['uid' => $a->profile['profile_uid'], 'page-flags' => [Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP]];
 | 
			
		||||
		if (!DBA::exists('user', $condition)) {
 | 
			
		||||
			$sql_extra3 = sprintf(" AND `thread`.`contact-id` = %d ", intval(intval($a->profile['contact_id'])));
 | 
			
		||||
		} else {
 | 
			
		||||
			$sql_extra3 = "";
 | 
			
		||||
| 
						 | 
				
			
			@ -305,7 +300,7 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
 | 
			
		||||
		$pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));
 | 
			
		||||
 | 
			
		||||
		$r = q("SELECT `thread`.`iid` AS `item_id`, `thread`.`network` AS `item_network`
 | 
			
		||||
		$items = q("SELECT `item`.`uri`
 | 
			
		||||
			FROM `thread`
 | 
			
		||||
			STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid`
 | 
			
		||||
			$sql_post_table
 | 
			
		||||
| 
						 | 
				
			
			@ -321,31 +316,15 @@ function profile_content(App $a, $update = 0)
 | 
			
		|||
		);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	$parents_arr = [];
 | 
			
		||||
	$parents_str = '';
 | 
			
		||||
 | 
			
		||||
	// Set a time stamp for this page. We will make use of it when we
 | 
			
		||||
	// search for new items (update routine)
 | 
			
		||||
	$_SESSION['last_updated'][$last_updated_key] = time();
 | 
			
		||||
 | 
			
		||||
	if (DBA::isResult($r)) {
 | 
			
		||||
		foreach ($r as $rr) {
 | 
			
		||||
			$parents_arr[] = $rr['item_id'];
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$condition = ['uid' => $a->profile['profile_uid'], 'parent' => $parents_arr];
 | 
			
		||||
		$result = Item::selectForUser($a->profile['profile_uid'], [], $condition);
 | 
			
		||||
		$items = conv_sort(Item::inArray($result), 'created');
 | 
			
		||||
	} else {
 | 
			
		||||
		$items = [];
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if ($is_owner && !$update && !Config::get('theme', 'hide_eventlist')) {
 | 
			
		||||
		$o .= Profile::getBirthdays();
 | 
			
		||||
		$o .= Profile::getEventsReminderHTML();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if ($is_owner) {
 | 
			
		||||
		$unseen = Item::exists(['wall' => true, 'unseen' => true, 'uid' => local_user()]);
 | 
			
		||||
		if ($unseen) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -80,7 +80,7 @@ function redir_init(App $a) {
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		// Doing remote auth with dfrn.
 | 
			
		||||
		if (local_user()&& (!empty($contact['dfrn-id']) || !empty($contact['issued-id']))) {
 | 
			
		||||
		if (local_user() && (!empty($contact['dfrn-id']) || !empty($contact['issued-id']))) {
 | 
			
		||||
			$dfrn_id = $orig_id = (($contact['issued-id']) ? $contact['issued-id'] : $contact['dfrn-id']);
 | 
			
		||||
 | 
			
		||||
			if ($contact['duplex'] && $contact['issued-id']) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1459,7 +1459,7 @@ class DBA
 | 
			
		|||
 | 
			
		||||
		$limit_string = '';
 | 
			
		||||
		if (isset($params['limit']) && is_int($params['limit'])) {
 | 
			
		||||
			$limit_string = " LIMIT " . $params['limit'];
 | 
			
		||||
			$limit_string = " LIMIT " . intval($params['limit']);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (isset($params['limit']) && is_array($params['limit'])) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,7 +84,7 @@ class DBClean {
 | 
			
		|||
			$r = DBA::p("SELECT `id` FROM `item` WHERE `uid` = 0 AND
 | 
			
		||||
						NOT EXISTS (SELECT `guid` FROM `item` AS `i` WHERE `item`.`guid` = `i`.`guid` AND `i`.`uid` != 0) AND
 | 
			
		||||
						`received` < UTC_TIMESTAMP() - INTERVAL ? DAY AND `id` >= ?
 | 
			
		||||
					ORDER BY `id` LIMIT ".intval($limit), $days_unclaimed, $last_id);
 | 
			
		||||
					ORDER BY `id` LIMIT ?", $days_unclaimed, $last_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found global item orphans: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +106,7 @@ class DBClean {
 | 
			
		|||
			logger("Deleting items without parents. Last ID: ".$last_id);
 | 
			
		||||
			$r = DBA::p("SELECT `id` FROM `item`
 | 
			
		||||
					WHERE NOT EXISTS (SELECT `id` FROM `item` AS `i` WHERE `item`.`parent` = `i`.`id`)
 | 
			
		||||
					AND `id` >= ? ORDER BY `id` LIMIT ".intval($limit), $last_id);
 | 
			
		||||
					AND `id` >= ? ORDER BY `id` LIMIT ?", $last_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found item orphans without parents: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ class DBClean {
 | 
			
		|||
			logger("Deleting orphaned data from thread table. Last ID: ".$last_id);
 | 
			
		||||
			$r = DBA::p("SELECT `iid` FROM `thread`
 | 
			
		||||
					WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`parent` = `thread`.`iid`) AND `iid` >= ?
 | 
			
		||||
					ORDER BY `iid` LIMIT ".intval($limit), $last_id);
 | 
			
		||||
					ORDER BY `iid` LIMIT ?", $last_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found thread orphans: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +158,7 @@ class DBClean {
 | 
			
		|||
			logger("Deleting orphaned data from notify table. Last ID: ".$last_id);
 | 
			
		||||
			$r = DBA::p("SELECT `iid`, `id` FROM `notify`
 | 
			
		||||
					WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `notify`.`iid`) AND `id` >= ?
 | 
			
		||||
					ORDER BY `id` LIMIT ".intval($limit), $last_id);
 | 
			
		||||
					ORDER BY `id` LIMIT ?", $last_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found notify orphans: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -184,7 +184,7 @@ class DBClean {
 | 
			
		|||
			logger("Deleting orphaned data from notify-threads table. Last ID: ".$last_id);
 | 
			
		||||
			$r = DBA::p("SELECT `id` FROM `notify-threads`
 | 
			
		||||
					WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`parent` = `notify-threads`.`master-parent-item`) AND `id` >= ?
 | 
			
		||||
					ORDER BY `id` LIMIT ".intval($limit), $last_id);
 | 
			
		||||
					ORDER BY `id` LIMIT ?", $last_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found notify-threads orphans: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -210,7 +210,7 @@ class DBClean {
 | 
			
		|||
			logger("Deleting orphaned data from sign table. Last ID: ".$last_id);
 | 
			
		||||
			$r = DBA::p("SELECT `iid`, `id` FROM `sign`
 | 
			
		||||
					WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `sign`.`iid`) AND `id` >= ?
 | 
			
		||||
					ORDER BY `id` LIMIT ".intval($limit), $last_id);
 | 
			
		||||
					ORDER BY `id` LIMIT ?", $last_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found sign orphans: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -236,7 +236,7 @@ class DBClean {
 | 
			
		|||
			logger("Deleting orphaned data from term table. Last ID: ".$last_id);
 | 
			
		||||
			$r = DBA::p("SELECT `oid`, `tid` FROM `term`
 | 
			
		||||
					WHERE NOT EXISTS (SELECT `id` FROM `item` WHERE `item`.`id` = `term`.`oid`) AND `tid` >= ?
 | 
			
		||||
					ORDER BY `tid` LIMIT ".intval($limit), $last_id);
 | 
			
		||||
					ORDER BY `tid` LIMIT ?", $last_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found term orphans: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -303,7 +303,7 @@ class DBClean {
 | 
			
		|||
			$r = DBA::p("SELECT `id` FROM `item` WHERE `uid` = 0 AND
 | 
			
		||||
						NOT EXISTS (SELECT `guid` FROM `item` AS `i` WHERE `item`.`guid` = `i`.`guid` AND `i`.`uid` != 0) AND
 | 
			
		||||
						`received` < UTC_TIMESTAMP() - INTERVAL 90 DAY AND `id` >= ? AND `id` <= ?
 | 
			
		||||
					ORDER BY `id` LIMIT ".intval($limit), $last_id, $till_id);
 | 
			
		||||
					ORDER BY `id` LIMIT ?", $last_id, $till_id, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found global item entries from expired threads: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			@ -326,7 +326,7 @@ class DBClean {
 | 
			
		|||
			logger("Deleting old conversations. Last created: ".$last_id);
 | 
			
		||||
			$r = DBA::p("SELECT `received`, `item-uri` FROM `conversation`
 | 
			
		||||
					WHERE `received` < UTC_TIMESTAMP() - INTERVAL ? DAY
 | 
			
		||||
					ORDER BY `received` LIMIT ".intval($limit), $days);
 | 
			
		||||
					ORDER BY `received` LIMIT ?", $days, $limit);
 | 
			
		||||
			$count = DBA::numRows($r);
 | 
			
		||||
			if ($count > 0) {
 | 
			
		||||
				logger("found old conversations: ".$count);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue