Commit Graph

836 Commits

Author SHA1 Message Date
Alexei Sorokin
9efbef720d Avoid use of assignments bare inside statements
Either use them in a subroutine call or put parentheses around the assignment.
2021-07-16 19:44:41 +01:00
Alexei Sorokin
7fa4d56f05 Implement a class for automatic temporary file handling
And adopt it all over the code.
2021-07-16 19:44:41 +01:00
Diogo Cordeiro
30024b4d47 [ActivityPub][SCRIPTS] Add fix_subscriptions.php 2021-07-16 19:44:38 +01:00
Alexei Sorokin
b1b1d2af93 [DATABASE] Update "modified" in Managed_DataObject instead of a DBMS trigger
Instead of relying on the MariaDB's ON UPDATE CURRENT_TIMESTAMP trigger update
"modified" attributes in Managed_DataObject. Every raw query that needs
adjusting is adjusted, as they won't update "modified" automatically anymore.

The main goal behind this change is to fix "modified" updates on PostgreSQL.
2021-07-16 19:44:37 +01:00
Alexei Sorokin
346aec9b2a [DATABASE] Fix more incorrect uses of quotation in SQL 2021-07-16 19:44:37 +01:00
Alexei Sorokin
d01f44ee99 [DATABASE] Some query improvements
Make common_sql_weight employ standard SQL functions for the timestamp
difference in seconds.
Also replace UTC_TIMESTAMP in the MariaDB-specific part with CURRENT_TIMESTAMP
as it is the only occurence and GNU social sets UTC as a default timezone.

In a delete_orphan_files.php script simplify the main query considerably.

In clean_profiles.php stop using COUNT as if it is ANY, that is unnecessary
punishment for the database. Instead implement the anti-join with a
left outer join.

In Autocomplete and Activitypub_profile use joins instead of a WHERE OR
anti-pattern for the semi-joins.

In lib/ui/galleryaction.php replace a CROSS JOIN with an INNER JOIN.

In actions/sup.php remove a redundant subquery: WHERE is applied before
grouping either way.
2021-07-16 19:44:36 +01:00
Alexei Sorokin
434f07430d [DATABASE] Use "<>" as an SQL non-equality sign in more cases
A follow-up to commit 644b417f6c
2021-07-16 19:44:36 +01:00
Alexei Sorokin
9ac632ca2d [DATABASE] Start transactions with START TRANSACTION
"BEGIN" is non-standard and unnecessary.
2021-07-16 19:44:36 +01:00
susdiv
2a82f2774d [SCRIPTS] Fix postgres incompatible query in clean_profiles.php 2021-07-16 19:44:36 +01:00
Alexei Sorokin
f24d122ef5 [SCRIPTS] Fix resend_confirm_address.php
Fix a regression from 6ec72b2978,
check if an address is set when using --email.
2021-07-16 19:44:36 +01:00
Alexei Sorokin
eab5725698 [DATABASE] Disable 'NULL' strings evaluation as SQL NULLs
Use $object->sqlValue('NULL') (identical to DataObject_Cast'ing) instead and
fix related issues like (email|sms)settings considering these NULLs as a
false positive for the E-Mail address still being set when it's been removed.

There could also be security implications to the now-disabled approach of
considering 'NULL' strings as SQL NULLs.
2021-07-16 19:44:35 +01:00
tenma
128c2c2e15 [SCRIPTS] Add updateuris script
To fix user URIs to their non-fancy version
2021-07-16 19:44:35 +01:00
Alexei Sorokin
16b5ddd230 [DATABASE] Re-introduce PostgreSQL support 2021-07-16 19:44:35 +01:00
Alexei Sorokin
37e5983aca [DATABASE] Columns not in GROUP BY must not be queried 2021-07-16 19:44:35 +01:00
Alexei Sorokin
3f17a0efea [DATABASE] Introduce a bool type in schema
PostgreSQL has a clear distinction between integers and booleans, so it makes
sense to draw a clear line.
2021-07-16 19:44:35 +01:00
Alexei Sorokin
60ada8ae65 [DATABASE] Use time intervals in a SQL standard compliant way 2021-07-16 19:44:35 +01:00
Alexei Sorokin
6095a6de64 [DATABASE] Only use single quotation marks for SQL strings
Double quotation marks are only used for identifiers in the SQL standard.
2021-07-16 19:44:35 +01:00
Miguel Dantas
ab3e8ce21d [LIB_REFACTOR] Fix requires 2021-07-16 19:44:34 +01:00
Miguel Dantas
2ab2e22a36 [LIB_REFACTOR] Moving files into separate semantic categories 2021-07-16 19:44:34 +01:00
Diogo Cordeiro
8d9b88a8bc [OverwriteThemeBackground] This new plugin will let the admin set a custom background theme independent 2021-07-16 19:44:34 +01:00
Diogo Cordeiro
20a6f1d4f4 [CORE] Plugin API now extends a new Module API 2021-07-16 19:44:33 +01:00
Diogo Cordeiro
2e6c7b1bb8 [SCRIPTS] Make them work in v2 by setting PUBLICDIR 2019-08-03 17:49:11 +01:00
Diogo Cordeiro
893bafa14b [INSTALL] Minor reformatting and modernization. Shouldn't change functionality significatively. 2019-08-03 17:47:28 +01:00
Diogo Cordeiro
7d262ad50b [CORE] Fixed some small issues with PEAR 2019-08-03 17:47:28 +01:00
Daniel Supernault
c1c2a9f1a1 [DEVTOOL] Add a robust and modern REPL 2019-08-03 17:47:26 +01:00
Diogo Cordeiro
f0f5ecb756 [SCRIPTS] Fix sessiongc by XRevan86 2019-08-01 14:38:04 +01:00
Diogo Cordeiro
30a1a460b7 Minor reformatting of upgrade.php, doesn't change functionality 2019-07-01 23:14:39 +01:00
Diogo Cordeiro
45479c90a3 Add option to send email to --all users on sendemail.php script 2018-08-23 23:48:38 +01:00
Mikael Nordfeldth
ec98fd0c43 Merge remote-tracking branch 'gnuio/master' into nightly 2017-12-17 18:32:23 +01:00
nee
fdd3d63098 Don't write the config file when --skip-config flag is given to the installer.
* scripts/installer_cli.php: Read the arguments list before checking
  if the config file is writeable.
2017-11-26 22:14:30 +01:00
Mikael Nordfeldth
6938d26524 List the thread config value in lib/default.php 2017-08-03 09:53:00 +02:00
Mikael Nordfeldth
6a2a54dcb5 Making upgrade.php somewhat more efficient by remember one-time-inits. 2017-07-10 20:27:37 +02:00
Mikael Nordfeldth
c505652c15 Confirm_address::getByAddress not getAddress
Also fixed the error handling to match the function call.
2017-04-29 14:48:46 +02:00
Mikael Nordfeldth
0177c8f1cf Use join instead of exists in SQL 2016-03-29 14:36:27 +02:00
Mikael Nordfeldth
78e23bd4ec Fix issue #171 with latent htmLawed reference 2016-03-21 02:55:10 +01:00
Mikael Nordfeldth
15c16ac54e Make sure File_thumbnail->getPath() doesn't throw NoResultException 2016-03-09 23:49:01 +01:00
Mikael Nordfeldth
4c7436e328 Match empty on "" and not just NULL 2016-03-08 02:00:34 +01:00
Mikael Nordfeldth
47ae21c08e Don't resend confirm_address if profile is silenced 2016-03-06 16:45:29 +01:00
Mikael Nordfeldth
feb97cfc22 Resend confirm_address stuff, please read its NOTE first 2016-03-02 15:48:18 +01:00
Mikael Nordfeldth
b8643f73b7 No need to set $threads = 0 on the line before it's set ;) 2016-02-28 19:40:16 +01:00
abjectio
12ad588a9b Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2016-02-27 20:37:03 +01:00
Mikael Nordfeldth
2730510393 User friendlieness in scripts/delete_notice.php 2016-02-26 00:06:04 +01:00
abjectio
6bcfc73175 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2016-02-23 21:13:58 +01:00
Mikael Nordfeldth
c8753353ed Do not delete_orphan_files on an instance with Qvitter 2016-02-12 01:45:47 +01:00
Mikael Nordfeldth
913595780f And LEFT JOIN to actually get all results 2016-02-12 00:05:36 +01:00
Mikael Nordfeldth
1471defff3 ...and avoid duplicate results... 2016-02-11 23:38:12 +01:00
Mikael Nordfeldth
05fea4cdc6 Aurhg, and get all the properties, not just id 2016-02-11 22:54:29 +01:00
Mikael Nordfeldth
2198f39597 Haha, it essentially became a NOOP with the last commit 2016-02-11 22:49:45 +01:00
Mikael Nordfeldth
6f2fbd448d Fixed the delete orphan script to include deleted notices
The file_to_post table sometimes had post_id with values that did not
exist in the notice table.
2016-02-11 22:43:26 +01:00
Mikael Nordfeldth
38a187b93e Delete orphan files maintenance script
When deleting a profile it'll delete its notices and the coupling to
file entries, but not the file entries themselves (and thus not the
files). So if one to delete a person uploading offending images, then
the images are left behind and can be hotlinked. This will remove it.
2016-02-11 22:19:56 +01:00