Commit Graph

5041 Commits

Author SHA1 Message Date
mmn
5c768d7ef7 Merge branch 'twitter-verb' into 'nightly'
TwitterBridge: Add $notice->verb on import

Since /plugins/ActivityModeration::onStartNotieSave expects it to be there when calling ActivityUtils::compareVerbs. Otherwise, the following exception is unhandled:

2015-10-26 15:33:03 LOG_ERR: [sn.chromic.org:queuedaemon.php:25931] Unhandled exception: No URI to resolve in ActivityUtils::resolveUri  
 0: /lib/activityutils.php(353): ActivityUtils::resolveUri(NULL)  
 1: /lib/activityutils.php(364): ActivityUtils::compareTypes(NULL, Array)  
 2: /plugins/ActivityModeration/ActivityModerationPlugin.php(113): ActivityUtils::compareVerbs(NULL, Array)  
 3: [internal function]: ActivityModerationPlugin->onStartNoticeSave(Object(Notice))  
 4: /lib/event.php(105): call_user_func_array(Array, Array)  
 5: /plugins/TwitterBridge/lib/twitterimport.php(173): Event::handle('StartNoticeSave', Array)  
 6: /plugins/TwitterBridge/lib/twitterimport.php(72): TwitterImport->saveStatus(Object(stdClass))  
 7: /plugins/TwitterBridge/lib/tweetinqueuehandler.php(52): TwitterImport->importStatus(Object(stdClass))  
 8: /lib/dbqueuemanager.php(94): TweetInQueueHandler->handle(Array)  
 9: /lib/iomaster.php(287): DBQueueManager->poll()  
 10: /lib/iomaster.php(161): IoMaster->poll()  
 11: /scripts/queuedaemon.php(111): IoMaster->service()  
 12: /lib/spawningdaemon.php(189): QueueDaemon->runThread()  
 13: /lib/spawningdaemon.php(118): SpawningDaemon->initAndRunChild(2)  
 14: /lib/daemon.php(168): SpawningDaemon->run()  
 15: /scripts/queuedaemon.php(181): Daemon->runOnce()  
 16: {main}

See merge request !50
2015-11-05 15:01:07 +00:00
mmn
4b7c904fe0 Merge branch 'correct-author-for-repeat' into 'master'
Markup correct author for a repeat

The original author is not the author of this entry, but of the original entry.

See merge request !51
2015-11-05 15:00:35 +00: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
Stephen Paul Weber
a74572b469 Use mb_strlen 2015-10-28 01:46:08 +00:00
Stephen Paul Weber
6ac8b845bf Improvements inspired by the OStatus code 2015-10-28 01:45:51 +00:00
Stephen Paul Weber
fe4c8a771b Replace text with nickname if shorter 2015-10-28 01:24:58 +00:00
Stephen Paul Weber
0aa759fab7 Allow mentioning bare domains with OStatus 2015-10-28 01:24:42 +00:00
Stephen Paul Weber
2edf535ecd Add length argument to plugin 2015-10-28 01:24:29 +00:00
Stephen Paul Weber
85d5cfede5 Link to add to Firefox as feedreader 2015-10-28 01:10:28 +00:00
Stephen Paul Weber
e58c529c53 If we are given a direct URL to a feed, use that 2015-10-28 00:54:20 +00:00
Stephen Paul Weber
fed0895d98 Move the functionality to a plugin
Use an associated model to prevent race conditions on creating the
profile object.
2015-10-28 00:11:54 +00:00
Mikael Nordfeldth
1b81131c51 Shared notices didn't save the URL 2015-10-28 00:13:17 +01:00
Stephen Paul Weber
e1de6e0aa9 Support more author types on RSS
Specifically, any ActivityStreams or ATOM namespaces being used on
an rss channel.
2015-10-27 18:43:57 +00:00
Mikael Nordfeldth
ebbb9a8990 Bad HTML in translation. 2015-10-27 19:05:07 +01:00
Stephen Paul Weber
54e87dd2c3 Morkup correct author for a repeat
The original author is not the author of this entry, but of the original entry.
2015-10-27 17:19:03 +00:00
Chimo
3ae81f095c TwitterBridge: Add $notice->verb on import
Since /plugins/ActivityModeration::onStartNotieSave expects it to be there when calling ActivityUtils::compareVerbs. Otherwise, the following exception is unhandled:

2015-10-26 15:33:03 LOG_ERR: [sn.chromic.org:queuedaemon.php:25931] Unhandled exception: No URI to resolve in ActivityUtils::resolveUri
 #0 /lib/activityutils.php(353): ActivityUtils::resolveUri(NULL)
 #1 /lib/activityutils.php(364): ActivityUtils::compareTypes(NULL, Array)
 #2 /plugins/ActivityModeration/ActivityModerationPlugin.php(113): ActivityUtils::compareVerbs(NULL, Array)
 #3 [internal function]: ActivityModerationPlugin->onStartNoticeSave(Object(Notice))
 #4 /lib/event.php(105): call_user_func_array(Array, Array)
 #5 /plugins/TwitterBridge/lib/twitterimport.php(173): Event::handle('StartNoticeSave', Array)
 #6 /plugins/TwitterBridge/lib/twitterimport.php(72): TwitterImport->saveStatus(Object(stdClass))
 #7 /plugins/TwitterBridge/lib/tweetinqueuehandler.php(52): TwitterImport->importStatus(Object(stdClass))
 #8 /lib/dbqueuemanager.php(94): TweetInQueueHandler->handle(Array)
 #9 /lib/iomaster.php(287): DBQueueManager->poll()
 #10 /lib/iomaster.php(161): IoMaster->poll()
 #11 /scripts/queuedaemon.php(111): IoMaster->service()
 #12 /lib/spawningdaemon.php(189): QueueDaemon->runThread()
 #13 /lib/spawningdaemon.php(118): SpawningDaemon->initAndRunChild(2)
 #14 /lib/daemon.php(168): SpawningDaemon->run()
 #15 /scripts/queuedaemon.php(181): Daemon->runOnce()
 #16 {main}
2015-10-27 10:12:33 -04:00
Stephen Paul Weber
4c2bc465a0 Accept 204 for PuSH subscription
Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.

This used to be allowed by the spec, so no harm in accepting it.
2015-10-27 03:16:39 +00:00
Stephen Paul Weber
fae7bc0bc0 Add all link headers, not just the last one
Given the way Link headers work, it does not make any sense to
just replace all other ones.  Especially when we ourselves are adding
in a loop.
2015-10-25 18:42:37 +00:00
Stephen Paul Weber
dc36621dc2 Linkback to mentioned profiles 2015-10-25 17:22:15 +00:00
Stephen Paul Weber
ddfb56d920 TwitterBridge also check for dupe by uri
In case a twitter item came in from some other source (such as linkback).
2015-10-23 18:03:44 +00:00
Stephen Paul Weber
983fd75ec9 Include rel-syndication link for tweets
As per: <http://microformats.org/wiki/rel-syndication>
This allows some services to find a post in Twitter.
2015-10-23 17:56:02 +00:00
Stephen Paul Weber
2030ddfc79 Reduce duplication by handling both cases in find 2015-10-23 16:26:35 +00:00
Stephen Paul Weber
439b466979 Use HTTPS for links to Twitter profiles as well 2015-10-23 16:24:04 +00:00
Stephen Paul Weber
d1f1063900 Twitter URIs have changed
The #! was deprecated ages ago, and Twitter forces HTTPS these days.
2015-10-23 16:19:54 +00:00
Stephen Paul Weber
123bb445db Always send Twitter replies to Twitter
If is_twitter_notice($notice->reply_to) then send it to Twitter, even
if twitter import is off.  It's a reply to a Twitter notice, it should
go there!
2015-10-23 15:37:11 +00:00
Stephen Paul Weber
8649591626 Stop incorrecly changing object_type to relative URI
All other data is using absolute URI for object_type.
2015-10-22 17:14:59 +00:00
Stephen Paul Weber
3e1a6a65e6 Event plugin uses saveObjectFromActivity for RSVP
The Event plugin is still using a deprecated hook for saving extra data,
which makes it harder to hook into from other plugins.  This commit
fixes it to use the new hook for at least RSVPs.

NOTE: this plugin incorrectly sets the object_type of RSVP notices to
their verb.  This was existing behaviour which I have preserved for
backwards-compatability.
2015-10-22 17:10:50 +00:00
Stephen Paul Weber
4b31bc3fd2 Enqueue renewals
Better for request times, etc
2015-10-21 01:50:03 +00:00
Stephen Paul Weber
df21c3c95d Renew 1 day *before* the end, not 1 day *after* 2015-10-21 01:49:26 +00:00
Stephen Paul Weber
df46f123dd Actually use the renew code
We have the code to check once a day and renew, but currently it's
just in a script directory.  This change adds an event listener
hook to check and renew subscriptions daily.
2015-10-21 01:10:48 +00:00
Stephen Paul Weber
677f0ac479 Allow users to opt out of sending linkbacks 2015-10-18 21:28:55 +00:00
abjectio
303fa91720 Removed inboxmessagelist.php - seems to be not needed. Ref. Issue #77 2015-10-18 17:34:36 +02:00
Stephen Paul Weber
c7e08195e4 Fix Pingback
This code was using the HTTPRequest helpers wrong.  This commit sets the body directly instead of jamming the XML in as a POST param.
2015-10-17 13:39:46 +00:00
Stephen Paul Weber
d9d74ca96c Send URL we publish
Webmention and Pingback both need the exact URL we are going to claim to link to to be present in our HTML source, so send them our actual original link.

Webmention clients are supposed to resolve this link.  Pingback clients may still fail on shortened links.
2015-10-17 13:38:13 +00:00
Stephen Paul Weber
3b1792c8b5 Add webmention support 2015-10-15 00:29:53 +00:00
Stephen Paul Weber
e4892d21b1 Note that we should handle relative URIs 2015-10-14 16:13:25 -05:00
Stephen Paul Weber
8edc5148d9 Normalize detection helpers
Will make it easier to see what's happening when we add a third one.
2015-10-14 15:54:47 -05:00
Stephen Paul Weber
63fd35dffa Notify replies and repeats
This is especially useful for partial federation with remote accounts
that are not fully OStatus-enabled but support a pingback protocol.
Such accounts will still be notified of replies and repeats of their
content even without OStatus support, thus adding to the federated
universe.
2015-10-14 15:47:00 -05:00
Stephen Paul Weber
b43294ec6f Use the getter, not a direct access 2015-10-14 15:33:48 -05:00
Stephen Paul Weber
a4a37d6fc9 More robust pingback link detection 2015-10-14 15:28:38 -05:00
Mikael Nordfeldth
2c8536dbf0 Link source==share notices 2015-10-14 01:30:29 +02:00
Mikael Nordfeldth
401b774c2f Only set ->actor in a case where it has not yet been set
Otherwise it could overwrite it with the wrong actor (the "second round"
for share activities)
2015-10-14 01:20:50 +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
b6aeff89c4 Call Notice::saveActivity instead of Ostatus_profile->processActivity 2015-10-14 00:10:54 +02:00
Mikael Nordfeldth
005c108118 Shared activities were missing the actor 2015-10-13 23:40:35 +02:00
Mikael Nordfeldth
65adefe170 Wrong variable names in SharePlugin 2015-10-13 23:18:13 +02:00
Mikael Nordfeldth
e379c49d49 Removing excess debug logging 2015-10-13 22:55:27 +02:00
Mikael Nordfeldth
c8a907c828 Bookmark:addNew did not add a proper rel=related 2015-10-13 12:31:35 +02:00
Mikael Nordfeldth
3f4d4cb7a0 Better error handling in Bookmark 2015-10-12 18:28:32 +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
297d68f36c Change Bookmark plugin version details 2015-10-12 09:47:30 +02:00
Mikael Nordfeldth
0e588bdeca Woops, put the bookmark get* functions in the wrong file. 2015-10-11 22:08:28 +02:00
Mikael Nordfeldth
1dac0e709a First step of making Bookmark saveActivity-compatible 2015-10-10 23:47:43 +02:00
Mikael Nordfeldth
b209276e72 Stricter typing for Bookmark plugin 2015-10-10 23:15:51 +02:00
Mikael Nordfeldth
5726459629 unmaintained plugins that accidentally got translations 2015-10-10 22:40:05 +02:00
mmn
0926316a76 Merge branch 'master' into 'nightly'
convert activity stream RFC3339 dates to mysql datetime format when saving remote event dates to db

See merge request !34
2015-10-10 20:38:01 +00:00
mmn
32f77dbf05 Merge branch 'translation-snapshot-october-2015' into 'nightly'
Snapshot of the Transifex translation project - October 2015

It's been 7 months since the last localization update, and the files in the repository are out of sync with the current state of the project. Our Transifex team has since grown to 63 translators, many of them are active members of the GNU social community. I don't know how we will resolve this situation, but it is clear that we have to act. If you plan to redesign the plugin system in the future to support external repository for localizations, that would work as well. But now, please let us do an update. It would be a serious disgrace to the community to throw all of their hard work away.

See merge request !32
2015-10-10 20:36:04 +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
cae43344ec Start reworking Bookmark plugin for more modern code 2015-10-10 21:56:02 +02:00
Mikael Nordfeldth
18f07a48e8 Using some Managed_DataObject::getByPK calls for consistency 2015-10-10 21:40:02 +02:00
Mikael Nordfeldth
37f2da03e1 newUri might as well be put in Managed_DataObject 2015-10-10 21:31:26 +02:00
Mikael Nordfeldth
45bc192625 If that $options key wasn't set, this won't change anything anyway 2015-10-10 21:22:07 +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
Hannes Mannerheim
a9f879c2ba better explanation 2015-10-10 00:20:32 +02:00
Hannes Mannerheim
b24191f9f9 convert activity stream RFC3339 dates to mysql datetime format when saving remote event dates to db 2015-10-10 00:11:54 +02:00
mmn
3154302b53 Merge branch 'master' into 'nightly'
make events federate

See merge request !33
2015-10-09 14:43:45 +00:00
Hannes Mannerheim
61ed36e446 make event urls federate 2015-10-09 16:22:47 +02:00
Hannes Mannerheim
55655ba319 make event location federate 2015-10-09 16:16:13 +02:00
Hannes Mannerheim
827dffb94c make event dates federate 2015-10-09 16:00:33 +02:00
Hannes Mannerheim
5a2d760177 update from upstream 2015-10-09 14:40:43 +02:00
Hannes Mannerheim
499d4aadbc make events federate 2015-10-09 13:10:48 +02:00
Mikael Nordfeldth
2d81df4760 Deleted_notice variable specification fixed 2015-10-08 13:20:17 +02:00
Mikael Nordfeldth
180958185f Found newer Diaspora protocol specifications
http://www.rubydoc.info/github/Raven24/diaspora-federation/master/DiasporaFederation/Salmon/EncryptedSlap
2015-10-05 12:49:54 +02:00
Mikael Nordfeldth
ee6096cca8 FIXME: Diaspora has its own salmon slap semantics 2015-10-05 11:32:10 +02:00
Mikael Nordfeldth
3902dc963a Diaspora encloses magic envelope in <atom:entry>??!!?! 2015-10-05 11:22:23 +02:00
digital dreamer
d7fd6bac72 Snapshot of the Transifex translation project - October 2015 2015-10-04 18:23:01 +02:00
Mikael Nordfeldth
af1b0915f4 Magic signature discovery and envelope changes 2015-10-04 17:26:35 +02:00
Mikael Nordfeldth
6afa091dca Change some Salmon events and similar
Use Profile instead of User and (if we know it) send along the target
profile, so a Diaspora plugin can encrypt to the receiver.
2015-10-04 17:26:23 +02:00
Mikael Nordfeldth
f4ed171397 Make Magicsig capable of loading public PKCS1 keys 2015-10-04 17:22:19 +02:00
Mikael Nordfeldth
2970333adb Set otherwise undiscovered salmonuri on OStatus script update-profile.php 2015-10-04 17:21:56 +02:00
Mikael Nordfeldth
57f26a97fb var_export without true 2015-10-04 16:40:21 +02:00
Mikael Nordfeldth
4238875ebe autoloading of Crypt_AES and Crypt_RSA is easier 2015-10-04 15:57:11 +02:00
Mikael Nordfeldth
684b9419a0 Add an event to get plugin discovery hints from XRD 2015-10-04 14:46:45 +02:00
Mikael Nordfeldth
2aed59a02a Diaspora plugin is almost there (for remote salmon slaps at least) 2015-10-04 12:06:48 +02:00
Mikael Nordfeldth
9b461db4da Send the entire XMLStringer object in MagicEnvelope events. 2015-10-04 09:59:01 +02:00
Mikael Nordfeldth
184293c634 Break out MagicEnvelope->toXML() functionality to allow for plugin flexibility 2015-10-04 00:17:07 +02:00
Mikael Nordfeldth
bc9e3b1843 Remove XSS attack vector in JoinListItem 2015-10-03 23:51:06 +02:00
Mikael Nordfeldth
30a4393afa Move around some code related to Magic_envelope and signing 2015-10-03 23:35:46 +02:00
Mikael Nordfeldth
aab7667cd5 Sigh, copy-pasting when tired is a bad idea. 2015-10-03 16:19:38 +02:00
Mikael Nordfeldth
833abbb191 Fixes to Deleted_notice 2015-10-03 16:07:19 +02:00
Mikael Nordfeldth
e6d7534a88 We haven't created the Deleted_notice yet, just use target URI directly 2015-10-03 15:39:57 +02:00
Mikael Nordfeldth
db726ca294 Return the correct URI in Deleted_notice 2015-10-03 15:31:56 +02:00
Mikael Nordfeldth
7c68537b06 Deletes now federated. But might not be handled properly 2015-10-03 14:39:49 +02:00
Mikael Nordfeldth
1244e8d929 Somewhat better logging while still in trial phase 2015-10-03 12:33:33 +02:00
Mikael Nordfeldth
2e77a83816 Store delete verb as object_type=activity 2015-10-03 12:29:22 +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
ae73baf4ee Undefined variable use 2015-10-03 01:47:40 +02:00
Mikael Nordfeldth
0c6fe78a73 Shorthand function for getActor 2015-10-03 00:43:34 +02:00
Mikael Nordfeldth
b8f52965a9 StoreRemoteMedia plugin to enable locally served thumbs of remote images
Add addPlugin('StoreRemoteMedia'); in your config.php to enable.
2015-10-01 22:18:47 +02:00
Mikael Nordfeldth
d52b7e3124 Oembed fiddling, nothing major 2015-10-01 22:18:33 +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
118a4f56ab Script to test remote oEmbed endpoints 2015-09-28 12:25:40 +02:00
Mikael Nordfeldth
34b6d37266 Revert "Accessibility fix, make yes button more explicit"
This reverts commit 1864a9de38.

The problem was another label that was missing (fixed in previous commit, the close button)
2015-09-28 00:49:26 +02:00
Mikael Nordfeldth
9ad9b91efb Call it compareVerbs when comparing verbs 2015-09-10 15:27:40 +02:00
Mikael Nordfeldth
4354ce21d1 introducing html_sprintf for easier sprintf'ing with htmlspecialchars 2015-09-06 01:53:11 +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
abjectio
91c1ab6017 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-08-18 22:55:28 +02:00
Mikael Nordfeldth
e0084a6fdf Exception handling regarding Foreign_link 2015-07-18 11:39:34 +02:00
Mikael Nordfeldth
b609a3610f Some missed exception throwing since fixing Foreign_link and Foreign_user 2015-07-18 11:04:35 +02:00
Mikael Nordfeldth
9fdf6474f8 TwitterBridge working again (for signin and posting to Twitter at least)
Now we just need to make it include the newname suggestion if the form fails
(for example forgetting to check the license checkbox or so).
2015-07-18 02:16:15 +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
5933056a5b Twittersettings now works better as Profilesettings extension 2015-07-17 17:50:43 +02:00
Mikael Nordfeldth
d6d06c8cbb SubMirror now works properly as extended from FormAction 2015-07-17 17:09:36 +02:00
Mikael Nordfeldth
712a6d49d0 Poll settings adapted to FormAction 2015-07-17 16:19:02 +02:00
Mikael Nordfeldth
da168674f9 OpenID settings aligned with FormAction 2015-07-17 16:08:22 +02:00
Mikael Nordfeldth
8d2504a809 Early return in FacebookBridge settings action 2015-07-17 15:27:47 +02:00
Mikael Nordfeldth
be0c10e8f6 Facebooksettings adapted to FormAction 2015-07-17 15:24:37 +02:00
Mikael Nordfeldth
9045575e62 ExtendedProfile now works better as extended ProfilesettingsAction 2015-07-17 12:46:09 +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
01a4ab30dc Removing MicroID as well as simplifying profileaction
sorry, forgot to commit in between
2015-07-14 16:52:20 +02:00
abjectio
c10a4cf6d2 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-07-12 10:40:24 +02:00
Mikael Nordfeldth
c5a5eaf288 Do we update feeduri and salmonuri for Ostatus_profile now?
When changing from HTTP to HTTPS, following up on commit
59763ceecb
where http to https Ostatus_profile URI changing was first introduced.
2015-07-11 19:46:01 +02:00
Mikael Nordfeldth
bb29d18017 ShowfavoritesAction now extends ShowstreamAction 2015-07-11 00:28:32 +02:00
Mikael Nordfeldth
24b1e26406 MagicEnvelope called DOMDocument::loadXML statically
but apparently we shouldn't do this, despite recommended on https://secure.php.net/manual/en/domdocument.loadxml.php
2015-07-10 23:24:50 +02:00
Mikael Nordfeldth
961031bc28 Cleaning up Directory plugin lists 2015-07-10 23:19:54 +02:00
Mikael Nordfeldth
3900a739b9 Forgotten migrations of ->profile and ->user to ->getTarget()
GalleryAction extends ProfileAction which no longer uses ->profile and ->user
2015-07-10 23:05:02 +02:00
Mikael Nordfeldth
55b2d124bc The 'target' is an argument to common_local_url not the target profile 2015-07-10 22:49:38 +02:00
Mikael Nordfeldth
7c4e550e31 Merge branch 'master' into nightly 2015-07-10 16:02:55 +02:00
Mikael Nordfeldth
9a92b58057 ShowstreamAction tidying up
Lots of these changes mean that we're requiring certain values to
either by typed properly or return the expected value. If it doesn't
there should be a fatal exception thrown which we can followup in the
logs and won't go silently suppressed.
2015-07-10 13:44:47 +02:00
Mikael Nordfeldth
50c297bcbe ShowstreamAction fixes so it's not as horrible 2015-07-10 12:34:06 +02:00
Bhuvan Krishna
1ab4c9998a Add executable permission to script missing it 2015-07-10 14:46:08 +05:30
Bhuvan Krishna
d6924f7680 Remove executable permissions where unnecessary 2015-07-10 14:36:34 +05:30
Mikael Nordfeldth
e46b2803a7 Introducing TargetedRss10Action for simplifying RSS 1.0 2015-07-10 00:28:36 +02:00
Mikael Nordfeldth
90565cc44d searchsubmenu item() function definition 2015-07-09 22:19:19 +02:00
Mikael Nordfeldth
d63bca9d3c Rss10Action now in an autodetected file. 2015-07-09 14:22:22 +02:00
Mikael Nordfeldth
9b8ac2d404 CSS can handle alternating row colouring now 2015-07-09 14:10:38 +02:00
Mikael Nordfeldth
f939485b52 Gravatar relies on closed source 3rd party 2015-07-08 07:57:27 +02:00
Mikael Nordfeldth
33dc06ae21 handle function declaration to match parent 2015-07-07 20:02:41 +02:00
Mikael Nordfeldth
62c6ed58ba DirectMessagePlugin actions modernified 2015-07-07 19:18:45 +02:00
Mikael Nordfeldth
3f3482f017 Stronger typing and fixes in RequireValidatedEmail 2015-07-03 10:17:15 +02:00
Mikael Nordfeldth
030b570051 non-static method was called statically, now defined static 2015-06-23 13:24:19 +02:00
Mikael Nordfeldth
1864a9de38 Accessibility fix, make yes button more explicit 2015-06-22 23:40:51 +02:00
mmn
29620619b5 Merge branch 'plugins-documentation' into 'nightly'
Plugins documentation

* Bring content from https://web.archive.org/web/20140821102047/http://status.net/wiki/HOWTO_Make_a_Plugin
* Point link on Plugins Admin Panel page to plugins/README.md ( Ref #53 )
* Add link to "Community Plugins"

See merge request !19
2015-06-20 22:49:31 +00:00
chimo
e32cd2dd15 Add link to 'community plugins' 2015-06-14 12:05:54 -04:00
chimo
39462c3a2e Documentation about plugins
* Content in plugins/doc/Plugin_development.md from:
https://web.archive.org/web/20140821102047/http://status.net/wiki/HOWTO_Make_a_Plugin

* Point link on Plugins Admin Panel page to plugins/README.md
2015-06-14 11:59:46 -04:00
abjectio
e9a6d5be51 Removed the full AGPL license file 2015-06-13 11:11:50 +02:00
abjectio
437dc3d713 Added .pot file and Norwegian translation 2015-06-10 22:11:34 +02:00
abjectio
ea076a8783 Bug in use of gettext/locale string 2015-06-10 22:10:14 +02:00
abjectio
965cd92a72 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-06-10 22:09:30 +02:00
aroquen
a42d74a238 Rewording: people instead of user directory 2015-06-07 22:27:31 +02:00
Mikael Nordfeldth
8a002e98bc File-related functions not declared static 2015-06-07 10:01:28 +02:00
abjectio
9dc8250956 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-06-06 22:27:51 +02:00
Mikael Nordfeldth
d76d37340a Function declarations not matching their parents 2015-06-06 22:14:56 +02:00
Mikael Nordfeldth
871912a00a Plugins didn't match lib/plugin.php onPluginVersion function definition
I ran:
for i in `grep -R onPluginVersion...version plugins/|cut -d: -f1`; do sed -i '{ s/\(onPluginVersion(\)\(\&\$versions\)/\1array \2/ }' $i; done
2015-06-06 22:04:01 +02:00
abjectio
28eb441812 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-06-06 18:15:17 +02:00
Mikael Nordfeldth
6478034e92 Diaspora-compatible Salmon slap receival
We're not all the way there yet, there is something which seems to bugger
up profile discovery from their end.
2015-06-06 17:14:38 +02:00
Mikael Nordfeldth
faf14197cd Diaspora doesn't understand our Salmon POST, so send again 2015-06-06 16:57:29 +02:00
Mikael Nordfeldth
b63054cb1d OStatus update-profile.php script now finds Diaspora salmon URLs 2015-06-06 16:18:22 +02:00
Mikael Nordfeldth
4de125dd84 Moved FeedSubException parent class to own file 2015-06-06 16:02:25 +02:00
Mikael Nordfeldth
268b901048 Maintainer change for Ostatus_profile 2015-06-06 15:58:08 +02:00
Mikael Nordfeldth
d4fc064e44 Include the Diaspora GUID string in our XRD metadata 2015-06-06 14:49:39 +02:00
Mikael Nordfeldth
623a7eee57 Diaspora seeds tend to give the key type in 'type' attribute 2015-06-06 14:46:17 +02:00
Mikael Nordfeldth
57943cad99 Magicsig gets toFingerprint output
We give this as a lowercase, sha256 hexadecimal digest of the string:
TYPE + "." + BASE64(modulus as bytes) + "." + BASE64(exponent as bytes)

Where TYPE in all our cases up until now at least are "RSA"
2015-06-06 14:35:48 +02:00
Mikael Nordfeldth
c5f79fd2f3 Magicsig gets toFingerprint function. 2015-06-06 14:33:43 +02:00
Mikael Nordfeldth
e212f2ae77 Moved Diaspora specific metadata to own plugin 2015-06-06 13:49:27 +02:00
abjectio
8abf96cfd8 Edited the readme file to be more inline with the core repo 2015-06-06 12:14:50 +02:00
abjectio
e269a3fad9 Added ChooseTheme plugin to the repository 2015-06-06 11:28:34 +02:00
Mikael Nordfeldth
9376a6d75a ModPlus plugin now links to remote profiles with UserbyidAction 2015-06-05 21:30:50 +02:00
Mikael Nordfeldth
94f5247f91 $this->client_ip was not always set in AntiBrutePlugin onEndCheckPassword 2015-06-05 15:34:14 +02:00
Mikael Nordfeldth
ebdd792b6f getByPK (primary key) lookup for Managed_DataObject instances 2015-06-04 22:17:40 +02:00
Mikael Nordfeldth
20145092ce Publish OAuth data in host-meta 2015-06-04 18:54:09 +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
9449235765 Remove some clutter from OMB plugin 2015-06-04 01:14:26 +02:00
Mikael Nordfeldth
a4739b0107 Move some last OpenID stuff into the OpenID plugin (XRDS) 2015-06-04 01:08:03 +02:00
Mikael Nordfeldth
0726dcd06c Start using NoParentNoticeException more widely 2015-06-02 13:50:52 +02:00
Mikael Nordfeldth
cd42ee7e85 Allow adding preload token to HSTS header
Use by adding this to config.php:

addPlugin('StrictTransportSecurity', array('preloadToken'=>true));
2015-05-03 23:05:47 +02:00
Mikael Nordfeldth
6d72800098 StrictTransportSecurity syntax fix 2015-05-03 22:50:44 +02:00
Mikael Nordfeldth
4210096a6f MobileProfile plugin cleanup 2015-04-22 19:50:56 +02:00
Mikael Nordfeldth
0a0455b8d2 minor coding fixes 2015-04-22 18:41:54 +02:00
Mikael Nordfeldth
e4a17fedc6 Translation contained bad HTML 2015-04-14 22:01:22 +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
f094918cf6 Revert "Inverse logic error in OembedPlugin"
This reverts commit 9ab996d9e6.
2015-04-05 15:44:04 +02:00
Mikael Nordfeldth
4fc4f91b9e Allow oEmbed data from all sites by default 2015-04-03 21:00:19 +02:00
Mikael Nordfeldth
9ab996d9e6 Inverse logic error in OembedPlugin 2015-04-03 20:59:56 +02:00
Mikael Nordfeldth
3cf5fe8795 bad URL is a clientError 2015-04-03 20:58:12 +02:00
Mikael Nordfeldth
94d3f50aee oEmbed Action logic simplified (early return) 2015-04-03 20:47:08 +02:00
Mikael Nordfeldth
3dc30b6b8f oEmbed helper never finished because of "break 2;" 2015-04-03 20:11:55 +02:00
Mikael Nordfeldth
4f2095ea00 No need to do pkeyGet if not repeated (thanks hannes)
Kind of reverts commit d9ed2a0
2015-03-13 09:49:09 +01:00
Mikael Nordfeldth
d9ed2a0fae repeated did not always find the Notice (deleted?) 2015-03-13 00:19:08 +01:00
Mikael Nordfeldth
4d6b5e70df Add repeated_id to SimpleStatusArray for Qvitter's benefit 2015-03-13 00:02:48 +01:00
Mikael Nordfeldth
a647a4f6b3 Moving some more repeat stuff into the Share plugin 2015-03-12 22:56:25 +01:00
Mikael Nordfeldth
2821be2bce Notice properties set in bad order on activityobject saving 2015-03-12 22:17:08 +01:00
Mikael Nordfeldth
0ff11ac978 Share never actually set the repeat_of value 2015-03-12 21:56:18 +01:00
Mikael Nordfeldth
642f7f850d repeat actions to Share plugin 2015-03-12 21:46:10 +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
940737a958 Finalize move of 'repeat' Command 2015-03-12 19:22:05 +01:00
Mikael Nordfeldth
1350987e2e Why did I keep these functions from FavoritePlugin? 2015-03-12 17:07:24 +01:00
Mikael Nordfeldth
dc31a3d7d6 Receiving Share activity fixes
Forgot to translate 'self' to 'Ostatus_profile' etc.
2015-03-12 16:59:50 +01:00
Mikael Nordfeldth
dcfcceb6f2 Share plugin now handles showing form in NoticeOptionItems 2015-03-12 16:33:34 +01:00
Mikael Nordfeldth
d24c4f349f Move share command interpretation to SharePlugin
Some fixes to the SharePlugin.php file came along
2015-03-12 15:58:57 +01:00
Mikael Nordfeldth
4e9e3cf0d5 Moving Ostatus_profile processShare to SharePlugin 2015-03-12 15:47:21 +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
c79b9a2289 more descriptive setting name 2015-03-10 18:10:27 +01:00
Mikael Nordfeldth
8cfe72c683 SiteNoticeInSidebar widget did not define divId() 2015-03-10 17:33:58 +01:00
Mikael Nordfeldth
af67f15cf2 FavoritePlugin is now an "ActivityVerbHandlerPlugin" 2015-03-10 15:39:35 +01:00
Mikael Nordfeldth
8a273eef20 Move AlreadyFulfilled check to Fave::addNew 2015-03-10 11:56:23 +01:00
Mikael Nordfeldth
fa3457f391 First ActivityVerbPlugin sketch 2015-03-09 17:36:21 +01:00
Mikael Nordfeldth
9bb648739b The argument formatting regexps are the third argument 2015-03-09 15:31:07 +01:00
Mikael Nordfeldth
3287ecc8d3 Delete Faves onProfileDeleteRelated instead of User 2015-03-09 15:01:05 +01:00
Mikael Nordfeldth
1e89540c3f Merge branch 'nightly', beginning of 1.2.x
Conflicts:
	plugins/APC/locale/APC.pot
	plugins/APC/locale/ast/LC_MESSAGES/APC.po
	plugins/APC/locale/be-tarask/LC_MESSAGES/APC.po
	plugins/APC/locale/br/LC_MESSAGES/APC.po
	plugins/APC/locale/de/LC_MESSAGES/APC.po
	plugins/APC/locale/es/LC_MESSAGES/APC.po
	plugins/APC/locale/eu/LC_MESSAGES/APC.po
	plugins/APC/locale/fr/LC_MESSAGES/APC.po
	plugins/APC/locale/gl/LC_MESSAGES/APC.po
	plugins/APC/locale/he/LC_MESSAGES/APC.po
	plugins/APC/locale/ia/LC_MESSAGES/APC.po
	plugins/APC/locale/id/LC_MESSAGES/APC.po
	plugins/APC/locale/it/LC_MESSAGES/APC.po
	plugins/APC/locale/mk/LC_MESSAGES/APC.po
	plugins/APC/locale/ms/LC_MESSAGES/APC.po
	plugins/APC/locale/nb/LC_MESSAGES/APC.po
	plugins/APC/locale/nl/LC_MESSAGES/APC.po
	plugins/APC/locale/pl/LC_MESSAGES/APC.po
	plugins/APC/locale/pt/LC_MESSAGES/APC.po
	plugins/APC/locale/pt_BR/LC_MESSAGES/APC.po
	plugins/APC/locale/ru/LC_MESSAGES/APC.po
	plugins/APC/locale/tl/LC_MESSAGES/APC.po
	plugins/APC/locale/uk/LC_MESSAGES/APC.po
	plugins/APC/locale/zh_CN/LC_MESSAGES/APC.po
	plugins/Adsense/locale/Adsense.pot
	plugins/Adsense/locale/be-tarask/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/br/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/ca/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/de/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/eu/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/he/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/ja/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/lb/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/lt/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/ms/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/nb/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/pl/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/pt/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/pt_BR/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/tl/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/tr/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po
	plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po
	plugins/Aim/locale/Aim.pot
	plugins/Aim/locale/af/LC_MESSAGES/Aim.po
	plugins/Aim/locale/ca/LC_MESSAGES/Aim.po
	plugins/Aim/locale/de/LC_MESSAGES/Aim.po
	plugins/Aim/locale/es/LC_MESSAGES/Aim.po
	plugins/Aim/locale/eu/LC_MESSAGES/Aim.po
	plugins/Aim/locale/fi/LC_MESSAGES/Aim.po
	plugins/Aim/locale/fr/LC_MESSAGES/Aim.po
	plugins/Aim/locale/gl/LC_MESSAGES/Aim.po
	plugins/Aim/locale/ia/LC_MESSAGES/Aim.po
	plugins/Aim/locale/it/LC_MESSAGES/Aim.po
	plugins/Aim/locale/mk/LC_MESSAGES/Aim.po
	plugins/Aim/locale/ms/LC_MESSAGES/Aim.po
	plugins/Aim/locale/nl/LC_MESSAGES/Aim.po
	plugins/Aim/locale/pl/LC_MESSAGES/Aim.po
	plugins/Aim/locale/pt/LC_MESSAGES/Aim.po
	plugins/Aim/locale/sv/LC_MESSAGES/Aim.po
	plugins/Aim/locale/tl/LC_MESSAGES/Aim.po
	plugins/Aim/locale/uk/LC_MESSAGES/Aim.po
	plugins/Blog/locale/Blog.pot
	plugins/Blog/locale/ar/LC_MESSAGES/Blog.po
	plugins/Blog/locale/br/LC_MESSAGES/Blog.po
	plugins/Blog/locale/ca/LC_MESSAGES/Blog.po
	plugins/Blog/locale/de/LC_MESSAGES/Blog.po
	plugins/Blog/locale/es/LC_MESSAGES/Blog.po
	plugins/Blog/locale/eu/LC_MESSAGES/Blog.po
	plugins/Blog/locale/fr/LC_MESSAGES/Blog.po
	plugins/Blog/locale/gl/LC_MESSAGES/Blog.po
	plugins/Blog/locale/ia/LC_MESSAGES/Blog.po
	plugins/Blog/locale/it/LC_MESSAGES/Blog.po
	plugins/Blog/locale/lt/LC_MESSAGES/Blog.po
	plugins/Blog/locale/mk/LC_MESSAGES/Blog.po
	plugins/Blog/locale/nl/LC_MESSAGES/Blog.po
	plugins/Blog/locale/tl/LC_MESSAGES/Blog.po
	plugins/Blog/locale/tr/LC_MESSAGES/Blog.po
	plugins/Irc/locale/Irc.pot
	plugins/Irc/locale/ca/LC_MESSAGES/Irc.po
	plugins/Irc/locale/de/LC_MESSAGES/Irc.po
	plugins/Irc/locale/es/LC_MESSAGES/Irc.po
	plugins/Irc/locale/eu/LC_MESSAGES/Irc.po
	plugins/Irc/locale/fi/LC_MESSAGES/Irc.po
	plugins/Irc/locale/fr/LC_MESSAGES/Irc.po
	plugins/Irc/locale/gl/LC_MESSAGES/Irc.po
	plugins/Irc/locale/ia/LC_MESSAGES/Irc.po
	plugins/Irc/locale/it/LC_MESSAGES/Irc.po
	plugins/Irc/locale/ja/LC_MESSAGES/Irc.po
	plugins/Irc/locale/mk/LC_MESSAGES/Irc.po
	plugins/Irc/locale/nl/LC_MESSAGES/Irc.po
	plugins/Irc/locale/sv/LC_MESSAGES/Irc.po
	plugins/Irc/locale/tl/LC_MESSAGES/Irc.po
	plugins/Irc/locale/tr/LC_MESSAGES/Irc.po
	plugins/Irc/locale/uk/LC_MESSAGES/Irc.po
	plugins/Spotify/locale/Spotify.pot
	plugins/Spotify/locale/de/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/es/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/fr/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/gl/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/he/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/ia/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/mk/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/nl/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/sv/LC_MESSAGES/Spotify.po
	plugins/Spotify/locale/tl/LC_MESSAGES/Spotify.po
	plugins/TinyMCE/locale/TinyMCE.pot
	plugins/TinyMCE/locale/ca/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/de/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/eo/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/es/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/fr/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/gl/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/he/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/ia/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/id/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/ja/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/mk/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/ms/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/nb/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/nl/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/pt/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/pt_BR/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/ru/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/tl/LC_MESSAGES/TinyMCE.po
	plugins/TinyMCE/locale/uk/LC_MESSAGES/TinyMCE.po
	plugins/XCache/locale/XCache.pot
	plugins/XCache/locale/ast/LC_MESSAGES/XCache.po
	plugins/XCache/locale/br/LC_MESSAGES/XCache.po
	plugins/XCache/locale/de/LC_MESSAGES/XCache.po
	plugins/XCache/locale/es/LC_MESSAGES/XCache.po
	plugins/XCache/locale/eu/LC_MESSAGES/XCache.po
	plugins/XCache/locale/fi/LC_MESSAGES/XCache.po
	plugins/XCache/locale/fr/LC_MESSAGES/XCache.po
	plugins/XCache/locale/gl/LC_MESSAGES/XCache.po
	plugins/XCache/locale/he/LC_MESSAGES/XCache.po
	plugins/XCache/locale/ia/LC_MESSAGES/XCache.po
	plugins/XCache/locale/id/LC_MESSAGES/XCache.po
	plugins/XCache/locale/mk/LC_MESSAGES/XCache.po
	plugins/XCache/locale/ms/LC_MESSAGES/XCache.po
	plugins/XCache/locale/nb/LC_MESSAGES/XCache.po
	plugins/XCache/locale/nl/LC_MESSAGES/XCache.po
	plugins/XCache/locale/pl/LC_MESSAGES/XCache.po
	plugins/XCache/locale/pt/LC_MESSAGES/XCache.po
	plugins/XCache/locale/pt_BR/LC_MESSAGES/XCache.po
	plugins/XCache/locale/ru/LC_MESSAGES/XCache.po
	plugins/XCache/locale/tl/LC_MESSAGES/XCache.po
	plugins/XCache/locale/tr/LC_MESSAGES/XCache.po
	plugins/XCache/locale/uk/LC_MESSAGES/XCache.po
	plugins/YammerImport/locale/YammerImport.pot
	plugins/YammerImport/locale/br/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/de/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/es/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/eu/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/fr/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/gl/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/ia/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/mk/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/ms/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/nl/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/pl/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/ru/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/tl/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/tr/LC_MESSAGES/YammerImport.po
	plugins/YammerImport/locale/uk/LC_MESSAGES/YammerImport.po
2015-03-09 11:01:17 +01:00
Mikael Nordfeldth
8ae1328e71 DB_DataObject won't save value 0 because it is "false"
A bug which we fix here and there by sending the string '0' instead.
We will be able to remove these hacks ("booleanintstring") when the
next release of DB_DataObject comes as I patched it for them.
2015-03-08 23:32:56 +01:00
Mikael Nordfeldth
6f61b4488e Make the OpenID settings page use more of HTMLOutputter functions 2015-03-08 23:31:35 +01:00
Mikael Nordfeldth
1ea876296d A bunch of FormAction and ManagedAction synchronization 2015-03-08 20:41:42 +01:00
Mikael Nordfeldth
55894f02c7 TagProfileAction and OStatusPlugin now use less redundant code 2015-03-08 20:14:46 +01:00
digital dreamer
a452a3b1a0 Snapshot of the Transifex translation project - February 2015 2015-03-08 09:34:38 +01:00
Mikael Nordfeldth
9deff7afaf Email settings fix for the DB_DataObject bug for saving value 0 2015-03-07 21:57:43 +01:00
Mikael Nordfeldth
1303943424 Choose whether to prerender the inline reply forms
The DefaultLayout plugin will come with options to render various parts
of the page by default or not. The expected default behaviour will try
to imitate the original StatusNet/GNU social looks as far as possible.
2015-03-06 23:52:25 +01:00
Mikael Nordfeldth
d7fd507d99 ImageMagick sucks at vector graphics, so only use for rasterization 2015-03-05 11:53:52 +01:00
Mikael Nordfeldth
4c2bbf2354 ImageMagick plugin can now make thumbnails of SVG files 2015-03-04 13:50:20 +01:00
Mikael Nordfeldth
9720fd8250 Reset imgPath variable if VideoThumbnails failed 2015-03-04 13:45:42 +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
dcfb813066 Free ImageMagick object from memory when done with it 2015-03-04 12:18:44 +01:00
Mikael Nordfeldth
fe9dc8e901 ImageMagickPlugin refactored so we can more easily add new formats 2015-03-04 12:09:22 +01:00
Mikael Nordfeldth
80bf185ad5 Blog depended on TinyMCE which was unmaintained 2015-03-01 14:32:48 +01:00
Mikael Nordfeldth
bece816ec7 User class throws exception on register failure 2015-03-01 12:36:19 +01:00
Mikael Nordfeldth
7fdf2f50f4 Allow changing nick on EmailRegistration
Nothing said that the EmailRegistration plugin was meant to restrict
the nickname to the local part of the email address. Let users change
it before they actually register the user.
2015-03-01 12:31:52 +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
f25e5e3860 Start and EndActionExecute added/fixed/documented 2015-02-27 12:11:43 +01:00
Mikael Nordfeldth
0b09e4bfcb Normalize username on AuthCrypt login
Because users login with mixed casing and whatnot.
2015-02-26 00:45:17 +01:00
Mikael Nordfeldth
82ef687730 Removing some plugins that were moved to plugins-unmaintained
See https://gitorious.org/social/plugins-unmaintained/
2015-02-25 15:47:14 +01:00
Mikael Nordfeldth
d0ef37a487 trailing whitespace 2015-02-25 12:50:56 +01:00
Mikael Nordfeldth
611e5ab421 Merge commit 'refs/merge-requests/49' of https://gitorious.org/social/mainline into merge-requests/49 2015-02-25 12:49:58 +01:00
Mikael Nordfeldth
ce0b221573 avconv required -f image2 not -f mjpeg at least on my server 2015-02-25 01:44:00 +01:00
Mikael Nordfeldth
95b61a5e12 Only local files to be passed through VideoThumbnails 2015-02-25 01:37:57 +01:00
Mikael Nordfeldth
3bbb748a08 VideoThumbnails changed to use 'exec' call to avconv 2015-02-25 01:36:14 +01:00
Mikael Nordfeldth
27bc654b5b RSSCloud URL field too long for utf8mb4
Should be the last one. If any URLs are longer than 191 chars, it might
require more manual interaction. Any instance with problems running
scripts/upgrade.php will get special treatment, help and a lollipop.
2015-02-21 16:43:21 +01:00
Mikael Nordfeldth
c1e3cfe7a7 ensureFeedURL will return Ostatus_profile early if already stored 2015-02-20 14:47:12 +01:00
Mikael Nordfeldth
d061e1065e Some loose table definitions which needed 191 char indexes
because we want utf8mb4 so badly!
2015-02-19 21:02:14 +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
45dc76de26 File and File_redirection adhoc storage methods updated for urlhash 2015-02-19 19:05:24 +01:00
Mikael Nordfeldth
4ad7e8f459 UserdirectoryAction now ManagedAction and better SQL 2015-02-18 13:37:06 +01:00
Mikael Nordfeldth
d445e0c877 No need for return true 2015-02-18 13:18:32 +01:00
Mikael Nordfeldth
e64ac4c418 GroupdirectoryAction now has no direct SQL queries
also various fixes uppers
2015-02-18 12:17:26 +01:00
Mikael Nordfeldth
a254f38a23 Turn GroupdirectoryAction into a ManagedAction 2015-02-18 11:15:30 +01:00
Mikael Nordfeldth
52e0ce8b06 Directory group search code cleanup 2015-02-18 11:13:10 +01:00
Mikael Nordfeldth
b039d960f5 Make group search in Directory use PEAR::DB
No more direct SQL queries please.
2015-02-18 11:08:11 +01:00
Mikael Nordfeldth
0deaf6c50c use common_purify to purify HTML, one function to rule them all 2015-02-18 00:14:28 +01:00
Mikael Nordfeldth
9aa59c7f62 forgot primary key column to updateWithKeys in SalmonAction 2015-02-17 21:31:35 +01:00
Mikael Nordfeldth
59763ceecb SalmonAction now updates remote URI if it was stale.
After doublechecking two identities so that they match (like one that was
previously http:// but now is https://) we update the URI in our database
to match.

This has to be verified so it's not easy to fool our script and thus make
us replace legitimate URIs with fake ones. I believe the callback method
is safe, but I'm not sure how well it handles HTTP MITM attacks etc.
2015-02-17 17:35:45 +01:00
Chimo
ef780d5034 Move people tag autocomplete JS to plugin
As discussed in https://gitorious.org/social/mainline/merge_requests/47
2015-02-15 19:10:05 -05:00
Mikael Nordfeldth
2b93643277 Don't default to publishing http: alias!
It seems to have caused a problem with at least an older codebase of
remote GNU social sites, but either way we shouldn't present the user
as aliased on an insecure connection if there is no real reason to.
2015-02-15 13:33:36 +01:00
Mikael Nordfeldth
396f1e92ca Present http:// alias by default in WebFinger output
because it might help us (and especially StatusNet sites) to recognize
profiles that have migrated from HTTP to HTTPS!
2015-02-15 13:17:51 +01:00
Mikael Nordfeldth
e9457db8b2 DirectMessages backed up properly for UAS 2015-02-13 11:54:15 +01:00
Mikael Nordfeldth
44191ac81a Faves backed up properly to UAS 2015-02-13 11:52:29 +01:00
Mikael Nordfeldth
cdf2b28854 UAS protected property user solved with getUser() 2015-02-13 11:39:50 +01:00
Mikael Nordfeldth
2f86cd8602 utf8mb4 conversion on database with index adjusts 2015-02-12 18:18:55 +01:00
Mikael Nordfeldth
f5bb0431da schemaDef coding style fixes 2015-02-12 17:45:02 +01:00
Mikael Nordfeldth
13f1c2cc55 Missing uri property of QnA_Answer class 2015-02-12 17:44:05 +01:00
Mikael Nordfeldth
dc495a52ea Merge commit 'refs/merge-requests/39' of https://gitorious.org/social/mainline into merge-requests/39 2015-02-09 11:35:19 +01:00
Chimo
74d4e2fa10 TwitterBridge: don't array_merge() non-arrays
Fixes: ErrorException: [2] array_merge(): Argument #2 is not an array
2015-02-08 20:11:50 -05:00
Chimo
55321af4c8 Make TwitterBridge less noisy
Empty timelines are no longer warnings, but debug information
2015-02-08 20:07:23 -05:00
Mikael Nordfeldth
c6b1b3e5e3 Merge commit 'refs/merge-requests/30' of https://gitorious.org/social/mainline into merge-requests/30 2015-02-08 23:19:53 +01:00
Mikael Nordfeldth
39dce9e348 Merge commit 'refs/merge-requests/36' of https://gitorious.org/social/mainline into merge-requests/36 2015-02-08 23:11:47 +01:00
Chimo
11053431d6 Populate 'created' property on ostatus_source
The 'created' column in ostatus_source SQL table has NOT NULL restriction.
INSERTs fail when running MySQL/MariaDB in strict mode if this is not
populated.
2015-02-08 13:41:29 -05:00
Mikael Nordfeldth
305ef6ad85 Older versions of PHP couldn't do array indexes on function returns. 2015-02-08 11:53:47 +01:00
Mikael Nordfeldth
1bda6fb9be General code quality improvement for easier understanding
Also made sure we only match local group IDs in recognizedFeed for PushhubAction
2015-02-08 11:47:15 +01:00
Mikael Nordfeldth
4b77f88a17 Merge commit 'refs/merge-requests/34' of https://gitorious.org/social/mainline into merge-requests/34 2015-02-08 11:21:36 +01:00
Chimo
56c0cd621a Remove NOT NULL restriction on FeedSub last_update
Fixes an issue where INSERTs fail if MySQL/MariaDB runs in "strict
mode".
2015-02-07 11:08:03 -05:00
Chimo
937adf05c9 Remove NOT NULL restriction on HubSub 'lease'
This fixes an issue where INSERTs in HubSub fail if MySQL/MariaDB is
running in "strict mode" since the default lease time in
PushHubAction::subunsub is null.

Permanent subscriptions have been removed in PuSH v0.4, but they are
being kept here for backward-compatibility with previous GS/SN versions.
2015-02-07 10:46:13 -05:00
Mikael Nordfeldth
f141565104 Allow delete-inactive for gcfeeds
Garbage collecting should also allow to clean up leftover database entries.
2015-02-04 16:49:03 +01:00
Mikael Nordfeldth
7cce2e17ff FavoritePlugin uses getConfigPref for profile setting 2015-02-03 22:02:19 +01:00
Mikael Nordfeldth
3f7a305b2a $this out of context (use $rcpt) 2015-02-03 21:15:37 +01:00
Mikael Nordfeldth
7666ac34f9 Revert "Notices for faves are already sent as they are notices now."
This reverts commit 636d5141e9.

We want the salmon notifyActivity call
2015-02-03 17:50:21 +01:00
Mikael Nordfeldth
9827e6ad84 The favorite activity is an activity. 2015-02-03 16:53:51 +01:00
Mikael Nordfeldth
636d5141e9 Notices for faves are already sent as they are notices now. 2015-02-03 16:44:13 +01:00
Mikael Nordfeldth
adc4dfc081 Wrong variable name (s/fave/object/) 2015-02-03 16:43:56 +01:00
Mikael Nordfeldth
660e8c6efc Fave::addNew now calls Notice::saveActivity
as a bonus we've fixed several FIXME issues for favorite email notification
and updated parts of the codebase for these activities to a more modern style.
2015-02-03 16:34:11 +01:00
Mikael Nordfeldth
0bcecda177 more activity-like terminology in variable names 2015-02-03 15:12:29 +01:00
Mikael Nordfeldth
1104ea2a0e Fave insert logging directly in insert() 2015-02-03 14:58:22 +01:00
Mikael Nordfeldth
000b7675d8 Vimeo oEmbed thumbnail host added to whitelist 2015-02-02 11:14:13 +01:00
Mikael Nordfeldth
acd36698b4 A bunch of clientError that were called as serverError
Calling serverError with a clientError status code (4xx) means it will
automatically default to Internal Server Error (500) which is in the
server error status code range (5xx). That is undesirable.
2015-01-29 23:35:49 +01:00
Mikael Nordfeldth
acec8b8cf2 Default value false for $force on Ostatus updateAvatar 2015-01-27 14:14:24 +01:00
Mikael Nordfeldth
cc996f58db Test in Ostatus_profile if avatar is an image before writing to filesystem
This clears one FIXME...

We also fix HTTPClient::quickGet() (and a related call in OStatus testfeed.php).
2015-01-27 14:00:39 +01:00
Mikael Nordfeldth
cdd3c52633 Handle groups better in Ostatus_profile->updateAvatar 2015-01-27 13:38:11 +01:00
Mikael Nordfeldth
482f61ac15 OStatusSub should use inherent attributes
No need to make several common_current_user calls and then getProfile
directly after that, since we have stuff like $this->scoped.
2015-01-27 13:23:49 +01:00
Mikael Nordfeldth
cf46de6ca7 Ostatus_profile smarter test if avatar exists
If you accidentally deleted a remote user's avatar from filesystem,
it'd take until its URL was updated that you got it back. Now it
happens if the local avatar file doesn't exist.
2015-01-26 17:43:09 +01:00
Mikael Nordfeldth
697a00d8e1 Force updateAvatar if desired 2015-01-26 17:26:51 +01:00
Mikael Nordfeldth
7beec74f0c Differentiate on group and user for WebFinger data 2015-01-26 12:18:35 +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
3f65bf45ab No reason to stop the event 2015-01-25 22:32:01 +01:00
Mikael Nordfeldth
4dd6d7869e Maybe we can detect animated files in core 2015-01-25 22:11:46 +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
4917a422a1 updateKeys -> updateWithKeys (w/ functionality) 2015-01-25 12:07:26 +01:00
Mikael Nordfeldth
0e0783ee8c Regexp for Oembed domain matching 2015-01-25 11:18:57 +01:00
Mikael Nordfeldth
85e644d647 Remote thumbnail fetching from trusted sources
So far we only trust i.ytimg.com for YouTube thumbnails, but you can
configure the Oembed plugin in config.php by setting the plugin's class vars:

   addPlugin('Oembed', array('param'=>'value', ...));

Some might think this is a security risk or privacy invasive, but as the Oembed
script is already calling remote sites to get information _about_ linked media,
the way to stop it is to disable the Oembed plugin. However it is not certain
it has been migrated out into a plugin properly yet. But try it if you want to.
2015-01-25 02:34:40 +01:00
Mikael Nordfeldth
999175d741 File_oembed::byFile to avoid littering with getKV 2015-01-25 02:32:04 +01:00
Mikael Nordfeldth
aeaee388bf Store remote magicsig public keys locally 2015-01-24 13:06:09 +01:00
Mikael Nordfeldth
2d0155a50f Added Magicsig onProfileDeleteRelated 2015-01-24 12:47:39 +01:00
Mikael Nordfeldth
975ce6d83e Documentation update (clarifying need for php5-gmp in comment) 2015-01-24 12:22:29 +01:00
Mikael Nordfeldth
cce808b27c const'ifying bits and sigalg
Also we should move away from 1024 bit keys as soon as we can.
2015-01-24 12:18:55 +01:00
Mikael Nordfeldth
bf2f1c23b7 Documentation update for ImageMagick 2015-01-24 11:52:40 +01:00
Mikael Nordfeldth
d1a1eefa38 resize_animated declared public in ImageMagickPlugin 2015-01-24 11:36:16 +01:00
Mikael Nordfeldth
82b335dc2c MapstractionPlugin didn't handle notices without URLs 2015-01-23 12:41:51 +01:00
Mikael Nordfeldth
f814415386 RealtimePlugin didn't handle notices without URLs 2015-01-23 12:40:37 +01:00
Mikael Nordfeldth
99b1a6f576 user is a protected property in UAS/AtomUserNoticeFeed
The bug made it impossible to backup with Favorite ;)
Thanks postblue for reporting.
2015-01-23 11:58:42 +01:00
Mikael Nordfeldth
3a0136fe1f Replace file_get_contents with HTTPClient in testfeed 2015-01-22 11:30:36 +01:00
Mikael Nordfeldth
c1ad416f12 AntiBrute plugin, delay + log multiple fail logins 2015-01-21 23:35:48 +01:00
Mikael Nordfeldth
25911368c8 GIF support (I know you love it)
make sure you have php5-imagick and then enable with addPlugin('ImageMagick')
2015-01-21 16:43:46 +01:00
Mikael Nordfeldth
e6fe996661 NewmessageAction lacked the $form property 2015-01-21 13:02:46 +01:00
Mikael Nordfeldth
d492b74e42 holy crap, file_put_contents got args in wrong order 2015-01-18 02:57:08 +01:00
Mikael Nordfeldth
5d9e9aaaf5 Keep the old error message on updateAvatar 2015-01-18 02:48:39 +01:00
Mikael Nordfeldth
010824c4b5 Use HTTPClient to download avatar
also make updateAvatar public so we can call it from update_ostatus_profile.php
2015-01-18 02:44:55 +01:00
Mikael Nordfeldth
0499736bb4 Loose_Ostatusprofile::updateAvatar was identical to Ostatus_profile 2015-01-18 02:39:08 +01:00
Mikael Nordfeldth
420eea3f24 No need to say we're finished working 2015-01-17 13:38:59 +01:00
Mikael Nordfeldth
f5efbd8037 twitPic no longer exists/is active 2015-01-17 12:07:57 +01:00
Mikael Nordfeldth
092dfee1c6 spring cleaning in Oembed helper list
Fixed http -> https and removed some dead services
2015-01-17 12:06:08 +01:00
aroquen
2b78eb1735 Reduce tag margin in bookmark notice 2015-01-17 00:39:07 +01:00
aroquen
22df2fa40f Move bookmark's tags after description 2015-01-17 00:39:07 +01:00
aroquen
20457d4389 Better frame and spacing for bookmark title 2015-01-17 00:39:07 +01:00
Mikael Nordfeldth
ba9abb3c57 Add nohub config setting to allowed non-PuSH feeds 2015-01-16 01:10:55 +01:00
Mikael Nordfeldth
19f3cc112f removed debugging lines for FeedPoller 2015-01-15 21:14:07 +01:00
Mikael Nordfeldth
8594a2ba16 FeedPoller plugin, for hubless feeds 2015-01-15 21:13:13 +01:00
Mikael Nordfeldth
57d8eb8a53 Ensuring unknown profiles in salmon slaps work again 2015-01-13 13:43:35 +01:00
Mikael Nordfeldth
db7154c63b Abort on failure instead of return early success 2015-01-13 13:18:57 +01:00
Mikael Nordfeldth
8749c470ca ArrayWrapper spookiness, must make sure it's a Notice there... 2015-01-12 12:06:19 +01:00
Mikael Nordfeldth
66044b7782 ensureActivityObjectProfile is more thorough than createAct... 2015-01-12 11:47:21 +01:00
Mikael Nordfeldth
aca5ff1b23 Found some unreachable code in Favorite
The portion after StartAtomPubNewActivity would never be reached since
Favorite handles that activity through ActivityHandlerPlugin nowadays.
So I cleaned it up and followed a couple of paths, making stuff prettier.
2015-01-12 02:23:23 +01:00
Mikael Nordfeldth
73669ed308 ensureProfile already done and stored in $this->oprofile 2015-01-12 02:01:26 +01:00
Mikael Nordfeldth
d8f4de450c Support for updated aliases
will verify unknown aliases against old ones if the new identifies as a
previously recognized URI.

Steps:
1. Check the newly received URI. Who does it say it is?
2. Compare these alleged identities to our local database.
3. If we found any locally stored identities, ask it about its aliases.
4. Do any of the aliases from our known identity match the recently introduced one?

Currently we do _not_ update the ostatus_profile table with the new URI.
2015-01-10 02:07:39 +01:00
Mikael Nordfeldth
51f97c7e84 section control over their notice lists + HTML id stuff 2015-01-09 15:46:35 +01:00
Mikael Nordfeldth
d32fef6039 Merge commit 'refs/merge-requests/28' of https://gitorious.org/social/mainline into merge-requests/28 2015-01-08 16:48:42 +01:00
Joshua Judson Rosen
f246dd4645 OStatusPlugin: fix ensureProfile catch-22 in onCheckActivityAuthorship()
Use profile URL (not URI), like elsewhere.

Profile::getUri() doesn't actually do anything useful, here--
it does nothing unless a plugin (like OStatus) is already
able to resolve the Profile into a backend object (e.g.: an Ostatus_profile).

If we might not already have an Ostatus_profile for a given Profile,
then we need to use $profile->getUrl() and fetch the data from that URL.
2014-12-30 23:56:33 -05:00
Mikael Nordfeldth
c93b21d9f6 Columns too narrow in mobileprofile 2014-12-10 12:28:38 +01:00
Mikael Nordfeldth
d3a8896b2a Merge commit 'refs/merge-requests/26' of https://gitorious.org/social/mainline into merge-requests/26 2014-12-09 13:45:15 +01:00
Joshua Judson Rosen
f71eeaee5a OStatus/scripts/update-profile-data.php: print updated fullnames
Now that we can actually update them again.
2014-12-08 22:06:29 -05:00
Mikael Nordfeldth
812d1eead9 Stronger typing in Ostatus_profile 2014-12-08 19:52:00 +01:00
Mikael Nordfeldth
e7c6c6fc76 Merge commit 'refs/merge-requests/19' of https://gitorious.org/social/mainline into merge-requests/19 2014-12-06 20:18:52 +01:00
Hannes Mannerheim
b81857656f delete groups from groups directory, for admins 2014-12-02 15:31:27 +01:00
Mikael Nordfeldth
72d1c3c73e fetch conversation URI in processPost, not processShare 2014-11-27 16:51:21 +01:00
Mikael Nordfeldth
1b449ea705 scripts/upgrade.php would fail if Profile_prefs did not exist
A checkschema.php run would've done it, but that would require an
additional step to our upgrade procedure.
2014-11-27 14:46:10 +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
Joshua Judson Rosen
cff8c462da sendemailsummary.php: correct path to INSTALLDIR
So that we can actually find commandline.inc.

This should have been updated when the files in the EmailSummary tree
where moved down a level into subdirectories.
2014-11-24 20:28:31 -05:00
Mikael Nordfeldth
8056097478 Try to lookup the profile if we don't know it yet 2014-11-24 23:50:42 +01:00
Mikael Nordfeldth
720c2c9ff2 Ostatus_profile->checkAuthorship returns Profile
not Ostatus_profile
2014-11-24 23:40:06 +01:00
Mikael Nordfeldth
3bf1478f97 Bad parameter count for checkAuthorship
At the same time we change this to call ActivityUtils::checkAuthorship
instead to let the retrieval/verification go through event handling.

rozzin (Joshua Judson Rosen) found this error. Thanks.
2014-11-24 12:49:20 +01:00
Joshua Judson Rosen
4b875e0fd0 Fix OStatus groups by making Ostatus_profile::localProfile() work for groups
We need to look up a feed profile for HandleFeedEntryWithProfile events,
regardless of whether they're an OStatus user, group, or something else;
this is the least hairy way of doing that--the alternative being
to keep spreading the same logic all over the calling code.

Theoretically, this change might allow OStatusGroups to be recorded
as the authors of activities if they pass through any authorless
activities; but that's why we have checkAuthorship().
2014-11-24 12:30:37 +01:00
Joshua Judson Rosen
d2e1a8c706 Ostatus_profile::checkAuthorship(): throw ServerException when bogus non-authorship is detected
Similarly to what ActivityUtils::checkAuthorship does; try to ensure
that activities from ambiguous OStatus feeds (groups and peopletags)
that require explicit authorship don't get in without explicit authors.
2014-11-24 12:29:41 +01:00
Joshua Judson Rosen
2d7804b88f UserEmailSummaryHandler: use $notice->getLocalUrl(), not getUrl()
getUrl() doesn't work on all notices anymore.
2014-11-23 23:28:30 -05:00
Joshua Judson Rosen
bf0f22744d UserEmailSummaryHandler: Update notice-fetching logic
InboxNoticeStream::getNotices() no longer returns an ArrayWrapper;
just fetch notices normally via $notice->fetch(), so that
we can actually get the top notice-ID and update email_summary_status
accordingly--and not mail about the same notices repeatedly.
2014-11-23 23:28:28 -05:00
Joshua Judson Rosen
2f506dde28 UserEmailSummaryHandler: correct instantiation of InboxNoticeStream
It only takes a single Profile argument....
2014-11-23 23:28:27 -05:00
Mikael Nordfeldth
496acdc7d9 normalizing acct: URI just to be sure 2014-11-16 18:29:05 +01:00
Mikael Nordfeldth
33e7562210 Some unnecessary/faulty includes fixed in DM plugin 2014-11-07 16:33:19 +01:00
Mikael Nordfeldth
98eba61a7e Lost file with MessageCommand class. 2014-11-07 16:25:40 +01:00
Mikael Nordfeldth
aedfb6a8dd FavoritePlugin calls CommandInterpreter::split_arg
The last commit found a bug that a previous move of the FavCommand
into a plugin called $this in FavoritePlugin instead of the instance
of a CommandInterpreter class. Now that call is statically defined in
CommandInterpreter and appropriately called in FavoritePlugin.
2014-11-07 16:24:14 +01:00
Mikael Nordfeldth
046d070ad4 MessageCommand moved to DirectMessage plugin 2014-11-07 16:23:34 +01:00
Mikael Nordfeldth
6ac2a5b8ff &$supported in CommandSupportedAPI event is boolean
not array as we specified here
2014-11-07 16:13:45 +01:00
Mikael Nordfeldth
38d9b4d3a4 UserActivityStream export of DMs moved to plugin 2014-11-07 16:08:16 +01:00
Mikael Nordfeldth
d493fd0772 DirectMessage API functions moved to plugin 2014-11-07 16:00:27 +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
faae9d069a We're using URLMapper, not Net_URL_Mapper 2014-11-07 15:24:05 +01:00
Mikael Nordfeldth
29ac42addd Diaspora public key published in WebFinger 2014-11-06 21:05:31 +01:00
Mikael Nordfeldth
5e4f93cc7d Conversation link as default, permalink for /notice 2014-11-05 19:34:39 +01:00
Mikael Nordfeldth
c263bbcca7 EventPlugin now uses event handling instead of NLI adapter 2014-10-27 14:24:16 +01:00
Mikael Nordfeldth
18c6a0bf35 Show poll results also to non-logged in visitors 2014-10-26 23:17:58 +01:00
Mikael Nordfeldth
fb1b80c915 Updating TwitterBridge README to be clearer on installation 2014-10-26 23:17:43 +01:00
Mikael Nordfeldth
636ad44f0b BookmarkListItem removed in favor of event-driven rendering 2014-10-26 22:07:16 +01:00
Mikael Nordfeldth
f69f713360 PollListItem freed from noticeListItemAdapter clutches
In the future, use events for formatting microapp notices, more specifically
through the plugin's function "showNoticeContent" or similar, which is called
from MicroAppPlugin, which is extended from ActivityHandlerPlugin.
2014-10-26 14:48:02 +01:00
Mikael Nordfeldth
39b5e08d44 Possible XSS scenario when posting Bookmarks 2014-10-25 15:00:29 +02:00
Mikael Nordfeldth
048af5ac73 Can't use empty on a function call 2014-10-25 14:29:27 +02:00
Roland Haeder
3d031951f9 Fixed syntax error. :-(
Signed-off-by: Roland Haeder <roland@mxchange.org>
2014-10-25 14:26:22 +02:00
Roland Haeder
db704b5d10 Fixed type-hints + added assert + method getGroup().
Signed-off-by: Roland Haeder <roland@mxchange.org>
2014-10-25 14:26:18 +02:00
Roland Haeder
419c2cd5b3 Some fixes/improvements - added getter getGroup() for https://bugz.foocorp.net/T44 - added type-hints in method signatures
---------------------------------------------------------
WARNING: Some plugins attempt to get a property 'group' from (basicly) a Menu
class which does NOT have such property. This badly needs fixing.
---------------------------------------------------------

Signed-off-by: Roland Haeder <roland@mxchange.org>
2014-10-25 14:25:12 +02:00
Mikael Nordfeldth
57b5e2483d A little bit more debugging. 2014-10-25 14:23:15 +02:00
Hannes Mannerheim
8dba84bd76 i had introduced a bug... userdirectory didn't work when logged out 2014-10-21 02:57:52 +02:00
Hannes Mannerheim
0f87edd9f4 remove dupes when infinitescrolling, and add infinitescroll to user lists and userdirectory also 2014-10-20 16:34:37 +02:00
Hannes Mannerheim
4d4a0491f1 groups/all didn't work, also fixed pagination in directory/users, and a convenient delete-button for admins 2014-10-20 16:24:53 +02:00
Hannes Mannerheim
e3bb5e1df9 do favorites from default like in API
not quite sure about this, but the deleted code in this commit created
activity notices that we couldn't turn off in config.
2014-10-20 16:17:40 +02:00
Mikael Nordfeldth
d0401b19a5 statusnet/gnu-social merge request 22 2014-10-10 20:52:09 +02:00
Aqeel Zafar
a7ffc9e14e Fix T46 Blog Plugin is broken
Adds newFormAction() in Blog Plugin to redirect to correct action.
2014-09-29 18:06:54 +05:00
Mikael Nordfeldth
78781050b3 Mats Sjöberg's merge request no.5 from Gitorious 2014-09-25 08:41:25 +02:00
Mikael Nordfeldth
ee41bc560c Updated LDAP2 extlib to latest version. 2014-09-25 08:34:55 +02:00
Mikael Nordfeldth
a6545d09b8 Added a return true statement for an event handler 2014-09-25 08:32:10 +02:00
Silke Meyer
731d619c1e "return parent" breaks ldap plugin, there's no parent 2014-09-17 17:15:32 +02:00
Mikael Nordfeldth
7e47026085 QnA layout fix, still no answer-action
There is required to be an answer-action element for the threaded view
so we can fetch that action value to an AJAX call which fetches the form.

That is: Currently the "Your answer..." placeholder will fetch a blank URL.
2014-08-24 13:34:01 +02:00
Mikael Nordfeldth
f851d3dbf9 tabs to spaces 2014-08-24 13:33:52 +02:00
Roland Haeder
e1eadbcf4f Fixes for making Meteor working with HTTPS.
Signed-off-by: Roland Haeder <roland@mxchange.org>
2014-08-24 13:24:42 +02:00
Roland Haeder
c1a0132cab Added missing index declarations.
Signed-off-by: Roland Haeder <roland@mxchange.org>
2014-08-24 13:21:59 +02:00
Roland Haeder
3ec64116a4 This JavaScript file is located in js/ - Fixed paths for all targets.
Signed-off-by: Roland Haeder <roland@mxchange.org>
2014-08-24 13:10:19 +02:00
Mikael Nordfeldth
63b61ea2d1 QnA fixes from chimo 2014-08-24 13:05:49 +02:00
Mikael Nordfeldth
3cdc313429 Poll fixes by chimo 2014-08-24 13:01:13 +02:00
Mats Sjöberg
376e63db77 TwitterBridge should not try to send replies to tweets back to Twitter if user hasn't selected to import tweets. 2014-08-21 21:04:06 +03:00
chimo
3edc200b26 PollListItem: Use showNotice args 2014-08-17 13:39:19 -04:00
chimo
0a95cdfa88 Added adaptNoticeListItem and QnAListItem 2014-08-17 13:37:43 -04:00
chimo
850d687901 Added adaptNoticeListItem and PollListItem 2014-08-17 13:33:07 -04:00
Mikael Nordfeldth
9933c00c4f TwitterBridge PHP require_once paths now relative 2014-08-06 09:29:47 +02:00
Mikael Nordfeldth
a9676f5b2b RSVP fromNotice now throws NoResultException 2014-08-06 09:23:42 +02:00
Mikael Nordfeldth
9018fd75c6 JOINs and FOLLOWs would have null titles in Activity representation of notices 2014-07-30 00:21:00 +02:00
Mikael Nordfeldth
8674b51144 Activity plugin fix (LeaveListItem unused) 2014-07-29 10:43:58 +02:00
Mikael Nordfeldth
78dc376f01 Moved some FAVORITE handling from Activity plugin to Favorite 2014-07-28 10:58:24 +02:00
Mikael Nordfeldth
509f31af0e Favorite plugin now "extends" Activity on NoticeAsActivity
Got this mainly from my patches to FreeSocial. The idea is to migrate
also the Note activity to a plugin and have everything be handled as
events, only filling out the basic "context" stuff in the Notice class.
2014-07-28 10:02:53 +02:00
Mikael Nordfeldth
6e481d35ed Start/End NoticeAsActivity modifications
More 'scoped' profiles and typing to the functions.
Also, there's no need to send an object as a reference.
2014-07-28 09:40:07 +02:00
Mikael Nordfeldth
eb2f93ad2b More use of Profile, less User 2014-07-28 09:34:46 +02:00
Mikael Nordfeldth
d11ce2ef3b Consistently use "email-notify_fave" syntax for preference 2014-07-27 23:25:49 +02:00
Mikael Nordfeldth
2d0c7c2c99 ensureWebfinger was never complete in StatusNet. Worked a bit on it. 2014-07-27 23:08:02 +02:00
Mikael Nordfeldth
bb1ac66d74 Cronish plugin minor debugging text fixes and so 2014-07-21 09:51:28 +02:00
Mikael Nordfeldth
9a2e3a52c9 Don't access HTTP_USER_AGENT if it doesn't exist 2014-07-15 20:38:58 +02:00
Mikael Nordfeldth
ea8cb21e98 Allow exception to be thrown if saveActivityObject fails 2014-07-15 14:12:39 +02:00
Mikael Nordfeldth
c96f0aa30f More Activity-based reasoning for saveActivity in Notice
If we can, get the activity ID from the activity itself, instead of the
supplied $options array.
2014-07-14 23:54:58 +02:00
Mikael Nordfeldth
31d53ede91 Bad variable reference in Fave class 2014-07-14 23:37:28 +02:00
Mikael Nordfeldth
eb955fe629 "Notice posted" message in Ajax title for NewnoticeAction 2014-07-14 17:11:54 +02:00
Mikael Nordfeldth
b0c4a35940 Local favoriting fills out content to saveActivity 2014-07-14 14:05:47 +02:00
Mikael Nordfeldth
ae62b91940 Unifying HTML stripping functions to common_strip_html 2014-07-14 13:52:23 +02:00
Mikael Nordfeldth
ac44695c44 Put text content into Favorite activities/activityobjects 2014-07-14 13:25:26 +02:00
Mikael Nordfeldth
5ebe01ba36 NoticeStream fixes regarding non-post verbs 2014-07-14 00:59:04 +02:00
Mikael Nordfeldth
0a20abf1d8 Email notify-on-fave moved to Profile_prefs (run upgrade.php) 2014-07-13 19:46:40 +02:00
Mikael Nordfeldth
933bf0b026 Start and End EmailSaveForm events now take a scoped profile 2014-07-13 15:42:15 +02:00
Mikael Nordfeldth
c8873de08b Start and End EmailFormData events include current profile 2014-07-13 15:33:44 +02:00
Mikael Nordfeldth
a9bfa1979d Don't send favorite notifications unless the user wants it. 2014-07-13 12:58:52 +02:00
Mikael Nordfeldth
6f593a79d4 making more sense in mail_notify_fav
We should probably get rid of this function, at least storing everything in
lib/mail.php - but until then, at least let's make it more understandable.
2014-07-13 12:56:43 +02:00
Mikael Nordfeldth
0e8148af86 When modplus.css got moved, it should've re-related an image path 2014-07-07 01:40:33 +02:00
Mikael Nordfeldth
2eea7a2d4b Do proper Activity-plugin based mention notification 2014-07-07 01:15:43 +02:00
Mikael Nordfeldth
aadc7398dc ModPlus and some layouting issues regarding fixes 2014-07-06 01:37:31 +02:00
Mikael Nordfeldth
fffacaa27c FavorAction now uses Notice::saveActivity 2014-07-06 01:37:03 +02:00
Mikael Nordfeldth
aa33b7f21c Fave does not carry a type
it did in FreeSocial, where I copied my code from.
2014-07-05 16:28:09 +02:00
Mikael Nordfeldth
57a2d7a0e2 Bad ActivityObject generation of Fave 2014-07-05 00:15:22 +02:00
Mikael Nordfeldth
ffb9d7ad3f Rewriting code for notice representation
Getting rid of NoticeListItemAdapter, putting more into ActivityHandlerPlugin
and relying on plugins to handle rendering code of the content. This gives us
a lot more structure and consistency in notice structure and allows activity
plugins to stop rendering certain kinds of notices more easily.

There should also be a property for an ActivityHandlerPlugin class to avoid
rendering notices in the ordinary stream, so we don't have to overload stuff.
2014-07-04 14:14:49 +02:00
Mikael Nordfeldth
eda69cabaf Remove Ostatus_profile when releted Profile is deleted 2014-07-04 11:45:42 +02:00
Mikael Nordfeldth
4b40d6bb2a TagprofileAction fiddled with, now doesn't require OStatus override
But it still doesn't quite work properly, so a lot of work is necessary for this.
2014-07-03 14:02:21 +02:00
Mikael Nordfeldth
b63f6e949c Converted all ActivityObject::fromProfile to $profile->asActivityObject 2014-07-03 10:51:36 +02:00
Mikael Nordfeldth
c44146d6f8 Favorites are now being stored from activities 2014-07-02 18:38:19 +02:00
Mikael Nordfeldth
2e6a32c7be Most of the activityobject-saving for Favorite implemented 2014-07-02 11:38:55 +02:00
Mikael Nordfeldth
b66ec247db Caching fixes for Fave class 2014-07-02 11:38:51 +02:00
Mikael Nordfeldth
9f4bcbad8a checkAuthorship events, Ostatus_profile rewrite to handle it
Lost dependency of OStatus plugin for lib/microappplugin.php, whoo!

also noting which plugins should be upgraded to new saveActivity support.

Favorite plugin won't work with the new system just yet, it doesn't have
the necessary functions to extract activity objects, but that's coming
in the next (few) commits.
2014-07-02 11:38:45 +02:00
Mikael Nordfeldth
acb07ef52f Added saveActivity method to Notice class
saveActivity will accept an Activity which gets parsed and saved through
plugins. So when an ActivityHandlerPlugin (such as Favorite will be soon)
gets a feed to save, this will be the function called instead of saveNew.
2014-07-02 11:38:37 +02:00
Mikael Nordfeldth
687f8ab42c GET, HEAD, DELETE are strings not constants 2014-07-02 11:38:27 +02:00
Mikael Nordfeldth
38bea34562 Moved functions into ActivityHandlerPlugin from MicroAppPlugin
Dummy functions in Favorite plugin so far
2014-07-02 11:37:46 +02:00
Mikael Nordfeldth
d0da552722 SalmonAction and extensions simplified 2014-06-28 20:33:09 +02:00
Mikael Nordfeldth
138d26d488 Favorite "aside"-sections moved, also small fixes left from before
Action now has 'isAction' which compares the loaded Action with names
of classes in an array (added without the 'Action') to its own type.
2014-06-28 16:09:46 +02:00
Mikael Nordfeldth
7e597ea7cc More Favorite pluginification (favecount, cache, menus(favecount, cache, menus)) 2014-06-28 14:03:30 +02:00
Mikael Nordfeldth
c137ead909 Confusing documentation and tooltip texts in Bookmark 2014-06-28 13:02:52 +02:00
Mikael Nordfeldth
fcdd061b4f pluginified most of hasFave, getFaves and related calls
The code is now more event-driven when it comes to rendering notices
and their related HTML elements, since we can't have direct calls from
core to a plugin.

lib/activitymover.php has a function to move a Favorite activity which
will not happen now. The move must be pluginified and performed as an
event which plugins can catch on to.
2014-06-27 14:09:02 +02:00
Mikael Nordfeldth
c4037a7549 Moved Favorite EVENTS into plugin folder text file 2014-06-24 16:47:44 +02:00
Mikael Nordfeldth
db7cc7fa75 Favorite functionality put into plugin (not done yet)
Now we have to fix any code in the core which directly uses the Fave class
or any other favorite stuff, since it is pluginised and thus might not be
available on some installations.
2014-06-24 15:58:53 +02:00
Mikael Nordfeldth
c74dc15173 DiscoveryHints gets microformats2 parsing abilities 2014-06-24 01:27:03 +02:00
Mikael Nordfeldth
55418685c4 DiscoveryHints now properly returns hcard url 2014-06-23 20:51:37 +02:00
Mikael Nordfeldth
41a233f106 ModPlus available also for non-logged in users. 2014-06-23 20:30:00 +02:00
Mikael Nordfeldth
725af5edd0 Event listing boolean logic error 2014-06-23 20:22:15 +02:00
Mikael Nordfeldth
4f59abea9a don't show ModPlus for group profiles 2014-06-23 19:08:15 +02:00
Mikael Nordfeldth
abcbca5a94 Group listing in Directory plugin works again 2014-06-23 19:02:47 +02:00
Mikael Nordfeldth
faa12e63c0 No nickname in profile listing 2014-06-23 18:59:32 +02:00
Mikael Nordfeldth
af02f445e4 Event cache clearing bug 2014-06-23 14:23:44 +02:00
Mikael Nordfeldth
703443f152 Event upgraded to microformats2 2014-06-23 14:20:06 +02:00
Mikael Nordfeldth
658c6ab9a8 RSVP stricter typing 2014-06-23 14:16:34 +02:00
Marcel van der Boom
42104612bd Make sure the Attention::saveNew does not cause an exception so queue items get removed
It's less of a problem that one queue-item does not get handled, attention wise,
than that the queue keeps filling up. The typical error raised here is 'already exists'
so it's not even the case that the item won't get handled (it already has been).

The real problem is that the queue_item table accepts duplicates (content-wise) which it
should not.
2014-06-22 17:22:04 +02:00
Mikael Nordfeldth
414a95a784 Initial move towards microformats2
No validation has been attempted yet. Lots of changes left. This
is visibly not (very) different from the previous CSS layout. But
some simplifications have been made.

Might cause issues with local changes to themes and CSS. Also maybe
javascript which depends on certain legacy microformats elements.

The move to microformats2 is motivated by the announcement that all
microformats should be migrated to version 2, as of 2014-06-20 at:
http://microformats.org/2014/06/20/microformats-org-turns-9-upgrade-to-microformats2
2014-06-22 17:11:04 +02:00
Mikael Nordfeldth
e4f1c77d6b showAvatar functions deduplicated into Widget class 2014-06-21 23:25:50 +02:00
Mikael Nordfeldth
de53e74f40 Proper HTTP status codes for WebFinger search miss 2014-06-04 12:59:58 +02:00
Mikael Nordfeldth
6d0ac21185 Return 404 on resource-not-found for WebFinger 2014-06-04 12:46:06 +02:00
Mikael Nordfeldth
d350a20e1f Less verbose debugging (also don't log private keys)
Magicsig private keys were logged. That's probably not a good thing.
MagicEnvelope full XML entries no longer spam the log either.
2014-06-03 12:53:04 +02:00
Mikael Nordfeldth
aaef11077d Default of Magicsig keypair toString should be secure
Prevent crappy coders from leaking private keys.
2014-06-03 12:51:52 +02:00
Mikael Nordfeldth
c99d4eddb1 Moved Poll CSS into the plugin directory 2014-06-03 11:38:40 +02:00
Mikael Nordfeldth
9a19588ac9 Moved QnA CSS into the plugin directory 2014-06-03 11:36:32 +02:00
Mikael Nordfeldth
e6dcb0c40e Moved Event CSS into the plugin directory 2014-06-03 11:34:39 +02:00
Mikael Nordfeldth
a7531ca5c7 Moved Bookmark CSS into the plugin directory 2014-06-03 03:08:14 +02:00
Mikael Nordfeldth
0bc122ff58 Magicsig::generate is now static
This also fixes a problem with "initial salmon slap", which was a
problem for newly registered accounts which would have their first
salmon slap fail to distribute since there was a problem with Magicsig
keys. Apparently we have to re-read them with importKeys so the
Crypt_RSA objects publicKey and privateKey match later instances of them.

I think it may have been that generate() doesn't specify a signatureMode,
but I leave experimentation of that to the future.
2014-06-02 21:50:40 +02:00
Mikael Nordfeldth
537dff7987 Salmon posts can only be made for local users. More typing!
Since we of course don't have the remote party's private keys anyway.

I made some small fixes in Magicsig class too, removing unnecessary code.
2014-06-02 19:46:42 +02:00
Mikael Nordfeldth
2cd25039af Quick-return is more comprehensible than long if statements 2014-06-02 19:37:06 +02:00
Mikael Nordfeldth
f7479e3f57 Prepare for WebFinger magicsig data for remote profiles 2014-06-02 19:33:09 +02:00
Mikael Nordfeldth
78805d113a MagicEnvelope discoverKeyPair now returns string
getKeyPair fills in missing data so it's a complete Magicsig.
We may use insert() here in the future so the Magicsig is cached locally.
2014-06-02 18:31:48 +02:00
Mikael Nordfeldth
d44588f98b Only use a Profile in MagicEnvelope keypair retrieval
So we _know_ there is a profile for the submitter we're about to verify.
2014-06-02 16:12:26 +02:00
Mikael Nordfeldth
56194b3cd9 Magicsig importKeys finetuning and getHash() use 2014-06-02 16:11:15 +02:00
Mikael Nordfeldth
dc52a8ff43 Don't ensureProfile before we verify signature 2014-06-02 16:10:26 +02:00
Mikael Nordfeldth
00b2bddc7c Clarify it's not base64, but base64url, encoding in Magicsig 2014-06-02 14:51:15 +02:00
Mikael Nordfeldth
993ad00333 Improve debugging for Salmon slaps 2014-06-02 14:20:58 +02:00
Mikael Nordfeldth
d534ea7bd6 Try the whole Salmon action for AlreadyFulfilledException
If we have already fulfilled the action, we don't have to send an error back.
2014-06-02 13:57:30 +02:00
Mikael Nordfeldth
c1dc13bef0 Magicsig warning message would fail to get bits 2014-06-02 13:35:29 +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
d596513e39 Stronger typing for NoticeListItem and so 2014-06-02 00:20:27 +02:00
Mikael Nordfeldth
3ef8322b03 There could be unresolvable FeedSub entries 2014-06-01 16:07:08 +02:00
Mikael Nordfeldth
75711ae06a Magicsig is made a bit less cumbersome 2014-05-31 13:41:49 +02:00
Mikael Nordfeldth
411f3b86a4 Use locally cached Salmon keys for profiles
Please note that we're not yet actually caching them ourselves.
2014-05-31 12:51:51 +02:00
Mikael Nordfeldth
0c2134f9ad Last objectification of MagicEnvelope. Smarter SalmonAction 2014-05-31 12:00:46 +02:00
Mikael Nordfeldth
120e5c685a Template engine is a good idea, but not in that implementation 2014-05-31 00:37:58 +02:00
Mikael Nordfeldth
62e8081863 Maybe the least necessary plugin: PoweredByStatusNet 2014-05-31 00:04:02 +02:00
Mikael Nordfeldth
9e6599b9fb Salmon log message tidying up 2014-05-28 14:07:47 +02:00
Mikael Nordfeldth
03fc02c26f Bad variable names (fixes last commit) 2014-05-27 13:02:26 +02:00
Mikael Nordfeldth
41773d3f67 MagicEnvelope object orientation (no passing arrays)
MagicEnvelope now uses object properties instead of passing arrays
around everywhere.
2014-05-27 12:01:12 +02:00
Mikael Nordfeldth
14251d26ad Make MagicEnvelope self-reference
Also, a stricer typing for DOMDocument in fromDom parsing function.
2014-05-27 10:18:36 +02:00
Mikael Nordfeldth
54ae0ed3cc Removed MagicEnvelopeCompat, legacy from SN <0.9.7 2014-05-26 23:54:22 +02:00
Mikael Nordfeldth
7c7426b473 Minor changes in Salmon lib for Magicsig retrieval. 2014-05-26 20:06:45 +02:00
Mikael Nordfeldth
49fa34e234 Make Profile::fromUri use UnknownUriException 2014-05-26 15:05:14 +02:00
Mikael Nordfeldth
ba10da27da Should not normalize Salmon author URIs.
It's normalized in Discovery->lookup later anyway.
2014-05-26 14:20:42 +02:00
Mikael Nordfeldth
8c348c96e7 getAuthorUri is a more appropriate function name 2014-05-26 14:14:54 +02:00
Mikael Nordfeldth
fac102a50a checkAuthor not used anywhere 2014-05-26 14:13:35 +02:00
Mikael Nordfeldth
3c322abafc There's no guarantee we have an Ostatus_profile for Feedsub 2014-05-19 18:34:44 +02:00
Mikael Nordfeldth
0dad11bb85 Inform and make use of NoProfileException in OStatus actions
This is because Ostatus_profile->localProfile() throws NoProfileException
instead of returning null for profiles which don't exist in Profile table.
2014-05-19 18:07:57 +02:00
Mikael Nordfeldth
63c20e59aa UsersalmonAction cleanup 2014-05-19 18:07:14 +02:00
Mikael Nordfeldth
228dc1f851 Ostatus_profile throws NoProfileException from localProfile()
Some implementations of the exception handling is included here,
the actions come in a later commit.
2014-05-19 17:59:36 +02:00
Mikael Nordfeldth
d2c749c7de NoUriException added and implemented in FeedSub class
This is a specific exception for objects which require URI but lack it,
first implemented in FeedSub to allow for identification of bad entries.
2014-05-19 17:30:04 +02:00
Mikael Nordfeldth
fc942f5a04 Removing unused functions from Bookmark plugin 2014-05-19 15:19:17 +02:00
Mikael Nordfeldth
fb82c75b49 adminUpdates setting not available now
We don't run a service similar to update.status.net yet. Maybe we should,
but that's for the future to decide. Currently I view it as a callback
that we want to avoid.
2014-05-19 14:53:52 +02:00
Mikael Nordfeldth
1207f4f06f isLocal() for User_group 2014-05-19 14:46:54 +02:00
Mikael Nordfeldth
f37fc4247a sprintf for SQL calls, please 2014-05-19 01:09:21 +02:00
Mikael Nordfeldth
d7c40e77b2 Show more links work with AJAX-retrieved HTML
Attachment_ajaxAction has been removed since AttachmentAction handles
AJAX calls splendidly.
2014-05-19 00:56:21 +02:00
Mikael Nordfeldth
c93a5252c1 Don't show or preview text/html attachments
htmLawed cleans stuff out properly, but there's no very good way right
now to show text/html attachments, since everything gets jumbled up with
our own CSS etc. Best would be an iframe or just a new tab or so.
2014-05-18 23:11:49 +02:00
Mikael Nordfeldth
b0cc9292b1 Notice->repeat() function takes Profile as argument now 2014-05-18 21:03:10 +02:00
Mikael Nordfeldth
c6ba545697 XrdAction extends ManagedAction 2014-05-17 15:14:34 +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
d59b39275b Not sure how much time to spend on GNUsocialPhotos plugin 2014-05-12 11:13:13 +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
888ac77906 "Twitter card" support had badly referenced HTML outputter 2014-05-10 02:01:58 +02:00
Mikael Nordfeldth
7977361193 Too many bird wings ({), sorry Erkan :) 2014-05-07 09:52:50 +02:00
Mikael Nordfeldth
b59beb50e6 misplaced dollar sign, also URLs != attention URIs 2014-05-07 09:20:57 +02:00
Mikael Nordfeldth
4520e8c517 Old examples of lacking 'new' before 'Exception' 2014-05-07 00:06:16 +02:00
Mikael Nordfeldth
c01138c16b Forgot 'new' before the Exception class 2014-05-07 00:06:04 +02:00
Mikael Nordfeldth
d1755e4363 Bad variable reference in OembedPlugin 2014-05-06 23:43:02 +02:00
Mikael Nordfeldth
1776c90cb9 Moved oEmbed stuff out to a plugin (Oembed). 2014-05-06 23:32:13 +02:00
Mikael Nordfeldth
074b2b621c Garbage collection script didn't loop through anything 2014-05-06 16:18:47 +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
869ca2d20b Missed a $user->id to $profile->id translation 2014-05-06 15:43:06 +02:00
Mikael Nordfeldth
c279a33feb More Exceptions for FeedSub doSubscribe and related functions
Now also garbageCollect will now throw exceptions of failures of all kinds
and only reply true/false on entirely successful runs of sub/unsub.
2014-05-06 15:40:57 +02:00
Mikael Nordfeldth
0fa00d5106 Type testing instead of just empty() in OStatusPlugin 2014-05-06 14:36:52 +02:00
Mikael Nordfeldth
1a0171ef61 MagicEnvelope class now throws exception on XRD fail 2014-05-06 13:11:29 +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
150a1abecb MSN probably doesn't work, and we don't like it anyway 2014-05-05 23:02:17 +02:00
Mikael Nordfeldth
805958cc23 UsersalmonAction updated to stronger typing standards 2014-05-05 19:38:01 +02:00
Mikael Nordfeldth
595d231d9a GroupsalmonAction updated to stronger typing standards 2014-05-05 19:25:39 +02:00
Mikael Nordfeldth
cdefeda659 More debugging for Salmon activities 2014-05-05 19:10:44 +02:00
Mikael Nordfeldth
bbada781b7 Stronger typing and function access control in OStatus 2014-05-05 19:06:22 +02:00
Mikael Nordfeldth
2ea5f00666 Success debugging was too much noise 2014-05-05 18:59:44 +02:00
Mikael Nordfeldth
960baae1d1 More debugging in Magicsig class verify method 2014-05-05 17:48:21 +02:00
Joshua Judson Rosen
7440dc2145 Prevent spurious refusals of legitimate notices posted to users via Salmon.
Make the logic match the intent described in the comments.

The intent is clearly "accept notices whenever (A or B or C)", but
the logic implemented was more like "not ((not A) or (not B) or (not C))",
which is a basical boolean algebra fail (each of those ORs need to
become ANDs for double-negation to work).

The practical implication was that, for example, writing a reply
to someone else's notice and including an @-reference to _another_
user on another site to bring them into the discussion would
fail to deliver the notice to the new user because their server
would basically say `oh no, you can't message this user
from someone else's thread' because an earlier check for
the `A' or `C' parts of `(A or B or C)' prevents `B' from
being checked.

cf.: <http://status.hackerposse.com/notice/55846>, which was
refused by the nhcrossing.com server because it didn't know
about <http://sn.jonkman.ca/notice/93724>, even though it would
have passed the later `notice contains a reference to a local user'
check if not for an exception being prematurely thrown.

The whole idea of reporting `which specific check FAILED'
in an `if ANY SUCCEEDS' analysis is just bogus, so nix all of
the distinct ClientExceptions--a single `ALL FAILED' exception
is the only one that makes sense.
2014-05-05 13:35:38 +02:00
Joshua Judson Rosen
4fd3f43ad2 Autocomplete: don't match non-subscribed group-names.
There's no point, since we can't post/link to them anyway.
2014-05-05 13:32:18 +02:00
Mikael Nordfeldth
27ed6b7db0 getConversationUrl introduced for linking to conversations 2014-05-01 15:25:19 +02:00
Mikael Nordfeldth
caeb6e583c We're not interested in Disqus support. 2014-05-01 02:15:10 +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
1acffa9c7a wtf is Echo? bah, let's get rid of this crap 2014-04-30 20:35:06 +02:00
Mikael Nordfeldth
7d191f8062 s/bestUrl/getUrl/ for notices and microapp objects 2014-04-29 19:46:58 +02:00
Mikael Nordfeldth
c1d2f2516a VideoThumbnails failure detection improved. 2014-04-29 19:45:42 +02:00
Mikael Nordfeldth
c8d613b916 Minifying javascripts is evil. Let's not do it.
The microformats stuff was unused
2014-04-28 18:57:11 +02:00
Mikael Nordfeldth
b0cae37b0f Datetime representation aligned for microformats2
Read more at http://microformats.org/

Also, tooltip text on time representation for humans has been improved.
Unfortunately no standardised representation (like "RFC850") had 4-digit years.
2014-04-28 18:54:55 +02:00
Mikael Nordfeldth
5fd6053220 Code cleanup and enabling User object's etc. getUri() 2014-04-28 14:08:42 +02:00
Mikael Nordfeldth
030639d02d EmailAuthentication enabled by default
The login field said "Username or email address" already, so...
2014-04-28 12:39:57 +02:00
Mikael Nordfeldth
37ce1f4766 Better fallback on UnsupportedMediaException 2014-04-28 12:12:06 +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
86ddf120d7 Better event name (creating thumbnail _source_) 2014-04-21 12:33:41 +02:00
Mikael Nordfeldth
639cf48cc7 OStatus onStartNoticeSourceLink to use exceptions 2014-04-19 22:18:36 +02:00
Mikael Nordfeldth
37e9366e88 We get profiles directly, there's no user object anymore 2014-04-18 22:18:11 +02:00
Mikael Nordfeldth
5ef6ee4bc5 Better plugin description for VideoThumbnails 2014-04-16 22:12:15 +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
a2a2105058 HTML5 required attribute for some input forms 2014-04-06 11:27:41 +02:00
Mikael Nordfeldth
220b51d8be Merge commit 'refs/merge-requests/199' of git://gitorious.org/statusnet/mainline into statusnet-merge-requests/199 2014-03-31 13:09:11 +02:00
Mikael Nordfeldth
cb3d863668 Updated and moved XMPP documentation into plugin. 2014-03-11 00:11:25 +01:00
Mikael Nordfeldth
e9e4190b64 IrcManager does not have serverError, so it must throw ServerException 2014-03-10 00:30:41 +01:00
Mikael Nordfeldth
c00491cd7a Cosmetic changes to common_redirect, clientError, serverError
Since these functions exit (or throw exception) after running, there
is no need to have a 'return' statement or similar afterwards.
2014-03-10 00:25:57 +01:00
Mikael Nordfeldth
acbe94936f common_redirect and clientError exits, so refactor
One Event would never be called, and other stuff were redundant clauses.
2014-03-10 00:24:32 +01:00
Mikael Nordfeldth
8d655bc706 Add support for 'nohub' sub_state in FeedSub
(requires upgrade.php run)
2014-03-09 23:03:54 +01:00
Mikael Nordfeldth
779ce40ac3 Add functions to avoid direct variable access 2014-03-09 13:31:05 +01:00
Mikael Nordfeldth
a1b0d5fa7e FeedSub gets a plugin event handler for sub/unsub 2014-03-09 13:27:28 +01:00
Mikael Nordfeldth
940867e39d RegisterThrottle didn't save the created time 2014-03-07 21:23:49 +01:00
Mikael Nordfeldth
326ad9376e Cosmetic changes to RegisterThrottle 2014-03-07 21:03:38 +01:00
Mikael Nordfeldth
4e8697c96e We don't add to inbox anymore. 2014-03-07 00:05:21 +01:00
Mikael Nordfeldth
c4e1cd1289 Added OpportunisticQM README that has good docs 2014-03-06 14:45:18 +01:00
Mikael Nordfeldth
aff6a66178 Add Attention stuff to TwitterBridge 2014-03-06 14:28:27 +01:00
Mikael Nordfeldth
3be0e44490 Stricter typing + user detection in Realtime 2014-03-06 13:23:08 +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
4b2a66ed29 New mechanism for "all" feed (InboxNoticeStream)
Also cleaned up and made typing stricter for the stream, so only
profiles can be submitted. This reasonably also means we can create
"inbox" or "all" streams for foreign profiles as well using the same
stream handler (but of course only for messages we already know about).

To avoid looking up posts for a long time in a large notice database,
the lookback period for the inbox is no longer than the profile creation
date. (this matches the behaviour of Inbox)

Inbox class can probably be removed now.
2014-03-06 04:18:54 +01:00
Mikael Nordfeldth
c0f65f6ea7 Merge branch 'master' into FeedPoller 2014-03-06 01:15:19 +01:00
Mikael Nordfeldth
e571e64e9e Make ostatussub conform to coding standards a bit 2014-03-05 13:44:45 +01:00
Mikael Nordfeldth
dc0ae2785d SubMirror now works again against old PuSH
There was a problem with (specifically at least) PuSHpress for
Wordpress. A previous attempt to perform a DB transaction backfired
because the remote side could connect to the callback before our
commit had gone through.

I take full responsibility for introducing the bug in the first place :)
2014-03-03 00:01:13 +01:00
Mikael Nordfeldth
83f50d25c0 Cosmetic changes to SubMirror actions 2014-03-02 23:06:21 +01:00
Mikael Nordfeldth
6f427d7e43 Remove Twitter from SubMirror
Twitter removed Atom feeds in API v1.1, so there is no way to mirror
a feed without screen-scraping or registering a dev account with them.
2014-03-02 22:58:23 +01:00
Mikael Nordfeldth
8ef29b70d1 GNU social naming, not StatusNet 2014-03-02 22:53:48 +01:00
Mikael Nordfeldth
8b04bcb310 Prepare for >1024 RSA keys for Salmon signatures 2014-03-02 11:47:38 +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
9a03ec98e7 Don't forget to strip 'Plugin'. (_MrB_ rocks, MMN-o sucks.)
Paths are like "plugins/Realtime/...", not "plugins/RealtimePlugin/...".
2014-03-01 11:07:58 +01:00
Mikael Nordfeldth
d6ca90bb21 Partly revert 97830b0701 (thanks _MrB_)
require_once lines were required since _plugins_ don't __autoload

Also, Realtime would load the wrong URL for css/js since $this->name()
returns get_class($this) instead of the calling class' __CLASS__.
2014-02-27 23:30:35 +01:00
Mikael Nordfeldth
1e37f374b3 Making us less dependant on javascript trust
Many of the microapps are pretty javascript dependant, but at least
we should allow users to get to the new notice field without allowing
javascript to run in the browser. :)
2014-02-24 02:05:31 +01:00
Mikael Nordfeldth
97830b0701 Preparing plugins for no-minify-in-core-policy
also making the file structure better with js and css folders for Realtime and LinkPreview
2014-02-24 01:01:34 +01:00
Mikael Nordfeldth
698a7adb83 mentions from OStatus lookup were missing a 'type' attribute in common_linkify_mention 2014-02-23 21:49:55 +01:00
Mikael Nordfeldth
834ecd0f80 Autocomplete now matches remote profiles as well. 2014-02-23 20:12:01 +01:00
Jean Baptiste Favre
711f938892 Fiw TwitterBridge after SSL enforcement (https://dev.twitter.com/discussions/24239) 2014-01-26 22:27:16 +01:00
Mikael Nordfeldth
b81d7c425d better comment for PuSH <0.4 hack 2014-01-01 19:47:41 +01:00
Mikael Nordfeldth
e51f41c069 better comment for PuSH <0.4 hack 2014-01-01 19:43:31 +01:00
Mikael Nordfeldth
b09b968f96 Twitter search server has changed domain name (thanks mrvdb) 2013-12-04 13:43:04 +01:00
Mikael Nordfeldth
710eac403c Cronish jobs by the minute. These run very often!
Minutely will NOT necessarily run by the minute, because it depends on
site visitors. Busy sites will be able to do this, but sites where the
visitors (or search engine stuff or api calls) are more than a minute
apart, the interval will be much larger.
2013-11-20 23:26:41 +01:00
Mikael Nordfeldth
9400795a5f Cron split into Cronish and OpportunisticQM
/main/cron changed to /main/runqueue

The key-required functionality is not throughly tested yet.
2013-11-20 21:20:42 +01:00
Mikael Nordfeldth
b6f5f58f1a Attention structure has changed recently 2013-11-19 13:38:38 +01:00
Mikael Nordfeldth
3dcce8d987 Don't miss integer 0 values from find() 2013-11-19 13:30:14 +01:00
Mikael Nordfeldth
dfd83bd898 GTalk shouldn't be trusted to comply with XMPP nowadays 2013-11-19 13:21:38 +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
700dce386a WebFingerResource for profiles now WebFingerResource_Profile 2013-11-09 00:49:00 +01:00
Mikael Nordfeldth
1223c17568 Remote StatusNet sites would throw 400 if no hub.verify_token 2013-11-06 12:46:59 +01:00
Mikael Nordfeldth
ab4113168f PuSH 0.4: No outgoing 'sync' verifications. Feed renewal script. No auto-renewal.
Among other things (such as permanent subscriptions), Pubsubhubbub 0.4
removed the "sync" verification method. This means that any incoming
PuSH subscription requests that follow the 0.4 spec won't really
_require_that we handle it as a background process, but if we were to
try direct verification of the subscription - and fail - there's no way
we could  pick up the ball again. So _essentially_ we require background
processing with retries.

This means we must implement something like the "poorman cron" or
similar, so background processing can be handled
on-demand/on-site-visit. This is how Friendica, Drupal etc. handles it
and is necessary for environments where we can't run separate queue
daemons.

When the poorman-cron-ish thing is implemented, auto-renewal will work
for all users.

PuSH 0.4 spec:
    https://pubsubhubbub.googlecode.com/git/pubsubhubbub-core-0.4.html
More on PuSH 0.4 release (incl. breaking changes):
    https://groups.google.com/forum/#!msg/pubsubhubbub/7RPlYMds4RI/2mIHQTdV3aoJ
2013-11-02 20:02:28 +01:00
Mikael Nordfeldth
db889922ac We don't do local_push_bypass 2013-11-02 17:42:32 +01:00
Mikael Nordfeldth
6ef1967cec Notice metadata for WebFinger. Not sure if implemented properly.
This is more of a proof of concept and will likely not stay in exactly
this form. We should reasonably deliver the entire notice upon webfinger
querying.
2013-11-01 17:37:18 +01:00
Mikael Nordfeldth
7ddd561837 Salmon only has one "rel" value now, so start deprecating 2013-11-01 17:00:12 +01:00
Mikael Nordfeldth
6bc11b63e3 What was that NewMenu plugin doing there anyway? 2013-11-01 13:57:31 +01:00
Mikael Nordfeldth
f110fc5c9a Using GNUSOCIAL_VERSION instead of STATUSNET_VERSION 2013-11-01 13:51:41 +01:00
Mikael Nordfeldth
255943d78f User agents and generators changed to GNU social 2013-11-01 13:46:05 +01:00
Mikael Nordfeldth
ca66860a4f Better typing and minor fixes to OStatus related stuff 2013-11-01 13:20:45 +01:00
Mikael Nordfeldth
be62f44ef4 OStatus remote address example now more generic 2013-10-30 15:04:54 +01:00
Mikael Nordfeldth
f75ddaa8aa Getting a profile from URI would throw exceptions on remote URL lookup failures 2013-10-30 14:43:40 +01:00
Mikael Nordfeldth
5efff58213 Use schemaDef when checking database structure 2013-10-30 14:17:54 +01:00
Mikael Nordfeldth
603d2d3891 Minor Ostatus_profile class reference fixes 2013-10-30 14:14:02 +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
e45edd6ae2 Use addPlugin! (esp. XMPP folks should do this)
If you're using XMPP by setting $config['xmpp'][*] then you should do:

    addPlugin('Xmpp', $config['xmpp']);

because setting it directly in $config[''] won't do anything.

Also, default resource for XMPP is now 'gnusocial'. If you want something
more random, set it in your addPlugin config array.
2013-10-30 12:28:39 +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
f8b49e69d0 Protected function prepare with array $args defaulting to array() 2013-10-29 10:26:46 +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
3ba6374b9d Memcached_DataObject extensions got their update functions more consistent 2013-10-28 19:36:05 +01:00
Mikael Nordfeldth
fa91bc7132 Some getStaticProperty calls to PEAR globalized 2013-10-28 19:03:09 +01:00
Mikael Nordfeldth
fd0a16ba04 acct uri should be caseinsensitive (so let's do our reconstruction in lowercase) 2013-10-28 18:28:53 +01:00
Mikael Nordfeldth
74429835a1 Event handler StartGetProfileAcctUri for WebFinger 2013-10-28 18:26:00 +01:00
Mikael Nordfeldth
fcba540a14 Removed legacy OMB. Use OStatus for remote profiles. 2013-10-28 16:22:09 +01:00
Mikael Nordfeldth
362b6ad2fc ForceGroup and some qvitter API stuff still used staticGet 2013-10-25 13:20:53 +02:00
Mikael Nordfeldth
a38ed0057a Moved jbfavre's Twitter card support to Twitter plugin
It was causing problems with an undefined TWITTER_SERVICE constant.
2013-10-22 20:35:03 +02:00
Mikael Nordfeldth
38da5ec7f7 Ostatus_profile->processShare now backwards compatible against federating StatusNet nodes
StatusNet was improperly defining the id (URI) of the shared object as a
TagURI, while it should've really been the object's URI of course.
2013-10-21 23:25:47 +02:00
Mikael Nordfeldth
ba46c3d360 SHARE activities would not be imported from federated instances for local notices
"[...] posts _local_ users (like you) make won't get data about "repeated by"
from federated users"

This was because the ActivityObject would processShare where the shared object
has a _local_ 'actor' URI. Ostatus_profile would complain this meant that a
"Local user cannot be referenced as remote.".

So we see if the shared activity object's id (URI) is in our Notice table, so
we don't have to processActivity - and can skip ensureActivityObjectProfile.
2013-10-21 23:25:43 +02:00
Mikael Nordfeldth
3cab5b36c1 Replace common_good_random with common_random_hexstr 2013-10-21 13:20:30 +02:00
Mikael Nordfeldth
7233869298 Generate better salt for crypt() 2013-10-21 13:16:03 +02:00
Mikael Nordfeldth
df5aa6f93a Exception wasn't thrown. How does PHP handle daisychained calls, really? 2013-10-21 09:09:32 +02:00
Florian Schmaus
c70a519555 plugins/Xmpp/README fixed typos 2013-10-20 21:05:09 +02:00
Florian Schmaus
b7d45e176b Improved plugins/Xmpp/README
Added the relevant section in INSTALL about queues and daemons to get
the plugin runnig.

Made resource required, as otherwise XMPPHP will send invalid from JIDs
in it's stanzas. For example when my configuration didn't had the
resource part, outbound stanzas looked like this:

<message
	from="gnusocial@example.de/"
	to="flow@example.de"
	type='chat'>
	<body>
	User &quot;flow&quot; on GNU Social has said that your
	XMPP/Jabber/GTalk screenname belongs to them.
	…
	</body>
</message>

Note the '/' at the end of the from attribute, without an actual
XMPP resource. But according to RFC6122 2.1 "every allowable portion of
a JID MUST NOT be zero bytes in length". Causing a jid-malformed
response from the server.

Also, it's nice to know that debug=true will print out all sent and
received stanzas, which helped me to debug the problem.

Furthermore I add a note that if the XMPP services uses DNS SRV records,
'host' has to be configured (in cases where service host != xmpp domain).
2013-10-20 21:05:04 +02:00
Mikael Nordfeldth
a8804010c4 Profile creation always failed because we didn't COMMIT 2013-10-20 17:22:44 +02:00
Mikael Nordfeldth
2729c622ff Minor function definitions so they match Action parent 2013-10-20 17:21:56 +02:00
Mikael Nordfeldth
e868ebfe77 WebFingerResource introduced, instead of strict Profile object
This is the beginning of getting notice URI info via WebFinger

*XrdActionLinks is renamed *WebFingerProfileLinks, check EVENTS.txt
in WebFinger plugin for new events.
2013-10-20 15:48:14 +02:00
Mikael Nordfeldth
e2c50d202f AuthCrypt now tidied up and enabled by default. 2013-10-17 16:36:15 +02:00
Mikael Nordfeldth
6ed66d9c76 Local_group and User are now assumed to be in same namespace 2013-10-17 01:27:01 +02:00
Mikael Nordfeldth
db7ef52d13 Better use of Nickname validation functions
Nickname verifications on registration and updates for profiles (not yet
groups) have been improved.

Minor bugs in RegisterAction were also fixed, where multiple forms would
be outputed because the function did not return after showForm(). This
will be solved more permanently with throwing exceptions in the future.
2013-10-16 15:38:54 +02:00
Mikael Nordfeldth
f46d675a20 GNU social is with a minor s. 2013-10-15 00:20:36 +02:00
Mikael Nordfeldth
a8bcdc905f common_sql_now() is recommended before DB_DataObject_Cast::dateTime() 2013-10-14 13:42:27 +02:00
Mikael Nordfeldth
390556d932 Remote Profile Action from ModPlus now more generic 2013-10-08 21:08:02 +02:00
Mikael Nordfeldth
8912cdc7a4 Validate::uri replaced with filter_var for HTTP[S] URL checks
Also, a bug in checking the OAuth callback URL for validity was fixed,
where it referenced the wrong variable when going through form data.
2013-10-07 14:46:09 +02:00
Mikael Nordfeldth
34a6624452 Qvitter API changes (thanks hannes2peer)
I implemented changes from quitter.se's new API that their front-end qvitter
uses, https://github.com/hannesmannerheim/qvitter/blob/master/api-changes-1.1.1/CHANGES

However I left out the URL shortening commens, since I believe whatever behaviour
they experienced that caused them to implement this was a bug (or many) and should
be fixed in their proper areas and that shortening should not be entirely left
out in API calls.
2013-10-06 21:51:50 +02:00
Mikael Nordfeldth
fb94a16217 Moved Avatar retrieval into Avatar class
Backwards compatible functions are still in Profile class.
2013-10-06 15:55:06 +02:00
Mikael Nordfeldth
78f9629bf3 Moved shareLocation preference check to Profile class 2013-10-06 13:38:09 +02:00
Mikael Nordfeldth
cc34bb48c7 OAuth related syntax fixes, nothing big
Making better use of class autoloading too.
2013-10-06 12:43:18 +02:00
Mikael Nordfeldth
64dbd93534 Some PHP strict warning fixes 2013-10-06 03:37:12 +02:00
Mikael Nordfeldth
1c042028dc PCRE modifier /e is deprecated in favour of preg_replace_callback() 2013-10-06 03:27:16 +02:00
Mikael Nordfeldth
4cfd0d24c1 Group logos would not be fetched
update_ostatus_profiles.php did this correctly, but not Ostatus_profile.php
2013-10-06 01:33:27 +02:00
Mikael Nordfeldth
ba481d1e31 LOG_WARNING, not LOG_WARN 2013-10-06 01:33:10 +02:00
Mikael Nordfeldth
48da97f204 MediaFile code improvements, preparing to implement multi-attachments
Maybe in the future we can use this for anonymous file uploads too?
With some kind of anonymous/pseudonymous profile. That'd be neat.
2013-10-05 18:47:45 +02:00
Mikael Nordfeldth
8fdc999be4 IM/XMPP Plugin classes use throwing getParent 2013-10-05 12:30:52 +02:00
Mikael Nordfeldth
e1b5798ba4 Merge-request 3 by pztrn, IM reply more intuitive 2013-10-05 11:36:03 +02:00
Mikael Nordfeldth
d1558a1d8b Fix Avatar-unlink plus better logging in TwitterImport 2013-10-05 11:32:43 +02:00
pztrn
9824b00f4b Adopted merge request #232 from statusnet to gnusocial 2013-10-05 12:36:48 +04:00
Mikael Nordfeldth
1795267df9 Latest phpseclib stuff and moved into its own dir.
Source: https://github.com/phpseclib/phpseclib/
Commit: 77447a3fc7869773007fa3beeb8d6f8de842ec2a

There were bugs.
2013-10-05 00:22:14 +02:00
Mikael Nordfeldth
fb4e9b234d Twitter Import improvements. Still buggy?
Apparently mrvdb has problems with duplicate inserts and missing files when
unlinking. It could be due to coding, or it could be due to parallelizing.
2013-10-04 13:36:45 +02:00
Mikael Nordfeldth
cd6fa512ac Twitter Import + avatar fixes (cleaning up + fixing)
...there was also a typo in OstatussubAction ($avatarUrl not defined)
2013-10-03 15:28:51 +02:00
Mikael Nordfeldth
39f43e415d Do not name anything getOriginal (because DB_DataObject calls that)
Avatar->getOriginal has been renamed getUploaded
Notice->getOriginal has been renamed getParent
2013-10-02 15:01:11 +02:00
Mikael Nordfeldth
ba5e90164c Plugin onAutoload replaces _ with / in lib paths, this renames some classes. 2013-10-02 14:07:53 +02:00
Mikael Nordfeldth
b0dfc70a54 Properly unlink all old avatars when deleting/uploading a new
We're also now using $config['image']['jpegquality'] to determine the
quality setting for resized images.

To set Avatar max size, adjust $config['avatar']['maxsize']

The getAvatar call now throws exceptions too. Related changes applied.
Now let's move Profile->avatarUrl to the Avatar class!
2013-10-01 17:00:10 +02:00
Mikael Nordfeldth
a7e748479c Fixed regression in OStatus sub from WebFinger/XML_XRD update
XML_XRD::getAll requires arguments (at least relation). If one really
want all links, just get the 'links' array. It's public!

Also, not all XML_XRD_Element_Link were migrated from the previous
array style.
2013-09-30 23:33:28 +02:00
Mikael Nordfeldth
a23c4aa236 Avatar resizing improvements and better code reuse
* getOriginal added to Avatar class
    This is a static function that retrieves the original avatar in a leaner
    way than Profile->getOriginalAvatar() did (see below).
    This will throw an Exception if there was none to be found.

* getProfileAvatars added to Avatar class
    This gets all Avatars from a profile and returns them in an array.

* newSize added to Avatar class
    This will scale an original avatar or throw an Exception (originally from
    Avatar::getOriginal) if one wasn't found.

* deleteFromProfile added to Avatar class
    Deletes all avatars for a Profile. This makes the code much smarter when
    removing all avatars from a user.
    Previously only specific, hardcoded (through constants) sizes would be
    deleted. If you ever changed lib/framework.php then many oddsized avatars
    would remain with the old method.

* Migrated Profile class to new Avatar::getOriginal support
    Profile class now uses Avatar::getOriginal through its own
    $this->getOriginalAvatar and thus remains backwards compatible.

* Updating stock GNU Social to use Avatar::getOriginal
    All places where core StatusNet code used the
    $profile->getOriginalAvatar, it will now useAvatar::getOriginal with
    proper error handling.

* Updated Profile class to use Avatar::newSize
    When doing setOriginal, the scaling will be done with the new method
    introduced in this merge.
    This also edits the _fillAvatar function to avoid adding NULL values to
    the array (which causes errors when attempting to access array entries as
    objects). See issue #3478 at http://status.net/open-source/issues/3478
2013-09-30 22:23:03 +02:00
Mikael Nordfeldth
a0e107f17f Implemented WebFinger and replaced our XRD with PEAR XML_XRD
New plugins:
* LRDD
    LRDD implements client-side RFC6415 and RFC7033 resource descriptor
    discovery procedures. I.e. LRDD, host-meta and WebFinger stuff.

    OStatus and OpenID now depend on the LRDD plugin (XML_XRD).

* WebFinger
    This plugin implements the server-side of RFC6415 and RFC7033. Note:
    WebFinger technically doesn't handle XRD, but we serve both that and
    JRD (JSON Resource Descriptor), depending on Accept header and one
    ugly hack to check for old StatusNet installations.

    WebFinger depends on LRDD.

We might make this even prettier by using Net_WebFinger, but it is not
currently RFC7033 compliant (no /.well-known/webfinger resource GETs).

Disabling the WebFinger plugin would effectively render your site non-
federated (which might be desired on a private site).

Disabling the LRDD plugin would make your site unable to do modern web
URI lookups (making life just a little bit harder).
2013-09-30 22:04:52 +02:00
Joshua Judson Rosen
44f7ad612a Correctly distribute notices from remote posters through local groups to remote group-members via OStatus.
Allow the OStatus queue-handler to handle all posts,
and give it the smarts required to make correct decisions
about whether it should or shouldn't relay notices
over OStatus.
cf. http://status.net/open-source/issues/3540

Conflicts (staticGet => getKV):

	plugins/OStatus/lib/ostatusqueuehandler.php
2013-09-29 23:19:11 +02:00
Joshua Judson Rosen
9844ec76e9 Make the ForceGroup plugin work consistently for notices from remote users. 2013-09-29 23:12:40 +02:00
Joshua Judson Rosen
8e5d58fe2a Make paging work correctly in the user-directory
even with the default filter set (i.e.: `all' = `no filter', so intrepret `filter=all' as `no filter').
2013-09-29 23:10:40 +02:00
Mikael Nordfeldth
981295f44c Autocomplete action must exist on user registration
No need to restrict the autocomplete suggestion system to logged in users.
It only botched the registration process, because the 'autocomplete' action
had not been connected in the routing system.
2013-09-29 15:28:25 +02:00
Mikael Nordfeldth
633191d808 Making sure scripts and tests check for GNUSOCIAL defined (instead of STATUSNET)
Orbited plugin may not work at all anymore, I had no means to try it.
But there's a check whether 'LACONICA' is defined there, which is a
very unlikely thing in the future. So far only tests and scripts have
been migrated consistently, though.
2013-09-28 15:20:10 +02:00
Mikael Nordfeldth
64df40e409 Filling in missing endHTML calls for Action AJAX
This completes 1c6f9df80e where a lot
of other functions were fixed (by conforming to startHTML and endHTML)
2013-09-24 02:32:17 +02:00
Mikael Nordfeldth
f7719b57f2 phpseclib extlib updated from phpseclib.sf.net 2013-09-24 02:09:37 +02:00
Mikael Nordfeldth
1c6f9df80e PHP5.5 fix: Better use of startXML for Action classes (mostly AJAX)
I had a problem with PHP5.5 that caused ajax responses to be empty. This
fixes it, as the problem was related to pretty inconsistent calling to
headers, XMLWriter::startDocument etc. etc.
2013-09-24 01:18:33 +02:00
Mikael Nordfeldth
8205c56e25 Stylesheet event now removed of StatusNet-remnants 2013-09-23 22:13:12 +02:00
Mikael Nordfeldth
5f1fea1488 FavorAction upgraded to extend FormAction
Includes some minor changes to other things as well, such as the session
token input element now having the same 'name' attribute as everyone else.
(it still retains a 'token-'+noticeid 'id' attribute for clientside JS)
2013-09-23 13:06:09 +02:00
Mikael Nordfeldth
f711f9ee75 Fixed regression in bookmark.js that caused double-submits (jquery 2.x stuff)
In 6de3fc0217 bookmark.js was patched to
jquery 2.x (removed '.die' call) but unfortunately the 'submit' event
was attached to an input element instead of a form element (which got
a 'click' event).
2013-09-23 12:07:37 +02:00
Mikael Nordfeldth
63306081bc Subscription "get by" functions now don't use ArrayWrappers
They were getting in the way of some strict-typing stuff.
2013-09-21 18:38:14 +02:00
Mikael Nordfeldth
93e878d7ca Make better use of Subscription class
removed lib/subs.php as it was essentially only a wrapper for Subscription
2013-09-19 17:29:05 +02:00
Mikael Nordfeldth
8935a2f866 Autocomplete migrated to jquery-ui autocomplete
No longer bundled with the library (as jquery-ui is bundled with the
main software, including the autocomplete part).

Rewrites had to be made to migrate, as several API things had changed
when jquery-ui took over the library.

Currently (like before, right?) this only autocompletes in the end of
the current textarea. So you can't jump back in the middle of a text
and autocomplete a user or group. This is a serious deficiency, though
not a regression.
2013-09-16 22:10:08 +02:00
Mikael Nordfeldth
83b852312a Events on user registrations now strictly typed 2013-09-14 18:37:05 +02:00
Mikael Nordfeldth
6de3fc0217 jquery 2.x update related fix (.die no longer defined) 2013-09-14 13:41:04 +02:00
Mikael Nordfeldth
dfa1b15dd6 Changing js .live calls to .on for jquery 2.x 2013-09-10 18:52:09 +02:00
Mikael Nordfeldth
a9c4bcd71f Removing unnecessary require_once lines (autoload!) 2013-09-09 23:06:56 +02:00
Mikael Nordfeldth
747fe9d59b Tidying up getUser calls to profiles and some events
getUser calls are much more strict, and one place where this was found was
in the (un)subscribe start/end event handlers, which resulted in making the
Subscription class a bit stricter, regarding ::start and ::cancel at least.
Several minor fixes in many files were made due to this.

This does NOT touch the Foreign_link function, which should also have a more
strict getUser call. That is a future project.
2013-09-09 23:03:34 +02:00
Mikael Nordfeldth
bd24ab6855 Fixed comment description in STS plugin 2013-08-29 16:20:43 +02:00
Mikael Nordfeldth
07ca304c65 Changes to GNUsocial plugins
These aren't ready for production use. Might be insecure, probably broken.
2013-08-29 16:18:56 +02:00
Mikael Nordfeldth
f042eea956 removing empty "planned" GNU Social plugins 2013-08-29 16:11:32 +02:00
Mikael Nordfeldth
79e3acf0f0 Moved multiGet into Managed_DataObject 2013-08-29 10:38:11 +02:00
Mikael Nordfeldth
cb94a29e84 Syntax error in XMPP config example 2013-08-28 18:00:23 +02:00
Mikael Nordfeldth
de55d8f83b plugins onAutoload now only overloads if necessary (extlibs etc.)
lib/plugin.php now has a parent onAutoload function that finds most common
files that are used in plugins (actions, dataobjects, forms, libs etc.) if
they are put in the standardised directories ('actions', 'classes', 'forms',
'lib' and perhaps some others in the future).
2013-08-28 16:10:30 +02:00
Mikael Nordfeldth
40fe10e002 Woops, forgot auto_increment (comes with 'serial')
There are still some classes not ported (like Yammer import)
2013-08-21 15:02:44 +02:00
Mikael Nordfeldth
4fab7a9d8b GNU Social extensions fixes (please read note)
These extensions are not considered secure nor stable right now, so don't
use them for a while.
2013-08-21 14:33:07 +02:00
Mikael Nordfeldth
0bbcfa7bdf IMPORTANT - fixed HubSub to properly fetch primary keys
In commit e95f77d34c HubSub lost the
'staticGet' function in a consolidation into the Managed_DataObject class.
This was done carelessly by me as HubSub::staticGet was actually taking
two arguments, none of which was a key and merging them in HubSub::hashkey()
(staticGet was renamed getKV 2a4dc77a63).

NOTE: This complements commit 7e4718a4eb which
fixed a similar issue for the Magicsig class.
2013-08-21 11:25:08 +02:00
Mikael Nordfeldth
66997f2bec OStatus classes now has modern schemaDef 2013-08-21 11:01:31 +02:00
Mikael Nordfeldth
3a7261f70a IMPORTANT: Making prev. Memcached_DataObject working again with schemaDef
Lots of the Memcached_DataObject classes stopped working when upgraded to
Managed_DataObject because they lacked schemaDef().

I have _hopefully_ made it so that all the references to the table uses
each class' schemaDef, rather than the more manual ColumnDef stuff. Not
all plugins have been tested thoroughly yet.

NOTE: This is applied with getKV calls instead of staticGet, as it was
important for PHP Strict Standards compliance to avoid calling the non-
static functions statically. (unfortunately DB and DB_DataObject still do
this within themselves...)
2013-08-21 09:48:42 +02:00
Mikael Nordfeldth
6f4c572389 Unnecessary UTF-8 declaration for database 2013-08-20 09:43:23 +02:00
Mikael Nordfeldth
e40044e2fa Further static declarations of functions
Validate could probably be replaced with filter_var if desired (PHP>=5.2.0)
2013-08-19 14:26:44 +02:00