Mikael Nordfeldth
c8c6bf9a1c
Simplify functions regarding locally cached profiles etc.
2014-06-06 00:32:07 +02:00
Mikael Nordfeldth
c786892103
Non-dynamic profile fetching in User and User_group
2014-06-06 00:19:54 +02:00
Mikael Nordfeldth
1217cd59bf
Non-dynamic user and group fetching in Profile
2014-06-06 00:07:32 +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
a900d04052
Non-dynamic fetching for multiple Notice properties
2014-06-05 00:29:43 +02:00
Mikael Nordfeldth
3d807c812d
$notice->getProfile will ALWAYS return a Profile
...
otherwise it throws an exception
2014-06-05 00:07:04 +02:00
Mikael Nordfeldth
04d4b62dff
Replies to repeats should go to the original
2014-06-04 23:51:32 +02:00
Mikael Nordfeldth
a490d634db
Repeats were not delivered a conversation ID
...
Vinilox noticed that replies to repeats ended up outside of the original
notice's conversations.
2014-06-04 23:21:37 +02:00
Mikael Nordfeldth
90cc6b4d3b
Notice::getReplyTo more specific now (getInlineReplyTo)
2014-06-04 23:20:20 +02:00
Mikael Nordfeldth
629cbedee2
Dangerous non-dynamic profile fetching in Notice
...
For a Notice object with multiple results, ->getProfile() would ALWAYS
return the first profile in the list. For example our "popular notices"
stream ended up believing all notices were made by the same profile.
2014-06-03 12:22:07 +02:00
Mikael Nordfeldth
1431bbd884
No need to pre-resize avatars
2014-06-03 01:52:42 +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
49188e826c
ArrayWrapper no longer returned from multiGetClass
...
multiGetClass uses FIND_IN_SET for ordering, which is pretty MariaDB specific.
2014-06-02 00:15:17 +02:00
Mikael Nordfeldth
61116ea991
Subscription class listing retrieval fixed
...
The incorrect variable was tried to be 0 causing offset limits that
are more than 1 to be treated identically (like the raw $ids value).
2014-05-30 23:37:00 +02:00
Mikael Nordfeldth
49fa34e234
Make Profile::fromUri use UnknownUriException
2014-05-26 15:05:14 +02:00
Mikael Nordfeldth
e83b2e147a
NoProfileException collision avoidance fix
2014-05-26 14:39:03 +02:00
Mikael Nordfeldth
1207f4f06f
isLocal() for User_group
2014-05-19 14:46:54 +02:00
Mikael Nordfeldth
b0cc9292b1
Notice->repeat() function takes Profile as argument now
2014-05-18 21:03:10 +02:00
Mikael Nordfeldth
c4c4835899
Notice->repeat should include the full message
...
Any clients showing the repeat itself should have its own shortening or
otherwise formatting rules which it can apply itself.
2014-05-18 20:53:44 +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
cd3cff451f
ConversationTree is now a plugin (not oldschool setting)
...
Conversation trees works pretty bad with the current layout, javascript
etc. So it's best if we separate it and work on it as a side-project. The
oldschool settings are currently being deprecated (or broken out like this).
I'll wait with removing User preferences for oldschool conversation tree,
since that might be reusable data. But I guess it will go in the near future.
2014-05-12 11:51:11 +02:00
Mikael Nordfeldth
1a81188355
Use an Event to present notices conversations
2014-05-12 11:03:21 +02:00
Mikael Nordfeldth
04b7194511
Notice->getUrl() for shares would throw exception in some feeds
2014-05-10 13:06:18 +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
8b12e41351
User object didn't have getNickname() function
...
We're just jumping on to the Profile->getNickname() function.
2014-05-06 16:08:36 +02:00
Mikael Nordfeldth
848d513706
Only run EndSubscribe when it is really a sub
2014-05-06 00:22:02 +02:00
Mikael Nordfeldth
fc3125cf28
More modern coding, stuff related to subscriptions
...
Also trying to use the newly implemented AlreadyFulfilledException
2014-05-05 23:58:05 +02:00
Mikael Nordfeldth
9a5e1423f1
Conversations now have URIs that are not URLs
2014-05-01 20:17:40 +02:00
Mikael Nordfeldth
27ed6b7db0
getConversationUrl introduced for linking to conversations
2014-05-01 15:25:19 +02:00
Mikael Nordfeldth
4774a25040
Link notice posted time to local representation
...
Notice class got a 'getLocalUrl' function.
2014-05-01 14:28:53 +02:00
Mikael Nordfeldth
b77a09fdee
Notice URIs are not necessarily URLs.
...
Let's use getUrl() for URL retrieval. May throw exceptions, but
only if it's a Notice that cannot be linked like that anyway.
2014-04-30 20:44:23 +02:00
Mikael Nordfeldth
34b570352f
Fix Direct Message functionality.
2014-04-29 20:37:58 +02:00
Mikael Nordfeldth
7d191f8062
s/bestUrl/getUrl/ for notices and microapp objects
2014-04-29 19:46:58 +02:00
Mikael Nordfeldth
cd6bd07c9d
Handle File thumbnail errors better
2014-04-28 20:26:32 +02:00
Mikael Nordfeldth
5fd6053220
Code cleanup and enabling User object's etc. getUri()
2014-04-28 14:08:42 +02:00
Mikael Nordfeldth
0883f54f62
getUrl replaces deprecated bestUrl (more to come)
2014-04-28 14:04:54 +02:00
Mikael Nordfeldth
37ce1f4766
Better fallback on UnsupportedMediaException
2014-04-28 12:12:06 +02:00
Mikael Nordfeldth
e526909bd8
File width and height is now properly set for File
2014-04-22 12:09:24 +02:00
Mikael Nordfeldth
d59eb5e184
Dynamically generate thumbnails (see full text)
...
The File object now stores width and height of files that can
supply this kind of information. Formats which we can not read
natively in PHP do not currently benefit from this. However an
event hook will be introduced later.
The CreateFileImageThumbnail event is renamed to:
CreateFileImageThumbnailSource to clarify that the hooks should not
generate their own thumbnails but only the source image. Also it now
accepts File objects, not MediaFile objects.
The thumbnail generation is documented in the source code. For
developers, call 'getThumbnail' on a File object and hope for the best.
Default thumbnail sizes have increased to be more appealing.
2014-04-21 20:46:11 +02:00
Mikael Nordfeldth
7f3611c51c
use intval() instead of floor() for int return type
2014-04-21 19:32:08 +02:00
Mikael Nordfeldth
b3bf036975
Preparing File for dynamic thumbnail generation.
2014-04-21 12:33:26 +02:00
Mikael Nordfeldth
43a3f5ea90
File_oembed::saveNew are File::saveNew are static
...
Also did some non-backwards-compatible (to StatusNet) code cleanup.
2014-04-20 16:10:05 +02:00
Mikael Nordfeldth
72707ddc26
deprecate Notice::bestUrl() in favor of getUrl()
2014-04-20 15:28:31 +02:00
Mikael Nordfeldth
132be99506
Improve ShownoticeAction remote redirect code
2014-04-19 22:13:48 +02:00
Mikael Nordfeldth
454a9bc1c4
Use getUrl() instead of ->url in OembedAction
2014-04-19 22:05:44 +02:00
Mikael Nordfeldth
2c1dcc7f14
Fixes to URI/URL handling for notices
2014-04-19 22:04:52 +02:00
Mikael Nordfeldth
85b022246f
Handle missing URIs and URLs better
2014-04-18 23:36:01 +02:00
Mikael Nordfeldth
3e2136f222
Avoid double colon on Notice URI generation
2014-04-18 23:17:34 +02:00
Mikael Nordfeldth
e0e69ddd7c
Throw exception when we can't get the url for a notice
2014-04-18 23:17:15 +02:00
Mikael Nordfeldth
7025817cc1
File_thumbnail lacked getUrl function
...
The only reason it worked was because DB fetches calls to get$varname if
the dataobject has a variable with the specific name. However, it started
blurting out errors that the case must be correct (which would require
'geturl' to be the function name).
Since we probably want to replace DB sometime, we'll just override this
auto-fetching mechanism and use more explicitly defined functions.
2014-04-18 23:06:28 +02:00
Mikael Nordfeldth
28dc361a15
Set new notice uri to something that's not a URL
2014-04-18 22:42:01 +02:00
Mikael Nordfeldth
d3b4a8616d
Original name preserved in uploaded file.
...
Avoiding collisions with date (shorter than before) and 4 character
random alphanumeric string. I bet someone could mass-upload files
and generate all combinations of aaaa-zzzz during the course of a
day, but then maybe that user should be disabled anyway :)
(filling the collision space will cause a never-ending loop).
2014-04-16 23:17:27 +02:00
Mikael Nordfeldth
06d4cecf7f
MediaFile thumbnail event hooks + VideoThumbnails plugin
...
The exception thrown from MediaFile will be caught and simply result in
no thumbnail at all right now. In the future we might use a catch-all
and have a "cannot generate preview"-icon or something.
VideoThumbnails requires php5-ffmpeg and php5-gd.
2014-04-16 21:48:58 +02:00
Mikael Nordfeldth
639f1a01e0
File class no longer depends on MIME
...
+ minor tweaks to MediaFile
2014-03-08 03:51:47 +01:00
Mikael Nordfeldth
79cacdc62f
Removing unused "inboxed" flag for User class
2014-03-07 21:37:48 +01:00
Mikael Nordfeldth
5842c59ba7
Get group attentions back into the "all" feed
2014-03-07 02:49:42 +01:00
Mikael Nordfeldth
5e4a275220
Clear Attentions when notice or profile is removed
2014-03-06 14:43:36 +01:00
Mikael Nordfeldth
bed8cc48bc
Add an index for Attention notice_ids too
...
Not sure if this is really needed, since notice_id and profile_id together
build up the primary key. That might cause MySQL to index them anyway.
2014-03-06 14:42:29 +01:00
Mikael Nordfeldth
018fd84032
Add Attention class for non-sub and non-mention notice attentions
2014-03-06 14:22:26 +01:00
Mikael Nordfeldth
5127a83935
Add Managed_DataObject getID() to avoid $obj->id
2014-03-06 14:21:44 +01:00
Mikael Nordfeldth
2272cc244d
Removed Inbox from core (unused since 4b2a66ed29
)
...
Added the following FIXME:
How should a Twitter user get their Inbox filled with foreign tweets?
Every imported Twitter user has a profile in the Profile table, so we
could setup a Subscription entry for each of those, meaning they get
collected in the InboxNoticeStream... But this would mean a lot of
unnecessary entries and listings that generally just point to the
locked down Twitter service.
Let's figure out a good relation so we can connect any profile to any
imported foreign notice, so it shows up in the "all" feed.
2014-03-06 04:46:29 +01:00
Mikael Nordfeldth
c812e7c0d6
Removed deprecated Inbox functions not in use from User
2014-03-06 03:41:50 +01:00
Mikael Nordfeldth
da87e742f8
Treat author just as anyone else (Notice distrib)
2014-03-06 01:55:23 +01:00
Mikael Nordfeldth
00db57949f
Always queue inbox distribution
2014-03-06 01:50:54 +01:00
Mikael Nordfeldth
1056348029
Merge commit 'refs/merge-requests/11' of git://gitorious.org/statusnet/gnu-social into merge-requests/11
2014-03-05 13:58:32 +01:00
Mikael Nordfeldth
f323f234d7
Better typing for isSubscribed
2014-03-05 13:44:34 +01:00
Mikael Nordfeldth
f83b2cf324
Handle removed profile more gracefully in noticelist
...
Just hide it from the visitor, but log a warning (and error, since
the exception itself logs that).
2014-03-05 01:27:27 +01:00
Jean Baptiste Favre
29f0922705
Add check after oembed API call. In case of error, returned value is false which generate error messages 'Trying to get property of non-object'.
2014-03-02 15:06:06 +01:00
Mikael Nordfeldth
5144c0cb78
Throw exception, don't return null in Conversation::create
2014-03-01 17:19:10 +01:00
Mikael Nordfeldth
5c505d8539
Conversation ID now gets set from initial notice.
...
This will work without much extra effort because there will always be
more notices (higher value) than conversations (so no collisions).
But please run upgrade.php to avoid having an autoincrement id on
conversation table.
Installations using code after 2014-03-01 will have identical
conversation IDs to the initial (conversation root) notice IDs. This
will not affect older installations, which will have very different
values.
2014-03-01 17:12:40 +01:00
Mikael Nordfeldth
fc047bd6e6
Minor code cleanup with group related actions (thanks brw12)
...
Originated from brw12 who noticed an incorrect variable name used in
an error message in actions/apigroupjoin.php:109
2014-03-01 12:01:17 +01:00
Mikael Nordfeldth
edee39790e
Use exceptions for Notice::getByUri
...
..jeez, a long time since I commited. Three in a row to get this right. Sorry :)
2014-01-12 22:46:50 +01:00
Mikael Nordfeldth
08dba7e21d
Notice::getByUri is of course static
2014-01-12 22:41:30 +01:00
Mikael Nordfeldth
15c95dc415
getByUri added to Notice for future use
2014-01-12 22:37:41 +01:00
Mikael Nordfeldth
73fe8a81b7
Slight cleanup in typing and syntax of File and File_* classes
2013-11-10 14:33:45 +01:00
Mikael Nordfeldth
729c6eef36
Inbox class a bit more consistent in argument order and type
2013-11-09 01:18:44 +01:00
Mikael Nordfeldth
3eac5e6026
Notice_inbox no longer used (and should've already been migrated for anyone using StatusNet 1.1.x)
2013-11-09 01:10:47 +01:00
Mikael Nordfeldth
1535ae5e3b
Call self:: instead of Memcached_DataObject
2013-11-04 17:38:40 +01:00
Mikael Nordfeldth
5e054bfdb3
Minor typing stuff and syntax fixes
2013-11-02 17:28:11 +01:00
Mikael Nordfeldth
a6f99e7296
Implement a User_group fetching function for Local_group
2013-11-02 17:27:50 +01:00
Mikael Nordfeldth
05b603b1da
Less raw SQL in User_group
2013-11-02 14:30:29 +01:00
Mikael Nordfeldth
d289ccb7f2
Minor PHP stylistic features and typing stuff
2013-11-02 13:05:08 +01:00
Mikael Nordfeldth
bd86519d50
Minor labeling things for StatusNet to GNU social migration
2013-11-01 14:04:40 +01:00
Mikael Nordfeldth
20bd0c1136
getStreamName will now return nick/fullname based on current user's preferred representation
2013-10-30 13:05:04 +01:00
Mikael Nordfeldth
09ef1fff69
NoticeListItem attentions showed double for User_group
...
...because they each have their own Profile now! Whiie!
2013-10-30 12:56:17 +01:00
Mikael Nordfeldth
71978a84fd
File oEmbed lookup failure is not as severe as LOG_ERR
2013-10-29 14:09:00 +01:00
Mikael Nordfeldth
9b6633698c
Group discovery from text functions polished
...
Also removed the entirely unused saveGroups function.
Now avoiding multiGet and using listFind in Profile->getGroups()
so we don't have to deal with ArrayWrapper.
2013-10-29 13:40:14 +01:00
Mikael Nordfeldth
2dfa0bfcee
function delete in dataobjects now don't break strict syntax
2013-10-29 10:20:57 +01:00
Mikael Nordfeldth
23a6b4595f
Reworked the ActivityContext->attention structure
...
Removing Evan's obscure attentionType solution and directly using the attention array
2013-10-28 22:21:14 +01:00
Mikael Nordfeldth
f99c4b7f07
More OOP-ish tests using instanceof
2013-10-28 22:18:00 +01:00
Mikael Nordfeldth
3ba6374b9d
Memcached_DataObject extensions got their update functions more consistent
2013-10-28 19:36:05 +01:00
Mikael Nordfeldth
9ea57e5cb2
getAcctUri function added with related exception
...
Used in ActivityObject for Atom Title generation.
New events:
* StartGetProfileAcctUri
* EndGetProfileAcctUri
2013-10-28 18:21:10 +01:00
Mikael Nordfeldth
a5d8707658
Use getParent instead of manual reply_to lookup
2013-10-28 17:28:10 +01:00
Mikael Nordfeldth
fcba540a14
Removed legacy OMB. Use OStatus for remote profiles.
2013-10-28 16:22:09 +01:00
Mikael Nordfeldth
340740266c
Notice class local cache fixes
2013-10-23 12:33:37 +02:00
Mikael Nordfeldth
a980f4ed33
Call memcache() as a static object (it's a static class)
2013-10-23 12:02:15 +02:00