Mikael Nordfeldth
3b046ee49d
Shorthand function to check if notice has been repeated.
2016-08-27 14:42:28 +02:00
Nym Coy
1f866fcaed
ActivityGenerationTests.php fails but doesn't crash anymore.
...
Fixed an error where a profile id was reused after another profile was
deleted, and the new profile still had the deleted role.
Fixed ActivityGenerationTests::testNoticeInfoRepeated() which was passing
User instead of Profile, throwing errors.
tests/ActivityGenerationTests.php now passes.
CommandInterpreterTest now passes.
Moved JidValidateTest to XmppValidateTest, since Jabber functionality has
moved to the XmppPlugin. Tests work but don't pass, but they are at least
skipped if XmppPlugin is not active.
LocationTest passes, but the tests are not very good. Lots of nulls.
MediaFileTest passes.
NicknameTest passes. Nickname::normalize() now throws an error if the
nickname is too long with underscores.
UserFeedParseTest passes.
URLDetectionTest passes if $config['linkify']['(bare_ipv4|bare_ipv6|
bare_domains)'] are false. Untested otherwise.
Fixed Nickname::isBlacklisted() so it does not throw an error if
$config['nickname]['blacklist'] not set.
2016-08-14 11:55:49 +05:30
Mikael Nordfeldth
d84bf83419
Created function File->setTitle(str)
2016-07-23 21:00:57 +02:00
Mikael Nordfeldth
1b3d583418
file_quota for OembedPlugin too
...
Don't download huge files that might kill memory limits.
2016-07-21 03:19:05 +02:00
Mikael Nordfeldth
1981cb7662
Select the first generated thumbnail, which should be the proper size
...
...most of the time. If all works well.
2016-07-21 00:38:16 +02:00
Mikael Nordfeldth
f02d32b718
Reworked File->getUrl to throw exception
...
In case you require a local URL and one can't be generated, throw
FileNotStoredLocallyException(File $file)
2016-07-07 00:44:50 +02:00
Mikael Nordfeldth
b4a0bff740
Some mimetype madness!
2016-07-06 08:59:16 +02:00
Martin Lyth
b0204023c0
Fix the case of a call to sameAs()
2016-07-02 17:43:47 -04:00
Martin Lyth
c9afdae01c
Check if we're the current user before retrieving
2016-07-02 17:02:37 -04:00
Martin Lyth
a62755182c
Test user equality better in Profile->getUser()
2016-07-02 15:45:42 -04:00
Martin Lyth
d7a29be3ac
Change Profile->getUser() to match the current user
...
Profile->getUser() gets the User independently from common_current_user.
This means that changes to one does not affect the other, even if they
are the same user.
This changes that, so that getUser() returns common_current_user() if
they are both the same user.
This is done to fix a bug in the user profile settings, where changes in
the language and timezone are applied to the return value of
Profile->getUser() but not propagated to common_cur_user(), which causes
the profile settings to display incorrect information until the page is
refreshed.
2016-06-30 18:24:58 -04:00
Mikael Nordfeldth
3d6e25ee5f
We have to create and populate the Notice_location table before constraint checking foreign keys.
2016-06-25 13:01:56 +02:00
Mikael Nordfeldth
f93f02f424
Managed_DataObject now has getByUri()
2016-06-25 11:59:06 +02:00
Mikael Nordfeldth
42a62da764
getByUri shorthand function for Managed_DataObject (with uri)
2016-06-25 11:52:17 +02:00
Mikael Nordfeldth
7978cd6d59
s/EmptyIdException/EmptyPkeyValueException/
2016-06-25 11:50:59 +02:00
Mikael Nordfeldth
1dfac3ad63
Allow getting filesize by function
2016-06-24 15:53:23 +02:00
Stephen Paul Weber
47e541eaec
Allow getting notice title without implying one
...
Sometimes I just want explicit titles, and not the generated "blah posted on date" text
2016-06-10 21:00:01 +00:00
Mikael Nordfeldth
6d6db77f06
Documentation update in File class file
2016-05-04 11:44:14 +02:00
Mikael Nordfeldth
87dd0fbdb6
UseFileAsThumbnailException uses direct File object now
2016-05-04 11:34:50 +02:00
Mikael Nordfeldth
7aa9a69c2f
Link to attachment page instead of big-ass image
2016-05-01 11:35:51 +02:00
Mikael Nordfeldth
0959efd7be
Use constant for ATTN_PUBLIC (public collection)
2016-04-18 15:56:52 +02:00
Mikael Nordfeldth
c48508d590
use getByID (also bad variable reference)
2016-04-18 15:08:47 +02:00
Mikael Nordfeldth
6d33c003fc
Maybe stop deleteRelated from failing on constraint checking
2016-04-04 12:04:20 +02:00
Mikael Nordfeldth
195285ac2f
Fix constraint checking and only run it if not already constrained
2016-04-01 06:24:11 +02:00
Mikael Nordfeldth
8de3469957
Constraint check Notice table, need to get foreign key array!
2016-03-31 17:57:01 +02:00
Mikael Nordfeldth
2f91cb0df7
We should assume all verbs and such are their full URIs in our db
2016-03-29 12:57:52 +02:00
Mikael Nordfeldth
72cafe03e9
Index object_type too...
2016-03-29 12:48:25 +02:00
Mikael Nordfeldth
4e2be07234
Better indexing for Notice (performance++)
2016-03-29 12:13:33 +02:00
Mikael Nordfeldth
4790db348d
FetchRemoteNotice event call in Notice (not effective yet)
2016-03-27 14:00:05 +02:00
Mikael Nordfeldth
49a91885c9
Strictify Notice->isPublic()
2016-03-24 01:54:33 +01:00
Mikael Nordfeldth
6b4c331060
Attachment and file handling since we could get NULL instead of File
2016-03-23 17:53:38 +01:00
Mikael Nordfeldth
e32f2b0a39
Not really necessary in practice but makes better queries
2016-03-23 17:51:13 +01:00
Mikael Nordfeldth
250d99d997
Allow actions to be performed on updateWithKeys
...
Avoids overloading and lets dataobject classes use onUpdateKeys()
to do special stuff, like if a key is made up of a hash of other fields etc.
2016-03-23 15:19:50 +01:00
Mikael Nordfeldth
86ce93b376
Notice->deleteRelated should be called from delete()
2016-03-21 17:34:03 +01:00
Neil E. Hodges
39ebb64b85
Added proper enabling and disabling of sending RTs to Twitter.
2016-03-21 07:12:52 -07:00
Mikael Nordfeldth
566977c136
forgot 'new' after throw
2016-03-10 13:46:19 +01:00
Mikael Nordfeldth
15c16ac54e
Make sure File_thumbnail->getPath() doesn't throw NoResultException
2016-03-09 23:49:01 +01:00
Mikael Nordfeldth
a24c6fdb39
If our host matched in File lookup, it could throw exceptions on Router->map
2016-03-09 14:52:15 +01:00
Mikael Nordfeldth
e4310a57cd
Profile->noticeCount minor change
2016-03-08 20:00:58 +01:00
Mikael Nordfeldth
4360c65ed9
Super special case where we should copy files instead of mv
2016-03-08 01:59:58 +01:00
Mikael Nordfeldth
3b1181dae6
Display locally stored remote GIFs as thumbnails
...
Many newspapers seem to use animated GIFs as catchy header images, which
we would fail to show from oEmbed/OpenGraph fetching since they would
want us to "use File as Thumbnail", but the only place the image filename
was stored was in File_thumbnail, for the thumbnail of that file_id which
had a URL set.
2016-03-08 01:36:24 +01:00
Mikael Nordfeldth
4e5c0e70a6
fillConfigVoids to set default value of empty config options
2016-03-07 22:55:52 +01:00
Mikael Nordfeldth
265fa12917
Relatively experimental change to store thumbnails in 'file/thumb/' (by default)
2016-03-07 22:33:34 +01:00
Mikael Nordfeldth
a3b265a477
Portability for filepath in File
2016-03-07 20:13:07 +01:00
Mikael Nordfeldth
a0336ce48b
Unnecessary debug output
2016-03-06 18:15:36 +01:00
Mikael Nordfeldth
d9538183bd
Use information about activityschema public mention for Notice scope
2016-03-06 17:47:35 +01:00
Mikael Nordfeldth
6ec72b2978
Move mail_confirm_address out of mail.php
2016-03-06 17:27:40 +01:00
Mikael Nordfeldth
175b7e8541
Refactor some ConfirmaddressAction stuff
2016-03-02 15:31:48 +01:00
Mikael Nordfeldth
346a73c36f
Fix a regression in 1f76c1e4
that stopped sending email confirmation on registration
2016-03-02 14:38:34 +01:00
Mikael Nordfeldth
97d8e4571f
Fix a regression in 1f76c1e4
that stopped sending email confirmation on registration
2016-03-02 14:35:08 +01:00
Mikael Nordfeldth
53772ba305
Some rights one does not have if either sandboxed or silenced
2016-03-02 12:41:56 +01:00
Mikael Nordfeldth
d6598e790c
Introduce a ConfigException
2016-03-02 12:33:06 +01:00
Mikael Nordfeldth
9534969c05
Don't set is_local=LOCAL_NONPUBLIC on sandboxed user notices
...
Let's decide whether they are nonpublic by testing them when the notice
is shown instead.
2016-03-02 12:26:23 +01:00
Mikael Nordfeldth
79d68a52d0
No 'acct:' in FancyName please.
2016-03-02 10:49:33 +01:00
Mikael Nordfeldth
7ec69e4215
User->hasBlocked typing
2016-03-02 00:04:31 +01:00
Mikael Nordfeldth
99fbb181c1
Translation changes, use FancyName in email subject
2016-03-01 23:53:36 +01:00
Mikael Nordfeldth
4abb3f19bf
Make Profile->getFancyUrl() somewhat better on fallback
...
It tries to get a referential identifier apart from the fullname trying
with acct: URI, profile URL and lastly URI.
2016-03-01 23:48:32 +01:00
Mikael Nordfeldth
ddd60e7142
Make Profile->getFancyName() return including the acct URI
2016-03-01 23:37:38 +01:00
Mikael Nordfeldth
47f408ca7c
Strict typing for mail_notify_attn
2016-03-01 23:37:11 +01:00
Mikael Nordfeldth
e41809af89
Nothing interesting was made in this commit.
2016-03-01 16:30:00 +01:00
Mikael Nordfeldth
a112e7f9a4
Use another method of detecting unspecified defaultImage size
2016-03-01 15:00:52 +01:00
Mikael Nordfeldth
63c087a255
Consistent behaviour for ScopingNoticeStream $scoped
...
We don't guess the current profile anymore if the value of the profile === -1
Also sets $this->scoped for all ScopingNoticeStream inheritors, which just
like in an Action can be null if we're not scoped in any way (logged in).
2016-03-01 14:51:47 +01:00
Mikael Nordfeldth
52a3764ae4
Resolve relative URLs (assuming URI.Base==notice URL)
...
The real way to do this would be to get the xml:base property from
the Atom feed but it's probably not there in any posts we see today.
2016-02-26 14:46:26 +01:00
Mikael Nordfeldth
1e6520fddd
Woops, forgot to skip the / in path
2016-02-26 14:13:46 +01:00
Mikael Nordfeldth
6a4470912f
Fiddling with merge request #98 to use internal routing functions
2016-02-26 14:10:32 +01:00
Mikael Nordfeldth
8356c2495c
Use mb_* and strict === comparison
2016-02-26 13:52:25 +01:00
mmn
722ff4d9c0
Merge branch 'foolproof_file_redirection_branch' into 'nightly'
...
Foolproof file redirection
This solves an issue when our internal /attachment/{file_id} links are shortened with an remote shorteners (which caused the /attachment/{file_id} links to be saved to the File table and a thumbnail of a thumbnail being generated)
See merge request !98
2016-02-26 12:49:10 +00:00
mmn
fae9e27365
Merge branch 'group-autocomplete' into 'nightly'
...
Fix !group autocomplete
"Call to undefined method User_group::getFullname"
See merge request !108
2016-02-26 12:30:19 +00:00
Mikael Nordfeldth
c58228195b
Make sure the saved Notice has an ID
2016-02-26 01:11:20 +01:00
Mikael Nordfeldth
519e3308ab
Use mb_strlen to see if something is an empty string
2016-02-26 01:04:59 +01:00
Mikael Nordfeldth
aeb2e282db
Commented on the mime extension matching regexp
2016-02-25 22:32:54 +01:00
Mikael Nordfeldth
bac37d1714
syntax error
2016-02-25 22:17:44 +01:00
Mikael Nordfeldth
e6e1705852
Make uploads work properly if we accept _all_ attachment types
...
Also introduced $config['attachments']['extblacklist'] that can disable
certain file extensions (or rewrite them, for example php => phps)
2016-02-25 22:15:54 +01:00
Mikael Nordfeldth
6336248d71
Notice getRendered() can now be called on uninserted notices
2016-02-25 20:13:00 +01:00
Mikael Nordfeldth
e69f878241
Notice getRendered() can now be called on uninserted notices
2016-02-25 15:48:37 +01:00
Mikael Nordfeldth
e3e3a91734
Correct comment on Notice->conversation in table schema
2016-02-24 19:34:44 +01:00
Chimo
54da2526ed
Fix !group autocomplete
...
"Call to undefined method User_group::getFullname"
2016-02-24 13:00:15 -05:00
Mikael Nordfeldth
731fd01139
Allow easy fetching of rel="me" values
2016-02-24 16:42:54 +01:00
Mikael Nordfeldth
3ef573f67c
Default to profile size in Avatar::defaultAvatar
2016-02-24 16:42:35 +01:00
Mikael Nordfeldth
d672547112
getAliases should be only a list (numeric array)
2016-02-23 14:33:09 +01:00
Mikael Nordfeldth
b59dacb806
getAliases for Profile and Notice
...
Also move fancyurlfix into site-wide $config['fix']['fancyurls']
TODO: getByUri should make use of this directly I guess?
2016-02-23 14:00:59 +01:00
Mikael Nordfeldth
d16a883e17
Allow lookup of User->getByUri (throws NoResultException)
2016-02-21 18:47:47 +01:00
hannes
501d081d3b
getKV doesn't throw exception
2016-02-16 19:16:05 +00:00
Mikael Nordfeldth
83f679fb57
Profile->isPrivileged() to check if users have more rights than to post etc.
2016-02-12 14:47:49 +01:00
Mikael Nordfeldth
e5ad98e601
Silence action can only be used on non-priviliged users
2016-02-12 14:22:25 +01:00
Mikael Nordfeldth
5dce08d068
Add Profile::ensureCurrent() to verify we _certainly_ got a Profile.
2016-02-12 13:52:48 +01:00
Mikael Nordfeldth
733debd9b3
Use thumbnail upscaling config value
2016-02-10 04:40:54 +01:00
Mikael Nordfeldth
dd229e855a
Allow finding the "original remote thumbnail"
...
This will probably cause older oEmbed images not to show, since they
probably were updated to use empty url entries because they were thought
of as local ones. During a migration period maybe you want to change
the default value of notNullUrl to 'false' in File_thumbnail::byFile(...)
2016-02-10 04:37:43 +01:00
Mikael Nordfeldth
893d888152
Add urlhash field to File_thumbnail for indexing
2016-02-10 04:15:41 +01:00
Mikael Nordfeldth
49b7648fea
Managed_DataObject gets onInsert and onUpdate
2016-02-10 03:37:27 +01:00
Mikael Nordfeldth
ec257d940a
Either use or don't use HTTPS
...
The risk of injection attacks using HTTP is too great to allow a
site that allows both HTTP and HTTPS...
2016-02-10 00:57:39 +01:00
Mikael Nordfeldth
3dea259f52
Return intval from getID()
2016-02-08 12:21:46 +01:00
Mikael Nordfeldth
e903bd0bc3
Hacky support for geo URI detection
...
Won't work with common_purify yet because there is no geo uri scheme for it
2016-02-03 14:19:08 +01:00
Mikael Nordfeldth
6a4aa34b0c
Don't process further in redirection if HEAD gives 400 Bad request
2016-02-03 00:34:49 +01:00
Mikael Nordfeldth
40cffb9463
File::isProtected is static
2016-02-03 00:22:18 +01:00
Mikael Nordfeldth
c6ae883ad2
Don't trust local HTML either
...
If we reallyreally want to include <img> or <script> or whatever then we
have to do that after Notice::saveActivity sets ->rendered.
2016-01-30 00:00:37 +01:00
hannes
f708a5b016
Never save our /attachment/{file_id} links as links in the file table, return the old file
2016-01-29 00:36:30 +00:00
hannes
efd2326a29
the last url in the redirection chain can actually also be a redirection (e.g. if it's one of our /attachment/{file_id} links)
2016-01-29 00:34:32 +00:00
Mikael Nordfeldth
efe23ed404
updateWithKeys now understands multi-column keys
...
and automatically identifies _which_ columns are the right ones,
so for example 'uri' primary keys don't need to be explicitly set
2016-01-28 16:42:59 +01:00
hannes
a888294135
add our own protected urls
2016-01-25 19:00:46 +00:00