Mikael Nordfeldth
12d77ac3e4
varchar to text since there's no reason to limit the fields
...
They caused problems when quitter.se was upgrading because someone was
named ryanjjjjjjjjjjjjjjjjjjj[and more than 191 'j's] etc.
2015-12-27 11:50:11 +01:00
Stephen Paul Weber
a9b1b60a97
Refactor on File::processNew
...
The code was so involved there was even a comment asking for a refactor.
Now, File_redirection::where always returns a nice File_redirection
object instead of an array or string or nothing. The object is
either one which already existed or else a new, unsaved object.
Instead of duplicating "does it exist" checks everywhere, do it in
File_redirection::where. You either get what exists or something to save.
An unsaved File_redirection may be paired with an unsaved File.
You will want to save the File first (using ->saveFile()) and put the
id in File_redirection#file_id before saving.
2015-11-02 05:15:08 +00:00
Mikael Nordfeldth
80bc7f0e25
File handling changes for better logic
...
Also prepares for StoreRemoteMediaPlugin, coming up...
2015-10-01 22:14:49 +02:00
Mikael Nordfeldth
edb73ec480
Use exception instead of if-statement in File::saveNew
2015-09-27 12:29:38 +02:00
Mikael Nordfeldth
02418cffd8
Be harsher on database saving failure for File entry
2015-09-27 11:54:52 +02:00
Mikael Nordfeldth
daaafd86e2
DB_DataObject recommends using ->tableName()
2015-06-06 19:35:10 +02:00
Mikael Nordfeldth
fe6498e7c8
Send objects instead of integers to File_to_post::processNew
2015-06-04 17:36:11 +02:00
Mikael Nordfeldth
5358fb3cce
Use the same cache string in all places for file:notice-ids
2015-06-04 17:02:45 +02:00
Mikael Nordfeldth
3294d704a4
scripts/nukefile.php for blasting crap from the server
...
Deletes notices and the locally stored file based on File id, as
you may want to just get rid of shit sometimes.
2015-05-30 15:41:04 +02:00
Mikael Nordfeldth
f926e27a65
urlhash will _be_ NULL on update, so NOT NULL won't work
2015-05-27 22:37:20 +02:00
Mikael Nordfeldth
c31d6608a8
remove _all_ file URLs not just the duplicates
2015-05-27 21:54:51 +02:00
Mikael Nordfeldth
cd0b70dbc1
upgrade fix for file URLs longer than 191 chars
2015-05-27 21:31:29 +02:00
Mikael Nordfeldth
c5715bc756
File_to_post indexing and cleaning preparations
2015-04-15 23:25:12 +02:00
Mikael Nordfeldth
a4af51b5ba
Move thumbnail algorithm mainly to ImageFile class
2015-03-04 13:12:42 +01:00
Mikael Nordfeldth
8fac7a9f6c
StatusNet class renamed GNUsocial
...
also added backward compatible StatusNet class for the two calls I know
third party plugins use, isHTTPS and getActivePlugins
2015-02-27 12:44:15 +01:00
Mikael Nordfeldth
7e6ba94241
Documentation + filename uniqueness in File class
2015-02-25 15:19:27 +01:00
Mikael Nordfeldth
9a843548c0
Save thumbnails with proper extension
...
This might cause double extensions, but that's ok since the filename
is stored in the database. We might want to look at it later though.
2015-02-25 01:34:00 +01:00
Mikael Nordfeldth
325e784ccd
Don't store duplicates of files.
...
If a new file is uploaded, it will be matched with a previously uploaded
file so we don't have to store duplicates. SHA256 is random enough and
also unlikely enough to cause collisions.
2015-02-24 21:11:25 +01:00
Mikael Nordfeldth
0e6c83e521
Had to avoid using indexes in the migration phase
...
File and File_redirection still had their indexes in the temporary migration table definition.
2015-02-19 22:06:43 +01:00
Mikael Nordfeldth
b54710950f
unique keys and indexes must be NOT NULL or MySQL fucks up
...
If this merge throws exception on scripts/upgrade.php and you recently
tried a nightly (i.e. during 2015-02-19) then just go back a commit or two
and try again.
Or delete the duplicate entries. Find the entries like this:
SELECT COUNT(*), urlhash FROM file_redirection
GROUP BY urlhash
HAVING COUNT(*) > 1;
then for each urlhash (or come up with a smart SQL query) do:
DELETE FROM file_redirection WHERE urlhash='hashfrompreviousquery' LIMIT 1;
You'll have to remove duplicates more than once if you have >2 identical
urlhash entries. LIMIT -1 might do that for you. I'm not sure.
2015-02-19 21:21:39 +01:00
Mikael Nordfeldth
0590f2975e
Merge branch 'utf8mb4' into nightly
...
Conflicts because of urlhash fixes:
classes/File.php
classes/File_redirection.php
classes/File_thumbnail.php
2015-02-19 20:50:40 +01:00
Mikael Nordfeldth
5471c65c9a
less newlines for the scripts/upgrade.php output
2015-02-19 19:40:36 +01:00
Mikael Nordfeldth
e299583eee
Bad check on existing urlhash key
2015-02-19 19:36:59 +01:00
Mikael Nordfeldth
8ac8e2e734
Use new ::getByUrl for File and File_redirection
...
and make use of the exceptions instead endless if statements
2015-02-19 19:29:55 +01:00
Mikael Nordfeldth
c05e9b118c
function is hashurl, variable is urlhash
2015-02-19 19:07:43 +01:00
Mikael Nordfeldth
45dc76de26
File and File_redirection adhoc storage methods updated for urlhash
2015-02-19 19:05:24 +01:00
Mikael Nordfeldth
27480d8e8e
File_redirection also got urlhash column
2015-02-19 18:34:48 +01:00
Mikael Nordfeldth
5a8f24eb46
urlhash first steps, including scripts/upgrade.php
2015-02-17 18:55:12 +01:00
Mikael Nordfeldth
2f86cd8602
utf8mb4 conversion on database with index adjusts
2015-02-12 18:18:55 +01:00
Mikael Nordfeldth
67d09532dd
Improved animated image thumbnail freedom of choice
...
Default is now to take still thumbnails of animated GIFs and then
show them as originals in an AttachmentListItem. The still frames
are mostly used with front-ends like qvitter.
2015-01-26 16:33:39 +01:00
Mikael Nordfeldth
a8e613e508
Animated GIF restructuring, ImageMagick only used for resizing animated sequences.
2015-01-25 23:00:00 +01:00
Mikael Nordfeldth
2a7d45c986
No need for ImageMagick to detected animated GIF
2015-01-25 22:45:25 +01:00
Mikael Nordfeldth
97bf470895
File class improved debugging and filename generation
...
In some development code I noticed that when handling File objects without
filename values, there would be problems calling getPath and such.
The width and height value testing will be validated later anyway, and by
removing such a narrow test we can use events to generate thumbnails of
media formats supported by recently added plugins on demand.
2015-01-25 02:30:43 +01:00
Mikael Nordfeldth
3927acdde5
getUrl() fixed for File and File_thumbnail to correct http/https stuff and other
2015-01-12 19:22:10 +01:00
Mikael Nordfeldth
cbb7ec07a5
When called in offline queue, File::url was HTTP
...
Despite having the site configured "always" for HTTPS, File generated
thumbnails and such with HTTP urls.
2015-01-12 19:19:41 +01:00
Hannes Mannerheim
a3574bac6c
we _do_ want to show text/html as attachments, since that's how mustard and crow expands oversized notices
2014-10-20 16:21:42 +02:00
Mikael Nordfeldth
1c04601a9c
Removing excessive "inline" attachment listings
2014-08-05 11:30:45 +02:00
Mikael Nordfeldth
17b9614ff8
File->getEnclosure improvements (text/html is not an attachment)
2014-08-05 10:54:00 +02:00
Mikael Nordfeldth
d16af504f6
File basename call lacked a dot
2014-06-22 17:05:11 +02:00
Mikael Nordfeldth
79824a3625
Could not update avatar due to Bad Thumbnail parameters
2014-06-17 12:48:10 +02:00
Mikael Nordfeldth
adf896bc12
Add support for plugins to resize images
...
This also adds an event hook to get more metadata of the ImageFile.
Such as if it's animated or so.
2014-06-05 13:29:36 +02:00
Mikael Nordfeldth
db443e9374
File::processNew now static and always throws exception on failure
2014-06-02 02:11:23 +02:00
Mikael Nordfeldth
d6f52f5939
File::processNew can return -1 which was not true for empty()
...
Also, File->getEnclosure() now throws exception if not enough metadata.
2014-06-02 01:46:09 +02:00
Mikael Nordfeldth
2755e23707
Clear out stored files and reltaed thumbnails when a File is deleted.
2014-05-12 15:16:41 +02:00
Mikael Nordfeldth
214a10ddec
File_thumbnail fixes (run scripts/upgrade.php)
...
We're now capable of doing image rotation for thumbnails based on
EXIF orientation data. Also, thumbnails are tracked by filenames and
thus we can delete them from storage when we feel like it.
2014-05-12 14:33:41 +02:00
Mikael Nordfeldth
a7a4eeef09
width and height are now properties in the File class
2014-05-07 09:51:37 +02:00
Mikael Nordfeldth
621533a7c2
Bad variable reference in event hook.
2014-05-06 23:40:45 +02:00
Mikael Nordfeldth
1776c90cb9
Moved oEmbed stuff out to a plugin (Oembed).
2014-05-06 23:32:13 +02:00
Mikael Nordfeldth
cd6bd07c9d
Handle File thumbnail errors better
2014-04-28 20:26:32 +02:00
Mikael Nordfeldth
37ce1f4766
Better fallback on UnsupportedMediaException
2014-04-28 12:12:06 +02:00