Skip to content

Commit

Permalink
Merge pull request #94 from nextcloud/issue-2688-error-on-empty-activ…
Browse files Browse the repository at this point in the history
…ity-mail-deletion

Don't throw when we are deleting nothing
  • Loading branch information
nickvergessen authored Dec 19, 2016
2 parents cbae05a + 7f04ea8 commit f83a0d7
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions lib/MailQueueHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
use OCA\Activity\Extension\LegacyParser;
use OCP\Activity\IEvent;
use OCP\Activity\IManager;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\Defaults;
use OCP\IDateTimeFormatter;
use OCP\IDBConnection;
Expand Down Expand Up @@ -322,15 +323,15 @@ protected function parseEvent($lang, IEvent $event) {
* @param array $affectedUsers
* @param int $maxTime
*/
public function deleteSentItems($affectedUsers, $maxTime) {
$placeholders = implode(',', array_fill(0, sizeof($affectedUsers), '?'));
$queryParams = $affectedUsers;
array_unshift($queryParams, (int) $maxTime);
public function deleteSentItems(array $affectedUsers, $maxTime) {
if (empty($affectedUsers)) {
return;
}

$query = $this->connection->prepare(
'DELETE FROM `*PREFIX*activity_mq` '
. ' WHERE `amq_timestamp` <= ? '
. ' AND `amq_affecteduser` IN (' . $placeholders . ')');
$query->execute($queryParams);
$query = $this->connection->getQueryBuilder();
$query->delete('activity_mq')
->where($query->expr()->lte('amq_timestamp', $query->createNamedParameter($maxTime, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->in('amq_affecteduser', $query->createNamedParameter($affectedUsers, IQueryBuilder::PARAM_STR_ARRAY), IQueryBuilder::PARAM_STR));
$query->execute();
}
}

0 comments on commit f83a0d7

Please sign in to comment.