forked from GNUsocial/gnu-social
		
	[DATABASE] Use time intervals in a SQL standard compliant way
This commit is contained in:
		| @@ -331,12 +331,12 @@ class Nodeinfo_2_0Action extends Action | ||||
|          SELECT COUNT(DISTINCT profile_id) AS active_users_count | ||||
|          FROM ( | ||||
|             SELECT profile_id FROM notice | ||||
|                WHERE notice.created >= (CURRENT_TIMESTAMP - INTERVAL {$days} DAY) AND notice.is_local = 1 | ||||
|                WHERE notice.created >= (CURRENT_TIMESTAMP - INTERVAL '{$days}' DAY) AND notice.is_local = 1 | ||||
|             UNION ALL | ||||
|             SELECT user_id FROM fave INNER JOIN {$userTable} ON fave.user_id = {$userTable}.id | ||||
|                WHERE fave.created >= (CURRENT_TIMESTAMP - INTERVAL {$days} DAY) | ||||
|                WHERE fave.created >= (CURRENT_TIMESTAMP - INTERVAL '{$days}' DAY) | ||||
|             UNION ALL | ||||
|             SELECT id FROM {$userTable} WHERE {$userTable}.created >= (CURRENT_TIMESTAMP - INTERVAL {$days} DAY) | ||||
|             SELECT id FROM {$userTable} WHERE {$userTable}.created >= (CURRENT_TIMESTAMP - INTERVAL '{$days}' DAY) | ||||
|          ) AS source"; | ||||
|  | ||||
|         $activeUsersCount = new DB_DataObject(); | ||||
|   | ||||
| @@ -366,7 +366,7 @@ class FeedSub extends Managed_DataObject | ||||
|     public static function renewalCheck() | ||||
|     { | ||||
|         $fs = new FeedSub(); | ||||
|         $fs->whereAdd('sub_end IS NOT NULL AND sub_end < (CURRENT_TIMESTAMP + INTERVAL 1 DAY)'); | ||||
|         $fs->whereAdd("sub_end IS NOT NULL AND sub_end < (CURRENT_TIMESTAMP + INTERVAL '1' DAY)"); | ||||
|         // find can be both false and 0, depending on why nothing was found | ||||
|         if (!$fs->find()) { | ||||
|             throw new NoResultException($fs); | ||||
|   | ||||
| @@ -1,24 +1,26 @@ | ||||
| #!/usr/bin/env php | ||||
| <?php | ||||
| /* | ||||
|  * StatusNet - a distributed open-source microblogging tool | ||||
|  * Copyright (C) 2010 StatusNet, Inc. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU Affero General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU Affero General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| // This file is part of GNU social - https://www.gnu.org/software/social | ||||
| // | ||||
| // GNU social is free software: you can redistribute it and/or modify | ||||
| // it under the terms of the GNU Affero General Public License as published by | ||||
| // the Free Software Foundation, either version 3 of the License, or | ||||
| // (at your option) any later version. | ||||
| // | ||||
| // GNU social is distributed in the hope that it will be useful, | ||||
| // but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| // GNU Affero General Public License for more details. | ||||
| // | ||||
| // You should have received a copy of the GNU Affero General Public License | ||||
| // along with GNU social.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  | ||||
| /** | ||||
|  * @copyright 2010 StatusNet, Inc. | ||||
|  * @license   https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later | ||||
|  */ | ||||
|  | ||||
| /*  | ||||
| /* | ||||
|  *  Run this from INSTALLDIR/plugins/OStatus/scripts | ||||
|  */ | ||||
|  | ||||
| @@ -53,7 +55,7 @@ echo "Looking for feed subscriptions with dirty no good huburis...\n"; | ||||
|  | ||||
| $feedsub = new FeedSub(); | ||||
| $feedsub->sub_state = 'subscribe'; | ||||
| $feedsub->whereAdd('created < DATE_SUB(NOW(), INTERVAL 1 HOUR)'); | ||||
| $feedsub->whereAdd("created < (CURRENT_TIMESTAMP - INTERVAL '1' HOUR)"); | ||||
| $feedsub->find(); | ||||
| $cnt = 0; | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,19 @@ | ||||
| #!/usr/bin/env php | ||||
| <?php | ||||
| // This file is part of GNU social - https://www.gnu.org/software/social | ||||
| // | ||||
| // GNU social is free software: you can redistribute it and/or modify | ||||
| // it under the terms of the GNU Affero General Public License as published by | ||||
| // the Free Software Foundation, either version 3 of the License, or | ||||
| // (at your option) any later version. | ||||
| // | ||||
| // GNU social is distributed in the hope that it will be useful, | ||||
| // but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| // GNU Affero General Public License for more details. | ||||
| // | ||||
| // You should have received a copy of the GNU Affero General Public License | ||||
| // along with GNU social.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  | ||||
| define('INSTALLDIR', dirname(__DIR__)); | ||||
| define('PUBLICDIR', INSTALLDIR . DIRECTORY_SEPARATOR . 'public'); | ||||
| @@ -17,7 +31,7 @@ all lingering confirmations. | ||||
| NOTE: You probably want to do something like this to your database first so | ||||
| only relatively fresh accounts get resent this: | ||||
|  | ||||
|     DELETE FROM confirm_address WHERE modified < DATE_SUB(NOW(), INTERVAL 1 month); | ||||
|     DELETE FROM confirm_address WHERE modified < (CURRENT_TIMESTAMP - INTERVAL '1' MONTH); | ||||
|  | ||||
| Options: | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user