Mikael Nordfeldth
3eebf2a353
Don't store the notice object for distrib queue handler, just id
2016-01-07 20:24:59 +01:00
Mikael Nordfeldth
d4be5349b3
think I have managed to show oEmbed images better now
2016-01-07 17:35:37 +01:00
Mikael Nordfeldth
9e5c71e701
Fixed group representation in Directory plugin, also some ->raw calls
2016-01-07 12:58:14 +01:00
Mikael Nordfeldth
839ae571d8
Define User_group::$profile_id among class variables
2016-01-07 12:12:27 +01:00
Mikael Nordfeldth
94392ab00c
Index the verb column since we do COUNT(*) based on it
2016-01-07 11:39:46 +01:00
Mikael Nordfeldth
05d3622939
Conversation entries where id==0 would screw up the "re-auto-increment" sequencing
2016-01-06 22:26:17 +01:00
Mikael Nordfeldth
f1c4c64cd9
Don't update stored URLs just because we have a filename
...
This would overwrite remote URLs with local verisons which removes source href...
The reason one might have filenames for remote URLs is that StoreRemoteMedia plugin
fetches them and uses the filename field.
2016-01-06 19:24:03 +01:00
Mikael Nordfeldth
346e34e543
Return dynamically generated URLs for thumbnails for all locally stored entries
2016-01-06 19:06:29 +01:00
Mikael Nordfeldth
4352d1739d
Always generate notice URLs on the fly for local notices
...
Related to issue #118
2016-01-06 16:24:33 +01:00
Mikael Nordfeldth
1a1e44cdfd
Issue #118 wanted better TOR support, now Avatar URLs are not stored
...
There was no reason to store the generated Avatar URLs because it's so
cheap to generate them on the fly.
2016-01-06 16:14:26 +01:00
Mikael Nordfeldth
7b2036a4b5
Note in the debug log if we render the HTML of a message
2016-01-06 15:37:30 +01:00
Mikael Nordfeldth
b596391fcd
Avoid having to check for notices without rendered copies in upgrade.php
...
Always call the Notice->getRendered() function to get a rendered copy.
We could perhaps put some sanitation there too in the future
2016-01-06 15:32:27 +01:00
Mikael Nordfeldth
0fd2ad649e
Conversation IDs (again) no longer based on Notice ID
2016-01-06 13:58:46 +01:00
Mikael Nordfeldth
59d3bbe037
Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into mmn_fixes
2016-01-06 00:53:20 +01:00
mmn
d45457e4a9
Merge branch 'nightly' into 'nightly'
...
only count post-notices (i.e. don't include activity-notices in statuses_count in the API)
See merge request !73
2016-01-05 23:53:08 +00:00
Mikael Nordfeldth
1946197a1c
Merge request #10 by aroque but in a slightly different version
2016-01-06 00:48:03 +01:00
hannes
32549cfd8c
$notices->verb = ActivityVerb::POST;
2016-01-05 23:29:48 +00:00
Mikael Nordfeldth
31c8416a8f
Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into mmn_fixes
2016-01-06 00:24:41 +01:00
mmn
956e053da6
Merge branch 'lookup_url_fix' into 'nightly'
...
makes url lookup work and adds full url to href for shortened links
See merge request !74
2016-01-05 23:24:16 +00:00
Mikael Nordfeldth
792b62874e
Require Profile for Profile->getLists
2016-01-06 00:18:10 +01:00
hannes
1c25cffbd8
add $redir->redir_url to use in common_linkify()
2016-01-05 23:07:24 +00:00
Mikael Nordfeldth
3d66d960a1
Require Profile for Profile->getOtherTags
2016-01-06 00:07:15 +01:00
Mikael Nordfeldth
8ad6b8809a
Don't abort on too long notices in Notice::saveActivity
2016-01-05 17:31:09 +01:00
hannes
e10691abea
only count post-notices (i.e. don't include activity-notices in statuses_count in the API)
2016-01-05 14:19:33 +00:00
Mikael Nordfeldth
701f6ff608
Allow Profile->getCurrentNotice to send scoped profile info
...
not that we're using it anywhere (yet anyway).
2016-01-04 21:42:24 +01:00
Mikael Nordfeldth
6a16939830
Profile->getCurrentNotice handles PrivateStreamException
2016-01-04 21:38:41 +01:00
Mikael Nordfeldth
b4b57bba54
EmptyIdException to make sure we get the right in catch
2016-01-03 22:56:48 +01:00
Mikael Nordfeldth
7266a968f9
Err, forgot semicolon.
2016-01-03 22:22:58 +01:00
Mikael Nordfeldth
f467b89f40
Try-catch on profile deletion unsubscribe actions
2016-01-03 22:21:03 +01:00
Mikael Nordfeldth
c19964094b
Pending subscription requests now work as they should
...
A slight layout issue with the buttons still persists
2016-01-03 20:27:53 +01:00
Mikael Nordfeldth
b374e5f08b
If a user has a private stream, assume a moderated subscription policy
2016-01-03 19:33:26 +01:00
Mikael Nordfeldth
df0f9547b5
Handle private streams better (failed to show profile before)
2016-01-03 19:16:29 +01:00
Mikael Nordfeldth
336f099241
Don't store object type for verbs (as they don't have it)
2016-01-02 16:05:20 +01:00
Mikael Nordfeldth
0dfafe2567
NewnoticeAction now uses Notice::saveActivity(...)
2016-01-01 20:18:54 +01:00
Mikael Nordfeldth
f4309ed715
whitespace switch for code layout
2016-01-01 18:43:37 +01:00
Mikael Nordfeldth
e02c10a589
common_render_content doesn't require a Profile now
2016-01-01 18:40:58 +01:00
Mikael Nordfeldth
ad4beb9091
->getID() instead of ->id
2016-01-01 18:21:54 +01:00
Mikael Nordfeldth
10973dcf69
Don't require a notice object to common_linkify_mentions
2016-01-01 18:20:42 +01:00
Mikael Nordfeldth
86106b890a
Output fixed sizes of thumbnails so we don't get jumpy scrolling
2016-01-01 14:13:16 +01:00
Mikael Nordfeldth
7adf1c99fc
s/LOG_ERROR/LOG_ERR/
2015-12-31 13:04:50 +01:00
Mikael Nordfeldth
7f1ce07e9f
Logging destinations and unnecessary debug
2015-12-31 13:00:20 +01:00
Mikael Nordfeldth
6606781916
Proper error message in exception
2015-12-31 12:41:02 +01:00
Mikael Nordfeldth
df19791a8f
Wups, $notice not $stored in the old function...
2015-12-31 02:37:42 +01:00
Mikael Nordfeldth
8b0fdfb4a0
Notice conversation is perhaps not set yet
2015-12-31 02:35:13 +01:00
Mikael Nordfeldth
7cf6aaecd0
Don't do saveKnownReplies unless it's a verb=post
2015-12-31 02:31:35 +01:00
Mikael Nordfeldth
66289d3e76
Use recently implemented functions in saveKnownReplies
2015-12-31 02:22:49 +01:00
Mikael Nordfeldth
29847f172f
setPassword now runs validate too
2015-12-30 17:51:57 +01:00
Mikael Nordfeldth
d7a8ee99af
Added User->setPassword($password)
2015-12-30 17:44:24 +01:00
Mikael Nordfeldth
998db39b1a
Notification mails are sent again fixes ssue #99
...
The problem was that the ActivityVerbPostPlugin handled 'post' verbs
but didn't handle the notifications for them, so now we're returning
true in the event so the default behaviour (sending to 'getReplies'
recipients) is done by default.
2015-12-30 17:35:47 +01:00
hannes
08be0e5c67
fixes this issue: https://quitter.se/notice/4344600
2015-12-30 01:54:48 +00:00
Mikael Nordfeldth
4bc0b374bc
File_redirection should get URLs properly
2015-12-27 21:36:23 +01:00
Mikael Nordfeldth
556d6e198f
Confirm_address field address_extra _can_ be NULL
2015-12-27 15:01:28 +01:00
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
Mikael Nordfeldth
0ac71c2b7b
Duplicate URI means we have it already, I assume
2015-12-27 01:40:00 +01:00
mmn
48f31928e9
Merge branch 'autocomplete-group' into 'nightly'
...
Autocomplete group
Group autocompletion wasn't working for a couple of reasons:
1. $profile wasn't set (d8092207c0
)
2. Profile::getUri() wasn't working for Groups, causing Profile::getAcctUri() to throw a ProfileNoAcctUriException (3e830dad37
)
See merge request !68
2015-12-23 21:04:18 +00:00
Chimo
90945e548b
Profile_prefs::getAll fix prefs loop
...
DataObject::fetch doesn't return an object.
2015-12-17 14:58:06 +00:00
Chimo
71119e4980
Profile_prefs::getAll fix call to listFind
...
2nd argument needs to be an array
2015-12-17 14:55:39 +00:00
Chimo
3e830dad37
Make Profile::getUri work with Groups
...
and by extension Profile::getAcctUri
2015-12-15 21:50:10 -05:00
Mikael Nordfeldth
ef4c11d262
Better checks for defined array indexes
2015-12-15 11:50:57 +01:00
mmn
2dd968f94e
Merge branch 'group-join-rejections' into 'nightly'
...
Fix group-join request rejections
Relates to #105
See merge request !65
2015-12-14 20:48:18 +00:00
mmn
d5d8068632
Merge branch 'group-members-pending' into 'nightly'
...
Fix "pending members" group list
Related to #104
See merge request !64
2015-12-14 20:47:47 +00:00
Mikael Nordfeldth
20592f184d
getID() will complain loudly if something is wrong
...
(just ->id would not)
2015-12-14 21:44:59 +01:00
Mikael Nordfeldth
42c653a9d0
Merge commit '5c4a7a10' into nightly
...
hannes making sure notice is a repeat and not a delete activity notice
2015-12-14 21:42:08 +01:00
Mikael Nordfeldth
441e2c8d34
redir_info only has data if we ran discovery
2015-12-08 11:42:09 +01:00
Mikael Nordfeldth
376d545082
Remember to purify HTML...
2015-12-05 15:56:50 +01:00
Chimo
6d9ea620a3
Fix group-join request rejections
2015-12-04 16:11:15 +00:00
Chimo
a06dc57621
Fix "pending members" group list
2015-12-04 15:47:40 +00:00
hannes
1eba33590b
ActivityVerb::SHARE instead of http://activitystrea.ms/schema/1.0/share
2015-11-22 20:26:08 +00:00
hannes
70695a1463
make sure the notice is a repeat, i.e. not a delete activity notice that also can have a repeat_of set
2015-11-22 18:59:56 +00:00
mmn
b33b40db45
Merge branch 'refactor-file-processNew' into 'nightly'
...
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.
See merge request !57
2015-11-20 17:50:01 +00:00
Mikael Nordfeldth
d0e7203d88
Make it clearer that we're handling group IDs
2015-11-08 23:31:45 +01:00
abjectio
507f9a28c0
Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly
2015-11-05 17:34:34 +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
Chimo
d7b58491ce
Add User_group::getObjectType
...
Since 174586bd51
, I'm unable to join groups with the logs complaining
about getObjectType not existing on the User_group object.
2015-10-29 20:11:57 -04:00
abjectio
aa5bbdf6e5
Bug in catch(Exception) - parameter wrongly written
2015-10-16 23:48:05 +02:00
abjectio
626333a59e
geParent() method will fail if the parent notice does not exist in the notice table. See https://quitter.no/notice/709400
2015-10-14 18:50:39 +02:00
Mikael Nordfeldth
d260808cd3
intval for type assurance
2015-10-14 01:16:22 +02:00
Mikael Nordfeldth
79c40bc73b
Type-aware comparison is necessary for Notice is_local/scope
2015-10-14 00:42:15 +02:00
Mikael Nordfeldth
236bf0b0f5
Remote notice creators should not have notice is_local default to LOCAL_PUBLIC
2015-10-14 00:10:01 +02:00
Mikael Nordfeldth
5b307c0417
Add a url test in Notice::saveActivity
2015-10-13 23:39:40 +02:00
Mikael Nordfeldth
4b69ef41e2
Bad variable name in File_redirection
2015-10-13 22:57:45 +02:00
Mikael Nordfeldth
67e7bc55ea
Bookmarks are almost migrated
...
Now they are just not being saved in the bookmark table.
2015-10-12 17:48:23 +02:00
Mikael Nordfeldth
7834e67583
Just a functionifying of Notice->rendered
2015-10-12 17:16:13 +02:00
mmn
77951647ce
Merge branch 'oauth-default-icon' into 'nightly'
...
Add default icon to OAuth apps
When MySQL runs in strict mode, it doesn't seem possible to add a new OAuth app.
This is because:
* The 'icon' field has no defaults and also has NOT NULL constraint.
* GS uploads/sets the icon[1] (if provided) after the SQL insert[2]
The easiest fix seemed to be to provide a default icon value.
This change sets the default to the "blue peg" default avatar from the base theme.
[1]
7f30e61402/actions/newapplication.php (L176)
[2]
7f30e61402/actions/newapplication.php (L186)
See merge request !29
2015-10-10 20:34:22 +00:00
Mikael Nordfeldth
fe9457daea
Syntax and minor fixes
...
Deleted_notice and Bookmark getByPK assocative array for example.
2015-10-10 22:23:24 +02:00
Mikael Nordfeldth
174586bd51
Some code aligning for consistency
2015-10-10 22:09:51 +02:00
Mikael Nordfeldth
37f2da03e1
newUri might as well be put in Managed_DataObject
2015-10-10 21:31:26 +02:00
Mikael Nordfeldth
6376b78a80
I think I have made the delete verb generate proper AS
...
ActivityStreams had a different/better definition than me
in how to define the Delete verb data:
http://wiki.activitystrea.ms/w/page/23541872/Delete
2015-10-10 11:08:17 +02:00
Mikael Nordfeldth
2dfd34b12d
Post verb default type is 'note'
2015-10-09 16:18:12 +02:00
Mikael Nordfeldth
0bdbb32f3b
Consistent camelcasing
2015-10-09 15:45:05 +02:00
Mikael Nordfeldth
ec19661312
Can't use return-value in empty()
2015-10-04 22:31:07 +02:00
Mikael Nordfeldth
7c68537b06
Deletes now federated. But might not be handled properly
2015-10-03 14:39:49 +02:00
Mikael Nordfeldth
db9f68e651
Sigh, use the correct variable name...
2015-10-03 13:45:06 +02:00
Mikael Nordfeldth
66a1d63dd0
if is_local was not provided to Notice:saveActivity it wouldn't be set
2015-10-03 13:24:31 +02:00
Mikael Nordfeldth
dac617d95a
I think all the notice deletion calls are event-compatible now
...
This means we can handle DeleteNoticeAsProfile in plugins, such as
the ActivityModeration plugin.
2015-10-03 12:26:09 +02:00
Mikael Nordfeldth
88f7bb1ed5
Some work on ActivityModeration with notice deletion
...
Let's now create an event called DeleteNotice and also make sure we
handle the onNoticeDeleteRelated properly in ActivityModeration to
avoid possible endless loops etc.
2015-10-03 02:02:37 +02: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
3a6c98ff16
NoResultException is common if reply_to was not cleared on parent deletion
2015-09-30 22:55:06 +02:00
Mikael Nordfeldth
a09cf51b99
Move Ostatus_profile->processPost function into plugin
2015-09-29 15:19:13 +02:00
Mikael Nordfeldth
21a12a2f60
Some conversationRoot lookups failed with deleted notices
2015-09-28 22:36:04 +02:00
Mikael Nordfeldth
ad3b62cf2f
ShowprofiletagAction now extends ShowstreamAction
2015-09-27 23:46:30 +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
604ed1fd9a
Prepare for ActivityModerationPlugin
2015-09-10 15:55:37 +02:00
Mikael Nordfeldth
a541533e04
Use Profile objects in Subscription::saveNew
2015-09-06 02:07:52 +02:00
Mikael Nordfeldth
917a547f91
Subscription::saveNew is a static function
2015-09-06 02:01:39 +02:00
Chimo
dc5dd69f2e
Add default icon to OAuth apps
...
When MySQL runs in strict mode, it doesn't seem possible to add a new OAuth app.
This is because:
* The 'icon' field has no defaults and also has NOT NULL constraint.
* GS uploads/sets the icon[1] (if provided) after the SQL insert[2]
The easiest fix seemed to be to provide a default icon value.
This change sets the default to the "blue peg" default avatar from the base theme.
[1]
7f30e61402/actions/newapplication.php (L176)
[2]
7f30e61402/actions/newapplication.php (L186)
2015-09-05 17:02:17 -04:00
Mikael Nordfeldth
7f30e61402
Oops, forgot Notice_location PHP file
2015-09-04 22:30:33 +02:00
Mikael Nordfeldth
3c86542a40
Move notice location data to Notice_location
...
Will probably take a _long_ time to do scripts/upgrade.php but don't
worry, it can be aborted and resumed.
2015-09-04 22:25:11 +02:00
Mikael Nordfeldth
1e07f8c045
Incorrect use of DataObject type matching after ->find()
2015-09-04 20:35:11 +02:00
Mikael Nordfeldth
5b09a150bc
Increased debugging and fixing conversation stitching for saveActivity
2015-07-18 19:19:16 +02:00
Mikael Nordfeldth
e0084a6fdf
Exception handling regarding Foreign_link
2015-07-18 11:39:34 +02:00
Mikael Nordfeldth
6f62adedfc
Infinite loop on CLI initiated profile deletion for local users
...
profile deleting user deleting profile deleting user...
2015-07-18 02:16:52 +02:00
Mikael Nordfeldth
beba2a25d0
Don't retry unhandled transports in OpportunisticQM
...
It'd continue trying xmpp transports forever, for example...
2015-07-18 01:09:50 +02:00
Mikael Nordfeldth
e10d081a56
TwitterBridge is closer to working again
2015-07-17 21:03:37 +02:00
Mikael Nordfeldth
6cd7a4a400
TwitterBridge messing about, Twitter OAuth requires Authorization header now?
...
https://dev.twitter.com/oauth/reference/post/oauth/request_token says that
the request should be a GET with a specific HTTP header instead of query
string parameters for OAuth?
2015-07-17 18:54:39 +02:00
Mikael Nordfeldth
9f82da07f1
ProfilesettingsAction and related stuff modernised
2015-07-17 12:20:11 +02:00
Mikael Nordfeldth
cfaaf3c13c
PasswordsettingsAction aligned with FormAction
...
Also made some changes in the password "munging" function call
common_munge_password to accept a profile instead of user ID (which
was only there because stoneage StatusNet used the ID to generate a
not-very-random salt, but nowadays we primarily use AuthCrypt plugin).
2015-07-17 01:47:43 +02:00
Mikael Nordfeldth
a6e299a2fc
OAuth stuff adapted for FormAction
...
TODO: Break OAuth out into a plugin.
2015-07-17 01:07:19 +02:00
Mikael Nordfeldth
cd23c78800
Less redundant code.
2015-07-15 19:21:21 +02:00
Mikael Nordfeldth
01a4ab30dc
Removing MicroID as well as simplifying profileaction
...
sorry, forgot to commit in between
2015-07-14 16:52:20 +02:00
Mikael Nordfeldth
5929b629e5
define Subscription_queue::exists as static
2015-07-11 00:08:23 +02:00
Mikael Nordfeldth
76396041e2
$notices and $notice is not the same, silly!
2015-07-10 23:30:59 +02:00
Mikael Nordfeldth
f8877e015b
static definition of User::getByNickname
2015-07-10 12:59:19 +02:00
Mikael Nordfeldth
f9d82a6ac5
Easy comparison of two Profile objects
2015-07-10 12:19:55 +02:00
Mikael Nordfeldth
e46b2803a7
Introducing TargetedRss10Action for simplifying RSS 1.0
2015-07-10 00:28:36 +02:00
Mikael Nordfeldth
8cc85f684b
Need to supply data to NoSuchUserException
2015-07-10 00:08:09 +02:00
Mikael Nordfeldth
9fb3ea3ce6
static function definitions and minor simplifying
2015-07-09 22:16:14 +02:00
Mikael Nordfeldth
77957372ab
File_redirection static fixes and simplifying
2015-07-07 20:16:05 +02:00
Mikael Nordfeldth
d0458b824a
File_redirection minor coding layout fix
2015-07-07 19:59:43 +02:00
Mikael Nordfeldth
45ee2060fa
File_redirection is called statically
2015-07-07 19:48:18 +02:00
Mikael Nordfeldth
fde3b99e8e
Less redundant code, please
2015-06-21 01:37:29 +02:00
Mikael Nordfeldth
8a002e98bc
File-related functions not declared static
2015-06-07 10:01:28 +02:00
Mikael Nordfeldth
814696c202
DB_DataObject delete function calls PEAR::isError directly, ignore E_STRICT
2015-06-06 20:01:03 +02:00
Mikael Nordfeldth
50070c9b0a
GS_DataObject overrides DB_DataObject insert() too
2015-06-06 19:59:01 +02:00
Mikael Nordfeldth
06503cc11b
joinAdd calls DB_DataObject::factory directly so no GS_DataObject override
2015-06-06 19:41:23 +02:00
Mikael Nordfeldth
daaafd86e2
DB_DataObject recommends using ->tableName()
2015-06-06 19:35:10 +02:00
Mikael Nordfeldth
9e52b6f2d1
DB_DataObject v1.11.4 made some functions static (finally!)
2015-06-06 19:30:53 +02:00
Mikael Nordfeldth
9712a92853
MITM the DB_DataObject to avoid PEAR::DB strict standards warnings
2015-06-06 18:29:15 +02:00
Mikael Nordfeldth
3c2a720b21
Found a remnant staticGet call
2015-06-06 17:39:25 +02:00
Mikael Nordfeldth
50f0235654
Oops, don't forget to remove var_dump(...)
2015-06-04 22:34:28 +02:00
Mikael Nordfeldth
cafab14f2b
Modernize File_redirection to use Managed_DataObject functions
2015-06-04 22:33:36 +02:00
Mikael Nordfeldth
63251fb9d0
Modernize File_thumbnail to use Managed_DataObject functions
2015-06-04 22:29:40 +02:00
Mikael Nordfeldth
fc9de94cbd
Modernize Queue_item to use Managed_DataObject functions
2015-06-04 22:27:53 +02:00
Mikael Nordfeldth
f9698598c6
Modernize Profile_prefs to use Managed_DataObject functions
2015-06-04 22:26:31 +02:00
Mikael Nordfeldth
d1afc78124
Modernize File_to_post to use Managed_DataObject functions
2015-06-04 22:22:49 +02:00
Mikael Nordfeldth
ebdd792b6f
getByPK (primary key) lookup for Managed_DataObject instances
2015-06-04 22:17:40 +02:00
Mikael Nordfeldth
ca19a5cd6d
Easier pkeyCols call to get primary key columns
2015-06-04 21:51:56 +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
fd121f371a
case insensitive indexing for content and nick/fullnames (search)
...
This broke when changing the database to utf8mb4 instead of utf8,
since utf8_general_ci wasn't accepted and the engine fell back to
utf8mb4_bin. Now we're back in case insensitive search business!
2015-06-03 22:43:51 +02:00
Mikael Nordfeldth
7e388e697d
fallback to local URL if reply->getUrl() is missing
...
Remote Activity notices generally don't have a proper HTTP URL associated.
2015-06-02 13:55:13 +02:00
Mikael Nordfeldth
0726dcd06c
Start using NoParentNoticeException more widely
2015-06-02 13:50:52 +02:00
Mikael Nordfeldth
c84b21008e
Notice->getParent code reuse
...
...not entirely sure whether to allow getParent calls on Notice
objects which have not been created, but we'll leave that in for now...
2015-06-02 13:46:23 +02:00
Mikael Nordfeldth
2096c18e57
use array_key_exists instead of empty to test array key
2015-06-02 13:14:57 +02:00
Mikael Nordfeldth
82f9b6908c
Fake recovery by email address, to hide registrants on the site
2015-05-30 23:29:58 +02:00
Mikael Nordfeldth
731d283159
Password recovery logic cleaned up
2015-05-30 23:18:17 +02:00
Mikael Nordfeldth
b4b8cb57b3
slugify console.php prompt name
...
since PHP thought it was fun to crash on Quitter España and I
couldn't be bothered messing with readline
2015-05-30 16:40:00 +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
6b717a6a69
Throw exception if Local_group has no corresponding User_group
2015-05-26 13:14:26 +02:00
Mikael Nordfeldth
925aacec1a
Throw exception when a Conversation is not found
2015-05-26 13:11:08 +02:00
Mikael Nordfeldth
d010c5a581
magnet URL linkify support
2015-05-09 15:54:09 +02:00
Mikael Nordfeldth
2b58d6b774
Merge branch 'quitagram' into nightly
...
Fixes that make quitagram work better amongst other things.
2015-04-22 22:17:50 +02:00
Mikael Nordfeldth
7601e10b6a
getFullname function on Profile class
...
No need to fix it for User since we shouldn't use that mostly.
2015-04-22 20:57:05 +02:00
Mikael Nordfeldth
c5715bc756
File_to_post indexing and cleaning preparations
2015-04-15 23:25:12 +02:00
Mikael Nordfeldth
eefef44378
filename is never used for indexing so let's make it text
...
varchar is pretty limited so let's avoid it if we can
2015-04-10 22:16:44 +02:00
Mikael Nordfeldth
0bd16b521c
OpportunisticQM shouldn't try to handle what it can't find
2015-04-09 12:15:34 +02:00
Mikael Nordfeldth
5081477e95
enclosures in Atom were not included
2015-04-05 20:24:17 +02:00
Mikael Nordfeldth
f6432fdf48
File_thumbnail->getUrl now gives Attachment_thumbnail action URL
...
That in turn redirects to the statically stored file.
2015-04-03 21:21:39 +02:00
Mikael Nordfeldth
2821be2bce
Notice properties set in bad order on activityobject saving
2015-03-12 22:17:08 +01:00
Mikael Nordfeldth
5a235ffbf9
Event fixes for activityhandlerplugin
2015-03-12 21:53:44 +01:00
Mikael Nordfeldth
1adf5f2863
Merge branch 'nightly' into repeat_as_shareplugin
2015-03-12 20:54:06 +01:00
Mikael Nordfeldth
3ee673ac91
ImageFile->resize now totally replaced with resizeTo
2015-03-12 20:47:07 +01:00
Mikael Nordfeldth
20f8dd6565
Repeats shown in threaded noticelist now handled by plugin
2015-03-12 19:49:20 +01:00
Mikael Nordfeldth
6f0f8cd6c7
Initial work on making the Share verb handled in plugin
2015-03-12 12:27:49 +01:00
Mikael Nordfeldth
2a32af084f
ImageFile $id argument is only for File objects
...
Remember to eliminate the Avatar/group logo call to ImageFile->resize!
2015-03-11 00:20:48 +01:00
Mikael Nordfeldth
6f76c8b59d
Same as last commit, don't give ID if it's not for a File object
2015-03-11 00:14:14 +01:00
Mikael Nordfeldth
88411fb1ca
ImageFile should not have an $id set if not a File
2015-03-10 23:52:50 +01:00
Mikael Nordfeldth
aa27c45230
Notice class got exception throwing getById
...
Less code, more happy.
2015-03-09 17:33:20 +01:00
Mikael Nordfeldth
286b54e527
Use getUrl() on File and File_thumbnail instead of ->url
2015-03-04 13:13:20 +01:00
Mikael Nordfeldth
a4af51b5ba
Move thumbnail algorithm mainly to ImageFile class
2015-03-04 13:12:42 +01:00
Mikael Nordfeldth
284705eeb8
Subscription_queue::start does not mean Subscription exists
2015-03-04 11:49:54 +01:00
Mikael Nordfeldth
ec4e432d55
Subscription::ensureStart skips AlreadyFulfilledException
...
Sometimes we just want to accept the user's wrong, but when it comes
to remote APIs etc. we probably want to let the client know it has
done something already (in this case multiple identical subscription
requests - which might indicate to it that it should refresh the sub
lists or something).
2015-03-04 11:38:04 +01:00
Mikael Nordfeldth
bece816ec7
User class throws exception on register failure
2015-03-01 12:36:19 +01:00
Mikael Nordfeldth
caa0dd549e
Avatar table url field now 'text', maybe use filename as unique key?
2015-02-28 12:56: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
ce91f1c0e6
Hide posts from users with private_stream in scoping streams
...
For example the public timeline would show notices from a user with
private_stream configured. (previously it would only hide _new_ notices
by this user as they would be the only ones with notice scoping set).
2015-02-24 22:59:58 +01:00
Mikael Nordfeldth
060dbe1b56
Removing whitespace and creating an early-return in inScope
2015-02-24 22:44:43 +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
0dfe39ac87
File_thumbnail url is not an index
2015-02-19 18:59:13 +01:00
Mikael Nordfeldth
27480d8e8e
File_redirection also got urlhash column
2015-02-19 18:34:48 +01:00
Mikael Nordfeldth
176bde269f
Merge branch 'nightly' into file_urlhash
2015-02-19 18:13:09 +01:00
Mikael Nordfeldth
94e19e1ac6
escapedTableName for SQL query easy access
2015-02-18 12:15:46 +01:00
Mikael Nordfeldth
5a8f24eb46
urlhash first steps, including scripts/upgrade.php
2015-02-17 18:55:12 +01:00
Mikael Nordfeldth
61aa71ed34
Subscription class gets exception throwing getSubscription function
2015-02-17 17:15:47 +01:00
Mikael Nordfeldth
901a825b61
Non-functional "retweeted to me" API call modified (but not fixed)
...
For some reason the "retweeted to me" part of the Twitter API was removed
when Evan made some inbox changes back in the StatusNet days. We might
recover this functionality, but not yet. The proper function calls are
however fixed in this commit.
2015-02-17 16:48:24 +01:00
Mikael Nordfeldth
2f86cd8602
utf8mb4 conversion on database with index adjusts
2015-02-12 18:18:55 +01:00
Chimo
56d431320d
Replace one instance of LOG_ERR with LOG_DEBUG
2015-02-09 18:08:46 -05:00
Mikael Nordfeldth
3a41dc4610
Merge commit 'refs/merge-requests/37' of https://gitorious.org/social/mainline into merge-requests/37
2015-02-08 23:21:28 +01:00
Chimo
e02bd34d26
Populate 'created' property on attention
...
The 'created' column in attention SQL table has NOT NULL
restriction.
2015-02-08 14:47:03 -05:00
Mikael Nordfeldth
427a6e39ee
added non-critical FIXMEs
2015-02-08 15:33:14 +01:00
Mikael Nordfeldth
59bbc81c4b
updateWithKeys did not always COMMIT transactions
2015-02-08 15:17:50 +01:00
Mikael Nordfeldth
f7548ed7e9
cacheKey change for Status_network class
...
From statusnet to gnusocial.
2015-02-05 12:06:01 +01:00
Mikael Nordfeldth
6b638b8e13
User class also needs getConfigPref
2015-02-03 22:04:29 +01:00
Mikael Nordfeldth
4eea68e557
getConfigPref for globally configurable fallbacks
2015-02-03 21:58:17 +01:00
Mikael Nordfeldth
40416c2c69
Don't email users who are sandboxed
...
If sandboxed or silenced, don't email the user any notifications.
2015-02-03 11:41:20 +01:00
Mikael Nordfeldth
a5d27d9ce7
/main/all will give a network-wide public stream
...
Qvitter had implemented this as a "PublicAndExternal" stream, but
I figured we might as well put it into the GNU social core.
2015-01-28 20:25:39 +01:00
Mikael Nordfeldth
c8e0000c49
a group's Profile will now correctly update group original avatar
2015-01-27 13:37:50 +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
9f9af9a139
Only report local URLs for local groups
2015-01-26 12:10:15 +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
470971cf47
File_thumbnail uses file_id as PRI
2015-01-25 13:13:01 +01:00
Mikael Nordfeldth
12058c30b4
Managed_DataObject->updateWithKeys throws its own exception
2015-01-25 12:54:08 +01:00
Mikael Nordfeldth
998afe1844
updateWithKeys reworked to more reliable execution
...
Throws exception on UPDATE fails.
2015-01-25 12:29:28 +01:00
Mikael Nordfeldth
4917a422a1
updateKeys -> updateWithKeys (w/ functionality)
2015-01-25 12:07:26 +01:00
Mikael Nordfeldth
e38d78eba9
updateKeys (for classes with PRI id) now in Managed_DataObject
2015-01-25 11:58:35 +01:00
Mikael Nordfeldth
8fbdb45cc6
Primarily the getUrl call is fixed. Also some new class calls
...
The getUrl call would think that a File_thumbnail object was the child
of a local File if its filename was set. That has been true up to recent
development code where a File_thumbnail can have a 'filename' value,
but the original File does not. Only look at the File object to indicate
whether it's a local or remote file!
2015-01-25 02:32:57 +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
93377e1c24
Allow fallback to local URL on Notice->getUrl()
...
To avoid verbose exception handling in other parts of the code.
2015-01-23 12:39:08 +01:00
Mikael Nordfeldth
3119341aea
Prefer local URLs for all locally generated notices.
2015-01-23 12:37:27 +01:00
Mikael Nordfeldth
fac9f4e545
Merge branch 'nightly' of gitorious.org:social/mainline into nightly
2015-01-21 23:45:49 +01:00
Mikael Nordfeldth
5653c25641
Add simpler delete preference for Profile and User
2015-01-21 23:00:33 +01:00
Mikael Nordfeldth
305c9f33a7
Registration coding cleanup
...
Mainly there was an Undefined variable: code in apiaccountregister.php
2015-01-18 13:06:12 +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
Mikael Nordfeldth
6b48db2539
Merge commit 'refs/merge-requests/27' of https://gitorious.org/social/mainline into merge-requests/27
2014-12-09 13:30:47 +01:00
Joshua Judson Rosen
06235a3aa3
Consistently root autostitched conversations at the oldest notice.
2014-12-08 22:39:36 -05:00
Mikael Nordfeldth
d671b7b289
debug output was referencing wrong variable
2014-12-01 19:19:16 +01:00
Mikael Nordfeldth
9f09b136b8
Adding crc32 to uniqueify conversation URIs
...
This really should be a UUID or something else totally unexpected
but I figure that crc32 is good enough for now. The reason we keep
the main structure is because some third party scripts have begun
relying upon the tag URI format to parse out domain name, type etc.
2014-11-27 17:05:01 +01:00
Mikael Nordfeldth
411ce0629c
If a Notice insert fails, don't continue processing it
2014-11-27 14:29:50 +01:00
Mikael Nordfeldth
e0d0a59706
Move Conversation creation out of insert() to allow URI setting
...
This means we import the URI string from remote instances to track their
conversations and are able to stitch together replies in a single thread.
We might have to try to avoid collisions so noone remotely can predict
conversation URIs which we generate on our server, causing a DoS kind of
problem.
2014-11-27 14:27:41 +01:00
Mikael Nordfeldth
8a4575ea76
Conversation URI cannot be null
2014-11-27 14:15:42 +01:00
Mikael Nordfeldth
bdb4a41696
Use remote conversation URI info to stitch convos together
...
If we know the URI sent from the remote party, and we don't know the
notice it is replying to, we might still be able to put it in the same
conversation thread!
2014-11-27 14:06:10 +01:00
Mikael Nordfeldth
68143ff916
DirectMessage moved into a plugin, not done yet
...
We still have to move some API calls into the new plugin.
2014-11-07 15:53:35 +01:00
Mikael Nordfeldth
7ea067a0dc
Notice_source checks in better code style
2014-11-05 19:44:22 +01:00
Mikael Nordfeldth
7589e78817
multiGet instead of listFind, subs now in order!
...
It was desired that subscriptions were listed in an order
with the latest first.
2014-10-25 17:57:20 +02:00